Remove db migration script usage

DB Migration script has been removed in [1], this script was used to
migrate bits from the Nova database in the new placement service.
Placement has been uncorellated since Stein release and should no longer
need this step. This charm does not support upgrade from Stein to Caracal
/ Dalmatian / Epoxy directly.

[1]: https://review.opendev.org/c/openstack/placement/+/932324

Closes-Bug: #2107949
Change-Id: If56d9fa475736079792c421deb47ae6908f25a9a
Signed-off-by: Guillaume Boutry <guillaume.boutry@canonical.com>
This commit is contained in:
Guillaume Boutry
2025-04-22 11:46:52 +02:00
parent 70a57fcada
commit b915aea533
4 changed files with 0 additions and 38 deletions

View File

@@ -22,7 +22,6 @@ import charms_openstack.ip as os_ip
PLACEMENT_CONF = '/etc/placement/placement.conf'
PLACEMENT_WSGI_CONF = '/etc/apache2/sites-available/placement-api.conf'
PLACEMENT_MIGRATE_DB_CONF = '/etc/placement/migrate-db.rc'
charms_openstack.charm.use_defaults('charm.default-select-release')
@@ -55,7 +54,6 @@ class PlacementCharm(charms_openstack.charm.HAOpenStackCharm):
restart_map = {
PLACEMENT_CONF: services,
PLACEMENT_WSGI_CONF: services,
PLACEMENT_MIGRATE_DB_CONF: services,
}
ha_resources = ['vips', 'haproxy', 'dnsha']
@@ -71,11 +69,6 @@ class PlacementCharm(charms_openstack.charm.HAOpenStackCharm):
]),
}
mysql_migrate_db = '/usr/share/placement/mysql-migrate-db.sh'
migrate_cmd = [mysql_migrate_db, '--migrate', '--skip-locks',
PLACEMENT_MIGRATE_DB_CONF]
sync_cmd = ['placement-manage', 'db', 'sync']
def get_database_setup(self):
@@ -87,21 +80,6 @@ class PlacementCharm(charms_openstack.charm.HAOpenStackCharm):
username='nova',
prefix='novaapi')]
def db_migrate(self):
if not self.db_sync_done() and hookenv.is_leader():
try:
subprocess.check_call(self.migrate_cmd)
except subprocess.CalledProcessError as error:
hookenv.log('{} returncode={} output={}'.format(
self.migrate_cmd, error.returncode, error.output),
level=hookenv.DEBUG)
if error.returncode == 4 or error.returncode == 3:
# 4: No data present in nova database (nothing to migrate)
# 3: Migration has already completed
return False
raise
return True
def db_sync(self):
if not self.db_sync_done() and hookenv.is_leader():
subprocess.check_call(self.sync_cmd)

View File

@@ -71,7 +71,6 @@ def init_db():
disabled = placement.get_nova_placement_disabled()
if disabled:
placement_charm.disable_services()
placement_charm.db_migrate()
placement_charm.db_sync()
placement_charm.enable_services()
placement_charm.assess_status()

View File

@@ -38,20 +38,6 @@ class TestPlacementCharm(Helper):
'username': 'nova',
'prefix': 'novaapi'}])
@patch.object(placement.PlacementCharm, 'db_sync_done')
@patch.object(placement.subprocess, 'check_call')
@patch.object(placement.hookenv, 'is_leader')
def test_db_migrate(self, is_leader, check_call, db_sync_done):
c = placement.PlacementCharm()
is_leader.return_value = True
db_sync_done.return_value = False
c.db_migrate()
check_call.assert_called_with(
['/usr/share/placement/mysql-migrate-db.sh',
'--migrate',
'--skip-locks',
'/etc/placement/migrate-db.rc'])
@patch.object(placement.PlacementCharm, 'db_sync_done')
@patch.object(placement.subprocess, 'check_call')
@patch.object(placement.hookenv, 'is_leader')

View File

@@ -80,7 +80,6 @@ class TestPlacementHandlers(test_utils.PatchHelper):
handlers.init_db()
placement.get_nova_placement_disabled.assert_called_once_with()
self.placement_charm.disable_services.assert_called_once_with()
self.placement_charm.db_migrate.assert_called_once_with()
self.placement_charm.db_sync.assert_called_once_with()
self.placement_charm.enable_services.assert_called_once_with()
self.placement_charm.assess_status.assert_called_once_with()