48 Commits

Author SHA1 Message Date
Graham Hayes
26a7ad4c2d Remove lowercase constarint for pgsql
Change-Id: Ifcb43803be2ad836a87cb925fa8910e8fd9ea8cf
2016-12-12 16:01:49 +00:00
Graham Hayes
f5a9fbe617 Add pGSQL support for pdns4 driver in devstack
Change-Id: Iae8c8cd2d599aa3e5756786f5844231ea0e366ae
2016-12-07 16:20:34 +00:00
Graham Hayes
13ee3fbc3f Fix grenade to use the driver specified in the gate
Change-Id: I5aa749b1b60b61e14a273a6d1d22f9681f1dfb3e
2016-12-07 15:17:14 +00:00
Graham Hayes
ad1f14ccc8 Update Devstack plugin
Change-Id: I1a3fe5c24ce42e1ca67e910e55270f0de4adf984
2016-12-02 16:20:42 +00:00
Luong Anh Tuan
e5cb2569a6 Using sys.exit(main()) instead of main()
TrivialFix: Similar [1] in Kolla project
As we known, Exceptions are raised by the sys.exit() function. When they
are not handled, no stack traceback is printed in the Python interpreter.
Therefore, when using sys.exit(main()) instead of main()
may be more readable and reasonable.

[1] https://review.openstack.org/#/c/349353/

Change-Id: Ied52a7631da82a72f0dcf2fc9ed81840d24041d9
2016-09-26 03:23:44 +00:00
Jenkins
35bf83d538 Merge "Add Monasca-statsd metric generation" 2016-09-20 13:02:10 +00:00
Graham Hayes
aa23d86835 Add PowerDNS 4 driver
Fixes-Bug: #1590429

Change-Id: I1f6017ce83a49dc0c3827c540ac18186bb14f72b
2016-09-16 17:33:13 +01:00
Federico Ceratto
2f061879cd Add Monasca-statsd metric generation
Statsd integration is disabled by default.
Add a simple local daemon for testing/devstack use.

Change-Id: I990472fa059afde37f7e4a1284360c17162aab49
2016-09-09 17:50:11 +00:00
Graham Hayes
65b5694614 Fix Grenade Gate
For some inexplicable reason grenade seems to think
horizon is installed, and is in ENABLED_SERVICES.

To avoid breaking the testing done in the other gates,
enable horizon to ensure that it is there for the
configure_designatedashboard function.

Closes-Bug: #1618253
Change-Id: I37d8756ba9f1e9f55ac9dd787ed19564e398d0dc
2016-09-08 16:34:30 -07:00
Jenkins
dff1c3778b Merge "Worker Model" 2016-08-25 21:07:54 +00:00
Tim Simmons
81ce132e90 Worker Model
- More information about the actual worker code can be found
  in `designate/worker/README.md` and in the inline docstrings

- Stand up a `designate-worker` process with an rpcapi, all
  the usual jazz

- Implement a base `Task` class that defines the behavior of
  a task and exposes resources to the task.

- Implement CUD Zone tasks, which includes Tasks that poll for zones,
  send Notifies, and update status. These are all done in parallel
  with threads using a shared threadpool, rather than iteratively.

- Implement a `recover_shard` task that serves the function
  of a periodic recovery, but only for a shard. Call that
  task with various shards from the zone manager.

- Put some shims in central and mdns so that the worker can
  be switched on/off with a few config values.

- Changes Zone Manager -> Producer
    - Removes zm rpcapi
    - Adds startable designate-producer service
    - Makes zone-manager an alias for producer service with a warning log
    - Lots of renaming

- Moves zone export to worker
    - API now uses central_api.export_zone to get zonefiles
    - Central uses worker_api.start_zone_export to init exports
    - Now including unit tests
    - Temporary workarounds for upgrade/migration move the logic
      into central if worker isn't available.

- Deprecates Pool manager polling options and adds warning msg on
  starting designate-pool-manager

- Get some devstack going

- Changes powerdns backend to get new sqlalchemy sessions for each
  action

- Sets the default number of threads in a worker process to 200,
  this is pretty much a shot in the dark, but 1000 seemed like
  too many, and 20 wasn't enough.

- Grenade upgrade testing

- Deprecation warnings for zone/pool mgr

The way to run this is simple, just stop `designate-pool-manager`
and `designate-zone-manager`, toggle the config settings in the
`service:worker` section: enabled = true, notify = true
and start `designate-worker` and `designate-producer` and you
should be good to go.

Change-Id: I259e9825d3a4eea58e082303ba3bdbdb7bf8c363
2016-08-24 14:54:31 +00:00
Alin Balutoiu
95f451dc8a Add support for Microsoft DNS Server backend
Currently, there is no support for Microsoft DNS
in designate. This patch addresses this issue
by adding support for Microsoft DNS Server using
an agent backend in designate.

Change-Id: I8db1906e17e5fb20fa6f3e5d1f13b2d701f0c032
Implements: blueprint msdns-backend-support
Depends-On: I029747555a58e0a8e362b65e6c0c470cf2774e42
2016-08-22 12:19:54 +03:00
qinchunhua
10bac1a73a Python 3: dict.iteritems()
Replace dict.iteritems() with dict.items(). The Python 3 dict
type has no iteritems() method, the old iteritems() method was
renamed to items().

Change-Id: I16c3dc5d56c074097d7cdda6635796cdc9d851e3
2016-07-23 03:53:03 +00:00
Graham Hayes
f374b5fe2c Grenade Plugin
Change-Id: I890fd4c6e329ad1875bac00e98156f90f52c78f5
2016-07-14 15:06:45 +01:00
Graham Hayes
619b4753cd Add v2/quotas
This adds the quotas api from /admin to /v2 with some changes.

All users can GET /v2/quotas/<project_id>

Users with "All-Projects" permission can view other projects
(by setting X-Auth-All-Projects:True in the HTTP Headers)

Users with "All-Projects" and "set-quotas" can set other
projects quotas

Moved the API rendering to Designate Object based rendering

Change-Id: I7a0b828824ad6f274d922748f5f9a68157cd939a
Depends-On: I06180a7402fc45940d4b312666cf2dfd33af1305
2016-07-06 20:06:17 +01:00
Kiall Mac Innes
5d0e4da38c Add centos7, remove Fedora Vagrant VM
The Fedora box has not been available in some time, and most Designate
deployments running on RH based distros will be RHEL/CentOS.

Change-Id: I05e34c908ac1d5a7a2037d43f47987cad6c25531
2016-06-07 16:32:18 +01:00
Jenkins
b44f3c5d63 Merge "Update devstack dashboard+client clone+install method" 2016-06-02 16:07:37 +00:00
Jenkins
8075edd8dc Merge "DevStack: Set tempest nameservers config option correctly" 2016-06-01 18:25:15 +00:00
Jenkins
ccbc211981 Merge "remove verbose option in devstack plugin" 2016-06-01 18:11:10 +00:00
Jenkins
1f6163a50d Merge "Enable v2/recordsets API for tempest plugin" 2016-05-26 19:13:02 +00:00
ZhiQiang Fan
ee0c6a2cf4 remove verbose option in devstack plugin
This option is deprecated in Mitaka and has been removed in Newton,
and its default value is True already. Let's remove it.

Change-Id: I1cb4396aa292ee7bb87a431fb38902e717f9ed2b
ref: http://lists.openstack.org/pipermail/openstack-dev/2016-May/095166.html
ref: https://review.openstack.org/#/c/314573/
2016-05-27 03:05:30 +08:00
Kiall Mac Innes
bef53dbe93 DevStack: Support setting default quotas
As tempest is creating and deleting zones, it does not wait
for all zones to be deleted before moving onto the next test.

This can lead to having a large number of pending delete zones
which consume all/most of the default quotas, and tests begin
failing.

By setting the default quotas higher in DevStack, we allow the
tests to proceed.

Change-Id: I3652bb06724fb8b89bb341c9d9f61b1dde056119
2016-05-23 14:15:10 +01:00
sonu.kumar
7b977f6b72 Enable v2/recordsets API for tempest plugin
Change-Id: Ie2b31d8e03637e91cd4c9d8a99f98d5ce1b3fde0
Depends-on: I2d5728d083966aa6b243954bf6cb89d4af473ed7
2016-05-23 03:49:08 +00:00
Jenkins
3404600fde Merge "Integration/stress test using a simulated network" 2016-05-18 15:46:27 +00:00
Federico Ceratto
d5e4c60d44 Integration/stress test using a simulated network
Setup a devstack host
Setup simulated lossy network and run benchmarks

Change-Id: Icf492ab523e218af28ff0558e765bedffef9e623
2016-05-17 17:52:30 +01:00
Kiall Mac Innes
fd6340fe66 DevStack: Set tempest nameservers config option correctly
The new tempest plugin uses a different group name to the legacy
functionaltests, so we should set both as we transition.

Change-Id: Ie6b0f11399cdcd3d2245872bcd24045e756a5c8a
Depends-On: If524b2d961088745b7e20a279626971c53db9d7c
2016-05-17 12:55:39 +00:00
Federico Ceratto
5d328f07aa Add Knot DNS backend
Change-Id: I885c003afc2496ba4aa9631568be02e7d4654e52
2016-05-17 11:59:27 +01:00
Kiall Mac Innes
b4cd2c8042 Update devstack dashboard+client clone+install method
This updates our devstack plugin to use the current clone+install
method for the client (missing vars) and dashboard (replaced with
the new method).

Designate itself is still using old vars, but I suspect this is
a leftover and there's really no need for Designate to try
clone itself since the plugin is inline now...

Change-Id: I2189abc196d74520fa3fae0da215a1c6dd891387
2016-05-16 18:12:51 +01:00
Kiall Mac Innes
77d083b540 Remove tempest plugin from non-tempest gate
These were added as a transition, before the real tempest
jobs were created and voting.

Change-Id: Ibe90ff4ddafa63230b50ecd0c531654cb8886e72
2016-05-12 16:03:58 +01:00
Jenkins
20b5c13fca Merge "Support multiple API and mDNS listen address pairs" 2016-05-04 17:22:12 +00:00
Kiall Mac Innes
82fcd5438e Support multiple API and mDNS listen address pairs
Change-Id: Ic672e0f693b8f63abb729b560753cc75fb3c7094
Closes-Bug: 1536304
2016-05-04 14:33:56 +01:00
Kiall Mac Innes
699468c52b DevStack: Allow disabling of API versions
In order to fully remove the V1 API, we need to be able to
deploy DevStack entirely without the API. As a step towards
removing the API, we'll (at a date to be chosen later) disable
API v1 by default in both the codebase and DevStack plugin.

Change-Id: If1f27eb43f014959551c298f10c6c5fcb95e2fe8
2016-05-03 18:04:07 +01:00
Kiall Mac Innes
620fc6ec97 Add Agent DevStack Backend
* Add a new backend for DevStack allowing the Agent
  backend to be configured.
* Change the agent to choose a sane port by default, it's extremely
  unlikely anyone is exposing the agent on port 53 intentionally.
* The agent itself is not yet configured, this will come later as it
  involves refactoring most of the BIND non-agent backend into a lib.
* Fail when the user asks for the agent backend, without also enabling
  the agent service.

Change-Id: Iedde58f4f5a2ea89cb9da78aaec1853208af8fc9
2016-04-14 20:58:06 +01:00
Kiall Mac Innes
fc2fe86807 Add Tempest Plugin to DevStack Plugin
Additionally, execute the tests in the gate

Change-Id: I58930c40243068e97ff8f6f1684cfbe5565ac7f1
Depends-On: I7733e8786d6b525a7c9a8d4f12add329cd030d9d
Depends-On: Ic1ee7f8bfea7954fca4057b74b76fcb502bb782d
Partially-Implements: blueprint designate-tempest-plugin
2016-04-10 12:05:06 +00:00
Jenkins
f9c6dd98d0 Merge "Run the cli functional tests in openstack ci" 2016-03-31 14:41:56 +00:00
Paul Glass
9f2520ddf9 Run the cli functional tests in openstack ci
Change-Id: Ifb3c1cff77c72443902e9dd89230e68831ab7e3a
Depends-On: I028278faed1a40c5d52f8a608393c953f127a63e
Depends-On: I1b15c64bac1bc495fe7aecbcf08c28b8ea41b5a7
2016-03-31 13:20:27 +00:00
Akihiro Motoki
c55852568f devstack: compile message catalogs during stack.sh
It is required to compile i18n message catalogs during stack.sh
to display translated messages appropriately.

Change-Id: Ic44d8d5b12be1a9128c871f223c9d8712b3205e1
2016-03-25 22:17:56 +09:00
Jenkins
f65d7e3138 Merge "Fix devstack/fedora/bind9 support" 2016-03-18 19:13:13 +00:00
Kiall Mac Innes
e612a3974f Enable use of Pools YAML
This change adds the tooling to use the DB Tables created for pool
config data and the tooling to migrate the config info itself.

Change-Id: If99dbf527ef1ac0f05f15fe77f68f64e357fe0a5
2016-03-17 19:13:31 +00:00
Kiall Mac Innes
6211b7d2e1 DevStack: Explicitly install libcap2-bin and don't fail without AA
Change-Id: I2806041fc798f17c49671143cfa63ac3780a1450
2016-03-17 00:14:24 +00:00
Attila Fazekas
cdeaaf29d8 Fix devstack/fedora/bind9 support
The package name is 'bind', it was bind even in el6.
Also the bind9 was hardoded instead of using the $BIND_SERVICE_NAME.

Change-Id: I4a02800e5b527f0887c02e9541dc34ac04f5b517
2016-03-16 15:16:13 +01:00
Federico Ceratto
e2d7435cd6 Add warning to devstack/README.rst
Change-Id: I7e799750bc8ea3e0961f3fe4f64b00a1acb54153
2016-03-07 17:02:15 +00:00
Chris Johnson
9b20cef56b Cleanup after enable files refactor
Reecently, while the "enabled" files were refactored from a
2 digit to 4 digit numbering scheme, we had to introduce
some logic to handle both the old and new numbering to
ensure the change made it through the gates.

Now that that change has successfully been committed,
this change cleans up that excess logic.

Change-Id: Ie7769a52f944fdceabdf9cec64c678425d341129
2016-02-22 16:36:30 -05:00
Tim Simmons
defe3a8f29 Actually poll for zone deletes
- This implements a few `TODO`s in the code around actually polling
nameservers for zone deletes. I found this necessary for changes
that were truing up missed DELETEs, and wanted to make a poll/
update_status call to verify deletion across a fleet of nameservers
when one was down.
- This originally failed in PowerDNS, because in older versions
that are still in all the distro repos, PDNS responded with a
NOERROR and empty answer section when it got a query for a zone
it knew nothing about. NEAT.
http://blog.powerdns.com/2015/03/02/from-noerror-to-refused/

- NOTE: This increases timeout for functional tests and we maybe
shouldn't do that.

Change-Id: Ied1e5daf4798127e00a06265164759d98fc9ba72
2016-02-16 22:30:37 +00:00
Chris Johnson
1b7dd055ce Update numbering of dashboard enable files
Recently, the Horizon Dashboard project launched a new approach
for loading dashboard panels at startup, and along with that, a
new 4 digit numbering scheme for the files that enable that to
happen.

The change is happening in the designate-dashboard project. This
patch updates the file names that get sym-linked into Horizon.

Change-Id: Ifc9ee0a2afbd6b826993ff03c1d23aacabf3144e
2016-02-12 11:30:44 -05:00
Endre Karlson
8bb761e18e Fix order of installation in Devstack
Change-Id: I9a518f9006df7c83b7390eb93166f37f894c40b5
Closes-Bug: #1538066
2016-01-26 11:20:08 +01:00
Endre Karlson
84bb7226ce Fix CI Tempest jobs
After merge of change [1] to devstack project, preconfigured creds for
Tempest cannot be used anymore. But Manila requires such.
For the moment, latest Tempest interfaces cannot allow us to use
preconfigured creds because of bug #1524717.
So, until this bug fixed, we should workaround Devstack changes and
set legacy opts explicitly.

[1] I65b56ff681d6c27094380693c953fbc3664eceb0

Related-Bug: #1531049
Closes-Bug: #1531189
Change-Id: I4dc266713ec06bc6e98616a1277c8ae6cadf199d
2016-01-06 17:13:05 +01:00
Christian Berendt
bb1b24c25a Migrate existing Devstack integration into a Devstack plugin
This patch will not remove the existing Devstack integration
in contrib/devstack.

Change-Id: I23ef00bb136e92abc5e69a9bbe1093cad9d2a362
Closes-bug: #1504214
2015-11-27 16:38:12 +01:00