We have already tested this feature on our CI for an entire cycle.
It's ready to be enabled as the default value.
Change-Id: Ifbe862020f7c2b1f6684164d2a26bb5ceb37bec3
they are not maintained for a long time, and trove already switch
the tests to templest.
This commit removes the usage of them. more details see story.
Story: 2010882
Task: 48606
Depends-On: https://review.opendev.org/c/openstack/trove/+/914228
Change-Id: Ie021e0bd708cf8ed13853dea632312af38190205
Current, users can config default datastore registry for managers not by
verions. This make you can flexible when have some experimental
datastore.
With this patch, users with the administrator role can configure the
datastore registry external for each datastore version using a command,
without editing configuration files.
Story: #2010860
Task: #48534
Change-Id: I910a1ba4a9216ab29faeed03198113b4acb2cb81
passlib is unmaintained and has not had a release since 2020
a recent bcrypt release just broke passlib
see https://github.com/pyca/bcrypt/issues/684
trove's use of passlib is pretty tirval so this change
just removes it as a depency and delegate the random password
generation in trove.common.utils to the generate_random_key
function in the trove.common.crypto_utils module
Change-Id: I6b6c64147c627025d5f89db6032d1c54445df94f
hacking 3.1.0 is too old.
Note:
We can't directly bump hacking to 6.x.0 (which is the latest major
version) because of the existing cap by diskimage-builder. The cap is
now being updated by [1].
[1] https://review.opendev.org/c/openstack/diskimage-builder/+/909336
Change-Id: I8778a7decc6669b4d95d6886c971433e7c34c5c8
We had two different workflows here using the same variable but expecting
it to have a totally different format. The taskmanager dns code
was populating that variable with nova api output; the database
list code populated it manually with a custom-format structure.
This seems to have survived a long time because these are both edge
cases: the dns workflow was only traversed with dns integration
is switched on (unusual) and the database list only relied on IP
addresses when hostnames weren't present.
This patch picks a winner (the custom structure used by the database
listing code) and modifies the dns workflow to live with that same format.
This is spackle over a whole lot of bitrot, but should get
both use cases working properly.
Story: #2010077
Task: #45568
Change-Id: I5832733dd312db24d2d8047658fdd1af9f4e700a
This option was deprecated multiple cycles ago[1] in favor of
the datastore specific options.
[1] f4cbaf6ccd
Change-Id: I1b40fb528d5df52f132a1d8cf027a42d8b65d544
This patch changes the default socket patch on the host from
"/var/run/postgresql" to "/var/lib/postgresql-socket".
ensuring that the database container starts properly after
a Nova instance is restarted.
Story: 2010599
Task: 47471
Change-Id: I54a53cc802bbd20bb9e2c6508919e4c8dda38f2a
This patch changes the default socket patch on the host from
"/var/run/mysqld" to "/var/lib/mysqld". ensuring that the
database container starts properly after a Nova instance is restarted.
Story: 2010599
Task: 47471
Change-Id: Idb0366ad1d73c85126e18fccd58f1e52176b63de
when both the management and business network have a gateway.
The guest vm may generate an unexpected default gateway
which is the businees gateway as opposed to the management one.
In this case, trove guest VM may failed to connect with the
openstack control plane such as swift service while doing the
backup restore action.
In addition, if the mgmt port and the business port have the same
IP address. This also may cause network conflict
This change disable the user defined port once the guest-agent
starts when the network isolation is enabled.
Change-Id: I7a96952f34ce5f4aead837b94daedd83c0a871d8
When use cinder to store data dir of database, also create rootdisk in cinder.
Story: #2009245
Task: #43418
Change-Id: Ia5841222c7a70cb0c88078575b4d8b4f7988d5e0
for the ipv6 subnet with ipv6_ra_mode is slaac or dhcpv6-stateless,
we don't need the configure the ip route for the nic in these
subnet. otherwise, docker daemon may returns error:
failed to set IPv6 gateway while updating gateway: file exists.
refer to: https://docs.openstack.org/neutron/latest/admin/config-ipv6.html
Change-Id: Id7f537039615479e03dcd546b7d738ca32f740db
This commit sets "net.ipv6.conf.eth0.accept_ra" to 0 to avoid the
file exists error.
refer to: https://github.com/moby/libnetwork/issues/2455
Change-Id: Ib0d7cec54bc79b3e29a95c298435b007e769e565
In a shared keystone multi-region setup, we must set the region_name
when using any of the OpenStack clients. Without the region name,
clients may attempt to use the API endpoints in the wrong region.
Backups currently fail if there are multiple regions created in the
same keystone catalog, due to the fact that the trove guest agent
attempts to connect to the S3 endpoint in another region.
Story: 2010950
Task: 48994
Change-Id: I9bd497c85c6eba67485840d07a80cca8eed27994
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
This PR changes the way to check instance status. Since Victoria, trove
has change the db instance status name from `RUNNING` to `HEALTHY`[1].
Original problem:
Some clustering databases like Apache Cassandra fail to update cluster
status because they check db instance status using `RUNNING`.
[1]: a0a10f0b94
Story: 2010147
Task: 45791
Change-Id: Iaa032fb46ed51b6e416e7d4efdfd272924ba146b
guest-agent should get the user-defined port's ip for primay instance
rather than the management ip when network_isolation is set to true.
Change-Id: I6f24cf623aa2836517dffda99305d127413d9df2
this PR adds a network_isolation config option for trove,
with network_isolation enabled, trove guest agent will
plug the user-defined port to database container by
docker host_nic network driver which is implemented in this PR.
docker host_nic network driver is a simple driver to plug host
nic to a container. this driver supports ipv4,ipv6 and dual-stack.
for more details please see the story.
story: 2010733
task: 47957
Change-Id: I35d6f8b81a2c5e847cbed3f5bc6095dc1d387165
postgresql needs to restart during the bootstrap, but the postgres
driver still reports the healthy status.
this commit resets the healthy_counts when status is not healthy,
and make state_healthy_counts configurable.
Change-Id: I746b86326790dbc667f4f0d6dabcd1a656502273
The option was replaced 4 years ago[1] by connection_recycle_time. The
option is not anymore present in sqlalchemy. It's the good time to
remove it.
[1] 6634218415
[2] https://review.opendev.org/c/openstack/oslo.db/+/778441
Change-Id: Id288e09688062b007d57f09aebcd7c447e56f04d
Python 2.y and Python <= 3.2 are no longer supported, so we no longer
need to maintain logics for such old versions.
Also the check_python_version method is removed by this change, because
the required python version is now enforced by setup.cfg.
Change-Id: Ifc5e618a791bdf591e0ec61075089dd992c73e0c
This PR adds the import statement to fix cluster creation error
and enables flake8-f821 rule checks.
F821 rule checks "undefined name"
Original problem:
we have currently got `NameError: name 'common_glance' is not defined`
error when creating a cluster because I failed to edit the patch[1].
Co-Authored-By: wu.chunyang <wchy1001@gmail.com>
[1]: 2f52b2fddb
Story: 2010151
Task: 45797
Change-Id: I846f433ff35a9638a070382bf89e02db617dcd3d
E129: Visually indented line with same indent
as next logical line (E129)
refer to: https://www.flake8rules.com/rules/E129.html
Change-Id: Ib34fe5f5eb2aa5bc4980ed67beb027d2bf7186e9
This PR stops using the psycopg2’s connections context manager
because "CREATE DATABASE" command must be run outside any
transaction[1].
[1]: https://www.psycopg.org/docs/usage.html#transactions-control
Co-Authored-By: hungnt1 <sudo.nguyenhung@gmail.com>
Co-Authored-By: Hirotaka Wakabayashi <hiwkby@yahoo.com>
Story: 2010761
Task: 48059
Change-Id: I73ec6c659d8ad7216460055077737429c878df33
H306: import in alphabeical order
Imports should be grouped in the following order:
standard library imports
related third party imports
local application/library specific imports
put a blank line between each group of imports.
https://docs.openstack.org/hacking/latest/user/hacking.html#imports
Change-Id: I2c188d27f0595ac3b2d71f4612d93829915e389c