Merge "Database migration: set UCA release unavailable" into stable/mitaka

This commit is contained in:
Jenkins 2017-01-20 14:09:54 +00:00 committed by Gerrit Code Review
commit f6baa58d1a
5 changed files with 60 additions and 20 deletions

View File

@ -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' "))

View File

@ -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:

View File

@ -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']},

View File

@ -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')])

View File

@ -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):