We are content to announce the release of: trove 6.0.0: OpenStack DBaaS This release is part of the newton release series. For more details, please see below. 6.0.0 ^^^^^ New Features ************ * Enable database log retrieval on Cassandra instances. * Add icmp option for DB security group. if icmp=True, users will be allowed to ping to DB instances. * Added a module driver for New Relics licenses. This allows activation of any New Relic software that is installed on the image. Bug 1571711 * Add support for configuration group management for DB2 Express-C. * Add support for full online backup and restore for DB2 Express-C by enabling archive logging. * The reset-status command will set the task and status of an instance to ERROR after which it can be deleted. * The force-delete command will allow the deletion of an instance even if the instance is stuck in BUILD state. * The --incremental flag for backup-create will add the ability to create incremental backup based on last full or incremental backup. If no full or incremental backup exists a new full backup will be created. * New instance upgrade API supports upgrading an instance of a datastore to a new datastore version. Includes implementation for MySQL family of databases. * A locality flag was added to the trove ReST API to allow a user to specify whether the instances of a cluster should be on the same hypervisor (affinity) or on different hypervisors (anti-affinity). * A locality flag was added to the trove ReST API to allow a user to specify whether new replicas should be on the same hypervisor (affinity) or on different hypervisors (anti-affinity). * Support was added for applying modules to cluster instances through cluster-create and cluster-grow. Bug 1578917 * Errors that occur in Trove are now persisted in the database and are returned in the standard 'show' command. * Full and incremental backup and restore strategy for postgres based on pg_basebackup and WAL shipping. * Support for standard WAL based streaming replication for postgresql guests. Sets up read-only hot standby servers. * New quota management APIs for reviewing and changing the quota for a particular tenant. Requires admin privileges. Deprecation Notes ***************** * Make 'long query time' manageable via configuration groups (see bug 1542485). Deprecate the global 'guest_log_long_query_time' option in preference of datastore-specific configurations. MySQL long_query_time Percona long_query_time Percona XtraDB Cluster long_query_time MariaDB long_query_time PostgreSQL log_min_duration_statement Bug Fixes ********* * Use SET PASSWORD and RENAME USER queries to update user properties. * Allow specification of volume-type on cluster create. (Bug 1623005) * This would apply to any type of cluster that uses the galera strategy while setting the nics on a create call. When we called cast to set() the object was a list of lists. The set method can not has a list so this was causesing a unhashable error. The change is to make the instance_nics a list of strings (what we originaly expected) to resolve this issue. Bug 1570602. * Fixed parsing of GTID references containing a list of GTIDs from xtrabackup_binlog_info file on MySql replicas. * Fixed issue where module-apply after module-remove caused module- query to skip reporting on that module. Bug 1571799 * Fixes an issue with a failure to establish a new replica for MySQL in some cases where a replica already exists and some data has been inserted into the master. Bug 1563574 * Fixed default configuration template for MySQL to ensure that replication uses binlog_format. Bug 1563541. * An invalid module driver is now logged correctly. Bug 1579900 * Fixed wrong call in conductor when reporting a guest notification exception. Bug 1577848 * MariaDB historically leveraged the mysql manager for guest support including the configuration groups implementation. With MariaDB now having its own manager class that inherits from Mysql, it needs to have validation_rules and a ConfigParser setup. Bug 1532256 * Increased agent_call_high_timeout config setting to 10 minutes. This configures the length of time that the taskmanager will wait for an asynchronous guest agent call to complete. * Make 'default_password_length' per-datastore-property. Bug 1572230 * Applying a module again will now relect the update name, type, datastore and datastore_version values. Bug 1611525 * Updating a module with all_datastores and all_datastore_versions now works correctly. Bug 1612430 * Fix IniCodec to deserialize Python objects. This also brings it in line with other codecs. guestagent_utils.to_bytes return the byte values as ints. See bug 1599656 * Do not remove MySQL root user on root-disable so that the proper status can be reported on restore. Bug 1549600 * Close the race condition window in user-list call. Closes-Bug 1617464 * Implement Postgres guestagent models for databases and users. * Implement RootController extension for the Postgres datastore. * Remove unused 'override.config.template' files. Bug 1575852 * Make guestagent reuse Cassandra connections to eliminate resource leaks. Bug 1566946. * Backups to Swift will now use Static Large Objects for larger backups. A new configuration option 'backup_segment_max_size' can be set to adjust the segment size of the SLO. Backups that are smaller than the segment size will be uploaded as regular objects. This is an improvement over old Dynamic Large Object implementation. Bug 1489997. * Replace the deprecated 'myisam-recover' option with its newer counterpart 'myisam-recover-options'. Other Notes *********** * In Mitaka release, support was added for full offline backup and restore using the default circular logging. In this release, the name of the strategy for offline backup and restore was changed from DB2Backup to DB2OfflineBackup. Hence, to enable offline backups, we should set backup_strategy=DB2OfflineBackup and for online backups, backup_strategy=DB2OnlineBackup. The property backup_namespace and restore_namespace will be the same for both types of backup and restore. * Add disk column in flavor-list Bug 1617987. * Add vCPUs column in flavor-list Bug 1261876. Changes in trove 5.0.0.0rc1..6.0.0 ---------------------------------- 345a7eb Skip 'eject valid master' replication test 43068a8 Fix Postgresql configuration test and guest-log ea5434f Updated from global requirements 0306df0 improve pylint; generate errors and config in sorted order 002c0c2 Fix call to to_mb a08504e Fix pylint Error:PGSQL_RECOVERY_CONFIG 5438e90 Missing logging import d362595 Update UPPER_CONSTRAINTS_FILE for stable/newton 514454d Fix error: option --no-parallel not recognized 9e41332 Update .gitreview for stable/newton 30960e0 Handle the exceptions and errors correctly for DB2 a0bc0dc initial chkin of pylint 72330ac Cluster code looks for wrong field in request for volume type bd76198 Allow for invalid packet sequence in keepalive ff2a520 Implement full online backups for DB2 cee1f8e Add command to delete BUILD instances and clusters 25a558d Update #noqa for out 79 character 5c4b710 Fix race in Postgres user-list 4c1c191 Postgresql Streaming Replication 7d8d743 Skip 'eject valid master' replication test ced1dd2 Updated from global requirements 9542a68 Remove hardcoded timeout in MongoDB clusters b649162 Add os_admin to the ignored_dbs for PostgreSQL d797074 Update api-ref documentation 2eac2b9 Separate database and user create in prepare a72cd32 Update some installation instructions 3ae00fc [fix gate] Cluster grow not showing locality 102098f standardize release note page ordering b928ec6 Add support for modules in cluster create/grow 24c5e8e Insulate TroveContext from oslo.context changes 2478c0d Implement Instance Upgrade c19fa87 To simplify the setUp 0609f85 Implement configuration management for DB2 558079c Update release note page ordering 06c6be7 Reference to unknown CONF in fakemode.py 04f334e Stop adding ServiceAvailable group option 3f9003d Remove unuse flavor test b0170c0 [api-ref] Remove temporary block 532cfe8 Fix a small typo e428d76 Add missing '_LE' import in trove/cmd/guest.py 7cd6ca0 Add --incremental flag to backup-create c3dba42 In fakemode.py, add the import os e0482b4 Quota Management 4d1bea7 Updated from global requirements 4b6285f Port pagination on Python 3 92eec0c Call GuestError with proper options b7ba1b4 Correct incorrect i18n of some messages 193bcc6 Recent changes to api examples a54e565 Fix assert root connection on Couchbase 4512aec Cleanup trove's tox.ini and .gitignore 6f6293f Display more flavor information in trove flavor-list command e02e161 Updated from global requirements 9979d48 Tests verify cluster data via every node 1f176e0 Updated from global requirements caab14e Trove workbook for scheduled backups 8466dad Increase cluster_complete timeouts 8439481 Updated from global requirements d19f5dc Add tox entry for py35 tests 59f522a Remove openstack-doc-tools 8311ac9 Extend guest agent call timeouts 4504d51 Updated from global requirements cbd0f0f Get ready for os-api-ref sphinx theme change 45c917d Cassandra fix lost keyspace(s) after cluster grow 994e276 Fix reading files that are symlinks 3b0d1ea Adds the api-ref migrated RST + YAML files 477ed64 Couchbase run backup as root b095427 Turn off test_create_too_many_instances 753599b tempest/test_flavors: vcpus is in db 665bdae Deprecate 'guest_log_long_query_time' 27a076f Add missing ICMP option for pxc & mariadb 21f56bc Module re-apply does not reflect updated values e586638 Add log retrieval to Cassandra 11e5175 About update setup.cfg homepage 614927e Updated from global requirements 0d3ca9c Constraints are ready to be used for tox.ini 9b48456 Pass 'guest_log_expiry' as a string 9e17fcc Replace some of assertEqual f80dd43 Add trove-guestagnet.conf sample for log rotation 9dd1c0b Updated from global requirements f7b8805 guest_id missing err, switch config_drive default 1584f19 Introduce "icmp" option for security group rule c8cc4b2 Updated from global requirements 77ef95c Fix for tcp_ports configuration in devstack. d55c3de Fix some typo in the files 5052d8d Replace assertEqual(None,...) ddac516 Update CONTRIBUTING.rst 8538ff6 Fix xtrabackup-binlog file GTID parsing 8e8dc7d Fix MySql replication start from incr backup 731d971 Break out error instance create 752fded Updated from global requirements 43546ce Replace OpenStack LLC with OpenStack Foundation f091f76 Add port 22 to tcp_ports in devstack 8a70d2b MySQL do not retrieve Password in get user 6f6a3f2 Define safe pid-file and socket paths in config 6a185da py3: Enable test_backup_models and test_datastores 207991a Port guestagent test_dbaas to Python 3 dda9aa7 Remove times.dbm file for each tox run 984817e Backup tests verify restored databases de1d5a9 Fix config registration for Trove tempest plugin d1edaa1 Updated from global requirements 08b8c23 Imported Translations from Zanata 2fccd57 Cluster tests get the instance flavor 798d935 Serialize py34 tests dc7ccce Use proper queries to update user properties 31c2825 Add missing LOG variable to fix scenario tests df509b7 Preserve data type when parsing MySQL configs 4ad0dfe Use constraints for coverage job b5bd80f Improve Config Validation 65aab80 Move cluster tests to the end of the scenario run e878352 Clarify unittest documentation 94b7161 Fix concurrency issue with Python 3.4 test 60f6dd4 Replace assertEqual(None, *) with assertIsNone in tests afb29a3 Support flavor ids with leading '0' c4f29c0 Support newer mysql in tests 3a9eb06 Cleanup i18n marker functions to match Oslo usage f8d5699 Removed unreachable statement d58baf2 Updated from global requirements 1a1deaf Add vCPUs to flavor-list d8e3466 Correct reraising of exception 51f2655 Locality support for clusters 0eb332a Fix secure method to work with PXC 19cfa80 Fixing misstypos 9af0886 Updated from global requirements 2a9fa44 Persist error messages and display on 'show' f15074b Updated from global requirements 8182b53 Fix user/database scenarios to run without helper ea8871e Repl tests retrieve configs via test_helper c3d670c Ophaned Volume Not Removed on Instance Delete c87ffff Fix tempest base: add missing imports 42de1e7 Switch from MySQL-python to PyMySQL fc453c3 Improve coverage in guestagent and backup models e60db53 Port galera and redis cluster tests to Python 3 3bd6496 Port test_pagination on Python 3 acd7e51 Add trove tempest plugin f84040d Trivial Fix: Fix typo e7bab49 Reorganize scenario test order to speed up run d81afa3 Install Guide: Set bug project 2929d6f Updated from global requirements 389b464 Document house rules for approving changes 71284dd Run Python 3 unit tests in parallel b938999 Port more guestagent unit tests to Python 3 fa08854 Replace print statment with print function 74804ac Use correct message for missing default datastore 5c8147a Updated from global requirements 9a0ff4e Port backup test_storage to Python 3 9aa8ff6 Move the rabbit/rpc options to its own section 38271bb Minor cleanup for Install Guide 68b89fe Imported Translations from Zanata 705d2e2 fix wrong id for render default config param 'server_id' 36b27cf Break apart backup scenario tests a43dc09 Break apart database scenario tests 4b3599a Break apart user scenario tests b3bb151 Break apart module scenario tests 6fddd99 Break apart root scenario tests 1273b27 Break apart instance create/actions scenario tests 2070147 Break apart replication scenario tests 187725f Locality support for replication 15fb334 Trivial Fix: Fix typo 1a489f5 Delete with fail nova instance tries to stop DB a080a69 Break apart configuration group scenario tests bd76eda Have Trove plugin install dashboard 696d80d Add Install Guide 4f888dd pkg: replace commands module with subprocess 08bb12a Mock detector run only once for each testcase 72dd3d1 Postgresql Incremental Backup and Restore f03c0a3 Fix user & database pagination in guests 3420886 Rename called_once_with methods correctly 1575feb Updated from global requirements cc39a03 Imported Translations from Zanata 31b0fe3 Add New Relic License module driver bd360fb Switch test config file to use os_region_name 7a99a12 Cleanup guestagent models 51b8f3e Change service candidates list for MariaDB ecd5bf6 Updated from global requirements 47d574b Updated from global requirements 6161465 Port more unit tests to Python 3 3edcd5c Catch exceptions from backup runner c45eb67 Unittests patch 'CONF.datastore_manager' c51c7c1 Correct spelling mistake b270940 Updated from global requirements feeac56 Fix troveclient to support Mistral 02d9f9e remove verbose option in Trove config files 0ada30c Correct typo in debug message 9464300 Fix MariaDB scenario replication test f37a2c8 Fix Percona configuration test b06f641 spelling mistake in release description for cassandra 68867de Fixed PXC configuration detach does not work 788e048 Updated from global requirements 4d8a37b Updated from global requirements fbd4443 Increase 'state_change_wait_time' in devstack 9e8020e Replica report DETACH status when detaching 0318a2b Updated from global requirements 26d95f7 Add utf8mb4 encoding option to mysql e4dab08 Updated from global requirements 25d0e06 Updated from global requirements 15ea555 Fix MariaDB clusters failing with TypeError 64fc245 Add bandit security config 0c506cb Fixed module-apply on removed module 25ab8e2 Add db-models and RootController for Postgres 6feab81 User and database tests wait for casted actions 728df16 Reuse Cassandra connections e07262d Update 'myisam-recover-options' config template 2db8983 Trove's tox tests should respect upper-constraints 7d6dfd8 Improve mock detector performance 6bfe705 Change recursion depth to '1' for mock detection 18a804f Updated from global requirements 970d23f Unsupported module driver not logged correctly 191327f Fix grammatical mistakes, "it's" to "its" 9f7be1a Notification exceptions not sent back correctly fde561a Correct some issues with devstack plugin for trove 6539445 Update Trove's README 4b3f34b Add 'redis' as a valid service candidate 410eb93 Enable more unit tests on Python 3 ced1438 Port instance unit tests to Python 3 a007c94 Port more API unit tests to Python 3 bdf664b Port designate code to Python 3 6672fe8 Backup to swift using wrong large object type 99c72fb Fixed error message logging 7648a68 Updated from global requirements 7859d49 Remove unused 'override.config.template' d53bd22 [Trivial] Remove unnecessary executable flag for files 918ddef Schema migrations fail for postgresql backend cc7559f Refactor scenario tests to facilitate multi-group 6a67164 Trivial: Remove unused logging import 9e3860d Add variables for quota configuration f4cbaf6 Make 'default_password_length' datastore-specific 09a312a Mysql GTID replication fails when data inserted f266a98 Updated from global requirements 1d7b6ef Simplify guestagent.pkg: don't use metaclass a462573 Python 3: avoid sets.Set and string.letters 93f448b pep8: exclude .git/ subdirectory 74e2aaa Python 3: fix relative imports f9ed13a Port crypto_utils to Python 3 265f0ed Python3: Add support for raise and ConfigParser 9b03fec Mysql replicas need to set binlog_format a56301c Python3: Add support for unicode, basestring, long c09d8f3 Imported Translations from Zanata 6ace3dd Update the root scenario tests 143991e Imported Translations from Zanata 64a869d Fixed kwargs being defaulted to CONF values ef27d82 Fix MariaDB config groups b9a06d9 Enhance mongod pid find for multiple distros 52bc1ab Do not remove root user on disable 7fbe2dd blacklist_regex is not an option 0eefd2b Cleanup Mysql replication test on completion 69c03b9 Updated from global requirements 1d82eee Updated from global requirements fe52d55 Port more common unit tests to Python 3 df9e3c5 Port test_template unit test to Python 3 3778308 Updated from global requirements 3898881 Tests verify applied configuration values 589c2a7 Updated from global requirements df7d617 Add missing args to configuration inst test 7991d61 Revert the legacy_compute v2 api for nova 70f4e11 Python3: Add support for iteritems and iterkeys e61b942 Updated from global requirements fdab0d8 encrypt_data(): don't encode IV to base64 4e3e804 Trove's tox tests should respect upper-constraints.txt 679e228 Fixes migrations for MySQL 5.6.* and MariaDB 10.1.* aca9016 Trove's tox tests should respect upper-constraints.txt 18331be Address change in Route v2.3 6664fb2 Address change in Route v2.3 87658dc Pass optional timeout to service commands ceae9a3 Removing some redundant words b4395c7 Add user access scenario tests 1f2e8c7 PG test-helper create matching db for test user 9906bc9 Add a minimal py34 test environment 8e0b8ca clean up errors shown on galera cluster unittests ed18c66 Unhandled messages logged in tox tests 2502335 Fix some unexpected tracebacks while running tox tests 7251f0e Removes redundant "of" e36c1ca Fix replication scenario tests c72b246 Cap test_log_generator_user_by_row to 100 ea7e593 Update reno for stable/mitaka f34581a Update .gitreview for stable/mitaka 88686a2 Do not reset password of user-root accounts 655a997 Replace deprecated LOG.warn with LOG.warning 0790c34 Add MongoDB config server port to cfg 45f336c Add MongoDB cluster root-enable support 89e9c90 Remove usage of WritableLogger from oslo_log 73daf17 Python3: Add support for httplib, urlparse 34f71a8 Python3: Add support for iter.next Diffstat (except docs and test files) ------------------------------------- .gitignore | 8 +- .gitreview | 1 + CONTRIBUTING.rst | 195 +- README.rst | 67 +- api-ref/source/api-versions.inc | 76 + api-ref/source/conf.py | 229 + api-ref/source/configurations.inc | 313 ++ api-ref/source/database-instance-actions.inc | 269 ++ api-ref/source/database-instances.inc | 426 ++ api-ref/source/databases.inc | 135 + api-ref/source/datastores.inc | 143 + api-ref/source/flavors.inc | 104 + api-ref/source/index.rst | 16 + api-ref/source/parameters.yaml | 286 ++ .../db-attach-config-group-request-json-http.txt | 7 + .../samples/db-attach-config-group-request.json | 5 + .../db-attach-config-group-response-json-http.txt | 5 + ...backup-create-incremental-request-json-http.txt | 7 + .../db-backup-create-incremental-request.json | 9 + ...ackup-create-incremental-response-json-http.txt | 5 + .../db-backup-create-incremental-response.json | 19 + .../samples/db-backup-create-request-json-http.txt | 7 + .../source/samples/db-backup-create-request.json | 8 + .../db-backup-create-response-json-http.txt | 5 + .../source/samples/db-backup-create-response.json | 19 + .../samples/db-backup-delete-request-json-http.txt | 7 + .../db-backup-delete-response-json-http.txt | 5 + .../samples/db-backup-get-request-json-http.txt | 7 + .../samples/db-backup-get-response-json-http.txt | 5 + api-ref/source/samples/db-backup-get-response.json | 19 + .../samples/db-backup-list-request-json-http.txt | 7 + .../samples/db-backup-list-response-json-http.txt | 5 + .../source/samples/db-backup-list-response.json | 38 + .../db-backup-restore-request-json-http.txt | 7 + .../source/samples/db-backup-restore-request.json | 12 + .../db-backup-restore-response-json-http.txt | 5 + .../source/samples/db-backup-restore-response.json | 40 + .../db-backups-by-instance-request-json-http.txt | 7 + .../db-backups-by-instance-response-json-http.txt | 5 + .../samples/db-backups-by-instance-response.json | 38 + ...db-change-user-attributes-request-json-http.txt | 7 + .../samples/db-change-user-attributes-request.json | 6 + ...b-change-user-attributes-response-json-http.txt | 5 + .../db-change-users-password-request-json-http.txt | 6 + .../samples/db-change-users-password-request.json | 12 + ...db-change-users-password-response-json-http.txt | 4 + .../db-check-root-user-request-json-http.txt | 7 + .../db-check-root-user-response-json-http.txt | 5 + .../samples/db-check-root-user-response.json | 3 + .../db-config-group-details-request-json-http.txt | 6 + .../db-config-group-details-response-json-http.txt | 4 + .../samples/db-config-group-details-response.json | 16 + ...db-config-group-instances-request-json-http.txt | 6 + ...b-config-group-instances-response-json-http.txt | 4 + .../db-config-group-instances-response.json | 8 + ...ration-attach-to-instance-request-json-http.txt | 7 + ...b-configuration-attach-to-instance-request.json | 5 + ...ation-attach-to-instance-response-json-http.txt | 5 + .../db-configuration-create-request-json-http.txt | 7 + .../samples/db-configuration-create-request.json | 14 + .../db-configuration-create-response-json-http.txt | 5 + .../samples/db-configuration-create-response.json | 17 + .../db-configuration-delete-request-json-http.txt | 7 + .../db-configuration-delete-response-json-http.txt | 5 + ...tion-detach-from-instance-request-json-http.txt | 7 + ...configuration-detach-from-instance-request.json | 5 + ...ion-detach-from-instance-response-json-http.txt | 5 + .../db-configuration-details-request-json-http.txt | 7 + ...db-configuration-details-response-json-http.txt | 5 + .../samples/db-configuration-details-response.json | 17 + ...iguration-edit-parameters-request-json-http.txt | 7 + .../db-configuration-edit-parameters-request.json | 7 + ...guration-edit-parameters-response-json-http.txt | 5 + ...figuration-list-instances-request-json-http.txt | 7 + ...iguration-list-instances-response-json-http.txt | 5 + .../db-configuration-list-instances-response.json | 8 + .../db-configuration-list-request-json-http.txt | 7 + .../db-configuration-list-response-json-http.txt | 5 + .../samples/db-configuration-list-response.json | 14 + ...ter-for-datastore-version-request-json-http.txt | 7 + ...er-for-datastore-version-response-json-http.txt | 5 + ...n-parameter-for-datastore-version-response.json | 7 + ...without-datastore-version-request-json-http.txt | 7 + ...ithout-datastore-version-response-json-http.txt | 5 + ...rameter-without-datastore-version-response.json | 7 + ...ers-for-datastore-version-request-json-http.txt | 7 + ...rs-for-datastore-version-response-json-http.txt | 5 + ...-parameters-for-datastore-version-response.json | 51 + ...without-datastore-version-request-json-http.txt | 7 + ...ithout-datastore-version-response-json-http.txt | 5 + ...ameters-without-datastore-version-response.json | 51 + ...uration-update-parameters-request-json-http.txt | 7 + ...db-configuration-update-parameters-request.json | 10 + ...ration-update-parameters-response-json-http.txt | 5 + .../db-create-config-group-request-json-http.txt | 7 + .../samples/db-create-config-group-request.json | 15 + .../db-create-config-group-response-json-http.txt | 5 + .../samples/db-create-config-group-response.json | 14 + .../db-create-databases-request-json-http.txt | 7 + .../samples/db-create-databases-request.json | 15 + .../db-create-databases-response-json-http.txt | 5 + .../db-create-instance-request-json-http.txt | 7 + .../source/samples/db-create-instance-request.json | 30 + .../db-create-instance-response-json-http.txt | 5 + .../samples/db-create-instance-response.json | 40 + .../samples/db-create-users-request-json-http.txt | 7 + .../source/samples/db-create-users-request.json | 34 + .../samples/db-create-users-response-json-http.txt | 5 + .../db-datastore-by-id-request-json-http.txt | 7 + .../db-datastore-by-id-response-json-http.txt | 5 + .../samples/db-datastore-by-id-response.json | 33 + .../samples/db-datastore-parameters-response.json | 258 ++ ...b-datastore-version-by-id-request-json-http.txt | 7 + ...-datastore-version-by-id-response-json-http.txt | 5 + .../db-datastore-version-by-id-response.json | 17 + ...b-datastore-versions-list-request-json-http.txt | 7 + ...-datastore-versions-list-response-json-http.txt | 5 + .../db-datastore-versions-list-response.json | 19 + .../db-datastores-list-request-json-http.txt | 7 + .../db-datastores-list-response-json-http.txt | 5 + .../samples/db-datastores-list-response.json | 35 + .../db-delete-config-group-request-json-http.txt | 6 + .../db-delete-databases-request-json-http.txt | 7 + .../db-delete-databases-response-json-http.txt | 5 + .../db-delete-instance-request-json-http.txt | 7 + .../db-delete-instance-response-json-http.txt | 5 + .../samples/db-delete-root-request-json-http.txt | 7 + .../samples/db-delete-users-request-json-http.txt | 7 + .../samples/db-delete-users-response-json-http.txt | 5 + .../db-detach-config-group-request-json-http.txt | 7 + .../samples/db-detach-config-group-request.json | 3 + .../db-detach-config-group-response-json-http.txt | 5 + .../db-detach-replica-request-json-http.txt | 7 + .../source/samples/db-detach-replica-request.json | 6 + .../db-detach-replica-response-json-http.txt | 5 + .../db-disable-root-user-request-json-http.txt | 7 + .../db-disable-root-user-response-json-http.txt | 5 + .../db-enable-root-user-request-json-http.txt | 7 + .../db-enable-root-user-response-json-http.txt | 5 + .../samples/db-enable-root-user-response.json | 6 + api-ref/source/samples/db-faults-badRequest.json | 6 + .../source/samples/db-faults-instanceFault.json | 6 + api-ref/source/samples/db-faults-itemNotFound.json | 6 + .../samples/db-flavors-by-id-request-json-http.txt | 7 + .../db-flavors-by-id-response-json-http.txt | 5 + .../source/samples/db-flavors-by-id-response.json | 20 + .../samples/db-flavors-request-json-http.txt | 7 + .../samples/db-flavors-response-json-http.txt | 5 + api-ref/source/samples/db-flavors-response.json | 238 + ...lt-instance-configuration-request-json-http.txt | 7 + ...t-instance-configuration-response-json-http.txt | 5 + ...et-default-instance-configuration-response.json | 45 + .../db-grant-user-access-request-json-http.txt | 6 + .../samples/db-grant-user-access-request.json | 10 + .../db-grant-user-access-response-json-http.txt | 4 + ...db-instance-eject-replica-request-json-http.txt | 6 + .../samples/db-instance-eject-replica-request.json | 3 + ...-instance-promote-replica-request-json-http.txt | 6 + .../db-instance-promote-replica-request.json | 3 + .../db-instance-reboot-request-json-http.txt | 7 + .../source/samples/db-instance-reboot-request.json | 3 + .../db-instance-reboot-response-json-http.txt | 5 + ...db-instance-resize-flavor-request-json-http.txt | 7 + .../samples/db-instance-resize-flavor-request.json | 5 + ...b-instance-resize-flavor-response-json-http.txt | 5 + ...-instance-resize-instance-request-json-http.txt | 6 + .../db-instance-resize-instance-request.json | 5 + ...instance-resize-instance-response-json-http.txt | 4 + ...db-instance-resize-volume-request-json-http.txt | 7 + .../samples/db-instance-resize-volume-request.json | 7 + ...b-instance-resize-volume-response-json-http.txt | 5 + .../db-instance-restart-request-json-http.txt | 7 + .../samples/db-instance-restart-request.json | 3 + .../db-instance-restart-response-json-http.txt | 5 + ...db-instance-status-detail-request-json-http.txt | 7 + ...b-instance-status-detail-response-json-http.txt | 5 + .../db-instance-status-detail-response.json | 41 + ...nstances-index-pagination-request-json-http.txt | 7 + ...stances-index-pagination-response-json-http.txt | 5 + .../db-instances-index-pagination-response.json | 76 + .../db-instances-index-request-json-http.txt | 7 + .../db-instances-index-response-json-http.txt | 5 + .../samples/db-instances-index-response.json | 40 + .../db-list-cfg-defaults-request-json-http.txt | 7 + .../db-list-cfg-defaults-response-json-http.txt | 5 + .../samples/db-list-cfg-defaults-response.json | 44 + .../db-list-cfg-groups-request-json-http.txt | 7 + .../db-list-cfg-groups-response-json-http.txt | 5 + .../samples/db-list-cfg-groups-response.json | 14 + ...list-databases-pagination-request-json-http.txt | 7 + ...ist-databases-pagination-response-json-http.txt | 5 + .../db-list-databases-pagination-response.json | 13 + .../db-list-databases-request-json-http.txt | 7 + .../db-list-databases-response-json-http.txt | 5 + .../source/samples/db-list-databases-response.json | 19 + ...b-list-datastore-versions-request-json-http.txt | 6 + ...-list-datastore-versions-response-json-http.txt | 4 + .../source/samples/db-list-datastore-versions.json | 18 + .../db-list-parameters-request-json-http.txt | 6 + .../db-list-parameters-response-json-http.txt | 4 + .../samples/db-list-parameters-response.json | 258 ++ .../db-list-user-access-request-json-http.txt | 6 + .../db-list-user-access-response-json-http.txt | 4 + .../samples/db-list-user-access-response.json | 10 + .../samples/db-list-user-dbs-request-json-http.txt | 6 + .../db-list-user-dbs-response-json-http.txt | 4 + .../source/samples/db-list-user-dbs-response.json | 13 + .../db-list-users-pagination-request-json-http.txt | 7 + ...db-list-users-pagination-response-json-http.txt | 5 + .../samples/db-list-users-pagination-response.json | 31 + .../samples/db-list-users-request-json-http.txt | 7 + .../samples/db-list-users-response-json-http.txt | 5 + api-ref/source/samples/db-list-users-response.json | 43 + ...-mgmt-get-account-details-request-json-http.txt | 7 + ...mgmt-get-account-details-response-json-http.txt | 5 + .../db-mgmt-get-account-details-response.json | 8 + .../db-mgmt-get-host-detail-request-json-http.txt | 7 + .../db-mgmt-get-host-detail-response-json-http.txt | 5 + .../samples/db-mgmt-get-host-detail-response.json | 17 + ...mgmt-get-instance-details-request-json-http.txt | 7 + ...gmt-get-instance-details-response-json-http.txt | 5 + .../db-mgmt-get-instance-details-response.json | 79 + .../db-mgmt-get-root-details-request-json-http.txt | 7 + ...db-mgmt-get-root-details-response-json-http.txt | 5 + .../samples/db-mgmt-get-root-details-response.json | 7 + .../db-mgmt-get-storage-request-json-http.txt | 7 + .../db-mgmt-get-storage-response-json-http.txt | 5 + .../samples/db-mgmt-get-storage-response.json | 18 + ...mgmt-instance-diagnostics-request-json-http.txt | 7 + ...gmt-instance-diagnostics-response-json-http.txt | 5 + .../db-mgmt-instance-diagnostics-response.json | 11 + .../db-mgmt-instance-index-request-json-http.txt | 7 + .../db-mgmt-instance-index-response-json-http.txt | 5 + .../samples/db-mgmt-instance-index-response.json | 57 + .../db-mgmt-list-accounts-request-json-http.txt | 7 + .../db-mgmt-list-accounts-response-json-http.txt | 5 + .../samples/db-mgmt-list-accounts-response.json | 8 + .../db-mgmt-list-hosts-request-json-http.txt | 7 + .../db-mgmt-list-hosts-response-json-http.txt | 5 + .../samples/db-mgmt-list-hosts-response.json | 12 + .../db-patch-config-group-request-json-http.txt | 7 + .../samples/db-patch-config-group-request.json | 7 + .../db-patch-config-group-response-json-http.txt | 5 + .../db-restore-delete-request-json-http.txt | 7 + .../db-restore-delete-response-json-http.txt | 5 + .../db-revoke-user-access-request-json-http.txt | 6 + .../db-revoke-user-access-response-json-http.txt | 4 + ...db-show-parameter-details-request-json-http.txt | 6 + ...b-show-parameter-details-response-json-http.txt | 4 + .../source/samples/db-show-parameter-details.json | 8 + .../db-update-config-group-request-json-http.txt | 7 + .../samples/db-update-config-group-request.json | 9 + .../db-update-config-group-response-json-http.txt | 5 + .../samples/db-version-request-json-http.txt | 6 + .../samples/db-version-response-json-http.txt | 4 + api-ref/source/samples/db-version-response.json | 13 + .../samples/db-versions-request-json-http.txt | 6 + .../samples/db-versions-response-json-http.txt | 4 + api-ref/source/samples/db-versions-response.json | 15 + api-ref/source/user-management.inc | 366 ++ apidocs/.gitignore | 0 apidocs/pom.xml | 169 - apidocs/replacements.config | 6 - apidocs/src/cdb-devguide.xml | 924 ---- apidocs/src/images/Choose_CS_Image.png | Bin 85201 -> 0 bytes apidocs/src/images/Choose_CS_Image_CCP.png | Bin 24996 -> 0 bytes apidocs/src/images/Choose_Image_CCP.png | Bin 21253 -> 0 bytes apidocs/src/images/Choose_Image_CCP.tiff | Bin 26244 -> 0 bytes apidocs/src/images/Cloud_DB_Infographic-1.png | Bin 66336 -> 0 bytes apidocs/src/images/Cloud_DB_Infographic-1.svg | 4533 -------------------- apidocs/src/images/Create_CS.png | Bin 31902 -> 0 bytes apidocs/src/images/phpMyAdmin.png | Bin 257577 -> 0 bytes .../db-backup-create-incremental-request-json.txt | 7 - .../db-backup-create-incremental-request.json | 9 - .../db-backup-create-incremental-response-json.txt | 5 - .../db-backup-create-incremental-response.json | 20 - .../src/samples/db-backup-create-request-json.txt | 7 - apidocs/src/samples/db-backup-create-request.json | 8 - .../src/samples/db-backup-create-response-json.txt | 5 - apidocs/src/samples/db-backup-create-response.json | 20 - .../src/samples/db-backup-delete-request-json.txt | 7 - .../src/samples/db-backup-delete-response-json.txt | 5 - apidocs/src/samples/db-backup-get-request-json.txt | 7 - .../src/samples/db-backup-get-response-json.txt | 5 - apidocs/src/samples/db-backup-get-response.json | 20 - .../src/samples/db-backup-list-request-json.txt | 7 - .../src/samples/db-backup-list-response-json.txt | 5 - apidocs/src/samples/db-backup-list-response.json | 38 - .../src/samples/db-backup-restore-request-json.txt | 7 - apidocs/src/samples/db-backup-restore-request.json | 13 - .../samples/db-backup-restore-response-json.txt | 5 - .../src/samples/db-backup-restore-response.json | 41 - .../db-backups-by-instance-request-json.txt | 7 - .../db-backups-by-instance-response-json.txt | 5 - .../samples/db-backups-by-instance-response.json | 38 - .../db-change-user-attributes-request-json.txt | 7 - .../samples/db-change-user-attributes-request.json | 7 - .../db-change-user-attributes-response-json.txt | 5 - .../db-change-users-password-request-json.txt | 6 - .../samples/db-change-users-password-request.json | 12 - .../db-change-users-password-response-json.txt | 4 - .../samples/db-check-root-user-request-json.txt | 7 - .../samples/db-check-root-user-response-json.txt | 5 - .../src/samples/db-check-root-user-response.json | 4 - ...nfiguration-attach-to-instance-request-json.txt | 7 - ...b-configuration-attach-to-instance-request.json | 6 - ...figuration-attach-to-instance-response-json.txt | 5 - .../db-configuration-create-request-json.txt | 7 - .../samples/db-configuration-create-request.json | 15 - .../db-configuration-create-response-json.txt | 5 - .../samples/db-configuration-create-response.json | 18 - .../db-configuration-delete-request-json.txt | 7 - .../db-configuration-delete-response-json.txt | 5 - ...iguration-detach-from-instance-request-json.txt | 7 - ...configuration-detach-from-instance-request.json | 6 - ...guration-detach-from-instance-response-json.txt | 5 - .../db-configuration-details-request-json.txt | 7 - .../db-configuration-details-response-json.txt | 5 - .../samples/db-configuration-details-response.json | 18 - ...-configuration-edit-parameters-request-json.txt | 7 - .../db-configuration-edit-parameters-request.json | 8 - ...configuration-edit-parameters-response-json.txt | 5 - ...b-configuration-list-instances-request-json.txt | 7 - ...-configuration-list-instances-response-json.txt | 5 - .../db-configuration-list-instances-response.json | 9 - .../samples/db-configuration-list-request-json.txt | 7 - .../db-configuration-list-response-json.txt | 5 - .../samples/db-configuration-list-response.json | 15 - ...arameter-for-datastore-version-request-json.txt | 7 - ...rameter-for-datastore-version-response-json.txt | 5 - ...n-parameter-for-datastore-version-response.json | 7 - ...eter-without-datastore-version-request-json.txt | 7 - ...ter-without-datastore-version-response-json.txt | 5 - ...rameter-without-datastore-version-response.json | 7 - ...rameters-for-datastore-version-request-json.txt | 7 - ...ameters-for-datastore-version-response-json.txt | 5 - ...-parameters-for-datastore-version-response.json | 51 - ...ters-without-datastore-version-request-json.txt | 7 - ...ers-without-datastore-version-response-json.txt | 5 - ...ameters-without-datastore-version-response.json | 51 - ...onfiguration-update-parameters-request-json.txt | 7 - ...db-configuration-update-parameters-request.json | 11 - ...nfiguration-update-parameters-response-json.txt | 5 - .../samples/db-create-databases-request-json.txt | 7 - .../src/samples/db-create-databases-request.json | 16 - .../samples/db-create-databases-response-json.txt | 5 - .../samples/db-create-instance-request-json.txt | 7 - .../src/samples/db-create-instance-request.json | 31 - .../samples/db-create-instance-response-json.txt | 5 - .../src/samples/db-create-instance-response.json | 41 - .../src/samples/db-create-users-request-json.txt | 7 - apidocs/src/samples/db-create-users-request.json | 35 - .../src/samples/db-create-users-response-json.txt | 5 - .../samples/db-datastore-by-id-request-json.txt | 7 - .../samples/db-datastore-by-id-response-json.txt | 5 - .../src/samples/db-datastore-by-id-response.json | 34 - .../db-datastore-version-by-id-request-json.txt | 7 - .../db-datastore-version-by-id-response-json.txt | 5 - .../db-datastore-version-by-id-response.json | 18 - .../db-datastore-versions-list-request-json.txt | 7 - .../db-datastore-versions-list-response-json.txt | 5 - .../db-datastore-versions-list-response.json | 20 - .../samples/db-datastores-list-request-json.txt | 7 - .../samples/db-datastores-list-response-json.txt | 5 - .../src/samples/db-datastores-list-response.json | 36 - .../samples/db-delete-databases-request-json.txt | 7 - .../samples/db-delete-databases-response-json.txt | 5 - .../samples/db-delete-instance-request-json.txt | 7 - .../samples/db-delete-instance-response-json.txt | 5 - .../src/samples/db-delete-users-request-json.txt | 7 - .../src/samples/db-delete-users-response-json.txt | 5 - .../samples/db-disable-root-user-request-json.txt | 7 - .../samples/db-disable-root-user-response-json.txt | 5 - .../samples/db-enable-root-user-request-json.txt | 7 - .../samples/db-enable-root-user-response-json.txt | 5 - .../src/samples/db-enable-root-user-response.json | 7 - apidocs/src/samples/db-faults-badRequest.json | 6 - apidocs/src/samples/db-faults-instanceFault.json | 6 - apidocs/src/samples/db-faults-itemNotFound.json | 6 - .../src/samples/db-flavors-by-id-request-json.txt | 7 - .../src/samples/db-flavors-by-id-response-json.txt | 5 - apidocs/src/samples/db-flavors-by-id-response.json | 18 - apidocs/src/samples/db-flavors-request-json.txt | 7 - apidocs/src/samples/db-flavors-response-json.txt | 5 - apidocs/src/samples/db-flavors-response.json | 212 - ...default-instance-configuration-request-json.txt | 7 - ...efault-instance-configuration-response-json.txt | 5 - ...et-default-instance-configuration-response.json | 44 - .../samples/db-grant-user-access-request-json.txt | 6 - .../src/samples/db-grant-user-access-request.json | 10 - .../samples/db-grant-user-access-response-json.txt | 4 - .../samples/db-instance-reboot-request-json.txt | 7 - .../src/samples/db-instance-reboot-request.json | 4 - .../samples/db-instance-reboot-response-json.txt | 5 - .../db-instance-resize-flavor-request-json.txt | 7 - .../samples/db-instance-resize-flavor-request.json | 6 - .../db-instance-resize-flavor-response-json.txt | 5 - .../db-instance-resize-instance-request-json.txt | 6 - .../db-instance-resize-instance-request.json | 5 - .../db-instance-resize-instance-response-json.txt | 4 - .../db-instance-resize-volume-request-json.txt | 7 - .../samples/db-instance-resize-volume-request.json | 8 - .../db-instance-resize-volume-response-json.txt | 5 - .../samples/db-instance-restart-request-json.txt | 7 - .../src/samples/db-instance-restart-request.json | 4 - .../samples/db-instance-restart-response-json.txt | 5 - .../db-instance-status-detail-request-json.txt | 7 - .../db-instance-status-detail-response-json.txt | 5 - .../db-instance-status-detail-response.json | 42 - .../db-instances-index-pagination-request-json.txt | 7 - ...db-instances-index-pagination-response-json.txt | 5 - .../db-instances-index-pagination-response.json | 77 - .../samples/db-instances-index-request-json.txt | 7 - .../samples/db-instances-index-response-json.txt | 5 - .../src/samples/db-instances-index-response.json | 41 - .../db-list-databases-pagination-request-json.txt | 7 - .../db-list-databases-pagination-response-json.txt | 5 - .../db-list-databases-pagination-response.json | 14 - .../src/samples/db-list-databases-request-json.txt | 7 - .../samples/db-list-databases-response-json.txt | 5 - .../src/samples/db-list-databases-response.json | 20 - .../samples/db-list-user-access-request-json.txt | 6 - .../samples/db-list-user-access-response-json.txt | 4 - .../src/samples/db-list-user-access-response.json | 10 - .../src/samples/db-list-user-dbs-request-json.txt | 6 - .../src/samples/db-list-user-dbs-response-json.txt | 4 - apidocs/src/samples/db-list-user-dbs-response.json | 13 - .../db-list-users-pagination-request-json.txt | 7 - .../db-list-users-pagination-response-json.txt | 5 - .../samples/db-list-users-pagination-response.json | 32 - apidocs/src/samples/db-list-users-request-json.txt | 7 - .../src/samples/db-list-users-response-json.txt | 5 - apidocs/src/samples/db-list-users-response.json | 44 - .../db-mgmt-get-account-details-request-json.txt | 7 - .../db-mgmt-get-account-details-response-json.txt | 5 - .../db-mgmt-get-account-details-response.json | 9 - .../db-mgmt-get-host-detail-request-json.txt | 7 - .../db-mgmt-get-host-detail-response-json.txt | 5 - .../samples/db-mgmt-get-host-detail-response.json | 17 - .../db-mgmt-get-instance-details-request-json.txt | 7 - .../db-mgmt-get-instance-details-response-json.txt | 5 - .../db-mgmt-get-instance-details-response.json | 80 - .../db-mgmt-get-root-details-request-json.txt | 7 - .../db-mgmt-get-root-details-response-json.txt | 5 - .../samples/db-mgmt-get-root-details-response.json | 8 - .../samples/db-mgmt-get-storage-request-json.txt | 7 - .../samples/db-mgmt-get-storage-response-json.txt | 5 - .../src/samples/db-mgmt-get-storage-response.json | 19 - .../db-mgmt-instance-diagnostics-request-json.txt | 7 - .../db-mgmt-instance-diagnostics-response-json.txt | 5 - .../db-mgmt-instance-diagnostics-response.json | 12 - .../db-mgmt-instance-index-request-json.txt | 7 - .../db-mgmt-instance-index-response-json.txt | 5 - .../samples/db-mgmt-instance-index-response.json | 58 - .../samples/db-mgmt-list-accounts-request-json.txt | 7 - .../db-mgmt-list-accounts-response-json.txt | 5 - .../samples/db-mgmt-list-accounts-response.json | 9 - .../samples/db-mgmt-list-hosts-request-json.txt | 7 - .../samples/db-mgmt-list-hosts-response-json.txt | 5 - .../src/samples/db-mgmt-list-hosts-response.json | 13 - .../src/samples/db-restore-delete-request-json.txt | 7 - .../samples/db-restore-delete-response-json.txt | 5 - .../samples/db-revoke-user-access-request-json.txt | 6 - .../db-revoke-user-access-response-json.txt | 4 - apidocs/src/samples/db-version-request-json.txt | 6 - apidocs/src/samples/db-version-response-json.txt | 4 - apidocs/src/samples/db-version-response.json | 13 - apidocs/src/samples/db-versions-request-json.txt | 6 - apidocs/src/samples/db-versions-response-json.txt | 4 - apidocs/src/samples/db-versions-response.json | 15 - apidocs/src/xsd/common.ent | 72 - apidocs/src/xsd/dbaas.wadl | 1592 ------- apidocs/src/xsd/dbaas.xsd | 615 --- apidocs/src/xslts/js/shjs/sh_java.js | 337 -- apidocs/src/xslts/js/shjs/sh_javascript.js | 347 -- apidocs/src/xslts/js/shjs/sh_main.js | 538 --- apidocs/src/xslts/js/shjs/sh_xml.js | 115 - apidocs/src/xslts/js/trc/schema/controller.js | 184 - apidocs/src/xslts/js/trc/schema/layoutManager.js | 137 - apidocs/src/xslts/js/trc/schema/sampleManager.js | 342 -- apidocs/src/xslts/js/trc/util.js | 564 --- apidocs/src/xslts/style/schema.css | 82 - apidocs/src/xslts/style/shjs/sh_acid.css | 151 - apidocs/src/xslts/style/shjs/sh_darkblue.css | 151 - apidocs/src/xslts/style/shjs/sh_emacs.css | 139 - apidocs/src/xslts/style/shjs/sh_night.css | 151 - apidocs/src/xslts/style/shjs/sh_pablo.css | 151 - apidocs/src/xslts/style/shjs/sh_print.css | 145 - apidocs/src/xslts/style/shjs/sh_style.css | 66 - apidocs/src/xslts/style/shjs/sh_whitengrey.css | 139 - apidocs/src/xslts/xslt/.htaccess | 5 - apidocs/src/xslts/xslt/schema.xslt | 1330 ------ blacklist-py3.txt | 4 + devstack/plugin.sh | 138 +- devstack/settings | 24 +- etc/trove/trove-conductor.conf.sample | 3 +- etc/trove/trove-guestagent.conf.sample | 6 +- etc/trove/trove-logging-guestagent.conf | 39 + etc/trove/trove-taskmanager.conf.sample | 11 +- etc/trove/trove-workbook.yaml | 19 + etc/trove/trove.conf.sample | 7 +- etc/trove/trove.conf.test | 4 +- install-guide/source/common_configure.txt | 106 + install-guide/source/common_prerequisites.txt | 137 + install-guide/source/conf.py | 301 ++ install-guide/source/get_started.rst | 66 + install-guide/source/index.rst | 17 + install-guide/source/install-obs.rst | 45 + install-guide/source/install-rdo.rst | 37 + install-guide/source/install-ubuntu.rst | 70 + install-guide/source/install.rst | 24 + install-guide/source/next-steps.rst | 9 + install-guide/source/verify.rst | 91 + pylintrc | 7 + ...d-cassandra-log-retrieval-a295f3d0d4c56804.yaml | 3 + .../notes/add-icmp-flag-58937cce344e77d9.yaml | 5 + ...-new-relic-license-driver-0f314edabb7561c4.yaml | 6 + .../alter-user-portable-021f4b792e2c129b.yaml | 4 + ...sandra-backup-and-restore-00de234de67ea5ee.yaml | 2 +- .../cluster-volume-type-901329a3b3667cb4.yaml | 3 + .../db2-configuration-groups-ca2164be741d35f9.yaml | 4 + ...db2-online-backup-restore-3783afe752562e70.yaml | 14 + ...deprecate-long-query-time-b85af24772e2e7cb.yaml | 12 + .../fix-cluster-type-error-71cd846897dfd32e.yaml | 8 + .../notes/fix-gtid-parsing-9f60ad6e9e8f173f.yaml | 5 + ...module-apply-after-remove-97c84c30fb320a46.yaml | 5 + .../fix-mysql-replication-bf2b131994a5a772.yaml | 5 + .../fix-mysql-replication-ca0928069c0bfab8.yaml | 4 + ...fix_module_driver_logging-666601f411db784a.yaml | 4 + ...fix_notification_err_msgs-e52771108633c9cf.yaml | 4 + ...xes-mariadb-config-groups-b5fa4f44a8ed7b85.yaml | 7 + .../notes/flavor-list-disk-6213c3760e374441.yaml | 3 + .../notes/flavor-list-vcpu-817b0f5715820377.yaml | 3 + .../notes/force_delete-c2b06dbead554726.yaml | 6 + .../notes/guest-call-timeout-2781a57ca8feb89a.yaml | 4 + .../notes/incremental_backup-1910ded0fc3474a3.yaml | 6 + .../notes/instance-upgrade-7d464f85e025d729.yaml | 4 + ...lity-support-for-clusters-78bb74145d867df2.yaml | 7 + ...y-support-for-replication-01d9b05d27b92d82.yaml | 6 + ...length-datastore-specific-7cdb1bfeab6e6227.yaml | 4 + ...dule-support-for-clusters-87b41dd7648275bf.yaml | 6 + ...ule_reapply_update_values-1fb88dc58701368d.yaml | 9 + ...sql-config-preserve-types-77b970162bf6df08.yaml | 7 + .../notes/mysql-root-fix-35079552e25170ca.yaml | 4 + .../persist-error-message-fb69ddf885bcde84.yaml | 5 + .../pgsql-incremental-backup-acb4421f7de3ac09.yaml | 4 + ...sql-streaming-replication-f4df7e4047988b21.yaml | 4 + .../postgres-user-list-race-46624dc9e4420e02.yaml | 4 + ...-proper-guestagent-models-7ba601c7b4c001d6.yaml | 6 + .../notes/quota-management-3792cbc25ebe16bb.yaml | 4 + ...remove-override-templates-85429da7f66e006a.yaml | 4 + ...use-cassandra-connections-092cf2a762a2e796.yaml | 4 + .../notes/slo-backups-3c35135316f837e1.yaml | 9 + ...update-myisam-recover-opt-232b9d680bc362bf.yaml | 4 + releasenotes/source/index.rst | 3 +- releasenotes/source/mitaka.rst | 6 + requirements.txt | 41 +- setup.cfg | 6 +- test-requirements.txt | 17 +- tools/install_venv.py | 26 +- tools/trove-pylint.README | 173 + tools/trove-pylint.config | 1766 ++++++++ tools/trove-pylint.py | 353 ++ tox.ini | 71 +- trove/backup/models.py | 19 +- trove/backup/service.py | 3 +- trove/cluster/models.py | 68 +- trove/cluster/service.py | 24 +- trove/cluster/views.py | 2 + trove/cmd/api.py | 4 + trove/cmd/conductor.py | 4 + trove/cmd/fakemode.py | 5 +- trove/cmd/guest.py | 8 +- trove/cmd/manage.py | 0 trove/cmd/taskmanager.py | 4 + trove/common/apischema.py | 13 +- trove/common/auth.py | 2 +- trove/common/base_exception.py | 4 +- trove/common/base_wsgi.py | 5 +- trove/common/cfg.py | 220 +- trove/common/configurations.py | 11 + trove/common/context.py | 11 + trove/common/crypto_utils.py | 14 +- trove/common/debug_utils.py | 1 + trove/common/exception.py | 18 +- trove/common/extensions.py | 21 +- trove/common/limits.py | 6 +- trove/common/notification.py | 52 +- trove/common/pagination.py | 42 +- trove/common/profile.py | 3 +- trove/common/remote.py | 5 +- trove/common/server_group.py | 96 + trove/common/single_tenant_remote.py | 2 - .../cluster/experimental/cassandra/api.py | 16 +- .../cluster/experimental/cassandra/guestagent.py | 2 +- .../cluster/experimental/cassandra/taskmanager.py | 81 +- .../cluster/experimental/galera_common/api.py | 56 +- .../strategies/cluster/experimental/mongodb/api.py | 35 +- .../cluster/experimental/mongodb/guestagent.py | 2 +- .../strategies/cluster/experimental/redis/api.py | 61 +- .../strategies/cluster/experimental/vertica/api.py | 32 +- .../cluster/experimental/vertica/taskmanager.py | 2 +- trove/common/strategies/storage/base.py | 2 +- trove/common/strategies/storage/swift.py | 110 +- trove/common/stream_codecs.py | 128 +- trove/common/template.py | 7 +- trove/common/utils.py | 79 +- trove/common/wsgi.py | 6 +- trove/conductor/api.py | 3 +- trove/conductor/manager.py | 10 +- trove/conductor/models.py | 4 - trove/configuration/models.py | 5 +- trove/configuration/service.py | 15 +- trove/configuration/views.py | 4 - trove/datastore/models.py | 20 +- trove/db/models.py | 2 +- trove/db/sqlalchemy/api.py | 2 +- trove/db/sqlalchemy/mappers.py | 2 + trove/db/sqlalchemy/migrate_repo/schema.py | 3 +- .../migrate_repo/versions/019_datastore_fix.py | 23 +- .../migrate_repo/versions/020_configurations.py | 3 - .../versions/026_datastore_versions_unique_fix.py | 3 +- .../migrate_repo/versions/032_clusters.py | 3 - .../migrate_repo/versions/038_instance_faults.py | 56 + trove/db/sqlalchemy/utils.py | 15 + trove/dns/designate/driver.py | 8 +- trove/extensions/common/service.py | 10 + trove/extensions/mgmt/quota/service.py | 7 +- trove/extensions/mgmt/quota/views.py | 13 + trove/extensions/mongodb/__init__.py | 0 trove/extensions/mongodb/service.py | 44 + trove/extensions/mysql/common.py | 3 +- trove/extensions/mysql/models.py | 3 - trove/extensions/postgresql/__init__.py | 0 trove/extensions/postgresql/service.py | 29 + trove/extensions/pxc/service.py | 3 - trove/extensions/routes/account.py | 5 - trove/extensions/routes/mgmt.py | 4 - trove/extensions/routes/mysql.py | 4 - trove/extensions/routes/security_group.py | 4 - trove/extensions/security_group/models.py | 8 +- trove/extensions/security_group/views.py | 4 - trove/extensions/vertica/service.py | 3 - trove/flavor/models.py | 6 +- trove/flavor/views.py | 10 +- trove/guestagent/api.py | 11 + trove/guestagent/backup/backupagent.py | 42 +- trove/guestagent/common/configuration.py | 37 +- trove/guestagent/common/guestagent_utils.py | 28 +- trove/guestagent/common/operating_system.py | 57 +- trove/guestagent/common/sql_query.py | 69 +- .../datastore/experimental/cassandra/manager.py | 52 +- .../datastore/experimental/cassandra/service.py | 205 +- .../datastore/experimental/couchbase/service.py | 3 + .../datastore/experimental/couchdb/manager.py | 2 +- .../datastore/experimental/couchdb/service.py | 106 +- .../datastore/experimental/db2/manager.py | 27 +- .../datastore/experimental/db2/service.py | 235 +- .../datastore/experimental/db2/system.py | 39 +- .../datastore/experimental/mariadb/service.py | 13 + .../datastore/experimental/mongodb/manager.py | 2 +- .../datastore/experimental/mongodb/service.py | 30 +- .../datastore/experimental/mongodb/system.py | 2 +- .../datastore/experimental/percona/service.py | 2 + .../datastore/experimental/postgresql/manager.py | 132 +- .../datastore/experimental/postgresql/pgutil.py | 39 +- .../experimental/postgresql/service/access.py | 23 +- .../experimental/postgresql/service/config.py | 69 +- .../experimental/postgresql/service/database.py | 129 +- .../experimental/postgresql/service/install.py | 3 + .../experimental/postgresql/service/process.py | 61 +- .../experimental/postgresql/service/root.py | 22 +- .../experimental/postgresql/service/status.py | 1 + .../experimental/postgresql/service/users.py | 289 +- .../datastore/experimental/pxc/service.py | 41 - .../datastore/experimental/redis/service.py | 4 +- .../datastore/experimental/redis/system.py | 2 +- .../datastore/experimental/vertica/service.py | 14 +- .../guestagent/datastore/galera_common/service.py | 16 - trove/guestagent/datastore/manager.py | 38 +- trove/guestagent/datastore/mysql_common/manager.py | 51 +- trove/guestagent/datastore/mysql_common/service.py | 141 +- trove/guestagent/datastore/service.py | 4 +- trove/guestagent/db/models.py | 262 +- trove/guestagent/dbaas.py | 25 +- trove/guestagent/guest_log.py | 4 +- trove/guestagent/module/driver_manager.py | 5 +- trove/guestagent/module/drivers/module_driver.py | 156 +- .../module/drivers/new_relic_license_driver.py | 95 + trove/guestagent/module/drivers/ping_driver.py | 41 +- trove/guestagent/module/module_manager.py | 26 +- trove/guestagent/pkg.py | 59 +- .../backup/experimental/couchbase_impl.py | 15 +- .../strategies/backup/experimental/db2_impl.py | 180 +- .../strategies/backup/experimental/mariadb_impl.py | 28 + .../strategies/backup/experimental/mongo_impl.py | 4 +- .../backup/experimental/postgresql_impl.py | 235 + trove/guestagent/strategies/replication/base.py | 15 + .../replication/experimental/mariadb_gtid.py | 19 + .../replication/experimental/postgresql_impl.py | 299 ++ .../strategies/replication/mysql_base.py | 33 +- .../strategies/replication/mysql_binlog.py | 4 +- .../strategies/replication/mysql_gtid.py | 34 +- .../restore/experimental/couchbase_impl.py | 15 +- .../strategies/restore/experimental/db2_impl.py | 65 +- .../restore/experimental/mariadb_impl.py | 28 + .../strategies/restore/experimental/mongo_impl.py | 2 - .../restore/experimental/postgresql_impl.py | 121 +- trove/guestagent/strategies/restore/mysql_impl.py | 31 +- trove/guestagent/volume.py | 21 +- trove/instance/models.py | 208 +- trove/instance/service.py | 60 +- trove/instance/tasks.py | 3 + trove/instance/views.py | 13 + trove/locale/fr/LC_MESSAGES/trove-log-error.po | 26 +- trove/locale/fr/LC_MESSAGES/trove-log-info.po | 24 +- trove/locale/fr/LC_MESSAGES/trove-log-warning.po | 37 +- trove/locale/trove-log-error.pot | 46 - trove/locale/trove-log-info.pot | 144 - trove/locale/trove-log-warning.pot | 35 - trove/locale/trove.pot | 3053 ------------- trove/module/models.py | 8 +- trove/module/service.py | 17 + trove/module/views.py | 4 - trove/quota/models.py | 4 - trove/quota/quota.py | 12 +- trove/taskmanager/api.py | 12 +- trove/taskmanager/manager.py | 112 +- trove/taskmanager/models.py | 238 +- trove/taskmanager/service.py | 5 - trove/templates/cassandra/override.config.template | 3 - trove/templates/couchbase/override.config.template | 0 trove/templates/couchdb/override.config.template | 0 trove/templates/db2/override.config.template | 0 trove/templates/db2/validation-rules.json | 454 ++ trove/templates/default.heat.template | 2 +- trove/templates/mariadb/config.template | 3 +- trove/templates/mariadb/override.config.template | 12 - trove/templates/mariadb/validation-rules.json | 242 ++ trove/templates/mongodb/override.config.template | 3 - trove/templates/mysql/config.template | 9 +- trove/templates/mysql/override.config.template | 12 - trove/templates/mysql/replica.config.template | 1 + trove/templates/mysql/validation-rules.json | 6 + trove/templates/percona/config.template | 9 +- trove/templates/percona/override.config.template | 12 - trove/templates/percona/replica.config.template | 1 + trove/templates/percona/validation-rules.json | 6 + .../templates/postgresql/override.config.template | 3 - trove/templates/postgresql/replica.config.template | 1 + .../postgresql/replica_source.config.template | 1 + trove/templates/postgresql/validation-rules.json | 11 +- trove/templates/pxc/config.template | 9 +- trove/templates/pxc/override.config.template | 12 - trove/templates/pxc/validation-rules.json | 6 + trove/templates/redis/override.config.template | 3 - trove/templates/vertica/override.config.template | 0 .../scenario/groups/database_actions_group.py | 113 +- .../scenario/groups/instance_actions_group.py | 53 +- .../scenario/groups/instance_error_create_group.py | 109 + .../scenario/groups/instance_force_delete_group.py | 67 + .../scenario/groups/instance_upgrade_group.py | 92 + .../groups/negative_cluster_actions_group.py | 9 +- .../scenario/runners/cluster_actions_runners.py | 132 +- .../scenario/runners/configuration_runners.py | 98 +- .../scenario/runners/database_actions_runners.py | 62 +- .../scenario/runners/instance_actions_runners.py | 50 +- .../scenario/runners/instance_create_runners.py | 129 +- .../scenario/runners/instance_delete_runners.py | 23 +- .../runners/instance_error_create_runners.py | 121 + .../runners/instance_force_delete_runners.py | 54 + .../scenario/runners/instance_upgrade_runners.py | 33 + .../tempest/services/database/json/__init__.py | 0 .../services/database/json/flavors_client.py | 37 + .../services/database/json/limits_client.py | 31 + .../services/database/json/versions_client.py | 37 + .../api/database/flavors/test_flavors_negative.py | 36 + .../cluster/test_cluster_pxc_controller.py | 3 +- .../cluster/test_cluster_redis_controller.py | 5 +- .../cluster/test_cluster_vertica_controller.py | 3 +- .../configuration/test_configuration_controller.py | 5 +- .../guestagent/test_agent_heartbeats_models.py | 24 +- 918 files changed, 21497 insertions(+), 22542 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 3563500..d4341ed 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,3 +7,3 @@ eventlet!=0.18.3,>=0.18.2 # MIT -keystonemiddleware!=4.1.0,>=4.0.0 # Apache-2.0 -Routes!=2.0,!=2.1,>=1.12.3;python_version=='2.7' # MIT -Routes!=2.0,>=1.12.3;python_version!='2.7' # MIT +keystonemiddleware!=4.1.0,!=4.5.0,>=4.0.0 # Apache-2.0 +Routes!=2.0,!=2.1,!=2.3.0,>=1.12.3;python_version=='2.7' # MIT +Routes!=2.0,!=2.3.0,>=1.12.3;python_version!='2.7' # MIT @@ -14 +14 @@ sqlalchemy-migrate>=0.9.6 # Apache-2.0 -netaddr!=0.7.16,>=0.7.12 # BSD +netaddr!=0.7.16,>=0.7.13 # BSD @@ -19 +19 @@ passlib>=1.6 # BSD -python-heatclient>=0.6.0 # Apache-2.0 +python-heatclient>=1.4.0 # Apache-2.0 @@ -21,2 +21,2 @@ python-novaclient!=2.33.0,>=2.29.0 # Apache-2.0 -python-cinderclient>=1.3.1 # Apache-2.0 -python-keystoneclient!=1.8.0,!=2.1.0,>=1.6.0 # Apache-2.0 +python-cinderclient!=1.7.0,!=1.7.1,>=1.6.0 # Apache-2.0 +python-keystoneclient!=2.1.0,>=2.0.0 # Apache-2.0 @@ -25,2 +25,2 @@ python-designateclient>=1.5.0 # Apache-2.0 -python-neutronclient!=4.1.0,>=2.6.0 # Apache-2.0 -iso8601>=0.1.9 # MIT +python-neutronclient>=5.1.0 # Apache-2.0 +iso8601>=0.1.11 # MIT @@ -30,2 +30,2 @@ pexpect!=3.3,>=3.1 # ISC License -oslo.config>=3.7.0 # Apache-2.0 -oslo.context>=0.2.0 # Apache-2.0 +oslo.config>=3.14.0 # Apache-2.0 +oslo.context>=2.9.0 # Apache-2.0 @@ -35,5 +35,5 @@ oslo.serialization>=1.10.0 # Apache-2.0 -oslo.service>=1.0.0 # Apache-2.0 -oslo.utils>=3.5.0 # Apache-2.0 -oslo.concurrency>=3.5.0 # Apache-2.0 -MySQL-python;python_version=='2.7' # GPL -Babel>=1.3 # BSD +oslo.service>=1.10.0 # Apache-2.0 +oslo.utils>=3.16.0 # Apache-2.0 +oslo.concurrency>=3.8.0 # Apache-2.0 +PyMySQL!=0.7.7,>=0.6.2 # MIT License +Babel>=2.3.4 # BSD @@ -41,3 +41,3 @@ six>=1.9.0 # MIT -stevedore>=1.5.0 # Apache-2.0 -oslo.messaging>=4.0.0 # Apache-2.0 -osprofiler>=1.1.0 # Apache-2.0 +stevedore>=1.16.0 # Apache-2.0 +oslo.messaging>=5.2.0 # Apache-2.0 +osprofiler>=1.4.0 # Apache-2.0 @@ -45 +45 @@ oslo.log>=1.14.0 # Apache-2.0 -oslo.db>=4.1.0 # Apache-2.0 +oslo.db!=4.13.1,!=4.13.2,>=4.10.0 # Apache-2.0 @@ -46,0 +47 @@ enum34;python_version=='2.7' or python_version=='2.6' or python_version=='3.3' # +xmltodict>=0.10.1 # MIT diff --git a/test-requirements.txt b/test-requirements.txt index 166f71b..51444ac 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -6 +6,3 @@ hacking<0.11,>=0.10.0 -sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 # BSD +bandit>=1.1.0 # Apache-2.0 +sphinx!=1.3b1,<1.3,>=1.2.1 # BSD +os-api-ref>=1.0.0 # Apache-2.0 @@ -8 +10 @@ oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0 -reno>=0.1.1 # Apache2 +reno>=1.8.0 # Apache2 @@ -12 +14 @@ nosexcover # BSD -openstack-doc-tools>=0.23 # Apache-2.0 +openstackdocstheme>=1.5.0 # Apache-2.0 @@ -17,2 +19,2 @@ proboscis>=1.2.5.3 # Apache-2.0 -python-troveclient!=2.1.0,>=1.2.0 # Apache-2.0 -mock>=1.2 # BSD +python-troveclient>=2.2.0 # Apache-2.0 +mock>=2.0 # BSD @@ -25 +27 @@ psycopg2>=2.5 # LGPL/ZPL -cassandra-driver>=2.1.4 # Apache-2.0 +cassandra-driver!=3.6.0,>=2.1.4 # Apache-2.0 @@ -27,0 +30,3 @@ couchdb>=0.8 # Apache-2.0 +os-testr>=0.7.0 # Apache-2.0 +astroid<1.4.0 # LGPLv2.1 # breaks pylint 1.4.4 +pylint==1.4.5 # GPLv2