Merge "Remove postgresql testing and documentation"
This commit is contained in:
commit
e0e43f6353
@ -53,12 +53,6 @@ libssl-dev [platform:dpkg test]
|
|||||||
libffi-dev [platform:dpkg test]
|
libffi-dev [platform:dpkg test]
|
||||||
libffi-devel [platform:rpm test]
|
libffi-devel [platform:rpm test]
|
||||||
# these are needed by infra for python-* jobs
|
# these are needed by infra for python-* jobs
|
||||||
libpq-dev [platform:dpkg test]
|
|
||||||
libpq-devel [platform:rpm test]
|
|
||||||
postgresql
|
|
||||||
postgresql-client [platform:dpkg]
|
|
||||||
# postgresql-devel [platform:rpm]
|
|
||||||
postgresql-server [platform:rpm]
|
|
||||||
mariadb [platform:rpm]
|
mariadb [platform:rpm]
|
||||||
mariadb-server [platform:rpm platform:debian-bookworm]
|
mariadb-server [platform:rpm platform:debian-bookworm]
|
||||||
# mariadb-devel [platform:rpm]
|
# mariadb-devel [platform:rpm]
|
||||||
|
@ -55,10 +55,6 @@ libffi-devel [platform:rpm test]
|
|||||||
# these are needed by infra for python-* jobs
|
# these are needed by infra for python-* jobs
|
||||||
libpq-dev [platform:dpkg test]
|
libpq-dev [platform:dpkg test]
|
||||||
libpq-devel [platform:rpm test]
|
libpq-devel [platform:rpm test]
|
||||||
postgresql
|
|
||||||
postgresql-client [platform:dpkg]
|
|
||||||
# postgresql-devel [platform:rpm]
|
|
||||||
postgresql-server [platform:rpm]
|
|
||||||
mariadb [platform:rpm]
|
mariadb [platform:rpm]
|
||||||
mariadb-server [platform:rpm]
|
mariadb-server [platform:rpm]
|
||||||
# mariadb-devel [platform:rpm]
|
# mariadb-devel [platform:rpm]
|
||||||
|
@ -95,15 +95,15 @@ environment on most current distributions.
|
|||||||
|
|
||||||
- Ubuntu/Debian::
|
- Ubuntu/Debian::
|
||||||
|
|
||||||
sudo apt-get install build-essential python3-dev libssl-dev python3-pip libmysqlclient-dev libxml2-dev libxslt-dev libpq-dev git git-review libffi-dev gettext ipmitool psmisc graphviz libjpeg-dev qemu-utils
|
sudo apt-get install build-essential python3-dev libssl-dev python3-pip libmysqlclient-dev libxml2-dev libxslt-dev git git-review libffi-dev gettext ipmitool psmisc graphviz libjpeg-dev qemu-utils
|
||||||
|
|
||||||
- RHEL/CentOS/Fedora::
|
- RHEL/CentOS/Fedora::
|
||||||
|
|
||||||
sudo dnf install python3-devel openssl-devel python3-pip mysql-devel libxml2-devel libxslt-devel postgresql-devel git git-review libffi-devel gettext ipmitool psmisc graphviz gcc libjpeg-turbo-devel qemu-img
|
sudo dnf install python3-devel openssl-devel python3-pip mysql-devel libxml2-devel libxslt-devel git git-review libffi-devel gettext ipmitool psmisc graphviz gcc libjpeg-turbo-devel qemu-img
|
||||||
|
|
||||||
- openSUSE/SLE::
|
- openSUSE/SLE::
|
||||||
|
|
||||||
sudo zypper install git git-review libffi-devel libmysqlclient-devel libopenssl-devel libxml2-devel libxslt-devel postgresql-devel python3-devel python-nose python3-pip gettext-runtime psmisc qemu-img
|
sudo zypper install git git-review libffi-devel libmysqlclient-devel libopenssl-devel libxml2-devel libxslt-devel python3-devel python-nose python3-pip gettext-runtime psmisc qemu-img
|
||||||
|
|
||||||
To run the tests locally, it is a requirement that your terminal emulator
|
To run the tests locally, it is a requirement that your terminal emulator
|
||||||
supports unicode with the ``en_US.UTF8`` locale. If you use locale-gen to
|
supports unicode with the ``en_US.UTF8`` locale. If you use locale-gen to
|
||||||
|
@ -111,9 +111,3 @@ The description of each jobs that runs in the CI when you submit a patch for
|
|||||||
* - bifrost-integration-redfish-vmedia-uefi-centos-9
|
* - bifrost-integration-redfish-vmedia-uefi-centos-9
|
||||||
- Tests the integration between Ironic and Bifrost using redfish vmedia and
|
- Tests the integration between Ironic and Bifrost using redfish vmedia and
|
||||||
a dib image based on centos stream 9.
|
a dib image based on centos stream 9.
|
||||||
* - ironic-tempest-pxe_ipmitool-postgres
|
|
||||||
- Deploys Ironic in DevStack, configured to use tinyipa ramdisk partition
|
|
||||||
image with ``pxe`` boot and ``ipmi`` driver and postgres instead of mysql.
|
|
||||||
Runs tempest tests that match the regex
|
|
||||||
``ironic_tempest_plugin.tests.scenario``, also deploys 1 virtual
|
|
||||||
baremetal.
|
|
||||||
|
@ -15,23 +15,14 @@
|
|||||||
# under the License.
|
# under the License.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
Tests for database migrations. There are "opportunistic" tests for both mysql
|
Tests for database migrations. There are "opportunistic" tests for mysql in
|
||||||
and postgresql in here, which allows testing against these databases in a
|
here, which allow testing against a database in a properly configured unit
|
||||||
properly configured unit test environment.
|
test environment.
|
||||||
|
|
||||||
For the opportunistic testing you need to set up a db named 'openstack_citest'
|
For the opportunistic testing you need to set up a db named 'openstack_citest'
|
||||||
with user 'openstack_citest' and password 'openstack_citest' on localhost.
|
with user 'openstack_citest' and password 'openstack_citest' on localhost.
|
||||||
The test will then use that db and u/p combo to run the tests.
|
The test will then use that db and u/p combo to run the tests. See
|
||||||
|
tools/test-setup.sh in the root of the repo for a full setup example.
|
||||||
For postgres on Ubuntu this can be done with the following commands:
|
|
||||||
|
|
||||||
::
|
|
||||||
|
|
||||||
sudo -u postgres psql
|
|
||||||
postgres=# create user openstack_citest with createdb login password
|
|
||||||
'openstack_citest';
|
|
||||||
postgres=# create database openstack_citest with owner openstack_citest;
|
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
import collections
|
import collections
|
||||||
@ -1631,10 +1622,3 @@ class ModelsMigrationsSyncMysql(ModelsMigrationSyncMixin,
|
|||||||
test_fixtures.OpportunisticDBTestMixin,
|
test_fixtures.OpportunisticDBTestMixin,
|
||||||
test_base.BaseTestCase):
|
test_base.BaseTestCase):
|
||||||
FIXTURE = test_fixtures.MySQLOpportunisticFixture
|
FIXTURE = test_fixtures.MySQLOpportunisticFixture
|
||||||
|
|
||||||
|
|
||||||
class ModelsMigrationsSyncPostgres(ModelsMigrationSyncMixin,
|
|
||||||
test_migrations.ModelsMigrationsSync,
|
|
||||||
test_fixtures.OpportunisticDBTestMixin,
|
|
||||||
test_base.BaseTestCase):
|
|
||||||
FIXTURE = test_fixtures.PostgresqlOpportunisticFixture
|
|
||||||
|
13
releasenotes/notes/postgres-removal-88f8b02dbfc3303c.yaml
Normal file
13
releasenotes/notes/postgres-removal-88f8b02dbfc3303c.yaml
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
---
|
||||||
|
upgrade:
|
||||||
|
- |
|
||||||
|
Deployers using PostgreSQL must migrate to a supported mysql-compatible
|
||||||
|
database, such as MySQL or MariaDB.
|
||||||
|
deprecations:
|
||||||
|
- |
|
||||||
|
Use of postgresql has been deprecated for all OpenStack projects,
|
||||||
|
including ironic, for several years. However, in an effort to avoid
|
||||||
|
breaking existing installs, we had tested database migrations and
|
||||||
|
performed a basic functionality test against PostgreSQL. This test has
|
||||||
|
now been removed, and operators deployed on PostgreSQL must migrate to
|
||||||
|
a MySQL-compatible database, such as MySQL or MariaDB, before upgrade.
|
@ -6,7 +6,6 @@ iso8601>=0.1.11 # MIT
|
|||||||
oslo.reports>=1.18.0 # Apache-2.0
|
oslo.reports>=1.18.0 # Apache-2.0
|
||||||
oslotest>=3.2.0 # Apache-2.0
|
oslotest>=3.2.0 # Apache-2.0
|
||||||
stestr>=2.0.0 # Apache-2.0
|
stestr>=2.0.0 # Apache-2.0
|
||||||
psycopg2>=2.8.5 # LGPL/ZPL
|
|
||||||
testtools>=2.5.0 # MIT
|
testtools>=2.5.0 # MIT
|
||||||
WebTest>=2.0.27 # MIT
|
WebTest>=2.0.27 # MIT
|
||||||
pysnmp-lextudio>=5.0.0 # BSD
|
pysnmp-lextudio>=5.0.0 # BSD
|
||||||
|
@ -6,9 +6,6 @@
|
|||||||
|
|
||||||
# Try starting mariadb
|
# Try starting mariadb
|
||||||
sudo systemctl start mariadb || true
|
sudo systemctl start mariadb || true
|
||||||
# Try starting postgresql
|
|
||||||
sudo postgresql-setup --initdb || true
|
|
||||||
sudo systemctl start postgresql || true
|
|
||||||
|
|
||||||
# This setup needs to be run as a user that can run sudo.
|
# This setup needs to be run as a user that can run sudo.
|
||||||
|
|
||||||
@ -38,50 +35,3 @@ mysql -u $DB_USER -p$DB_PW -h 127.0.0.1 -e "
|
|||||||
DROP DATABASE IF EXISTS openstack_citest;
|
DROP DATABASE IF EXISTS openstack_citest;
|
||||||
CREATE DATABASE openstack_citest CHARACTER SET utf8;"
|
CREATE DATABASE openstack_citest CHARACTER SET utf8;"
|
||||||
|
|
||||||
# Same for PostgreSQL
|
|
||||||
# The root password for the PostgreSQL database; pass it in via
|
|
||||||
# POSTGRES_ROOT_PW.
|
|
||||||
DB_ROOT_PW=${POSTGRES_ROOT_PW:-insecure_slave}
|
|
||||||
|
|
||||||
# Change working directory to a folder all users can access
|
|
||||||
# as psql on centos8 needs to be able to open the working directory
|
|
||||||
# which it can't when executed as the postgres user, which is required
|
|
||||||
# as same user as process for initial administrative authentication to
|
|
||||||
# the postgres database
|
|
||||||
cd /tmp
|
|
||||||
|
|
||||||
# Identify and update the postgres hba file which can be in
|
|
||||||
# a version specific path.
|
|
||||||
PG_HBA=$(sudo -H -u postgres psql -t -c "show hba_file")
|
|
||||||
PG_CONF=$(sudo -H -u postgres psql -t -c "show config_file")
|
|
||||||
|
|
||||||
# setup postgres encryption algorithm and authentication
|
|
||||||
sudo sed -i 's/ident$/scram-sha-256/g' $PG_HBA
|
|
||||||
sudo sed -i 's/md5$/scram-sha-256/g' $PG_HBA
|
|
||||||
sudo sed -i 's/^.*password_encryption =.*/password_encryption = scram-sha-256/' $PG_CONF
|
|
||||||
|
|
||||||
sudo cat $PG_HBA
|
|
||||||
sudo cat $PG_CONF
|
|
||||||
|
|
||||||
# restart postgres with new HBA file is loaded
|
|
||||||
sudo systemctl stop postgresql || true
|
|
||||||
sudo systemctl start postgresql || true
|
|
||||||
|
|
||||||
# Setup user
|
|
||||||
root_roles=$(sudo -H -u postgres psql -t -c "
|
|
||||||
SELECT 'HERE' from pg_roles where rolname='$DB_USER'")
|
|
||||||
if [[ ${root_roles} == *HERE ]];then
|
|
||||||
sudo -H -u postgres psql -c "ALTER ROLE $DB_USER WITH SUPERUSER LOGIN PASSWORD '$DB_PW'"
|
|
||||||
else
|
|
||||||
sudo -H -u postgres psql -c "CREATE ROLE $DB_USER WITH SUPERUSER LOGIN PASSWORD '$DB_PW'"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Store password for tests
|
|
||||||
cat << EOF > $HOME/.pgpass
|
|
||||||
*:*:*:$DB_USER:$DB_PW
|
|
||||||
EOF
|
|
||||||
chmod 0600 $HOME/.pgpass
|
|
||||||
|
|
||||||
# Now create our database
|
|
||||||
psql -h 127.0.0.1 -U $DB_USER -d postgres -c "DROP DATABASE IF EXISTS openstack_citest"
|
|
||||||
createdb -h 127.0.0.1 -U $DB_USER -l C -T template0 -E utf8 openstack_citest
|
|
||||||
|
@ -421,19 +421,6 @@
|
|||||||
ironic-inspector: True
|
ironic-inspector: True
|
||||||
ironic-inspector-dhcp: True
|
ironic-inspector-dhcp: True
|
||||||
|
|
||||||
- job:
|
|
||||||
name: ironic-tempest-pxe_ipmitool-postgres
|
|
||||||
description: ironic-tempest-pxe_ipmitool-postgres
|
|
||||||
parent: ironic-base
|
|
||||||
vars:
|
|
||||||
devstack_localrc:
|
|
||||||
IRONIC_ENABLED_BOOT_INTERFACES: "fake,pxe"
|
|
||||||
IRONIC_IPXE_ENABLED: False
|
|
||||||
IRONIC_AUTOMATED_CLEAN_ENABLED: False
|
|
||||||
devstack_services:
|
|
||||||
mysql: False
|
|
||||||
postgresql: True
|
|
||||||
|
|
||||||
# NOTE(rpittau): converted job but not running for now as there
|
# NOTE(rpittau): converted job but not running for now as there
|
||||||
# could be an issue with the lookup in ironic-python-agent
|
# could be an issue with the lookup in ironic-python-agent
|
||||||
- job:
|
- job:
|
||||||
|
@ -64,8 +64,6 @@
|
|||||||
voting: false
|
voting: false
|
||||||
- bifrost-integration-redfish-vmedia-uefi-centos-9:
|
- bifrost-integration-redfish-vmedia-uefi-centos-9:
|
||||||
voting: false
|
voting: false
|
||||||
- ironic-tempest-pxe_ipmitool-postgres:
|
|
||||||
voting: false
|
|
||||||
gate:
|
gate:
|
||||||
jobs:
|
jobs:
|
||||||
- ironic-tox-unit-mysql-migrations
|
- ironic-tox-unit-mysql-migrations
|
||||||
|
Loading…
Reference in New Issue
Block a user