summaryrefslogtreecommitdiff
path: root/devstack
Commit message (Collapse)AuthorAgeFilesLines
* [goal] Deprecate the JSON formatted policy fileGhanshyam Mann2020-12-261-1/+1
| | | | | | | | | | | | | | | | | | As per the community goal of migrating the policy file the format from JSON to YAML[1], we need to do two things: 1. Change the default value of '[oslo_policy] policy_file'' config option from 'policy.json' to 'policy.yaml' with upgrade checks. 2. Deprecate the JSON formatted policy file on the project side via warning in doc and releasenotes. Also replace policy.json to policy.yaml ref from doc and tests. [1]https://governance.openstack.org/tc/goals/selected/wallaby/migrate-policy-format-from-json-to-yaml.html Change-Id: I790409da69df8479ad2fe152b15c32ba45067c23
* Use nested virt node for trove functional testLingxian Kong2020-11-301-0/+1
| | | | | | Enable the jobs trove-functional-mysql and trove-tempest. Change-Id: I930a1468fec5922916af0819698fceb94bddb2f3
* Merge "Remove use of removed tail_log command"Zuul2020-11-261-2/+0
|\
| * Remove use of removed tail_log commandSam Morrison2020-11-251-2/+0
| | | | | | | | | | | | This was deprecatd in queens and removed recently from devstack Change-Id: Iac9f6e4cff6780a3983cfb814d3745d9ac43acbb
* | Support --image-tags for trove-manager datastore_version_update commandLingxian Kong2020-11-261-1/+1
|/ | | | | | | | | image-tags was introduced in commit 1d24b65 but the implementation was backward incompatible for the CLI `trove-manager datastore_version_update`. This patch changes that by supporting an optional parameter `--image-tags`. Change-Id: I583c296f15a453bdfadf10de5c678ac483cbd4dd
* Add 'version' to datastore versionLingxian Kong2020-11-171-1/+2
| | | | | | | | | | | | | This patch is part of story 2008358 implementation. 1. DB schema change 2. trove-manage datastore_version_update subcommand change 3. API change for creating and listing datastore version. Story: 2008358 Task: 41264 Change-Id: I8069e6f4b972497f2b8be540ea35047d5fb2f9a5
* Support mysql 8.0Lingxian Kong2020-10-231-1/+4
| | | | | | | | | | | | | | | | | | | | * MySQL 5.7 and MySQL 8.0 need different percona-xtrabackup package version. Added Percona XtraBackup 8 support for MySQL 8.x backup and restore. * Construct different backup container image names for MySQL 5.7 and MySQL 8.0 based on the default option value. * Two docker images are uploaded for backup/restore: openstacktrove/db-backup-mysql5.7:1.0.0 and openstacktrove/db-backup-mysql8.0:1.0.0. Trove guest agent can automatically choose the approriate one based on the datastore version. * Added option "secure-file-priv=NULL" in MySQL config template to fix https://github.com/docker-library/mysql/issues/541. * Stop using IDENTIFIED BY in GRANT clause (also REVOKE). Starting with MySQL 8 creating a user implicitly using the GRANT command is not supported. Story: #2008275 Task: #41143 Change-Id: Ibdec63324b1b39ba9b8a38dbe529da17bbb06767
* Image tags support in datastore versionLingxian Kong2020-10-091-1/+1
| | | | Change-Id: I0e51d08515c121e3a7b0e82b6e4c4161bb4fbc4a
* Support to rebuild instance by adminLingxian Kong2020-08-061-0/+1
| | | | Change-Id: I48f8c6f997daeb6d82ff62b3325277d86fee2147
* Datastore containerizationLingxian Kong2020-05-272-23/+16
| | | | | | | | | | | | | Significant changes: * Using docker image to install datastore. * Datastore image is common to different datastores. * Using backup docker image to do backup and restore. * Support MariaDB replication * Set most of the functional jobs as non-voting as nested virtualization is not supported in CI. Change-Id: Ia9c97a63a961eebc336b70d28dc77638144c1834
* Support ip address type for instancesLingxian Kong2020-04-261-1/+0
| | | | | | | | | | | | | | Include address type in getting instance response. * Deprecate confip option network_label_regex as we don't reply on Nova to get addresses, network names don't make any sense. * Add 'addresses' in instance API response, keep 'ip' as is but mark it deprecated in API doc, python-troveclient shouldn't break. Story: 2007562 Task: 39445 Change-Id: Ia0458b5ddae8959ce29c17e444e1a51a026283cd
* Support to test non-dev guest image in CILingxian Kong2020-03-162-10/+20
| | | | | | | Make the job non-voting because it may fail when the guest agent code changes. Change-Id: Ibd595b5b5c02cf72f1e5f05c79469cd4cb15a3ca
* Improve the function testsLingxian Kong2020-01-282-13/+12
| | | | | | | | | | | | | | | - Execute test groups in serial to make sure no more than 2 database instance are created at the same time. - Remove some unneccesary tests - Remove unneeded datastore, e.g. 'Test_Datastore_1' - Remove unsupported trovestack subcommands - Move unsupported DIB elements to the 'deprecated-elements' folder - Decrease default value of 'agent_call_high_timeout' to 5min - Add initial_deplay for pooling task - Use socket file to connect with database instead of using localhost IP Change-Id: Ie5030a671fbeb453eafa6cbe04e08da7b52e33c9
* Config admin clients as defaultLingxian Kong2020-01-191-10/+0
| | | | Change-Id: Ib4dc349ab7ed4193189ed6bc2bae699d51064998
* Support PostgreSQL 12Lingxian Kong2019-12-181-1/+1
| | | | Change-Id: Ic1d4982a479c2154d7ddcc807d863e2a37fea506
* Support HEALTHY status for db instanceLingxian Kong2019-12-141-1/+2
| | | | | | | | | | | - 'HEALTHY' means the db service is responsive, 'ACTIVE' means the db service is alive. - Remove the CI job fakemodetests, but will add similar testing task in the future. - Fix the periodic CI job - Remove MongoDB and related jobs Change-Id: I5abe9091ba203297dc87db5fba139179166321f7
* Fix delete instanceLingxian Kong2019-12-101-1/+1
| | | | | | | Deal with the situation when Trove fails to look for the Nova server when waiting for the db instance ACTIVE Change-Id: I484d45f24176c89d999864d3eb1c48860b3038bd
* Merge "Support incremental backup for MariaDB"Zuul2019-12-081-2/+0
|\
| * Support incremental backup for MariaDBLingxian Kong2019-12-081-2/+0
| | | | | | | | | | | | Enable the tests in CI as well. Change-Id: Ie9706d26355bd325baf50ec874f05e6904768a1a
* | Move the iptable change from trovestack to devstackLingxian Kong2019-12-081-0/+3
|/ | | | Change-Id: I6e10744f86f19f3c29babc07fda77936c95022ff
* Build reusable Trove guest image for devLingxian Kong2019-12-051-14/+16
| | | | | | | | | | | | | | | | When building the guest image for dev_mode=true, the controller IP address is injected to the image in order for the guest-agent to download Trove code during initialization. As a result, we have to build guest image each time in the Trove CI because the image build relies on the devstack host IP address. If we could remove the dependency, we can build the image(in devmode=true) for a specific datastore once and use that image for all related CI jobs, which could save some time for Trove CI. Fix the current CI issue as well. Change-Id: If23f4f179a6ab72cfb35e4c45d55142fedb76498
* Rename devstack variable TROVE_DISABLE_IMAGE_SETUPLingxian Kong2019-10-112-4/+4
| | | | | | | Rename TROVE_DISABLE_IMAGE_SETUP to TROVE_ENABLE_IMAGE_BUILD to avoid double negative definition. Change-Id: Iede80c39bb2a7aaf3c0453bd67f85375fa5ee76c
* Merge "Use dedicated service credential config"Zuul2019-10-101-43/+40
|\
| * Use dedicated service credential configLingxian Kong2019-10-101-43/+40
| | | | | | | | | | | | The current admin credential config options are confusing Change-Id: I92c15c065edf364b955f2243b3599e0b8cae8b4f
* | Support to specify branch when building the imageLingxian Kong2019-10-101-1/+6
|/ | | | | | | | | | - Explicity specify branch name for building non-dev image - Use branch name for building dev image in devstack - Update the doc Candidate backport for stable/train Change-Id: I4d2fe38fac34c75b42234fa7a20aba51e6dc1c4e
* Use correct Swift credential for instance backupLingxian Kong2019-10-021-1/+12
| | | | | | | | | | | DevStack is deploying Trove in service tenant model, for swift backed instance backup, the swift container should be transparent to the end users. Story: 2006647 Task: 36883 Change-Id: I5859f4c9911fc2c129c8f23611c6607044fbc145
* Add image build experimental CI jobLingxian Kong2019-09-171-67/+5
| | | | | | Story: 2006553 Task: 36637 Change-Id: I3d909082fb887b24ed25c93e11792031d5053b1e
* Fix Trove CI failureLingxian Kong2019-09-171-0/+75
| | | | | | | | | - Remove Designate v1 support. python-designateclient removed v1 support in https://github.com/openstack/python-designateclient/commit/093d8d7170cbf6ef8c7a7c0ff2a4dcd7ecd6361b - Fix get port IP address error in devstack script. Change-Id: I08916ddfba85c0218aeab5bfbad58ce3222521f3
* Support to create public trove instanceLingxian Kong2019-09-111-15/+15
| | | | | | | | | | | | | | | | | | | | - The users need to specify the network to create Trove instance, but trove-taskmanager will create port in that network for Nova instance creation. Using port gives Trove more capabilities to define how the database service is exposed. - Deprecate ICMP protocol for the instance. - Restrict 'nics' parameter for creating instance. - Add 'access' parameter for creating instance. - Add 'public_network_id' option in order to create floating IP for the instance. - Do not create records for security groups, but Trove can still delete existing instances for backward compatibility. - Delete unreasonable Host, Account, Storage API. Story: 2006500 Task: 36468 Task: 36466 Change-Id: I80827e1ad5e6b130cbf94c2bb7a909c44d5cf1e5
* Improve guest image creation in devstackLingxian Kong2019-09-072-176/+56
| | | | Change-Id: I0ef8cbc4babc5c6b9f2936923ffe2837ecc3da74
* Support management security groupLingxian Kong2019-09-022-41/+45
| | | | | | | | | | Allow the cloud admin to control the security groups on the management port of Trove instance, a new config option `management_security_groups` is introduced for that purpose. Change-Id: I4b22b87d37792be700d4ec7f78a7ea479ddb5814 Story: 2006466 Task: 36395
* Support keypair in devstackLingxian Kong2019-08-292-101/+87
| | | | | | | | | | | | | Since Trove already supports to specify a Nova keypair when creating instance for management convenience, devstack needs to be changed to create the management keypair and add to Trove config file. One extra change in this patch is to use a single config file for Trove API, task-manager and conductor. Change-Id: I1e6c4f4305104815bdf89b31776a4955de61bc89 Story: 2005429 Task: 30463
* Improve devmode=flase when building the imageLingxian Kong2019-08-251-1/+1
| | | | | | | | | | | | | | | | | During debugging, the following changes are also included: - Support to specify an image ID to run the integration test. - Fix the reboot function bug. - Remove the unsuccessful restart test. How to run integration test with dev_mode=false: ADMIN_PASSWORD=password \ SERVICE_PASSWORD=password \ DEV_MODE=false \ /opt/stack/trove/integration/scripts/trovestack gate-tests mysql mysql Change-Id: I31d4ee579a554f4c98f9facb9fd4b7779665a3dd
* Refactor variables in plugin.sh to simplify setting a datastoreMark Kirkwood2019-08-141-13/+13
| | | | | | | | | | | Remove several variables local to plugin.sh so it is possible to set a non default datastore by changing only the 3 most obvious ones: TROVE_DATASTORE_TYPE TROVE_DATASTORE_VERSION TROVE_DATASTORE_PACKAGE Change-Id: I782757647985bdfb859043fe68e2b4cd27569ab3
* Fix Trove CI jobsAndreas Jaeger2019-08-142-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | Changes to get jobs working 1) After [1] devstack no longer changes the ownership of the whole /opt/stack tree to the stack user unconditionally. Switch to the stack user when running integration test. 2) Add bindep.txt file[2]. The default fallback file is not installed anymore and therefore a bindep.txt file is needed to add install additional packages. 3) Use trovestack script rather than devstack to build image so many global variables could be used for consistency. By default, devstack won't build image. 4) Remove the tools/test-setup.sh as it is not used any more. 5) Instance upgrade test keeps failing in CI for some reason, although it's always passed on my local environment. In order not to block other patches, skip the instance upgrade tests temporarily. [1] https://review.opendev.org/203698 [2] http://lists.openstack.org/pipermail/openstack-discuss/2019-June/006888.html Change-Id: I35e17afb9e827b1fead9d28dbf32f11ce4034a9b
* Enable service tenant deployment model by default in DevStackLingxian Kong2019-06-082-116/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The service tenant deployment model means Trove creates most of the resources(vm, volume, security group, etc.) relating to a database instance in the Trove service tenant rather than the end user. With this deployment model, most of the related resources behind the scenes are invisible to the user, which is a more secure deployment model for either private or public cloud provider. DevStack should follow this model as it will be recommended for Trove deployment in production. Changes included in this patch that are necessary in order to make that happen: - Add 'admin' role to Trove service user(username: trove, project: service) in DevStack. - Create Trove management network resources for Trove service user in DevStack. - Enable Trove remote client configuration by default in DevStack. - Mainly use alt_demo user in alt_demo project for integration tests, config trove user as the admin role user in integration tests. - Disable the module related tests(module_groups) for now because of no use cases but need effort to fix all the failed tests in the service tenant model. Story: #2005445 Task: #30489 Change-Id: I2efb69d3d50344914a875b773f62a227dba2ccaf
* Fix syntax errorZhongShengping2019-05-061-4/+4
| | | | | | | | README of Devstack shows a problem[1]. [1]https://opendev.org/openstack/trove/src/branch/master/devstack Change-Id: I00eec0b5edfedbea954ce9e093e7a6cb5a84ddb5
* Move to opendevZhongShengping2019-04-241-3/+3
| | | | | | | 1.Use opendev.org instead of git.openstack.org. 2.Use review.opendev.org instead of review.openstack.org. Change-Id: I8e9da8fbb04bdec42a0b2f012f6a38b8ee413b27
* Merge "Disable devstack image building for trove-scenario-mariadb-single CI job"Zuul2019-04-111-2/+5
|\
| * Disable devstack image building for trove-scenario-mariadb-single CI jobLingxian Kong2019-04-091-2/+5
| | | | | | | | | | | | | | | | | | | | Trove mainly uses trovestack script to trigger the CI tests, including the guest agent image building, so the image building in devstack could be skipped to decrease the testing duration. Change-Id: I26fa0adc1a5e39612be15b75d37d22ea1cca3be1 Story: #2005391 Task: #30380
* | Merge "Improve trove guest agent image building"Zuul2019-04-111-0/+13
|\ \
| * | Improve trove guest agent image buildingLingxian Kong2019-04-101-0/+13
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add a new element 'guest-agent' for image building. This element is used when dev_mode=false, so that the trove code is downloaded into the image during the building phase rather than during the guest agent initialization. - Improve trovestack sub-command 'build-image'. ./trovestack build-image ${datastore_type} \ ${guest_os} \ ${guest_release} \ ${dev_mode} - Improve documentation. Story: #2005387 Task: #30375 Change-Id: I9d7acbd6a97f8c01b48b0f2cf94398d549d89124
* | Merge "Replace openstack.org git:// URLs with https://"Ian Wienand2019-04-101-3/+3
|\ \ | |/ |/|
| * Replace openstack.org git:// URLs with https://Ian Wienand2019-03-241-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a mechanically generated change to replace openstack.org git:// URLs with https:// equivalents. This is in aid of a planned future move of the git hosting infrastructure to a self-hosted instance of gitea (https://gitea.io), which does not support the git wire protocol at this stage. This update should result in no functional change. For more information see the thread at http://lists.openstack.org/pipermail/openstack-discuss/2019-March/003825.html Change-Id: I7f2db9189611a1e2121d9e7bacd35c05382b5915
* | Merge "Fix tests for Ubuntu Bionic migration of CI jobs"Zuul2019-03-281-1/+1
|\ \
| * | Fix tests for Ubuntu Bionic migration of CI jobsLingxian Kong2019-03-281-1/+1
| | | | | | | | | | | | Change-Id: I2fee668c3774f7e87ce3478ca998f8b366c6cd41
* | | Merge "Deprecate the config option default_neutron_networks"Zuul2019-03-281-4/+4
|\ \ \ | |/ / |/| |
| * | Deprecate the config option default_neutron_networksLingxian Kong2019-03-261-4/+4
| |/ | | | | | | | | | | | | | | Use `management_networks` instead. `management_networks`will be used as admin networks which will be attached to Trove instance automatically. Change-Id: I5c6004b568c3a428bc0f0a8b0e36665d3c5b3087
* | Fix the way to get localhost IP in devstackLingxian Kong2019-03-261-1/+1
|/ | | | | | | | | | | | | | | | | | | In Ubuntu Bionic, the following command returns "uid" so that the guest-agent service will fail because of invalid IP address. $ ip route get 8.8.8.8 | head -1 | cut -d' ' -f8 uid $ ip route get 8.8.8.8 | head -1 8.8.8.8 via 10.0.17.1 dev ens3 src 10.0.17.131 uid 0 In Ubuntu Xenial: $ ip route get 8.8.8.8 | head -1 | cut -d' ' -f8 10.0.17.132 $ ip route get 8.8.8.8 | head -1 8.8.8.8 via 192.168.192.1 dev eth0 src 10.0.17.132 Change-Id: Iae24686fa65603b7d22b09da99b7590e4e117454
* Share networks created by Trove Devstack pluginBartosz Zurkowski2019-03-212-3/+10
| | | | | | | | | | | | | | | | | | | | | Trove implies strict network requirements. All Trove instances must be launched in a network that is connected to the management network so that Guest Agents residing in the data plane could communicate with control plane services, e.g. RabbitMQ and Trove Conductor. Trove Devstack plugin creates a management network bound to management physnet (trove-mgmt), as well as tenant network (alt-private) connected to it via a router. Consequently, Trove instances deployed in the tenant network can easily access the management services mentioned above. However, these networks are visible only from the perspective of the tenant that created the networks. Since Tempest does not provide an easy way to create a similar management network, and as such does not enable creating tenant network for Trove instances automatically, this change adds --share flag to networks created by Devstack so that Tempest could reuse them. Change-Id: I8c642ab6150858478c48291a51675ef9d15dafaa Signed-off-by: Bartosz Zurkowski <b.zurkowski@samsung.com>