Merge "Database migration: set UCA release unavailable" into stable/mitaka
This commit is contained in:
commit
f6baa58d1a
|
@ -51,9 +51,11 @@ def upgrade():
|
|||
upgrade_tags_set()
|
||||
upgrade_networks_metadata()
|
||||
upgrade_transaction_names()
|
||||
upgrade_deactivate_uca_release()
|
||||
|
||||
|
||||
def downgrade():
|
||||
downgrade_activate_uca_release()
|
||||
downgrade_transaction_names()
|
||||
downgrade_networks_metadata()
|
||||
downgrade_tags_set()
|
||||
|
@ -1159,3 +1161,17 @@ def update_bonding_availability(bonding_availability):
|
|||
update_query,
|
||||
id=id,
|
||||
networks_metadata=jsonutils.dumps(nets))
|
||||
|
||||
|
||||
def upgrade_deactivate_uca_release():
|
||||
connection = op.get_bind()
|
||||
connection.execute(
|
||||
sa.sql.text("UPDATE releases SET state = 'unavailable' "
|
||||
"where name = 'Mitaka on Ubuntu+UCA 14.04' "))
|
||||
|
||||
|
||||
def downgrade_activate_uca_release():
|
||||
connection = op.get_bind()
|
||||
connection.execute(
|
||||
sa.sql.text("UPDATE releases SET state = 'available' "
|
||||
"where name = 'Mitaka on Ubuntu+UCA 14.04' "))
|
||||
|
|
|
@ -2490,6 +2490,7 @@
|
|||
extend: *ubuntu_release
|
||||
fields:
|
||||
name: "Mitaka on Ubuntu+UCA 14.04"
|
||||
state: "unavailable"
|
||||
version: "mitaka-9.0"
|
||||
description: "This option will install the OpenStack Mitaka packages using Ubuntu as a base operating system, including Ubuntu Cloud Archive OpenStack packages. With high availability features built in, you are getting a robust, enterprise-grade OpenStack deployment."
|
||||
attributes_metadata:
|
||||
|
|
|
@ -94,6 +94,7 @@ class TestInstallationInfo(BaseTestCase):
|
|||
release, expected_attributes)
|
||||
|
||||
def test_get_attributes_ubuntu_uca(self):
|
||||
self.skipTest('UCA is unavailable in current release.')
|
||||
self.env.upload_fixtures(['openstack'])
|
||||
releases = ReleaseCollection.filter_by(
|
||||
None, operating_system=consts.RELEASE_OS.ubuntu).order_by(
|
||||
|
@ -155,7 +156,8 @@ class TestInstallationInfo(BaseTestCase):
|
|||
self.env.upload_fixtures(['openstack'])
|
||||
info = InstallationInfo()
|
||||
release = ReleaseCollection.filter_by(
|
||||
None, operating_system=consts.RELEASE_OS.ubuntu)
|
||||
None, operating_system=consts.RELEASE_OS.ubuntu,
|
||||
state=consts.RELEASE_STATES.available)
|
||||
nodes_params = [
|
||||
{'roles': ['compute']},
|
||||
{'roles': ['compute']},
|
||||
|
|
|
@ -124,26 +124,31 @@ def prepare():
|
|||
}
|
||||
result = db.execute(meta.tables['plugins'].insert(), [plugin])
|
||||
|
||||
result = db.execute(
|
||||
meta.tables['releases'].insert(),
|
||||
[{
|
||||
'name': 'test_name',
|
||||
'version': 'mitaka-9.0',
|
||||
'operating_system': 'ubuntu',
|
||||
'state': 'available',
|
||||
'roles_metadata': jsonutils.dumps(ROLES_META),
|
||||
'tags_metadata': jsonutils.dumps(TAGS_META),
|
||||
'networks_metadata': jsonutils.dumps({
|
||||
'neutron': {
|
||||
'networks': [],
|
||||
'config': {}
|
||||
}
|
||||
}),
|
||||
'attributes_metadata': jsonutils.dumps(attrs_with_sec_group)
|
||||
}])
|
||||
release_ids = []
|
||||
for release_name, release_state in zip(
|
||||
('test_name', 'Mitaka on Ubuntu+UCA 14.04'),
|
||||
('available', 'unavailable')):
|
||||
result = db.execute(
|
||||
meta.tables['releases'].insert(),
|
||||
[{
|
||||
'name': release_name,
|
||||
'version': 'mitaka-9.0',
|
||||
'operating_system': 'ubuntu',
|
||||
'state': release_state,
|
||||
'roles_metadata': jsonutils.dumps(ROLES_META),
|
||||
'tags_metadata': jsonutils.dumps(TAGS_META),
|
||||
'networks_metadata': jsonutils.dumps({
|
||||
'neutron': {
|
||||
'networks': [],
|
||||
'config': {}
|
||||
}
|
||||
}),
|
||||
'attributes_metadata': jsonutils.dumps(attrs_with_sec_group)
|
||||
}])
|
||||
|
||||
release_id = result.inserted_primary_key[0]
|
||||
release_ids.append(result.inserted_primary_key[0])
|
||||
|
||||
release_id = release_ids[0]
|
||||
result = db.execute(
|
||||
meta.tables['clusters'].insert(),
|
||||
[{
|
||||
|
@ -447,3 +452,11 @@ class TestAttributesDowngrade(base.BaseAlembicMigrationTest):
|
|||
attrs = jsonutils.loads(attrs[0])
|
||||
common = attrs.setdefault('editable', {}).setdefault('common', {})
|
||||
self.assertEqual(common.get('security_groups'), None)
|
||||
|
||||
def test_activate_uca_release(self):
|
||||
releases_table = self.meta.tables['releases']
|
||||
results = list(db.execute(
|
||||
sa.select([releases_table.c.name, releases_table.c.state])))
|
||||
self.assertListEqual(results,
|
||||
[('test_name', 'available'),
|
||||
('Mitaka on Ubuntu+UCA 14.04', 'available')])
|
||||
|
|
|
@ -291,7 +291,7 @@ def setup_module():
|
|||
def prepare():
|
||||
meta = base.reflect_db_metadata()
|
||||
for release_name, env_version, cluster_name, uuid, mac in zip(
|
||||
('release_1', 'release_2'),
|
||||
('release_1', 'Mitaka on Ubuntu+UCA 14.04'),
|
||||
('liberty-8.0', 'mitaka-9.0'),
|
||||
('cluster_1', 'cluster_2'),
|
||||
('fcd49872-3917-4a18-98f9-3f5acfe3fde',
|
||||
|
@ -881,6 +881,14 @@ class TestAttributesUpdate(base.BaseAlembicMigrationTest):
|
|||
release_ids.append(release_id)
|
||||
return release_ids
|
||||
|
||||
def test_deactivate_uca_release(self):
|
||||
releases_table = self.meta.tables['releases']
|
||||
results = list(db.execute(
|
||||
sa.select([releases_table.c.name, releases_table.c.state])))
|
||||
self.assertListEqual(results,
|
||||
[('release_1', 'available'),
|
||||
('Mitaka on Ubuntu+UCA 14.04', 'unavailable')])
|
||||
|
||||
|
||||
class TestTags(base.BaseAlembicMigrationTest):
|
||||
def test_primary_tags_migration(self):
|
||||
|
|
Loading…
Reference in New Issue