designate-6.0.1/0000775000175000017500000000000013262750362013511 5ustar zuulzuul00000000000000designate-6.0.1/ChangeLog0000664000175000017500000030114513262750356015272 0ustar zuulzuul00000000000000CHANGES ======= 6.0.1 ----- * Fix policy name * Updated from global requirements * Add os-testr in test-requirements.txt * Resolve get\_dns\_view error after selecting multi-tenant view * Keep NS records for subdomains during Zone import * Add sample\_default for pybasedir in \_\_init\_\_.py * Imported Translations from Zanata * Update UPPER\_CONSTRAINTS\_FILE for stable/queens * Update .gitreview for stable/queens 6.0.0 ----- * Imported Translations from Zanata * Correct link address in docs * Updated from global requirements 6.0.0.0b3 --------- * Updated from global requirements * Remove use of unsupported TEMPEST\_SERVICES variable * Use secure random to generate transfer key * Make requirements voting again, update .zuul.yaml * Updated from global requirements * Updated from global requirements * Remove the deprecated "giturl" option * Remove v1 API * Run neutron-tempest-plugin-designate-scenario job * PyMySQL 0.8.0 compat fix * Imported Translations from Zanata * Update deletion date for (zone|pool)-manager * Updated from global requirements * Updated from global requirements * Remove debug line from grenade plugin * Remove sample config from setup.cfg 6.0.0.0b2 --------- * Updated from global requirements * Make designate.conf reproducible * Remove unneeded requirements file * Remove partial sample config * Update CI Jobs * Docs Refactor * Add zone 'attributes' to api-ref * Update installation docs * Enable worker and producer by default in devstack local.conf * Update .gitignore * Fix running gate jobs * Enable worker and producer by default in devstack * Update to correct status tables * Migrate to Zuul v3 * Fix servicing IPv6 based TCP connections * Add validation to improve pep8 check for designate project * Revise the Installation Guide structure * Remove setting of version/release from releasenotes * Updated from global requirements * Update devstack.rst * Add kolla installation guide * Update PTR Record example * Updated from global requirements * Imported Translations from Zanata * Update the description of pool-2 in multiple-pools.yaml * Show the correct ptr record instead of the first one * Improve powerdns pools in yaml file * Add pools.yaml.sample-infoblox file * correct LOG.warning args in object\_manipulator.py * Use oslo.context from\_dict unmodified * Imported Translations from Zanata * Updated from global requirements * Imported Translations from Zanata * Add Docs for the policy in code work * Imported Translations from Zanata 6.0.0.0b1 --------- * Remove explicit lockdown of flake8 * Implement policy in code (4) * Implement policy in code (3) * Implement policy in code (2) * Implement policy in code (1) * Imported Translations from Zanata * Remove SCREEN\_LOGDIR from devstack * Don't attempt to escalate designate-manage privileges * Copy all dashboard panel files in devstack install * Update gitignore list * Check for multi level tlds * Use generic user for both zuul v2 and v3 * Ignore .stestr/ * Updated from global requirements * Remove user\_identity dummy param from context * Call base from\_dict in DesignateContext * Cleanup test-requirements * Dev docs cleanup * Update vagrant boxes * Include all rootwrap filters when building wheels * Update tests to fix gate * Updated from global requirements * Move default DNS driver to bind9 * Updated from global requirements * Updated from global requirements * Delay rpc initialization until config is available * Skip test failing after oslo.messaging update * Fix broken /developer/ links * infoblox backend multi\_tenant always return true, because the value of multi\_tenant is a unicode 0 * Replace DbMigrationError with DBMigrationError * Update docs formatting * Updated from global requirements * Stop creating admin and internal endpoints in devstack plugin * Fix tls startup in devstack plugin * Fix to use "." to source script files * writing convention: do not use “-y” for package install * Updated from global requirements * Improving the designate topology * Remove unused cfg import and fix uuid format in test-case * Imported Translations from Zanata * Update reno for stable/pike 5.0.0 ----- * Improve and update docs * Improving auto-genconfig for producer cfg * Fix a integrations doc link * Change correctly producer-task conf * Updated from global requirements * use oslo\_utils.uuidutils module * doc: Populate the 'install' section * doc: Populate the 'configuration' section * Fix AXFR queries under py3.5 5.0.0.0b3 --------- * Updated from global requirements * Updated from global requirements * Remove deprecated cfg in notification and add format-v6 test * Updated from global requirements * Update the documentation link * Update URLs in documents according to document migration * Auto-generate designate.conf.sample via genconfig testenv * use the same command for 'docs' env build as CI uses for real doc builds * complete the migration from oslosphinx to openstackdocstheme * rearrange existing documentation according to the new standard layout * Fix task tests under py3 * Fix pool tests in py3 * Make central service tests py3 compatible * Eliminate annoying oslo.messaging timed out message * Fix missing database privileges and config references * Updated from global requirements * Stop using deprecated 'message' attribute in Exception * Improving cover testenv * Optimize the link address * Improving check warning build\_sphinx * Fix missing format of impl\_infoblox config file * Updated from global requirements * Remove unnecessary setUp function in testcase * Remove .testrepository/times.dbm * Return PoolList as a right list object * Fix UUID and String value in test\_pool * Improve testcase * Fix issue with value in nsd4 and powerdns test-case * Fix wrong Tld name * Fix issues with value pool-manger and bind9 tests * Fix issue with 'priority' value in pool\_ns\_record * Updated from global requirements * Add 'DELETED', 'NO\_ZONE' and 'SUCCESS' status for objects * Fix doc generation for Python3 * Ensure TTL is not 0 for zone imports * Make the Zone object py3 compatible * Fix remaining API tests under python3 * Fix testcase with ttl value * Add '.' into zone format in \_build\_zones method * Fix mistaken object * Updated from global requirements * Unskip and fix handler tests in py3 * Updated from global requirements * Fix agent unit tests on py3 * Fix test notification driver configuration * nova/neutron format integration is failed * Remove usage of parameter enforce\_type * Trivial fix typos while reading doc * Updated from global requirements * Blacklist python 3 UT because of eventlet bug * Remove unused variable * Remove old oslo.messaging transport aliases * Unskip py3 tests that depend on eventlet 0.21.0 * Fix wrong usage of producer interval type in UT * Trivial fix pep8 and typos * Updated from global requirements * Unskip py3 tests that no longer fail * Enable posargs for the py35 tests * Refactor NSD4 UT for using upstream eventlet * [docs] Rearranges index.rst to build nicer with the theme * Move RPC topics which hard-coded in Designate project * Fix some reST field lists in docstrings * Fix zone creation example in install guide * Fix pools.yaml examples in install guide * Add instructions for SUSE to install guide * Updated from global requirements * Add SOA to RECORD\_TYPES in sqlalchemy.tables and remove eventlet constraint 5.0.0.0b1 --------- * Make Pools documentation better * Switch to the OpenStack Docs Theme * [install-guide] Add install-rdo * Remove usage of option 'verbose' * Use https instead of http for git.openstack.org in designate * [docs] Add missing upgrade guides * Indicating the location tests directory in oslo\_debug\_helper * Updated from global requirements * Move docs to tempest plugin repo * Actually write out tempest config file * Remove old functional tests * New Docs toctree * Bump hacking to new required version * Change 'tocreate' to 'to create' * Updated from global requirements * [doc] Update Ubuntu dev environment doc * Updated from global requirements * Update Architecture Doc * Updated from global requirements * [docs] Merge Developer Guidelines into Getting Involved page * Add basic information on sink + neutron * Point Users at the main install guide site * Remove old docs content * Add note for running designate-tempest-plugins * load default pool from storage * fix \`tox -e docs\` errors * Remove a py34 environment from tox * Turn off V1 API by default * pool not pools * Updated from global requirements * Install Guide Plugin * Added in doubt default pool filter to scheduler * Fix broken grenade gate * Updated from global requirements * Fix warnings in api-ref * Update reno for stable/ocata 4.0.0 ----- * Add warning message to akamai driver * Do not send DNS queries against hostnames * Validate NS records on a pool during an update * Allow for zones / pools with no attributes * Use exit code 1 for failed designate-manage pool commands * Switch to decorators.idempotent\_id * Fix noop metrics timed decorator 4.0.0.0b3 --------- * Updated from global requirements * Make notifications pluggable * Use the oslo\_utils address parser * Make exception catching more python3-ish * Updated from global requirements * Use designate.utils.generate\_uuid instead of str(uuid.uuid4) * change from domain to zone at configfile * DOC Remove a couple of repeated words * Fix a typo in designate/worker/tasks/zone.py * Updated from global requirements * [api-ref] fix create zone export endpoint * Fix typo in upgrade doc * Use tenacity instead of retrying * The usage of LOG mismatch in the code * [backend:akamai] fix retrieval of tsig\_key\_name 4.0.0.0b2 --------- * Remove lowercase constarint for pgsql * Use modules for import not objects * Updated from global requirements * Add pGSQL support for pdns4 driver in devstack * Fix grenade to use the driver specified in the gate * Update Devstack plugin * Set import exceptions in tox.ini configuration * Show team and repo badges on README * Add v6 support in \_get\_ip\_data * Fix a typo in parameters.yaml * Fix DB migration with postgresql * Updated from global requirements * Updated from global requirements * Updated from global requirements * Fix noop client getters * [api-ref] add optional zone create parameter 'masters' * Remove tests ported to tempest plugin * Fix typo * Switch stats client import to use oslo\_utils * cors: update default configuration in config * Updated from global requirements * Follow up - removing old dirs + config * Remove the method \_dispatch in rpc * Don't include openstack/common in flake8 exclude list * Add noop metrics client * Remove Oslo Incubator Code * Updated from global requirements * fix link to docs.openstack.org in release notes for mitaka * [Trivial] Fix some typos in designate * Fix unit tests for oslo.config 3.18.0 * Fix for allowing user to create zone other than ending with TLD * Update .coveragerc after the removal of respective directory * Fix Mitaka Upgrade Doc * Changed the home-page link * Use ConfigParser instead of SafeConfigParser * Updated from global requirements * Fix a typo * Updated from global requirements * Enable release notes translation * Updated from global requirements * Remove vim header from source files * Fix typo a-an, than-then, wrong character case * Fix typos in models.py & bind9.filters * Updated from global requirements * Infoblox: Reverse lookup zone creation fails * Fix for the exception on creating secondary zone * Add API description for deleting zone export record to api-ref * TrivialFix: Remove default=None when set value in Config * Using sys.exit(main()) instead of main() * Trivial: Remove vim header from source files * Remove Routes from requirements * api-ref v2 recordset: document X-Designate-Edit-Managed-Records header * Updated from global requirements * Fix typos in zone.py & pools.rst & scheduler.rst * Update reno for stable/newton 3.0.0.0rc1 ---------- * Some typos need to be fixed * Updating the sample handler to be compatible with mitaka/newton * Add PowerDNS 4 driver * Updated from global requirements * RC1 Relnotes * delete python bytecode including pyo before every test run * Resolve description parameter in v2:set floating ip * Add Monasca-statsd metric generation * [api-ref] Remove temporary block in conf.py * Fix Grenade Gate * Infoblox backend:Fixed sslverify value from option * Change PATCH method to PUT for recordset update in api-ref * Config logABug feature for Designate api-ref * Add name parameter to recordset create request description * Replace POST with PATCH in api-ref for set floatingIP's ptr record * Remove recordset tests migrated to designate\_tempest\_plugin * TrivialFix: Remove cfg import unused * Clean imports in code * TrivialFix: Remove logging import unused 3.0.0.0b3 --------- * Fix ZTA API to prevent HTTP 500 upon empty body * Add api-ref dropdown * Worker Model * Updated from global requirements * Remove white space between print and () * Minor cleanup * Add support for Microsoft DNS Server backend * Use upper constraints for all jobs in tox.ini * Updated from global requirements * Get ready for os-api-ref sphinx theme change * Fix recordset changes so that they preserve object changes fields * Updated from global requirements * Replace assertEqual(None, \*) with assertIsNone in the tests * Cleaned up notification\_handler/base.py * Fix typo 'leve'->'level' * Remove unnecessary \_\_init\_\_ from functionaltests * Use tempest.lib instead of tempest-lib * Improve performance of recordsets API * Replace assertDictEqual() with assertEqual() * Language fix 'imports' to 'exports' * Fix SSHFP validation for ECDSA, ED25519, and SHA256 * Updated from global requirements * Fix api-ref methods for getting, updating and deleting recordsets * Revert 372057bddb27716acd42a88591552a8dee7b519b * Fix some typo in the files * Change bind -> bind9 in docs, sample configs * Fix recordset changes so that they preserve object changes fields * Add DESIGNATE\_AGENT\_BACKEND\_DRIVER to devstack sample conf * Fix typo in tempest.rst * Python 3: dict.itervalues() * Typo in mitaka.rst * Python 3: dict.iteritems() * Documentation fix up * Remove unused LOG * different-format-for-ipv4-and-ipv6 * Updated from global requirements * update doc index, add ops FAQ and notifications * Grenade Plugin * Docs for working with multiple pools 3.0.0.0b2 --------- * Don't hardcode options we pass to oslo.context * Correct reraising of exception * Consolidate How Tos and add Admin How Tos * Added docs for Floatingip ptr records to api ref * Update UUID type for py3.5 compat * Add Python 3.5 classifier and venv * Add gdnsd backend * Updated from global requirements * Updated from global requirements * Add v2/quotas * Updated from global requirements * Fixes log statement typo in coordination.py * Fix typo in designate-manage.rst * Fixing several typos * Fixing typo availible->available * Updated from global requirements * Add missing zake lib to t-r * zone\_name is null in zone trasfer request response * Updated from global requirements * Fix Invalid UUID error message to make it consistent with others * Add test cases for GET /v2/zones/tasks/transfer\_accepts/ * Add missing parameters to docs of zone\_ownership\_transfer\_accept * Catch duplicate db inserts in powerdns plugin * Add docs for SSHFP, SRV, SPF and MX recordsets to api-ref * Updated from global requirements * Fix output of datetime objects in API * Add API for listing zone transfer accepts * Fix 'Duplicate explicit target name' error in 'tox -e docs' * Remove unneeded renames in v2 Adapters * Move APIv2 Docs to api-ref site * Remove migrated "unauthed" functional tests * Remove migrated negative tests for pools, tlds, blacklists * Ensure HTTP 204 responses have 0 Content-Length * Add docs for zone ownership transfer\_accept API * Updated from global requirements * Removed erronous extra file * Updated from global requirements * Add etc/designate/\*.yaml to .gitignore * Only load Suds when using Akamai backend * Add centos7, remove Fedora Vagrant VM * Add Blacklist to api-ref docs * DOC: Minor grammar and typo fixes * Fix typo in Docs * Updated from global requirements 3.0.0.0b1 --------- * Updated from global requirements * Add "project-id" to rrset API output * Make registering error handlers compliant with Flask 0.11 * Fix parameters.yaml order * Support binding to IPv6 addresses in UDP sockets * Updated from global requirements * Fix tsig param names * Docs update to make it consistent with other docs * remove verbose option in devstack plugin * Updated from global requirements * DOC: Update Ubuntu developer environment doc * Add Wily and Xenial devstack VMs * Support binding to IPv6 addresses in TCP sockets * Cleanup rndc backend * Modify assert statement when comparing with None * DevStack: Support setting default quotas * Updated from global requirements * Enable v2/recordsets API for tempest plugin * Imported Translations from Zanata * Add djbdns backend * Refactor UDP query handling, add tests * Catch all exceptions in PM's call to get\_pool() * Fix typo * Improve response codes display in api-ref docs * Support TCP connection pipelining * Updated from global requirements * Roll up migrations to start from liberty * Removing cruft from before os-api-ref was a lib * Fix Optional Tag for X-OpenStack-Request-ID * Partitioner - Rety on failure to get members * Add Tsigkey to api-ref docs * Ensure L to M DB migrations correctly inspect current DB state * Fix a typo. their -> there * Updated from global requirements * Remove test cases which are moved to designate\_tempest\_plugin * Add Tld to api-ref docs * Fix gate trying to use u-c for api-ref * Resolve incorrect description and response codes in api-ref docs * Integration/stress test using a simulated network * DevStack: Set tempest nameservers config option correctly * Add a style guide * Add Knot DNS backend * Remove zone import and export client methods + tests * Add explanation of connection string in pdns sample\_yaml\_snippets * Updated from global requirements * Add "/" to API-Ref Docs * Add Pools to API-Ref Docs * Add Limits to API-Ref Docs * Update devstack dashboard+client clone+install method * Add Zone Transfer Request + Accept API-Ref docs * Add Zone Tasks, Export and Import API Docs * Add Recordset to api-ref docs * Start Designate API-Ref style documentation * Ensure services shutdown during unit testing * Skip zone import count test, reenable pool tests * Type checking in pool manager target sync * Docs Update * Remove tempest plugin from non-tempest gate * Remove more tests migrated to tempest plugin * Updated from global requirements * Update Designate Architecture document * Expose /v2/recordsets api endpoint * Fix rrset serialization, improve mdns tests * Move bandit job to voting * Trivalfix of option name in designate.conf.sample * Enable V2 API as default * Support both olso.m v4 and v5 * Fix the memory of the VM in VirtualBox * Typo fix * Migrate service\_statuses table charset to UTF8 * Fix the service\_status objects \_\_str\_\_() output * Move heartbeat emit log messages to TRACE * Remove msdns from the drivers list * Fix parameterized class decorator * Fix \_get\_listen\_on\_addresses to handle port 0 * Consolidate default port numbers into utils.py * Support multiple API and mDNS listen address pairs * DevStack: Allow disabling of API versions * Return early from \_find\_recordsets\_with\_records * Skip Pools APIv2 tests * Added attribute filter to scheduler * Fix service\_status docs page * Remove execute privilege of designate/backend/impl\_bind9.py * Updated from global requirements * Add descriptions * Minor documentation fix * Add setup\_ubuntu\_devstack * replace logging with oslo.log * Add exception description, minor cleanup * Allow api\_export\_size to be updated * Improve exception handling, add comments * Remove contrib/tempest, as they have moved to the tempest plugin * Add Decorator to log RPCAPI Calls * Use upper-constraints.txt for tox tests * Move DNS OPCODEs/Classes into private\_codes.py * Fix data filtering with pagination * Added "experimental" status for backends * Updated from global requirements * Set default sslverify value to True * Ubuntu dev doc updates * Removed old tooling for ks CLI * Changed the spelling of command in sample file * Add missing response codes in V2 API's doc * Remove tests moved to tempest * Add Agent DevStack Backend * Fix all doc warnings and enforce clean docs * Moved doc file and releasenote from service\_status * Updated from global requirements * Update tempest docs re scenario and slow tests * Vagrant: Suppport local devstack / tempest clones * Add support for getting Service Status * Update bandit.yaml + fix failing test * Updated from global requirements * Remove workaround for bug #1467907 * Add Tempest Plugin to DevStack Plugin * Refactor central/service and others * Refactor pool and pool\_manager attribute update * Add Designate Tempest Docs * Resolves metadata field output on rest call to zone import and export * Give better error messages for zone imports * Define context.roles with base class * Update vagrant local.conf for rally DS plugin * Give proper ERROR for too large exports * Move successfull policy checks to trace * Add Memcached documentation * Remove pool config from sample config * Make cache\_result safer to use * Add Enhanced Logging to APIs * Updated from global requirements * Handle async Tooz calls appropriately * Docs update for zone import and export * Updated from global requirements * Better organize the tox.ini passenv vars 2.0.0 ----- * Adding v2 namespaced event to zone manager * Adding v2 namespaced event to zone manager * Do not log pool-manager-caches SQL transactions * Added "view" option to bind9 rndc options * Partitoner references invalid exception class * Docs update * Run the cli functional tests in openstack ci * Add placeholders for Mitaka DB Backports * Update config samples to show Identity v3 params * devstack: compile message catalogs during stack.sh * devstack: compile message catalogs during stack.sh * Partitoner references invalid exception class * Adds missing metadata section to API docs * Added "view" option to bind9 rndc options * Do not log pool-manager-caches SQL transactions * Update reno for stable/mitaka * Update .gitreview for stable/mitaka 2.0.0.0rc1 ---------- * Log zone serial on fetch and update * Enable use of Pools YAML * Add New Pools DB Tables and Code * Default to not logging all SQL Quries made during a test run * DevStack: Explicitly install libcap2-bin and don't fail without AA * Documentation changes for Admin API Quotas page * Add release note for not allowing .json on urls * Avoid logging tracebacks for EAGAIN errors * Fix devstack/fedora/bind9 support * Add scheduler for pools * Switch get\_serial\_number logging to debug * Do not allow GET /resource.json * Fix \_find\_masters + unit tests * Replace deprecated LOG.warn with LOG.warning * Strip "\n" character from result * Move zone masters to a new table * Cleanup unused Oslo Incubator \_i18n * Added "expected" to OverQuota Exceptions * Add warning to devstack/README.rst * Updated from global requirements * Fix for TCP connections not sending full content * Moved CORS middleware configuration into set\_defaults * Updated from global requirements 2.0.0.0b3 --------- * Use a single recordset validation method * Ensure the zone records quota is enforced * Use assertGreater() * Improve error handling for TCP connections * Use lazy properties in services * Fixed typos in docstrings * Add syntax highlighting to backend docs * Updated from global requirements * Move SOA refresh interval into unit tests * Fix AutoDoc line for non existent modules * Update README to RST * Set Ubuntu as primary Vagrantfile VM * Update PoolAlsoNotify object name * Fix bug where building validators for ListObjects fails * Add AttributeListObjectMixin class * Set InvalidRecordSetName and InvalidRecordSetLocation as expected * Stop using WritableLogger() which is deprecated * Add an on-demand single-target sync method * Update Bind 9 backend and other documentation * Cleanup after enable files refactor * Randomize SOA refresh interval * Allow to use project\_name in handler formats * Updated from global requirements * Syntax, grammar, and typo fixes * Fix a missing '\' in doc * Minor unicode test fixes * Add delayed NOTIFY * Actually poll for zone deletes * Improve performance and utility of Recovery * A request hook interface for the functional test client * Ensure ZoneManager emits valid objects * Update numbering of dashboard enable files * Updated from global requirements * Functional tests for MX, TXT, SPF, SSHFP validation * Use "# noqa" instead of "#flake8: noqa" * Simplify NeutronFloatingHandler process\_notification * Change the name of the test\_create\_wildcard\_NS test * Updated from global requirements * Switch "managed" fields from unicode to string * Minor test cleanup * Use unicode strings in description fields * Fix misspellings * Make supported record type configurable * Log stacktraces of MultipleExceptions in functionaltests * Added Keystone and RequestID headers to CORS middleware * Remove outdated pot files * Fix wildcard NS record * Updated from global requirements * Update functional test TLDCLient * Policy.json still has references to domain * Add docs for PATCH and DELETE call of Zone transfer request * Switch to mock fixtures, minor cleanup * Add validation for MX, TXT, and SSHFP records * Do not create /dev/shm/designate * Fix integration doc that example config not formatted * Fix order of installation in Devstack * Fix \_assert\_exception() * Ensure mocks are stopped after use * Fixes wording of exceptions for delete * Fix the python34 check job * Rename zone > domain for errors in V1 * Updated from global requirements * Replace assertEqual(None, \*) with assertIsNone in tests * test: make enforce\_type=True in CONF.set\_override * Update the link to CLI Reference * Add retry logic on periodic\_sync * Skip possible heisenbug test\_init\_no\_pool\_targets * Fix V1 Quotas API Extension * Use tmpfs on /dev/shm for database if available * Update unit test execution syntax Closes-Bug: #1532802 * Document that keystone auth can use memcached * Added bandit to designate * Updated from global requirements 2.0.0.0b2 --------- * Update email addresses hp.com to hpe.com * Add FloatingIPs reverse endpoint * Improve unit testing * Added doc for /v2/tsigkeys endpoint * Updated from global requirements * Update periodic-sync-seconds help * Retry Coordinator start indefinitely * Fix CI Tempest jobs * [docs] Create installing Liberty on Ubuntu * Add UniqueConstraint for pool\_id + hostname * Tox: ignore Rope dirs * Replace deprecated LOG.warn with LOG.warning * Add Pool Manager tests * Move to [oslo\_messaging\_rabbit] * Add test of BIND9 backend * Remove unused comments in create zone * Improve logging in designate.zone\_manager * Update Devstack docs * Improve logging in designate.notification\_handler * Improve logging in designate.agent * Fix tox ValueError: No closing quotation * Use keystoneauth instead of keystoneclient * Add documentation for Limits * Deprecated tox -downloadcache option removed * Describe how to install Designate client * Set zone in ERROR status on periodic sync fail * Remove iso8601 dependency * Object model: require "priority" field * Emit notification on update\_status() on a zone * Removes MANIFEST.in as it is not needed explicitely by PBR * Use git.openstack.org as Git repository * Switch devstack to use local.conf * pass environment variables of proxy to tox * Fix NO\_DOMAIN handling with The Big Rename * Remove version from setup.cfg 2.0.0.0b1 --------- * Remove py26 support from designate * Updated from global requirements * Check TXT record length limit * Remove deprecated devstack in contrib * Updated from global requirements * Migrate existing Devstack integration into a Devstack plugin * Another improvement of info level log messages * Improving info level log messages * Test database schema and indexes * Replaces map() with six.moves.map() to provide py2/3 compatibility * Added HTTP\_X\_FORWARDED\_PROTO/HOST support to API * Updated from global requirements * Ensure designate-manage reads config before policy * Adds api\_export\_size attribute to admin API * Add Reno for release notes tracking * Add mdns unit tests for main service handler * Hide zones flagged for deletion in API v1 * Rename all references of Domain to Zone * Added placeholder migrations for stable/liberty * Improve logging in designate.network\_api * Add support for interface and service * Handle NO\_DOMAIN status * remove default=None for config options * Fix argument order in assertEqual to (expect, obs) * Switch to oslo.reports * Use oslo\_config PortOpt type for port options * Removes zone files when a zone is deleted * Use assertIn and assertNotIn * Use assertTrue/False instead of assertEqual(T/F) * Uses assertIsNone instead of assertEqual(None, \*\*\*) * Use oslo\_config IPOpt support * Updated from global requirements * Fixes Output for zone type filter * Added CORS support to Designate * Fix order of argument in assertEqual * Updated api-export-size attribute in quota update docs * Add functional tests for TLDs * Fix typos in sample config files * Block oslo.messaging 2.6.0 release * retry creates/deletes in the pool manager * Use assertFalse instead of assertEqual(False, \*\*\*) 1.0.0 ----- * Fix handling of Pool NS changes * Fix order of arguments in assertEqual * Functional tests: optionally disable ssl cert validation * Functional tests: Use a configurable url pattern * Fix order of argument in assertEqual * Functional tests: optionally skip admin actions in setups * Added test cases for records * Fix handling of Pool NS changes * Clear out pyc files before a tox run * Fix order of argument in assertEqual * Fix order of argument in assertEqual * Fix order of argument in assertEqual * Unauthed tests for Pools (Security) * Unauthed tests for Blacklists (Security) * Unauthed tests for Zones (Security) * Cleanup of Translations * Cleanup of Translations * Added test cases for tsigkeys extention for V1 api * Functional tests: configure putting the version in the url * Open Mitaka development 1.0.0.0rc1 ---------- * Add zone type specific validators * Ensure recordset name checking accounts for child domains * Ensure blacklists complete in a reasonable time * Fix unhandled exceptions in adapters parsing * Add Kilo upgrade nodes * Fix #1494799 handle limit=max on v2 and Admin APIs * Ensure unique records when listing recordsets * Fix race condition in V1 Records API * Fix Vagrantfile for Rally repo changes * Correct a possible DNSService connection leak * Ensure API workers > 1 starts correctly * Updated from global requirements * Change ignore-errors to ignore\_errors * A functional test to check CNAME recordsets allow only 1 record * Unauthed tests for RecordSets (Security) * Ensure CNAME RRSets only have one record * Remove functional-tests.log, update .gitignore * Updated from global requirements * Imported Translations from Zanata * Add backend for Designate using SECONDARY zones * [zm] Periodic Secondary zone refresh task * Replace request.request\_mac with request.mac * Handling Forbidden Exception * Check the contents of a zone export in the functional tests * Cleanup data created in the functional tests * Agent - If no allow\_notify hosts are specified, allow all * Change ip->host in the agent * Updated from global requirements * Modify centrals 'purge\_domains' arguments * Implement deleted zone purging * Fix AXFR / Secondary zone functionality * Activate pep8 check that \_ is imported * Fix typos in comments 1.0.0.0b3 --------- * Updated from global requirements * Updated from global requirements * Correct generated links when behind an SSL terminating proxy * Correct pool\_target options in sample config * The address for cloning designate is corrected * Asynchronous Zone Export * Add a service catalog override url for the functional tests * Refactor Zone Import Internals * Remove unused dependency: discover * Add functional tests that query for wildcard records * Grammar mistakes have been corrected * Show functional test request logging * Update docs for the functional tests * Fixes bug 1484332 git url was wrong. Modified to proper url * Add DomainMaster Object to designate objects * Add functional tests for wildcard records * Updated from global requirements * Refactor notify logic into backends * Replaces str to byte to provide py3 compatibility * Replaces x.keys() with six.iterkeys(x) * Export Zones * Provide error messages on CRUD actions * Verify DNS changes when updating RRSet * Fixing datagen random\_pool\_data * Move iteration code to base task * Updated from global requirements * Fix zone transfer requests + add tempest tests * Cleaning up add\_filters * Add a iteritems = items on DictObjectMixin * Remove auth\* related param keys in middleware * Convert str to byte for py3 compatibility * Added 'add\_filters' to ClientMixin for GET vars * Updated from global requirements * Imported Translations from Transifex * Updated from global requirements * Fix eleven typos on designate documentation * Implement test timeout helper. Minor fixes * Install dnspython3 on py3 * Added some unit tests to test\_domains.py * Added some unit tests in test\_servers.py * Add \_\_str\_\_() methods to DesignateObjects * Wildcard records * Fixed a test case name * Enable filter on get pools * Add support for Host header in REST queries * Increase unit tests coverage * Updated from global requirements * Add tests for limits api in V1 api * Imported Translations from Transifex * Replace assertTrue(a in b) with assertIn(a, b) 1.0.0.0b2 --------- * Ensure RecordSet quotas are enforced * Ensure a single RRSet over max\_packet\_size doesn't loop forever * Introduce a Production Guidelines document * Fix the incorrect JSON format in v1 REST API doc * Updated from global requirements * Reject invalid filters * Add unit testing for pool * Imported Translations from Transifex * Fixes designate-manage tld's command by passing the correct params * Fixed timeout variable scope issues * Updated from global requirements * Fix test in test\_coordination.py for py3 compatibility * Fixup v2 API Validation * Remove unused V2 schemas * Fix duplicate domain error handling * Only print flake8 table if there is results * Create unit tests dir, move objects tests there * Replacing dict.iteritems() with dict.items() * Replaced print with print() to provide py 2/3 compatibility * Updated from global requirements * Modify UT in test\_limits.py * Add some UTs to test\_pools.py * Add some UTs to test\_zones.py * Allow multiple reader/writers to UDP DNS Sockets * Add some UTs to test\_tsigkeys.py * Add some UTs to test\_recordsets.py * DevStack: Support installing client at released versions * Added some UTs to test\_tlds.py * Correct exists event field names * Add functional tox env * Add some UTs to test\_records.py for record update * Fix the displayed error message in V2 API * Add Zone Manager Service options to sample config * Add some UTs to test\_records.py * Fix iteritems > items to avoid recursion loops * Add some missing UTs to test\_domains.py * Pass configration of what tasks are enabled * Update ubuntu-dev guide * Add some basic missing UTs to test\_utils.py * Fix broken UTs due to PY3 in test\_import\_export * Convert old style class to new style class * Refactor mDNS packet finalization * Add \_\_pycache\_\_ to ST2 Ignore * Correct sample coord URL * Default to memcache for PM cache * Ensure only one pool-manager performs periodic tasks * Implement support for LeaderElections * Standup coordination during start * Increase coverage of RRset tests * Handle unhandled exception in dnsutils.py for py3 * Imported Translations from Transifex * Fix for ttl values * Test - add nicer formating to flake8 output * Functional tests for Blacklists * Enable filter on blacklists & tlds * Switch from MySQL-python to PyMySQL * Error message for database config * Correct 'DESIGNATE\_SQL\_DEBUG' export behaviour * Add tasks and periodic emits * Resolve one py3 compatibility issue * Add support for BETWEEN and add tests * Fixed broken UTs in notification\_handler module * Fix broken UTs for python3 * Ensure test\_find\_zone\_imports waits for all imports * Ensure validations account for trailing newlines * Fix broken UTs in test\_mdns.test\_handler * Updated from global requirements * Fix broken UTs in test\_coordination for py34 * Add v1 API deprecation warnings * Designate Dashboard now has it's own repo * Replace Exception.message with six.text\_type(Exception) * Fix broken UTs due to py3 * Updated from global requirements * Add zone filter for TTL, description, & status * Use released versions of tempest-lib * DevStack: Keystone V3 Service/Endpoint Creation * DevStack: Keystone V3 User Creation * Return the correct recordsets total\_count * Use six.iterkeys(x) instead of x.keys() * Replace dict.items() with list(dict.items()) * fix broken UTs for python3 compatibility * Standardize API service launcher * Add DevStack support for coordination URL * Rename coordination tests to match established naming pattern * Silence some DEBUG logs * oslo.service triggers shutdown * Replace dict.iterkeys() with six.iterkeys(dict) * Remove 'L' from long int * Add shard and domain\_shard to tables * Enable designate-zone-manager in DSVM gates * Replace dict.iteritems() with dict.items() * Update urllib/urlparse to use six.moves * Use six.moves.map/zip in place of map/zip * Allow logging hookpoint intialization * Add Zone Manager service shim * Remove leftover print statement in tests * Add a couple of new hacking checks * Add base for coordination as a mixin / tooz * Updated from global requirements * Add py3 compatibility related changes * Ensure quotas ext doesn't mutate dict during iteration * Re-arrange default log levels and add iso8601 * Updated from global requirements 1.0.0.0b1 --------- * port to oslo.service * Edits to dev guide, juno guide, and kilo guide * Updated from global requirements * Asynchronous Zone Import * Fix incorrect status code on Pool update * Updated from global requirements * Enable random hash seeds * Update version for Liberty * Updated from global requirements 1.0.0a0 ------- * Added expected=True to InvalidDomainName * Eventlet+DNSPython breaks /etc/hosts resolution * Add Tempest tests for V2 Pools * Add utility code for negative testing * Updated from global requirements * Add tempest-lib from git for gate devstack * Reset check\_for\_tlds after deleting the last TLD * Updated from global requirements * Updated from global requirements * Sync with oslo-incubator 61f4461f91 * Correcting missing import for dashboard messaging * Changes in rally-jobs/README.rst * Updated from global requirements * Enforce usage of project scoped token * Agent: Optional middleware to rate limit NOTIFYs * Mark Infoblox as Release Compatible * Give a nicer error upon 401 from Akamai * Add domain record detail screen * Add .eggs to .gitignore * Updated from global requirements * Add the Hook Point API * Fix exceptions on pep8 check due to missing tempest.conf * Pin python version to 2.7 * Add filter for status on recordsets * Fix the v2 XFR task API * Add Backend grading, and associated docs page * Fix designate-manage pool show\_config command * Imported Translations from Transifex * Drop incubating theme from docs * Updating cmd/manage.py get\_arg\_string() argument parser * Infoblox Backend * Update Dashboard requirements * Drop use of 'oslo' namespace package * Disable recursive queries with bind in Devstack * DevStack: Attempt to cleanup stale domains * DevStack: Remove SOA/NS checks * Add some more settings to the sample conf file * Add NSD4 backend * Add tests for dynect * Add Akamai Management comamnds * Fix check+set race condition in APIv1/Sink * Remove unnecessary RestController usage * Set cfg.pool\_target.options as secret * Allow sink to create multiple entries per instance * updating tox pep8 issues * Add quota check for domain create * Moved RecordSet lookup to a custom join query * Add support for settings wsgi MAX\_HEADER\_LINE * Switch pip-missing-reqs for pip-check-reqs * Add suds-jurko to requirements.txt * Utility script to help create n+ records at a time * Updated from global requirements * Ensure Sink Handlers encode UTF8 names * Add docs for X-Auth-Sudo-Tenant-ID api header * Drop use of 'oslo' namespace package * Updated from global requirements * Improve UX of create and update record screen * Vagrant: NFS should only be used for libvirt * Fixed SO\_REUSEPORT not supported by Linux <3.9 * Fix a wrong obj\_reset\_changes field * Imported Translations from Transifex * Updated from global requirements * Drop use of 'oslo' namespace package * Updated from global requirements 2015.1.0 -------- * Remove duplicated index on table 'records' of pDNS backend * central.update\_status should be transactional * Add an index to speed up update\_status * Add the /v2/zones//nameservers endpoint back * Add the /v2/zones//nameservers endpoint back * Update JSON in howtos examples to match the API * Service ThreadPool size should be configurable * Handle socket.error's in mDNS * Move the Central rpcapi update\_status to cast * PM: Ensure only one periodic task runs per host * Ensure addition of TSIG do not trigger a TooBig exception * Simplify designate.api.versions * Allow to use network label in nova\_fixed handler format * Denominator Agent * Imported Translations from Transifex * Minor fixes: pep8 and redundant code * central.update\_status should be transactional * Include README.rst in dashboard sdist * Functional tests to check recordset ownership * Zone ownership tests * Rally is now openstack/rally * Handle socket.error's in mDNS * Remove duplicated index on table 'records' of pDNS backend * Imported Translations from Transifex * PM: Ensure only one periodic task runs per host * Functional tests: minus tempest, plus noauth support * Service ThreadPool size should be configurable * Ensure addition of TSIG do not trigger a TooBig exception * Release Import of Translations from Transifex * Correct designate-dashboard domain detail screen * Update PM pooling defaults * Add policy support to designatedashboard * update .gitreview for stable/kilo * Correct mDNS TCP/UDP socket flags * Move the Central rpcapi update\_status to cast * Shuffle of the order of BIND9 masters * Updated from global requirements * Update JSON in howtos examples to match the API * Shuffle of the order of BIND9 masters * Correct mDNS TCP/UDP socket flags * Imported Translations from Transifex 2015.1.0rc1 ----------- * Fix missing '/' in self link after zone import * Reduce excessive stacktraces in logs * Move Zone Import / Export to /admin API * Ensure mDNS TCP/UDP threads service unhandled exceptions * Correct the max\_zone\_name\_length name * Add validation of RRSet Type * Change rackspace.com > example.com in docs * Remove unused pool view * Refactored BaseAddressHandler * Switch to API v2 as the new CURRENT * Add stable/kilo placeholder migrations * DevStack: Reduce periodic intervals in the gate * Open Liberty development * Restrict editing of managed records to policy based ACL * Imported Translations from Transifex * Added tenant impersonation to API * Fixup DevStack Horizon install * Validate SRV records have the correct name on the recordset * Fixed sort key to not sort by an un-indexed field by default * Fix Record Object conversions * Fix handling of filtering params * Add Ceilometer support to DevStack plugin * DevStack: Akamai/Dyn Support for Jenkins Credentials and Exercises * Split out Optional OpenStack services in localrc * Support Vagrant Libvirt * First Tempest tests for recordsets * Remove zone wrapper object in Tempest tests * Add global limits to V2 limits endpoint * Fix min\_ttl config to be an IntOpt * Implement default and max page size for V2 API * Fix output of errors on base recordset properties * Correct min-ttl default config value * Update periodic sync defaults * Ensure mDNS can AXFR zones over 65k * Fixup updates in the agent backend * Fix support for PostgreSQL * Imported Translations from Transifex * Akamai: mDNS must run on port 53 * Agent Pool Manager Backend * Add Akamai EDNS Backend * DynECT: Convert to a Pool Backend * Add also-notifies support to Pool Manager * Implement Pool Targets * Reduce the # of SQL queries during AXFRs * Add code to allow triggering of AXFR from API * Fix 'zone' link in transfer\_accepts * Imported Translations from Transifex * Enable Record Data Validation in v2 API * Sync up FIP behaviour to match latest PoolManager * Fix ownership issue with Zone's created on set fip * Fixed rootwrap file installation * Add \_to\_string() methods on RRData Objects * Add Schema to RRData Objects * Replace API\_v2 views with Adapters * RFC1996 Requires NOTIFY packets have the AA flag set * Ensure mDNS originated queries are non-blocking * Unwind mDNS XFRMixin from NotifyEndpoint and Handler * Correct Pool Object * Add API\_v2 Adapter Objects * Support mDNS response up to 65k * Install etc/designate/\* files * forgot missing \_\_init\_\_.py file * Allow for duplicate domains in different pools * Remove usage of relative\_path in ValidationError Objects * Fix handling of wildcards in api / storage * Reduce the # of records loaded by Central.update\_status * improving designatedashboard packaging * Imported Translations from Transifex * Fixed misspellings in central * Validation Error Middleware does translation of keys to new format * Added FloatingIP object to DesignateObjects * Omit deleting zones from mass ns record updates * Imported Translations from Transifex * Archive non-pool backends * Combine Backend and PoolBackend * Refacor function for parsing host:port strings * Spelling & formatting doc fixes * Updated from global requirements * Revert "Disable tempest in the gate, for now" * Retry serial number check in one more case * Move Pool NS Records to their own table * Imported Translations from Transifex * Don't allow updates to zones that are being deleted 2015.1.0b3 ---------- * Imported Translations from Transifex * Remove "Including all tenants items" debug log * Disable tempest in the gate, for now * Fix the use of private symbols from oslo.messaging * Ensure Quotas can be updated concurrently * Only attempt XFR if zone.type is SECONDARY * Add Admin API and add extensions * Add DESIGNATE\_SQL\_DEBUG toggle * Move the DesignateAdapter to return non-wrapped objects * Imported Translations from Transifex * Added ValidationErrorMiddleware * Added Schemas to DesignateObjects * MDNS part of Secondary zones * Support secondary zones * Add iPythonNotebook files to git ignore * Implement TSIG Support in mDNS * Imported Translations from Transifex * Add Tempest zone tests * Enable Tempest Functional Tests * Use the oslo.policy package * Smarter Create/Delete in BIND9/Agent * Imported Translations from Transifex * Send the correct domain object to update\_domain * Update localrc docs sample * Fix DesignateObjects ListObjectMixin interactions * Introduce Guru Meditation Reports into Designate * Call central's update\_status correctly * Initial Pool API docs * Fixed ssl.PROTOCOL\_SSLv3 not supported by Python 2.7.9 * Agent configuration and BIND9 improvements * Validate SSHFP records * Create DesignateAdapter and surrounding infrastructure * Imported Translations from Transifex * Updated from global requirements * Updated from global requirements * Fix exception handling * Imported Translations from Transifex * Add initial code for tempest tests * Updated from global requirements * devstack/install.sh shouldn't rely on exact paths * Add designate-agent to DevStack * Updated from global requirements * Rename \_retrieve\_from\_cache to \_retrieve\_statuses * Updated from global requirements * Imported Translations from Transifex * Updated from global requirements * Implement Scoped TSIG Key Support * Service Class Cleanup - Part 3/3 * Service Class Cleanup - Part 2/3 * Service Class Cleanup - Part 1/3 * Fixed \_is\_superdomain check in central * Imported Translations from Transifex * Add Developer Guidelines docs page * Update default managed\_resource\_email * Update tests to use Object.from\_dict() method * Sync with oslo-incubator * Remove explicit thread-local update in context * Ensure pool\_manager cache keys are strings * Remove bulk actions from records page * Add python-memcached>=1.48 to requirements.txt * Add error state transition for creation of domains * Modifications for Resilient Pool Manager Cache * Ensure DNSPython modules are imported correctly * Add howto for creating PTR records * Imported Translations from Transifex * A small intro to the REST API * Implement an Object.from\_dict() method * Updated from global requirements * Deprecate designate-sink non managed mode * Retry transactions on database deadlocks * Correct PoolAttribute module name * Set PYTHONDONTWRITEBYTECODE=1 in tox.ini * Use fully qualified domain names in the mx record examples * Workaround eventlet 0.17's broken monkeypatching * Pass SSL CA Cert to client * Pass ssl no verify to client * Assume a new developer won't create a "designate" user in the dev guide * Add noop cache support to Pool Manager * Allow MiniDNS to Send Everything Over TCP * Replace nova with designate in pybasedir help * Updated from global requirements * Add memcache support to Pool Manager * Get on an abandon zone returns 405 * Ensure count record/recordsets respect deleted domains * Deleting a recordset returns 202 * Fix up links in Ubuntu Dev Environment * Imported Translations from Transifex * Docs: Top level Install Guides section * Docs: Automate How To Index * Fix Production Arch docs * Update Designate Architecture Docs * Docs: Howto Create and Manage Domains * Added docs env to tox * Updated Sample Config and Documentation Page * Update Getting Started Guide * Doc sprint: Update glossary * Doc sprint: Update Getting Involved * Update zone status when recordsets are changed * DevStack: Sync function rename with DevStack * Updated from global requirements * Return correct response codes for v2 recordset api * Fix a reference link in the doc * Doc: fix the designate-manage powerdns sync command * Fix some typos in 6 files * Nameservers added via /v2/pools are not validated * Imported Translations from Transifex * Return a status field from the recordsets API * Remove dead server code in storage and add tests 2015.1.0b2 ---------- * Updated from global requirements * Add pretty\_tox subunit wrapper * Add a new API for abandoning a zone from storage * Allow Periodic Sync to be restricted to a subset of zones * Add pool\_manager migrate.cfg in MANIFEST.in * Updated from global requirements * Cleanup use of oslo.messaging's ConfFixture * Add a debug tox environment * Imported Translations from Transifex * Extract fixtures into their own module * Updated from global requirements * Agent cleanup/refactoring * Imported Translations from Transifex * The New Agent * Imported Translations from Transifex * Refactor RecordSet Relation Loads * Ensure Pool Manager Cache is Cleared * Move some methods from mdns to dnsutils * Switch to oslo.log * Imported Translations from Transifex * Fix v2 api update\_recordset * Fix sink neutron\_floatingip handler passing payload * Temporary fix for bad \_dispatch() invocation * Server Pool Storage Clean Up * Call the Correct Pool Manager Instance for the Domain * Clean requirements * Periodic sync and recover Timers Throw Descriptive Errors * Updated from global requirements * Imported Translations from Transifex * Move PM warning log inside the correct if block * Update mDNS to accept server object * Pool Manager should reuse the existing threadgroup * Pool Manager Throws An Error When No Servers are Defined * Add Unit Tests for Pool Manager * Ensure Pool Manager Works for Multiple Backend Servers * Add more tests to the central service * Add more unit tests to mdns service * Add more unit tests to Base Object class * Add Unit Tests for v2 API Reports * PowerDNS Backend Tests * Updated from global requirements * Moved to oslo\_utils namespace * Remove dead designate.wsgi * Remove dead SQLAlchemy code * Add .coveragerc configuration file * Update Vagrantfile with new Ubuntu box * Moved to oslo\_db namespace * Imported Translations from Transifex * Fix powerdns db table records missing column disabled * Update README.md doc build instructions * Switch to oslo\_middleware namespace * Imported Translations from Transifex * Updated from global requirements * Updated from global requirements * Allow Domain to Be Created on More Than One Server * Better Logging for Pool Manager * Separate Periodic Recovery from Periodic Sync * Domain Creation Includes Zone Transfer For Proper Status * Updated from global requirements * Migrate Server table * Updated from global requirements * Pool\_Attribute Storage Tests * Change SLA check for Designate * Adds negative unittests to test\_domains.py and test\_records.py * Adds negative tests to test\_records.py * Imported Translations from Transifex 2015.1.0b1 ---------- * Remove duplicate fields from ZoneTransferRequest object * Documentation, comments, and extraneous code fixes * Post-pool merge cleanup * Adds negative tests to test\_records.py * Imported Translations from Transifex * Added smart update of Records Objects in v2 * Changed oslo.messaging's default log level * Fixed the syntax of obj\_reset\_changes in SQLA * Pool Manager Integration with Central * Remove the agent service and old-style backend tests * Remove the non-pools bind9 backend * Convert PowerDNS to a Pools Backend * Pools Config Changes * Add Werkzeug>=0.7 to requirements.txt * Adds "domain-servers-list" to test\_domains.py * Cleanup validation regex's * Adds negative tests to test\_servers.py * Updated from global requirements * Imported Translations from Transifex * Switch to oslo.context and sync from incubator * Standardize creation of rpcapi client instances * Updated from global requirements * rename oslo.concurrency to oslo\_concurrency * Updated from global requirements * Imported Translations from Transifex * Workflow documentation is now in infra-manual * Updated from global requirements * Add DynECT DevStack plugin * Handle multi-packet TCP queries * Allow DevStack to retry DNS queries to handle async CRUD * Handle priority the same way as when create\_record * Correct RRSet delete notification * Pool Manager * Add docs for MX, SSHFP, SPF and SRV record set types * Add metadata, totalcount fields to zones/recordsets collections * Add bashate tox env for DevStack plugin * Update DevStack PORT vars for naming consistency * Update gate\_hook to support multiple drivers * Added designate-dashboard code to contrib/designate-dashboard * Rename rally-scenarios/ to rally-jobs/ * Imported Translations from Transifex * Updated from global requirements * Added functionality to allow for zone ownership transfers * Updated from global requirements * Add Rally to Vagrant VM * Move Central notifications to a decorator * Add a reverse name columns to domains/recordsets * Updated from global requirements * Fix rally job readme file * Add synchronized\_domain decorator * Add some helpful SQL indices * Return the correct RRSet object in Central.create\_recordset * Updated from global requirements * Detect CPU on OSX as well * Fix rally gates * Can't Access Default Pool through API * Add tox check for missing pip requirements * Add rally job related files * Updated from global requirements * Support Nested/Recursive Object Validations * Add basic validation functionality to DesignateObjects * Updated from global requirements * Move import code to dnsutils * Add a new field type 'relation' to objects * Imported Translations from Transifex * Missing Unique Constraint on Pool Attributes table * Add ability to configure extensions via local.conf * Move from incubator to o.concurrency * Fixed API v1 issue with horizon * Add Symantec's nova and neutron plugins to docs * Add pool\_id column to Domains Table * Imported Translations from Transifex * Pool Manager - Central/Storage Changes * Pool Manager - BIND9 Pool Backend Driver Fixes * Updated from global requirements * Pool Manager - Pool Manager Proxy Backend and Devstack * Imported Translations from Transifex * Imported Translations from Transifex * Support for server pools in minidns * Initial documentation for v2 API record sets * Move rec.priority into rec.data * Imported Translations from Transifex * API for pools * Server Pools Storage * Updated from global requirements * Pool Manager Service Changes * Ensure version column is correctly incremented * Updated from global requirements * Updated from global requirements * Implement a DesignateObject Registry * Correct int datatypes during zone import * Enforce all Object attributes are private or well defined * Add a UUID Schema format checker * Convert Object FIELDS from list to dict * Reduce SQLAlchemy loglevel during tests * Updated from global requirements * Imported Translations from Transifex * Imported Translations from Transifex * Updated from global requirements * Add a new PowerDNS backend based on MiniDNS * Ensure mDNS sends NOTIFYs on all zone changes * PowerDNS schema should cascade domain deletes * Add Jinja2 to requirements.txt * Switch to oslo.middleware and remove deprecated incubator * Sync oslo-incubator and remove json|str utils * Imported Translations from Transifex * Multi backend attepts to read a deleted domain * Bind a random port for MDNS tests * Open Kilo development 2014.2.rc1 ---------- * Use devstack's new way of doing things * Updated from global requirements * Fixes missing Module Index in Sphinx-build * Make use of SQLA Core in PowerDNS * Prevent update/delete of managed records in v1 API * Fixes minor errors and warning in Sphinx build * Fixes docstring typos * Updated from global requirements * Notif handlers:remove double check of event type * Imported Translations from Transifex * Missing Tests for Blacklist storage layer methods * Fix example response for reports/tenant * Update oslosphinx requirement * Fix issues with timeout and if a domain exists * Add v1 missing api docs * Backends need to implement c/u/d\_recordset * Updated from global requirements * Missing tests for TLD storage layer methods * Updating README * Removing \*.shapes files from Desginate diagrams * Add png for \`Designate-PowerDNS-Detail\` * Adding Dia file for \`Designate-PowerDNS-Detail\` * Adding Dia file for \`Designate-MultiZone\` * Adding Dia file for \`Designate-Simple\` * Bind9 zone file should end with a new line * Correct Vagrant+DevStack paths * Use non-deprecated notification\_driver * Split Vagrant out of contrib/devstack * Fixed the logging of powerdns metadata addition / removals * Updated from global requirements * Fix warnings made by keystone\_authtoken * Devstack Integration : Coding style fix * Getting deleted recordsets returns a 404 * Devstack setup : use get\_or\_create\_\* helpers * Updated from global requirements * Downgrade in 039 does not delete NS recordsets * Add index on powerdns.records.designate\_record\_id * Updated from global requirements * Support filtering on Zone/RecordSet status * \_find\_recordsets returns active recordsets only * Ensure designate-api has policy initialized * Ensure designate-sink has policy initialized * Rollback master backend on all exceptions in multi backend * Delete SOA records correctly on a downgrade * Call \_handle\_query\_error correctly * Updated from global requirements * Update README.md doc links 2014.2.b3 --------- * warn against sorting requirements * Creating a Recordset doesn't increment the serial number * Support the same api versions format as keystone * Imported Translations from Transifex * Fixed policy loading in agent service * Imported Translations from Transifex * Implement mDNS Middleware * Squash Icehouse DB Migrations * Move DNS packet serialization into mDNS service * Update default notification-topics for nova/neutron * Received notifications context is not a DesignateContext * Add support for AXFR requests * Expose SOA and NS records * Fix get\_record\_id to return only the requested id * Fix DevStack xtrace output * Updated from global requirements * Updated from global requirements * Updated from global requirements * Imported Translations from Transifex * Validate that no parent zones are created in another tenant * Issue one SQL statement per execute() call * Added policy checking for all all\_tenent=True contexts * Add two more hacking checks * Updated from global requirements * Imported Translations from Transifex * V2 Report Uses 'Domains' * Ensure Object change lists are sorted during to\_primitive * Reimplement Filtering by Record Data * API v1 for creating domains ignore some attributes now * Fixes a typo in the binary name for test's service fixture * Designate API tests for Tempest Framework * Add proxy support to dynect client * Add instructions on installing Designate with MySQL backend * Imported Translations from Transifex * Migrate to SQLAlchemy Core * Update testr config for better logging * Remove obsolete methods from Storage * Empty RecordSets can be re-provisioned * Install only the necessary files during a DevStack gate run * devstack exercise for deletion, dns checking * Set python hash seed to 0 in tox.ini * Add quotas documentation * Imported Translations from Transifex * Switchover to oslo.i18n package * Remove the Priority Field in V2 * Moved the thread storage to a per instance level, vs global * Update from oslo-incubator * Use auth\_token from keystonemiddleware * Move oslotest into test-requirements.txt * Imported Translations from Transifex * Updated from global requirements 2014.2.b2 --------- * Revert o.m and o.c 1.4.0 alpha updates * Add a minimal gate\_hook.sh script * Moved v2 API errors to separate controller * Enable X-Auth-Project flag in HTTP headers * Cleaning up index.rst file * Imported Translations from Transifex * Handle tcp requests correctly in mdns * Modify Recordset API * Clear out junk from Vagrant+DevStack configs * Correct JSON Syntax is v2 Collections Docs * Ensure o.c.local is populated with the current Context * DevStack: Enable V2 API * DevStack: Correct the key's passed to setup\_colorized\_logging * PowerDNS: Ensure each greenthread uses it's own Session instance * Ensure eventlet monkey patching happens as early as possible * Attach records to RecordSet objects * Ensure each greenthread uses it's own Session instance * Add docs for links, pagination, filtering * Enable hacking check H104 * Add validate\_log\_translations flake8 check * Imported Translations from Transifex * Avoid logging "Expected" exceptions returned over RPC * Fixed issue with elevated contexts modifying the original context * Imported Translations from Transifex * Port Report Extensions from v1 to v2 * Added proper handling for 405 errors * Fixed D701 Hacking check * Implement a ListObjectMixin class * Implement equality methods on DesignateObject * Updated from global requirements * Answer dns record queries * Iterator methods should be on DictObjectMixin * Added oslosphinx theme & enabled the incubating theme * Enabled hacking check H401 * Update's should use objects * Provide a standard method for populating an object from a model * Expand Zones Documentation * Updated from global requirements * Don't create new objects when doing a create\_\* * Track the original/persisted values in Objects * Object fields should not be marked changed if the value has not changed * Ensure RPC serializes all types to primitives * Setup for translation * Implement DesignateObject.\_\_deepcopy\_\_ * Change API filter wildcard from '%' to '\*' * Updated from global requirements * Ensure contrib/devstack/install.sh works from any path * Ensure we always accept trailing /'s in URLs * Updated from global requirements * Change logging level AUDIT to INFO * Ensure DesignateObject.from\_sqla does not trigger change tracking * Update stackforge references to openstack * Support recursive object serialization * Revert "Added olso sphinx, and enabled it for building docs" * Update .gitreview for repository move * Specify minimum and maximum correctly in schemas * Add Extensions to the v2 API * Added olso sphinx, and enabled it for building docs * Don't monkeypatch pecan.core.Request in newer versions of pecan * mdns: Add support for NOTIFY's * Implement change tracking in DesignateObjects * Ensure that 404's are returned as JSON * Change log string format to '%' for consistency * Objects should have a concrete list of their fields * Added all fields to limits endpoint, and corrected casing * Fixes default content type on /v2/zones endpoint * Unify Storage vs Rest of World fixture creation * Switch to oslo.db and fix cmd.manage * Added \*.sqlite3 to gitignore * Remove the StorageAPI class * Indent lines for readability * Switch to oslotest library * Finalize tox.ini codes * Fix style errors H305 and H307 * Fix style error E265 * Fix style error E251 * Fix style error E111 * Fix style error H236 * Update hacking package, fix I18n style issues * Sync with global-requirements * Sync in o.middleware and replace our own * DevStack: PowerDNS and Bind9 should listen on SERVICE\_HOST * DevStack: Fix Bind9 Apparmor profile * Change log statements to meet I18n guidelines * DevStack: Additional exercises for records and domain-servers-list * DevStack/Vagrant: Specify the minimum supported Vagrant version * DevStack Gate: Enable Designate exercises * DevStack: Sync up our logging options * DevStack: Sync up our service startup commands * DevStack/Vagrant: Set # of CPU's to # of physical cores * DevStack/Vagrant: Don't configure LOGFILE by default * DevStack: Support configuring bind host/port * DevStack: Migrate from keystone CLI to OpenStack CLI * DevStack: Support PowerDNS on Fedora * DevStack: Support devstack with bind9 backend on Fedora * DevStack: Split backends out into plugins * DevStack: Use a timeout rather than hard sleep * DevStack: Support running with bind9 as non-root user * DevStack: Default to PowerDNS rather than the fake backend * DevStack: Ensure PowerDNS is configured correctly * Add DevStack Vagrantfile * Sync test-requirements with global-requirements * Partial sync with global-requirements * Add pre/post dsvm test hooks * Added detection of powerdns package name to devstack script * Wait a little after starting Designate * Revert "add sink support to designate devstack" * Bug #1261894: Deleting Record With BIND 9 Driver Fails * Ensure we configure all keystone middleware options * Ensure our DevStack plugin cleans up services it starts * Switch stop\_designate to use screen\_stop rather than \`kill\` * Ensure designte-sink does not exit when no handlers are enabled * Implement mDNS Service * API now passes objects to central * Ability to pass along multiple endpoints * Fix FreeIPA tests mock's * Adding custom flake8 check for mutable default arguments * DynECT backend exceptions should be added to allowed exmods * Create missing domains during Bind9Backend start * Update DevStack docs for the contrib/devstack plugin * Correct DESIGNATE\_TEST\_NSREC default value * Correct typo in DynECT backend * set default auth\_strategy to keystone * Allow Roles to be Passed When Using Noauth Middleware * add support for FreeIPA backend - phase 6 - devstack * add support for FreeIPA backend - phase 5 - requirements * add support for FreeIPA backend - phase 4 - migration * add support for FreeIPA backend - phase 3 - live tests * add support for FreeIPA backend - phase 2 - tests * add support for FreeIPA backend - phase 1 * Ensure objects are passed over RPC * add sink support to designate devstack * Update oslo.policy * only call sink handlers for supported event types * Print versions * Raise correct exception on blocked operation * Ignore 404 on deletion * Remove redundant setup.cfg entry points * Correct DynECT backend config option types * Fixed the self link returned for floating IPs * sink crashes due to a missing \_get\_handler\_event\_types * Update Record object with structured RRdata * Post oslo.messaging fixes * DynECT support * Remove leftover bin/\* files * Set a Configurable Minimum TTL * Allow targeting of specific agent * Update Storage layer to return objects * Update install\_venv from Oslo * Sync with openstack/oslo-incubator * Sync with openstack/requirements * Sync up openstack-common.conf * Switch to oslo.messaging * v1 api does not allow priority of 0 * WIP - Implement Capture the Notification Context in Designate Sink * Sync requirements with openstack/requirements * Open Juno development 2014.1 ------ * Read the Docs needs a single requirements file * Remove designate-manage dependancy on cliff * Fix sync functionality in V1 / central * Provide a production like guide for Ubuntu * Blacklists API Documentation * Document the PowerDNS backend 2014.1.b3 --------- * Ensure that request body in v2 contains valid fields * Remove JSONSchema 1.3 compatibility code * Support more record types * create\_server fails if server is not unique * Sync with global-requirements repo * V2 API zone import/export documentation * Return 404 for empty parameters in URLs * Ensure that URL is valid while validating UUID * Return 400 for invalid Json for api v2 * Introduce nameservers endpoint for zones * Standardize doc requirements * Ensure Storage Implementions match the Interface * Ensure that wanted API calls returns exceptions * Fill in missing Records tests for V2 api * UUID changes to api / utils * Remove use of uuidutils.generate\_uuid * Fixes filtering in delete and update in PowerDNS * Register as a endpoint without version * Handle invalid pagination parameters * Add the handler plugin example to the contrib folder * Add Bind9 Support to the DevStack Plugin * Correct misspelled words 2014.1.b2 --------- * DevStack: Set the correct state\_path * Disabled paging by default * Don't install designate packages twice with Devstack * Add support for paging in V2 api for collections * Add RMQ+Other options to sample config * Switch to oslo.rootwrap * Sync with oslo-incubator 9a7f2f85 * Sync with global-requirements * Blacklists mysql error * Add paging to Central rpcapi and service * Adds support for paging in the storage layer * Shouldn't pass items to get\_collection\_href here * Ensure default DB connection strings use unique defaults * Fix arguments in get\_collection\_href * Default state-path to /var/lib/designate * Adds a setting for the location of the nzf files * Stop abusing state\_path in find\_config * Add a new ExtensionPlugin class * Add Unit Tests for Blacklists V2 * Update notification\_driver documentation * Import TLDs to Designate * Prevent Schema regex's from capturing input * General Plugin Cleanups * Create API calls to Manage Blacklisted Domains * Fix TLD Delete From Storage * Sync with oslo-incubator rev fa785cea * Sync with openstack/requirements rev 661e6bad * Various small fixes to documentation * Keep the DevStack plugin in-tree * Add TLD Api documentation * Make Database Interactions More Transactional * Remote Designate Agent Calls Fail * Remove dnsmasq backend * Replace os.exists with os.path.exists * Validate name during v2 zone create * Sink - Delete record on floatingip.delete event * Check if RS belongs in childzone * Add APIs for managing TLDs * provide designate getting started instructions for Fedora 19 * Update setup.cfg for the Neutron -> Quantum handler rename * Remove dependencies on pep8, pyflakes and flake8 * Sync with global requirements * Ensure APIv2 list respose formats are correct * FloatingIP PTR record functionality * Moved Limits API endpoint to a RESTController * Return a HTTP 405 for unsupported HTTP methods * six is now a requirement of many of the oslo-incubator modules * Made Pecan HTML debugging an option for v2 API * PowerDNS backend tests * Ensure Flask uses our JSON Encoder * Add support for specifying tenant/user/token in the NoAuthMiddleware * Removing Docs about the old Sudo mechanismn * Designate requires Babel during runtime now * Cleanup API v2 Link Generation and Views * Ensure migrations run on PostgreSQL * Switch out designate.notifier for oslo's version * Reinstate RecordSet placement validation * Sync with oslo-incubator * The default port is not 0.0.0.0, it is 9001 * Ensure JSON Schema format validators operate only on strings * Database fixture * Ensure SQLite has the correct unique\_record index * Docs spelling/capitalization fixes * Specify column names during the PowerDNS backends InsertFromSelect's * Do not try to update records if there are none * Introduce RecordSets concept to core, and add initial RRSet API to v2 * Provide support for "All Tenants" access * Correct migration 33 * Fixed bug where sync\_all could not be run * Use % when printing keyfile/certfile errors * Make sure that certfile and keyfile are readable * BUG# 1258262 Added secret parameter to options for sensitive data * Bug #1257888: Remote Designate Agent Call Fails * Denormalize tenant\_id into the records table * Multi-backend * Put test resources into own folder * Backend tests restructure * Ensure logs are captured and displayed when tests fail * Fix typo in config and rename Quantrum > Neutron everywhere * Multiple testing fixes * Allow a context to be elevated to admin status * Don't require domain\_id in find\_record\* methods * Pass the service-catalog if any to the context * Add placeholder migrations to allow backports to Havana * Added a check for HTTP\_X\_IDENTITY\_STATUS * Add SLDs that act like TLDs * Support building wheels (PEP-427) * Add .testrepository to ST2 project ignore * nsd4slave backend * Update notifications towards oslo.messaging * Switch to testr / testtools / fixtures, remove nose * Update PPA URL * Expose touch\_domain via an API extension * Update TLD list per IANA list version 2013110700 * Fix inconsistent dnspython imports bug * Domain Import/Export * Update setup.cfg for Icehouse development cycle 2013.2 ------ * Ensure we're compatible with JSONSchema 1.3.0 through 2.2.0 * Sync requirements with stable/havana requirements * Zoneextractor tool * Ensure all FakeBackend methods use info level logs * Abstract quota enforcement in central service * Minor tox.ini changes, should speed things up * Add status fields for domains and records * Correct JSONSchemas for min/max TTLs * Added info on flake8 to docs * Update domains when servers are created, modified or deleted * Add rudimentary migration testing * docs: Correct errors in the Create Record examples * BIND9 Plugin Cleanup * Ensure beta versions are not downloaded from pypi * Correct PowerDNS migration 006 * Monkeypatch WebTest to support HTTP PATCH * Give more meaningful error message when no servers are configured * Add initial BIND9 backend docs * Ensure default TTL is respected by PowerDNS backend * Allow default SOA values to be configured * Ensure tables are InnoDB and UTF8 * Cleaned up fake backend backend * Central RPCAPI should call the correct sync methods * Add APIv2 Zones Controller * Fixed broken links in README.md * Fixup CNAME placement validation * PowerDNS - Correctly quote TXT and SPF record * Fix utils.render\_temaplate\_to\_file() test case name * Revert "PowerDNS - Ensure SPF records are quoted correctly" * docs: Add 'description' field to domains * Cleanup v2 schema links * Add description field to v2 schemas * Minor v1 records schema corrections * Add "Invalid TLD" error message * Correct V2 limits schema * Switch to EntryPoints for the binaries * Add API v2 /limits endpoint * Update Getting Started Guide * Sync doc/requirements.txt with openstack/requirements * API Version 2 - Initial Framework * Sync requirements with openstack/requirements * Add more API documentation for record types * Bug 1206849: Add more logging to the API Layer * PowerDNS - Ensure SPF records are quoted correctly * Add Description Field to Domains/Records * Update PBR to 0.5.21 * Fixup incorrect exception handler * Update PBR * Restore JSONSchema 1.1.0 compatibility * Fix a minor doc build warning * Ensure all errors raised from netaddr are caught * Internal SQLA Storage Consistency Cleanup * Ensure the deleted column is not truncated * Update 'Getting Started' Doc * Reduce logspam from amqp * Ensure backend resources are always deletable * Refactor JSONSchema handling code * Remove out of date TODOs from README * Move doc/examples to doc/source/examples * Move Keystone config to main designate config * re-org docs & add details on production architecture * Ensure Code Coverage only includes designate * better ipv4 validation * Replace missing indexes for SQLite * Ensure StorageAPI always re-raises exceptions appropriately * corrected event details in Nova Handler notes * Logging & docs improvement for notification\_handler * Remove unnecessary default criterion value * find\_record should take a domain\_id argument * find\_records does not need to perform an is\_admin check * Sync requirements with openstack/requirements * Remove openstack.common.cfg * Remove invalid entrypoints * Accept trailing /'s on URLs * Add 'Getting Started' Doc * Implement a Quota management API extension * bug# 1198890 internal api tidy * Update docs links from moniker.rtfd.org to designate.rtfd.org * Add DevStack documentation page * Override default config values correctly * Middlewares should tell you they have started * Sync with oslo-incubator stable/grizzly * Update link to designate-cookbook * Add doc link to sample plugin repo * Add a related links page to the docs * Remove comments from \*requirements.txt (workaround pbr bug) * bug# 1198849 - from blallau * Update the outdated install document * Ensure sphinx and sphinxcontrib-httpdomain are installed for doc builds * Ensure RTD builds install all the necessary deps * bug# 1198885 - report 'latest' instead 'None' on database-sync * Ensure central cleans up storage if the backend fails * Add the Request-ID as a HTTP reponse header * Carry oslo-incubator review #34949 * Sync with oslo stable/grizzly c7862b5239822d701b7fb155faa4607eff602627 * Ensure all backend methods respect deleted domains * quota-domain-records sould be an IntOpt * Ensure the unique index on domains.name is correctly dropped * Bug #1194889 - Fix migration 16 on SQLite * Added notes on setting up a designate dev environment * bug/1195284 - correct ttl checks to match RFC * Add simple Maintenance Mode WSGI middleware * Update jsonschema dependancy * Sync requirements with openstack/requirements (except jsonschema) * Keep deleted domains in the DB * Ensure domains that fail to create are cleaned * Ensure request media-types are sane * Ensure records are unique, per RFC2181 Sec 5.0 * Add LICENSE file * Rename to designate in .gitreview * Rename keystone-setup script for designate * Correct some overzealous s/moniker/designate/'s * Bump version to 2013.2 * Correct a few links broken during the s/moniker/designate/ * Rename Moniker -> Designate * Switch to Flake8 and add Hacking checks * Sync requirements with openstack/requirements. (Except jsonschema) * Fix pyflakes error * Guard against deletion of a parent domain * Remove unused SQLA utils code * Ensure record placement validation does not prevent updates * Validate UUID URL parameters * Add request-id to the API's fault responses * Switch to PBR * Helper utilities * The utils module in oslo is no more * Ensure create domain/record records call the correct count\_\* methods * Ensure our quotas/limits are consistent with other OpenStack projects * Implement Quota Support * Ensure two PTR records cannot have the same name * Update import of oslo's processutils * Extend reports API extension with more information * Cleanup method/varible ordering in the various places they are defined * Update report API ext method names to match URLs * Remove unnecessary try/catches from API extensions * Ensure all error responses are JSON * Ensure API calls fail when junk/unexpected properties are supplied * Add tests to ensure domain notifications are sent correctly * Removing unused test helpers * Add periodic\_task from Oslo * Correct the service name used in notifications * Add a "force" option to context sudo * Add Central.find\_\*() methods * Show log level in moniker-manage output * Commands should extend our Base Command, rather than cliff.Command * Remove un-used base CLI command classes * Update to the latest loopingcall from oslo * Convert openstack-common.conf to the new format * Ensure X-Moniker-Sudo-Tenant-ID values are either a UUID or int * Prefix all Moniker notifications with "dns." * Add a test case for email addr's with a trailing period * 0.0.0.0 is an invalid IPv4 address * Cleanup PowerDNS database schema * Support all valid (per RFC1035) email addresses * Implement support for RPC Versioning * Remove redundant moniker-manage commands * Ensure record changes trigger a backend serial increment * Abstract API exception handling * Tighten up TTL and Priority acceptable value ranges * Added /reports, /reports/domains, /reports/records & /reports/tenants * A domain may not have a NULL TTL * Ensure supplied email addresses are valid for use in the SOA RNAME field * Add support for specifying custom domain/record name max lengths * Validate SRV record format * Add localhost, localdomain and local and remove com, net, org from default blacklist * Set the default value for accepted TLD's to match the IANA TLD list * Quick fix to oslo-wsgi for wsgi.Service compat with service.ProcessLauncher * Domain name's should not be accepted with wildcards * Add 'accepted\_tld\_list' config option * Add ability to "touch" a domain via the API * Allow for record create/update/delete's and domain updates's without incrementing the serial number * Add a simple profiling decorator * Prevent is\_subrecord iterating past the domain name itself * Revert "A domain's TTL must not be null." * A domain's TTL must not be null * Use the 'fake' backend by default * Make Diagnostics and Sync API's optional * Separate notification handling from the central service * Remove base Plugin testcase * API tests should tearDown in the correct order * Refactor DNSMasq plugin for easier transition to the upcoming transactional changes * Remove the distinction between a storage engine and connection * Add Also-Notify support to PowerDNS backend * Wrap backend interactions in try/catch blocks * Add a base 'Backend' exception class for backend specific exceptions to extend from * Fetching a domain's list of authoritative name servers should not be filtered by tenant\_id * Ensure database-sync works when no version is specified * Rename sync-all to the more accurate "sync-domains" * Ensure we enforce the various rules for CNAME records * Add novalocal to the default domain name blacklist * Fixup migration #12 and support a target version when doing a database-sync * Ensure migrate.cfg's are included in the sdist tarball * Saner default values for SOA * Ensure serial number does not go backwards * Pin to jsonschema less than 1.0 * Rename the X-Moniker-Tenant-ID header to X-Moniker-Sudo-Tenant-ID to make more clear its meaning and use * Support SSHFP records * Correct migration #10 * Massively improve hostname validation * Move diagnostics API resource under /v1/ and split out the sync methods * Add support for plugin provided API resources * Add 'servers' link to domain schema * Drop the ipv4 and ipv6 columns from servers. It's never been used and makes little sense * Add ability to fetch the list of nameservers hosting a particular domain * Consistently use try/except/else * Ensure doc examples use valid JSON * Correct Context-Type -> Content-Type typo in docs * Attach context to local.store a little earlier * Ensure tools/\* is included in sdist * Remove unnecessary test api-paste and policy.json * Ensure resources are included in dist packages * Ensure we attach the context object to oslo-local for oslo-log to find * Simple implementation of DNSMasq backend * PowerDNS: Allow domain type to be configured * Ensure PowerDNS backup updates the SOA serial when necessary * Add ordername/auth cols to PowerDNS Record model * Set the auth field correctly for PowerDNS * Allow Context properties to be passed through get\_admin\_context() * Fixup moniker-manage sync commands * Add moniker-manage CLI commands to trigger sync's * Allow admin context's to retrieve domains from all tenants * PowerDNS currently only supports hmac-md5 TSIG * Calls to get\_servers from backends should use an admin context * Add moniker-manage commands for maintaining servers and TSIG keys * Use a dash as the command separater in moniker-manage * Fix incorrect column name used when updating a TSIG key * Add support for TSIG to PowerDNS backend * Add tests for incorrect domain\_id checks * Ensure records belong to the domain\_id supplied in the URL * Pass TSIG Key Create/Update/Delete to backend implementations * Fixup a rebase gone wrong. * Provide initial support for TSIG * Pass an instance of the central service, or the central\_api proxy to backends * Add initial PowerDNS migration repo * Fixup bug in bind9 backend * Domain Sync should not attempt to delete records after deleting the domain * Prevent renaming of a domain, and ensure records are contained in their parent domain * Add SPF to type ENUM in Records Table * Update REST API docs to remove links * Remove some magic from the RPC Backend API * Add naive domain/record synchronization implementations 2013.1.alpha1 ------------- * Ensure config files are included in sdist tarball * Rename moniker-api-paste.ini -> api-paste.ini * Cleanup and simplify Tenant "Sudo" Code * Cleanup Blacklist code, Protect from sub-domain hijacking. Upgrade to pyflakes 0.6.1 * Override the format for records * Replace reserved domain suffixes with regex based domain name blacklist * Use Policy enforcement to record an Audit trail * Update to JSONSchema 0.8 final * Re-add version.py * Initial Diagnostics API endpoint * Sync with Oslo 30a50c8a * Move config files from 'etc/' to 'etc/moniker/' to match what oslo's update.py expects * Allow Moniker Services to Spawn N processes each * Add sample config entry for reserved\_domain\_suffixes * Change to rootwrapper - bug #1075120 * A Domain's TTL should be optional * Sanitize content field for certain record types * Pass server list from central -> backend for domain operations * Add sample PowerDNS backend config * Minor doc cleanup's * Update Docs with GetRecord call * PowerDNS Backend Driver * Fix bug #1075268 - Support multiple notification handlers listening to the same notification type * Log messages produced by the Keystone Auth Token middleware * Add support for a "sudo" like mechanism in the API * Add dummy versions list endpoint * Add support for admin-reserved DNS domain name suffixes * Add support for PTR records * \*Really\* cleanup the sample config this time * Sync with oslo a8973c52 * Add tests for API 409 Handling (Duplicates / Conflicts) * Add tests for API 404 Handling * Handle RPC timeout's appropriately in the API * Updated Docs with recent API changes, particularly records * Cleanup sample config file * Add tests for KeystoneContextMiddleware and NoAuthMiddleware * Allow wildcard DNS records using a \* * Update MANIFEST.in to ensure only sample configs are included * Ensure \`moniker-manage --version\` reports the correct version number * Sync with oslo-incubator ad93e4e3 * Fix coverage output folder * Switch to a single config file, using a config group per service * Fixup default policy.json * Allow configuration file to be specified via --config-file * Add more happy path API tests for servers/domains/records * Ensure Schema handle datetime objects appropriately * Centralize argv slicing * Use consistent base class name for moniker.backend tests * Remove dead code from moniker.storage * Fixup hostname regex + add some tests for valid host names * Provide sample logdir config option * Sync with oslo 8888ad01 * Ensure bin/moniker-manage is executable * Ensure MANIFEST.in is correct - No longer include \*.pyc * Exclude ST2 project file from sdist * Ditch pre\_version argument to oslo-version * Added generic SQLOPTS * Record TTL should default to, and accept, NULL values * Remove unnecessary if/else block from the bind9 zone template * Move database\_connection sample config to the correct section * Remove unnecessary steps from the install guide * Ensure partial API updates are validated correctly * Include setup-requires in tox.ini * Sync with Oslo e6c576d9 * Fixup sample moniker-api.conf * moniker-manage CLI should read DB connection string from correct config group * Minor install doc corrections * Ensure Plugin config declarations are compatible with oslo-config's \`import\_opt\` method * Partial fix for bug #1074093 * Correctly raise Duplicate exceptions with MySQL * Fixup migration #3 for MySQL * Add /bind9 to .gitignore * Fixup bind9 zone template * bug #1086467, fixed by using moniker record ID in dns\_domains column * Fixup final pyflakes error + enable pyflakes check by default * Fixup Server JSONSchema * Allow the central and agent services to have separate defaults for the backend\_driver config option * cfg.CONF is a global, let's not pass it around unnecessarily * Add backend\_driver default to moniker-central.conf * Switch to plain .json schemas and improve Schema handling * Added central backend changes and rpc plugin. Added write\_database flag to mysqlbind agent * Fix inconsistencies in use of IPAddr and UUID instances * Fixup API after breakage in change Ie65b6d25 * Cleanup use of Flask Blueprint's in the API * Sync with Oslo-Incubator 1fd7694e * Move SQLA types to shared location * Add empty testcase for the MySQL Bind9 backend * Working mysqlbind agent. Thank you to Endre and Kiall for the help! * Fixed a single-letter typo in docs * Move out session from the sqlalchemy impl to a more re-usable place * Keystone helper * Change the use of self.conf to cfg.CONF[self.name] * Fixup sample agent config * Tests cleanup and add helpers * Add more test helpers * More install doc corrections * Install doc corrections * POST helper for API tests * Do teardown properly * Abstract test functionality a bit more - make more use of get\_\*\_fixture * Fixup config access in bind9 backend * Add DB init commands to README.md * Add first API test for listing servers * The PyFlakes tox env should not run by default * Process only events with handlers - skip the rest * Fixes bug #1081525 * Typo fix in install docs * Move fixtures to be available to all tests * Move docs where they belong (RTFD) * Add cliff to pip-requires and ensure all bin/ files are checked with pep8 * Make us client library independent for server side operations * Fix so it invokes on load * Generalize tests of plugins take 2, bug #1080415 * Add Quantum handlers for floating ip with tests * Fixes bug #1080467 * Generalize testcases for handlers, bug #1080415 * Fix broken version for migrate. * Implemented deltetion in the bind9 agent, fixed deletion in the backend, added migrate for foreign key changes * Cleanup tox / test deps * Fix most issues identified by PyFlakes * Add PyFlakes tox env * Update readme a bit * Add Quantum samples * Minor test cleanups * Remove \`get\_config\_overrides\` method from tests * Add policy checks for all resource create/update/delete/get/list actions * Pull Keystone middleware from the keystone client package * Restrict the Servers resource to admin users * Parse roles from Keystone into the Context * Track plugin name and type within records * Update the docs to use virtualenv's --no-site-packages flag * Update docs according to latest plugin change * Abstract out functionality into plugins * Fixed bind9 agent backend to handle new domains properly * Add \*.egg to .gitignore * Subclass OS-Common's Context class * Added fix to zone template to append dot to end of data for various records that require it * Add utils.resource\_string() method * Ensure Agent service calls the backends register\_opts() method * Be consistent with sample state\_path configuration value * Switch bind9 agent to a driver based implementation * Sync up notification handler test naming * Remove backported unittest assertions in favour of unittest2 * Ensure database-connection config variable is defined correctly * Minor sample config file fixes * Make notification handler config option name consistent * Add nosexcover and nosehtmloutput Nosetests plugins to tools/test-requires * Document state-path configuration option * Fix bug #1075595 - Ensure a missing configuration file raises an error * Ensure the bind9 agent logs an error when there are no servers configured * Provide a sane sample database\_connection config value * Ensure we depend on SQLAlchemy 7.x * Added moniker API documentation * Re-order tox.ini sections * Fixup broken migration * Cleanup UnitTest assert backports * Add initial support for handling notifications from other OpenStack services * Add filtering to the storage layers get\_\* methods * Split on "+" to determine driver. * Update requirements for monikerclient -> python-monikerclient * Add pypi trove classifiers * Import and make use of openstack.common.version module * Sync with OS-Common 3d6c2368a5de16d875341426db8ddc9888213264 * Remove duplicated line from docs * Update docs a little * Add requirements for RTD * Cache pip downloads on Jenkins * Remove Travis CI config, now that Moniker is on Gerrit * Fixup deps and tox.ini for Stackforge+Gerrit * Update docs for Servers API * Hide autogenated doc files in Sublime Text 2 project * Add sample API call to the sphinx docs (It's not necessarily accurate!) * Add sphinx doc skeleton * Update MANIFEST.in * Ensure CLI only loads local file if it exists * Move optional dep's to their own file * Use a local config file only when it exists * Sync with OS Common aca1805d911caefe14a73edb6ced281cf54e7ad2 * Update default config files * Remove DB migrations from TODO list * Move SQLA dep in pip-requires to indicate it is optional (kinda) * Complete Skipped storage tests * Ensure we use a single Service instance per test case * Ensure tearDown is performed in the reverse order of setUp * Switch from Query.filter() -> Query.get() for single record fetches * Add Storage test for get\_record/get\_records * Minor cleanup * Lower the default SQL debug level * NULL is an acceptable value for tenant\_id * Ensure \`moniker database\` commands read the moniker-central config file * Cleanup SQLA migrate changes + "Un-Abstract" the type definitions * Migrate scripts now work! Also re-coded the tenant\_id NULL fix * Found a bug that allows insertion into domains with NULL tenant\_id * Changes to get sqlalchemy migrate to work. Still not there * Move create/destroy DB hacks to the tests themselves, and ensure they respect the storage driver choice * Update DB CLI commands for database -> storage changes * Fixup previous commit * Saner default values for Path+DB configs * Ensure the SQLA tests actually use the SQLA driver * Remove unnecessary hack inherited from ceilometer * Rename "sqla" to "impl\_sqlalchemy" * Fix license headers and skip setting engine before connection * Attempt to make backends more driver based like in Ceilometer * Switch from git:// to GubHub tarball via https for python-monikerclient dep * Rename sql\_connection to the more generic database\_connection * PEP8 Fix * Add database init + sync commands * Backport a few of assert methods not present in Py26. Fixes the tests on Py26 * Remove pypi from travis-ci config * Add openstack.nose\_plugin as a test dep * Add Openstack-Nose test dep * Fixup Travis-CI and tox config * Two newlines needed for zone files that have more than one RR to have one newline at end * Add Travis-CI config file * Final fixes for migrations addition * Add tests policy.json * Ensure utils.find\_config() raises correctly on failure to find config * Policy implementation (part 1) * Add Database driver server method tests * Ensure agents recieve the correct params for delete\_domain calls * Handle \`exceptions.Forbidden\` appropriately in the API * Correct handling of duplicates * Fixup PEP8 errors in previous merge + remove license info from empty files * Add SQLAlchemy Migrate dep * Add some missing deps required by OS-Common * Delete duplicated schemas.py * Include newer bin/ files on tox pep8 checks * Use the latest version of PEP8 * Re-creating changes, this time with Git identity set! \* Changes to models.py to set column width \* Added initial migration scripts * Add PasteDeploy dep to tools/pip-requires * Remove duplicate requirement on setuptools-git * Extract setup-requires from setup.py * Add tests\_require to setup.py * Move TODO's to the bottom on the readme * Move some dep's from test-requires to pip-requires * Add some \*really\* basic instructions * Add .venv to gitignore file * Ensure all bin/ files are as "dumb" as possible * Add Moniker Central tests for domains and records * Remove temporary keystone config options * Remove Debug API endpoint + Remove some unneeded imports * Switch from Flask's WSGI Server to OpenStack Commons + Use PasteDeploy for easier Keystone integration * Add OpenStack Common WSGI module * Ensuring fitering a empty collection works * Move API app from \_\_init\_\_.py -> app.py * Use fake RPC backend for testing * Add Moniker Central server management tests * Remove some un-used imports * Move create schema hack into into it's own method * Add tox and venv to ST2 folder ignores * Fix another missing license header * Add skeleton test framework * Fix license headers * Make use of OpenStack Common setup module * Ensure the bind9 agent's output path is created, if necessary * Ensure delete's are flushed to the DB immediately * Ensure moniker's exceptions are re-raised over RPC * Reapply WIP openstack common patch from https://review.openstack.org/#/c/13953/ * Ensure the RNDC call only supplies a config file option if one has been explicitly set * Remove leftover config file * Sync with OpenStack Common rev f182936b * Add some temp config vars to disable keystone and use a default tenant/user instead * Lots of changes: * Add utils and exception modules from openstack-common * Switch default sql\_connection to an in-memory sqlite DB * Sync to openstack-common rev 974989d9 * Remove leftover file * Add TODO note * Rename TODO list * Initial Public Commit designate-6.0.1/contrib/0000775000175000017500000000000013262750362015151 5ustar zuulzuul00000000000000designate-6.0.1/contrib/zoneextractor.py0000666000175000017500000001621313262750032020431 0ustar zuulzuul00000000000000# Copyright (C) 2013 eNovance SAS # # Author: Artom Lifshitz # # Licensed under the Apache License, Version 2.0 (the "License"); you may # not use this file except in compliance with the License. You may obtain # a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations # under the License. import sys import re import os import argparse import logging import dns.zone from designate.i18n import _LI from designate.i18n import _LE logging.basicConfig() LOG = logging.getLogger(__name__) class Zone: """ Encapsulates a dnspython zone to provide easier printing and writing to files """ def __init__(self, dnszone): self._dnszone = dnszone def to_stdout(self): self.to_file(sys.stdout) def to_file(self, f): if type(f) is file: fd = f elif type(f) is str: if os.path.isdir(f): fd = open(os.path.join(f, self._dnszone.origin.to_text()), 'w') else: fd = open(f, 'w') else: raise ValueError('f must be a file name or file object') fd.write('$ORIGIN %s\n' % self._dnszone.origin.to_text()) self._dnszone.to_file(fd, relativize=False) fd.write('\n') if fd is not sys.stdout: fd.close() class Extractor: """ Extracts all the zones configured in a named.conf, including included files """ # The regexes we use to extract information from the config file _include_regex = re.compile( r""" include \s* # The include keyword, possibly followed by # whitespace " # Open quote (?P [^"]+ ) # The included file (without quotes), as group 'file' " # Close quote \s* ; # Semicolon, possibly preceded by whitespace """, re.MULTILINE | re.VERBOSE) _zone_regex = re.compile( r""" zone \s* # The zone keyword, possibly followed by # whitespace " # Open quote (?P [^"]+ ) # The zone name (without quotes), as group 'name' " # Close quote \s* # Possible whitespace { # Open bracket (?P [^{}]+ ) # The contents of the zone block (without # brackets) as group 'content' } # Close bracket \s* ; # Semicolon, possibly preceded by whitespace """, re.MULTILINE | re.VERBOSE) _type_master_regex = re.compile( r""" type \s+ # The type keyword, followed by some whitespace master # The master keyword \s* ; # Semicolon, possibly preceded by whitespace """, re.MULTILINE | re.VERBOSE) _zonefile_regex = re.compile(r""" file \s* # The file keyword, possible followed by whitespace " # Open quote (?P [^"]+ ) # The zonefile (without quotes), as group 'file' " # Close quote \s* ; # Semicolor, possible preceded by whitespace """, re.MULTILINE | re.VERBOSE) def __init__(self, conf_file): self._conf_file = conf_file self._conf = self._filter_comments(conf_file) def _skip_until(self, f, stop): skip = '' while True: skip += f.read(1) if skip.endswith(stop): break def _filter_comments(self, conf_file): """ Reads the named.conf, skipping comments and returning the filtered configuration """ f = open(conf_file) conf = '' while True: c = f.read(1) if c == '': break conf += c # If we just appended a commenter: if conf.endswith('#'): self._skip_until(f, '\n') # Strip the '#' we appended earlier conf = conf[:-1] elif conf.endswith('//'): self._skip_until(f, '\n') # Strip the '//' we appended earlier conf = conf[:-2] elif conf.endswith('/*'): self._skip_until(f, '*/') # Strip the '/*' we appended earlier conf = conf[:-2] f.close() return conf def extract(self): zones = [] zones.extend(self._process_includes()) zones.extend(self._extract_zones()) return zones def _process_includes(self): zones = [] for include in self._include_regex.finditer(self._conf): x = Extractor(include.group('file')) zones.extend(x.extract()) return zones def _extract_zones(self): zones = [] for zone in self._zone_regex.finditer(self._conf): content = zone.group('content') name = zone.group('name') # Make sure it's a master zone: if self._type_master_regex.search(content): zonefile = self._zonefile_regex.search(content).group('file') try: zone_object = dns.zone.from_file(zonefile, allow_include=True) except dns.zone.UnknownOrigin: LOG.info(_LI('%(zonefile)s is missing $ORIGIN, ' 'inserting %(name)s'), {'zonefile': zonefile, 'name': name}) zone_object = dns.zone.from_file(zonefile, allow_include=True, origin=name) except dns.zone.NoSOA: LOG.error(_LE('%s has no SOA') % zonefile) zones.append(Zone(zone_object)) return zones def main(): parser = argparse.ArgumentParser( description='Extract zonefiles from named.conf.') parser.add_argument('named_conf', metavar='FILE', type=str, nargs=1, help='the named.conf to parse') parser.add_argument('-w', '--write', metavar='DIR', type=str, help='Wwrite each extracted zonefile as its own file' ' in DIR') parser.add_argument('-v', '--verbose', action='store_true', help='verbose output') args = parser.parse_args() if args.verbose: LOG.setLevel(logging.INFO) else: LOG.setLevel(logging.WARNING) try: x = Extractor(args.named_conf[0]) for zone in x.extract(): if args.write is not None: zone.to_file(args.write) else: zone.to_stdout() except IOError as e: LOG.error(e) if __name__ == '__main__': sys.exit(main()) designate-6.0.1/contrib/djbdns/0000775000175000017500000000000013262750362016415 5ustar zuulzuul00000000000000designate-6.0.1/contrib/djbdns/tinydns.init0000777000175000017500000000477013262750023021001 0ustar zuulzuul00000000000000#! /bin/bash ### BEGIN INIT INFO # Provides: tinydns # Required-Start: $local_fs $remote_fs $network # Required-Stop: $local_fs $remote_fs $network # Should-Start: $syslog # Should-Stop: $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: tinydns daemon processes # Description: Start the TinyDNS resolver ### END INIT INFO # Documentation # man tinydns # Load the VERBOSE setting and other rcS variables . /lib/init/vars.sh # Define LSB log_* functions. . /lib/lsb/init-functions NAME=tinydns DAEMON=/usr/bin/$NAME DAEMON_USER=djbdns DESC="the tinydns daemon" ROOTDIR=/var/lib/djbdns PATH=/sbin:/bin:/usr/sbin:/usr/bin LAUNCHER=/usr/bin/envuidgid LAUNCHER_ARGS="$DAEMON_USER envdir ./env softlimit -d300000 $DAEMON" PIDFILE=/run/$NAME.pid # Exit if executable is not installed [ -x "$DAEMON" ] || exit 0 set -x case "$1" in start) if [ ! -d "$ROOTDIR" ]; then log_action_msg "Not starting $DESC: $ROOTDIR is missing." exit 0 fi log_action_begin_msg "Starting $DESC" if start-stop-daemon --stop --signal 0 --quiet --pidfile $PIDFILE --exec $DAEMON; then log_action_end_msg 0 "already running" else if start-stop-daemon --start --verbose --make-pidfile --chdir $ROOTDIR --pidfile $PIDFILE --exec $LAUNCHER -- $LAUNCHER_ARGS then log_action_end_msg 0 else log_action_end_msg 1 exit 1 fi fi ;; stop) log_action_begin_msg "Stopping $DESC" pid=$(cat $PIDFILE 2>/dev/null) || true if test ! -f $PIDFILE -o -z "$pid"; then log_action_end_msg 0 "not running - there is no $PIDFILE" exit 0 fi if start-stop-daemon --stop --signal INT --quiet --pidfile $PIDFILE --exec $DAEMON; then rm -f $PIDFILE elif kill -0 $pid 2>/dev/null; then log_action_end_msg 1 "Is $pid not $NAME? Is $DAEMON a different binary now?" exit 1 else log_action_end_msg 1 "$DAEMON died: process $pid not running; or permission denied" exit 1 fi ;; reload) echo "Not implemented, use restart" exit 1 ;; restart|force-reload) $0 stop $0 start ;; status) if test ! -r $(dirname $PIDFILE); then log_failure_msg "cannot read PID file $PIDFILE" exit 4 fi pid=$(cat $PIDFILE 2>/dev/null) || true if test ! -f $PIDFILE -o -z "$pid"; then log_failure_msg "$NAME is not running" exit 3 fi if ps "$pid" >/dev/null 2>&1; then log_success_msg "$NAME is running" exit 0 else log_failure_msg "$NAME is not running" exit 1 fi ;; *) log_action_msg "Usage: $0 {start|stop|restart|force-reload|status}" >&2 exit 1 ;; esac exit 0 designate-6.0.1/contrib/djbdns/tinydns.service0000666000175000017500000000165313262750023021470 0ustar zuulzuul00000000000000# # Replace /var/lib/djbdns if needed # [Unit] Description=tinydns DNS resolver Documentation=man:tinydns Documentation=https://cr.yp.to/djbdns.html After=network.target Requires=network.target Wants=network.target ConditionPathExists=/var/lib/djbdns [Service] Type=forking PIDFile=/run/tinydns.pid Environment="ROOT=/var/lib/djbdns" ExecStart=/usr/bin/tinydns ExecStop=-/sbin/start-stop-daemon --quiet --stop --retry=TERM/5/KILL/5 --pidfile /run/tinydns.pid TimeoutStopSec=30 KillMode=mixed PermissionsStartOnly=true Restart=on-abnormal RestartSec=2s LimitNOFILE=65536 WorkingDirectory=/var/lib/djbdns User=$ug_name Group=$ug_name # Hardening # CapabilityBoundingSet=CAP_NET_BIND_SERVICE CAP_CHOWN CAP_FOWNER NoNewPrivileges=yes PrivateDevices=yes PrivateTmp=yes ProtectHome=yes ProtectSystem=full # TODO: restrict ReadOnlyDirectories ReadOnlyDirectories=/ ReadWriteDirectories=-/var/lib/djbdns [Install] WantedBy=multi-user.target designate-6.0.1/contrib/vagrant/0000775000175000017500000000000013262750362016613 5ustar zuulzuul00000000000000designate-6.0.1/contrib/vagrant/setup_ubuntu_devstack0000777000175000017500000000311513262750023023163 0ustar zuulzuul00000000000000#!/bin/bash # # Setup a Designate devstack based on Ubuntu Trusty using libvirt # and run a quick CLI test and the functional tests # # To be run from /contrib/vagrant # set -eu test -f Vagrantfile if vagrant global-status | grep ' ubuntu ' | grep -q 'contrib/vagrant'; then echo "A devstack VM seems to be already running, see vagrant global-status" exit 1 fi if vagrant plugin list | grep -q ^vagrant-mutate; then echo "Skip installing vagrant-mutate" else echo "Install vagrant-mutate" vagrant plugin install vagrant-mutate fi if vagrant box list | grep -q ^ubuntu/trusty64; then echo "Skip downloading Vagrant box" else echo "Download and convert box" vagrant box add --provider virtualbox ubuntu/trusty64 vagrant mutate ubuntu/trusty64 libvirt fi echo "Check running pool" virsh pool-info default | grep ^State | grep -q running # Workaround for https://github.com/fog/fog-libvirt/issues/16 # vagrant plugin install fog-libvirt --plugin-version 0.0.3 --verbose vagrant up ubuntu vmrun() { vagrant ssh ubuntu -c "$@" } vmrun "sudo apt-get update" vmrun "sudo apt-get install httpie -y" vmrun "echo export LC_ALL=en_US.UTF-8 >> .bashrc" vmrun "echo export LC_CTYPE=en_US.UTF-8 >> .bashrc" vmrun "sudo dpkg-reconfigure locales" vmrun "cd devstack && ./stack.sh" echo -e "\nstack.sh run completed. Showing server-list:\n" vmrun "cd devstack && source openrc admin demo && designate server-list" echo -e "\nRunning functional tests\n" vmrun "cd /opt/stack/designate && tox -e functional -v" echo "Done. Run vagrant ssh ubuntu to log in" designate-6.0.1/contrib/vagrant/local.conf0000666000175000017500000000670713262750023020562 0ustar zuulzuul00000000000000[[local|localrc]] # General DevStack Config # ======================= ADMIN_PASSWORD=password MYSQL_PASSWORD=password RABBIT_PASSWORD=password SERVICE_PASSWORD=password SERVICE_TOKEN=password # IP Address for services to bind to (Should match IP from Vagrantfile) SERVICE_HOST=192.168.27.100 # Logging #LOGFILE=/opt/stack/logs/stack.sh.log VERBOSE=True LOG_COLOR=True # Disable all services except core ones disable_all_services enable_service rabbit mysql key # Enable designate enable_plugin designate https://git.openstack.org/openstack/designate # Designate Devstack Config # ========================= # Enable core Designate services enable_service designate,designate-central,designate-api,designate-worker,designate-producer,designate-mdns # Optional Designate services #enable_service designate-agent #enable_service designate-sink # Backend Driver (e.g. powerdns, bind9. See designate.backend section of # setup.cfg) #DESIGNATE_BACKEND_DRIVER=bind9 # Agent Backend Driver (Used only when DESIGNATE_BACKEND_DRIVER=agent) #DESIGNATE_AGENT_BACKEND_DRIVER=fake # Pool Manager Cache Driver (e.g. noop, memcache, sqlalchemy. See # designate.backend section of setup.cfg) #DESIGNATE_POOL_MANAGER_CACHE_DRIVER=memcache # mDNS Service DNS Port Number #DESIGNATE_SERVICE_PORT_MDNS=5354 # Designate Backend Config # ======================== # DynECT Backend # NOTEs: # - DynECT requires DESIGNATE_SERVICE_PORT_MDNS is set to "53" # - DESIGNATE_DYNECT_MASTERS must be a Publicly reachable IP, pointed to mDNS #DESIGNATE_DYNECT_CUSTOMER= #DESIGNATE_DYNECT_USERNAME= #DESIGNATE_DYNECT_PASSWORD= #DESIGNATE_DYNECT_NAMESERVERS=ns1.p13.dynect.net,ns2.p13.dynect.net,ns3.p13.dynect.net,ns4.p13.dynect.net #DESIGNATE_DYNECT_MASTERS= # Akamai Backend #DESIGNATE_AKAMAI_USERNAME= #DESIGNATE_AKAMAI_PASSWORD= #DESIGNATE_AKAMAI_NAMESERVERS=a5-64.akam.net,a11-65.akam.net,a13-66.akam.net,a14-64.akam.net,a20-65.akam.net,a22-66.akam.net #DESIGNATE_AKAMAI_MASTERS= # Designate D2D Backend # NOTEs: # - DESIGNATE_D2D_ALSO_NOTIFIES needs to be set to the source mdns ip:port in # order for designate to receive the proper NOTIFY # - DESIGNATE_D2D_* credentials should be setup either to the source keystone # or the destination #DESIGNATE_D2D_MASTERS= #DESIGNATE_D2D_ALSO_NOTIFIES= #DESIGNATE_D2D_NAMESERVERS= # Authentication options #DESIGNATE_D2D_KS_VERSION=3 #DESIGNATE_D2D_AUTH_URL= #DESIGNATE_D2D_USERNAME= #DESIGNATE_D2D_PASSWORD= # Keystone V2 #DESIGNATE_D2D_TENANT_NAME=${DESIGNATE_D2D_TENANT_NAME:-} #DESIGNATE_D2D_TENANT_NAME=${DESIGNATE_D2D_TENANT_ID:-} # Keystone V3 #DESIGNATE_D2D_PROJECT_NAME= #DESIGNATE_D2D_PROJECT_DOMAIN_NAME= #DESIGNATE_D2D_USER_DOMAIN_NAME= # Designate Misc Config # ===================== # Enable a Notification Driver (e.g. for Ceiliometer) #DESIGNATE_NOTIFICATION_DRIVER=messaging # Set Notification topics #DESIGNATE_NOTIFICATION_TOPICS=notifications # Set coordination service URL (e.g. kazoo://localhost/) #DESIGNATE_COORDINATION_URL= # Other Devstack Config # ===================== # Optional TLS Proxy #enable_service tls-proxy # Optional Tempest (Recommended) enable_service tempest # Optional Rally #enable_plugin rally https://git.openstack.org/openstack/rally.git master # Optional Horizon #enable_service horizon # Optional Glance #enable_service g-api,g-reg # Optional Nova #enable_service n-api n-cpu n-net n-cond n-sch n-novnc # Optional Neutron #disable_service n-net #enable_service q-svc q-agt q-dhcp q-l3 q-meta designate-6.0.1/contrib/vagrant/Vagrantfile0000666000175000017500000001214413262750023020776 0ustar zuulzuul00000000000000VAGRANTFILE_API_VERSION = "2" GITCONFIG = `cat $HOME/.gitconfig` Vagrant.require_version ">= 1.5" VM_RAM_SIZE = "8192" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.ssh.forward_agent = true config.vm.network "forwarded_port", guest: 5354, host: 5354, protocol: "tcp" config.vm.network "forwarded_port", guest: 5354, host: 5354, protocol: "udp" config.vm.provider "virtualbox" do |vb, override| vb.customize ["modifyvm", :id, "--memory", VM_RAM_SIZE] if not RUBY_PLATFORM.downcase.include?("mswin") vb.customize ["modifyvm", :id, "--cpus", `awk "/^processor/ {++n} END {print n}" /proc/cpuinfo 2> /dev/null || sh -c 'sysctl hw.logicalcpu 2> /dev/null || echo ": 2"' | awk \'{print \$2}\' `.chomp ] end vb.customize ["modifyvm", :id, "--nicpromisc3", "allow-all"] override.vm.synced_folder "../..", "/opt/stack/designate" if File.directory?("../../../python-designateclient") override.vm.synced_folder "../../../python-designateclient", "/opt/stack/python-designateclient" end if File.directory?("../../../designate-dashboard") override.vm.synced_folder "../../../designate-dashboard", "/opt/stack/designate-dashboard" end if File.directory?("../../../designate-tempest-plugin") override.vm.synced_folder "../../../designate-tempest-plugin", "/opt/stack/designate-tempest-plugin" end if File.directory?("../../../devstack") override.vm.synced_folder "../../../devstack", "/home/vagrant/devstack" end if File.directory?("../../../grenade") override.vm.synced_folder "../../../grenade", "/opt/stack/grenade" end if File.directory?("../../../tempest") override.vm.synced_folder "../../../tempest", "/opt/stack/tempest" end if File.directory?("../../../rally") override.vm.synced_folder "../../../rally", "/opt/stack/rally" end end config.vm.provider :libvirt do |lv, override| lv.graphics_ip = '0.0.0.0' lv.nested = true lv.memory = Integer(VM_RAM_SIZE) if not RUBY_PLATFORM.downcase.include?("mswin") lv.cpus = `awk "/^processor/ {++n} END {print n}" /proc/cpuinfo 2> /dev/null || sh -c 'sysctl hw.logicalcpu 2> /dev/null || echo ": 2"' | awk \'{print \$2}\' `.chomp end override.vm.synced_folder ".", "/vagrant", type: "nfs" override.vm.synced_folder "../..", "/opt/stack/designate", type: "nfs" if File.directory?("../../../python-designateclient") override.vm.synced_folder "../../../python-designateclient", "/opt/stack/python-designateclient", type: "nfs" end if File.directory?("../../../designate-dashboard") override.vm.synced_folder "../../../designate-dashboard", "/opt/stack/designate-dashboard", type: "nfs" end if File.directory?("../../../designate-tempest-plugin") override.vm.synced_folder "../../../designate-tempest-plugin", "/opt/stack/designate-tempest-plugin", type: "nfs" end if File.directory?("../../../grenade") override.vm.synced_folder "../../../grenade", "/opt/stack/grenade", type: "nfs" end if File.directory?("../../../devstack") override.vm.synced_folder "../../../devstack", "/home/vagrant/devstack", type: "nfs" end if File.directory?("../../../tempest") override.vm.synced_folder "../../../tempest", "/opt/stack/tempest", type: "nfs" end if File.directory?("../../../rally") override.vm.synced_folder "../../../rally", "/opt/stack/rally", type: "nfs" end end $script = <