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
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
Devstack should install both the trove module and the
trove-dashboard module by default. Because the trove-dashboard
is an important package for Trove development. For example,
developers confirm Trove behaviors after they test code change.
trove-dashboard should be explicitly installed by Devstack. Currently
trove dashboard plugin installs trove-dashboard when horizon service
is enabled in local.conf. That’s facing the wrong way. Horizon should
be installed as a required package of trove-dashboard. Because
trove-dashboard is a independent python package of horizon and
trove-dashboard package requires horizon package.
Story: 2007462
Task: 39142
Signed-off-by: Hirotaka Wakabayashi <hiwkby@yahoo.com>
Change-Id: I5a8996d70517b95036b6c95080f2f1e8400cc8f4
Fixes "a2ensite" command arg
-----------------------------
"sudo a2ensite trove" in this file should be "sudo a2ensite trove-api"
because the following error will occur while following this manual's
instructions::
$ sudo a2ensite trove
ERROR: Site trove does not exist!
$ sudo a2ensite trove-api
Enabling site trove-api.
To activate the new configuration, you need to run:
systemctl reload apache2
Here are steps to reproduce the error::
$ sudo apt-get install apache2 libapache2-mod-wsgi-py3
$ git clone https://opendev.org/openstack/trove.git; cd trove
$ sudo cp etc/apache2/trove /etc/apache2/sites-available/trove-api.conf
$ sudo a2ensite trove
ERROR: Site trove does not exist!
I have tested on Ubuntu 18.04.4 LTS::
$ uname -a
Linux bionic 4.15.0-91-generic #92-Ubuntu SMP Fri Feb 28 11:09:48 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
$ cat /etc/os-release
NAME="Ubuntu"
VERSION="18.04.4 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.4 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
Adds mod_wsgi package installation
-----------------------------------
I adds mod_wsgi package installation next to apache package installation
because I don't find its installation through the docs in spite of
mod_wsgi's importance for trove-api.
I also updates description about following parts:
* RHEL8 and CentOS8 lines are added.
* Fedora21 and Fedora22, which are not supported by Fedora Project,
lines are merged to "Fedora".
Change-Id: I3dfc894cc001529d60048d53e206251a41d546c0
Task: 39116
Story: 2007446
Signed-off-by: Hirotaka Wakabayashi <hiwkby@yahoo.com>
Remove build_sphinx from setup.cfg, it's not used anymore since this
repo uses sphinx-build directly.
Require newer openstackdocstheme version and remove settings in conf.py
that are now default.
Remove doc/source/install/conf.py, it is not used anymore.
Change-Id: Id89c664384c3ad443d701f5d4135a9f3f9f744d7
- 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
- '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
- 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
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
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
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
The api documentation is now published on docs.openstack.org instead
of developer.openstack.org. Update all links that are changed to the
new location.
Note that redirects will be set up as well but let's point now to the
new location.
For details, see:
http://lists.openstack.org/pipermail/openstack-discuss/2019-July/007828.html
Change-Id: I8adf15cf87ed517c8b71d86c23732b804f44aaff
This patch adds support for upgrading Redis datastore - both single
instance and cluster.
It is achievied in a similar way to MySQL/Mariadb. Steps are:
+ For each node do:
+ stop database
+ preserve configuration files,
+ unmount data volume,
+ create new instance with new datastore,
+ enter restarting mode
+ mount data volume,
+ restore configuration files,
+ reload datastore
Note that due to the Redis Cluster design and Trove approach (all
nodes are master nodes) we do not perform real rolling upgrade - some
Redis slots may be unavailable while upgrading node associated with
them.
This patch adds also a user documentation about upgrading datastores
using Redis as an example.
Story: #2005421
Task: #30443
Co-Authored-By: Kasper Hasior <k.hasior@samsung.com>
Change-Id: I60cddb3a41d2cc7024cbec3d2fd2038d79446507
Signed-off-by: Kasper Hasior <k.hasior@samsung.com>
The keystone CLI is deprecated in favor of
python-openstackclient, update docs using
openstack CLI instead of keystone CLI.
Change-Id: Ifddb5d0d38e4353e17e14ecd65a0d086a6886763