def test_role_limits_metadata_upgrade_from_6_0_to_6_1(self): roles_meta_original = { 'controller': { 'name': 'Controller', }, 'no-add': { 'name': 'No limits will be added here', } } limits_definitions = { 'controller': { 'max': 1, 'overrides': [{ 'max': 5, 'condition': '1 == 2', 'message': 'Test', }] } } roles_meta_after = copy.deepcopy(roles_meta_original) roles_meta_after['controller']['limits'] = copy.deepcopy( limits_definitions['controller']) roles_meta_test = upgrade_role_limits_6_0_to_6_1( roles_meta_original, limits_definitions) self.assertEqual(roles_meta_test, roles_meta_after)
def test_role_limits_metadata_upgrade_from_6_0_to_6_1(self): roles_meta_original = { 'controller': { 'name': 'Controller', }, 'no-add': { 'name': 'No limits will be added here', } } limits_definitions = { 'controller': { 'max': 1, 'overrides': [ { 'max': 5, 'condition': '1 == 2', 'message': 'Test', } ] } } roles_meta_after = copy.deepcopy(roles_meta_original) roles_meta_after['controller']['limits'] = copy.deepcopy( limits_definitions['controller']) roles_meta_test = upgrade_role_limits_6_0_to_6_1( roles_meta_original, limits_definitions ) self.assertEqual(roles_meta_test, roles_meta_after)
def upgrade_data(): connection = op.get_bind() select = text( """SELECT id, roles_metadata, attributes_metadata, networks_metadata from releases""") update = text( """UPDATE releases SET roles_metadata = :roles, attributes_metadata = :attrs, networks_metadata = :networks WHERE id = :id""") r = connection.execute(select) for release in r: roles_meta = upgrade_role_limits_6_0_to_6_1( jsonutils.loads(release[1]), _limits_to_update) roles_meta = upgrade_role_restrictions_6_0_to_6_1( roles_meta, _new_role_restrictions) for role_name, role in six.iteritems(roles_meta): role.update(_new_roles_metadata.get(role_name, {})) attributes_meta = upgrade_attributes_metadata_6_0_to_6_1( jsonutils.loads(release[2])) networks_meta = upgrade_networks_metadata_to_6_1( jsonutils.loads(release[3]), _bonding_metadata) connection.execute( update, id=release[0], roles=jsonutils.dumps(roles_meta), attrs=jsonutils.dumps(attributes_meta), networks=jsonutils.dumps(networks_meta), ) update_modes = text( 'UPDATE releases SET modes = :modes') connection.execute(update_modes, modes=jsonutils.dumps( ['ha_compact', 'multinode'])) upgrade_master_node_settings(connection) upgrade_6_0_to_6_1_plugins_cluster_attrs_use_ids_mapping(connection) upgrade_ubuntu_cobbler_profile_6_0_to_6_1(connection) upgrade_cluster_attributes_6_0_to_6_1(connection) upgrade_vip_types_6_0_to_6_1(connection) upgrade_network_groups_metadata_6_0_to_6_1(connection) # do not deploy 6.0.x releases upgrade_release_set_deployable_false( connection, [ '2014.2-6.0', '2014.2.2-6.0.1'])
def upgrade_data(): connection = op.get_bind() select = text( """SELECT id, roles_metadata, attributes_metadata, networks_metadata from releases""" ) update = text( """UPDATE releases SET roles_metadata = :roles, attributes_metadata = :attrs, networks_metadata = :networks WHERE id = :id""" ) r = connection.execute(select) for release in r: roles_meta = upgrade_role_limits_6_0_to_6_1(jsonutils.loads(release[1]), _limits_to_update) roles_meta = upgrade_role_restrictions_6_0_to_6_1(roles_meta, _new_role_restrictions) for role_name, role in six.iteritems(roles_meta): role.update(_new_roles_metadata.get(role_name, {})) attributes_meta = upgrade_attributes_metadata_6_0_to_6_1(jsonutils.loads(release[2])) networks_meta = upgrade_networks_metadata_to_6_1(jsonutils.loads(release[3]), _bonding_metadata) connection.execute( update, id=release[0], roles=jsonutils.dumps(roles_meta), attrs=jsonutils.dumps(attributes_meta), networks=jsonutils.dumps(networks_meta), ) update_modes = text("UPDATE releases SET modes = :modes") connection.execute(update_modes, modes=jsonutils.dumps(["ha_compact", "multinode"])) upgrade_master_node_settings(connection) upgrade_6_0_to_6_1_plugins_cluster_attrs_use_ids_mapping(connection) upgrade_ubuntu_cobbler_profile_6_0_to_6_1(connection) upgrade_cluster_attributes_6_0_to_6_1(connection) upgrade_vip_types_6_0_to_6_1(connection) upgrade_network_groups_metadata_6_0_to_6_1(connection) # do not deploy 6.0.x releases upgrade_release_set_deployable_false(connection, ["2014.2-6.0", "2014.2.2-6.0.1"])
def upgrade_data(): connection = op.get_bind() select = text("""SELECT id, roles_metadata, attributes_metadata from releases""") update = text("""UPDATE releases SET roles_metadata = :roles, attributes_metadata = :attrs WHERE id = :id""") r = connection.execute(select) for release in r: roles_meta = upgrade_role_limits_6_0_to_6_1( jsonutils.loads(release[1]), _limits_to_update) roles_meta = upgrade_role_restrictions_6_0_to_6_1( roles_meta, _new_role_restrictions) attributes_meta = upgrade_attributes_metadata_6_0_to_6_1( jsonutils.loads(release[2])) connection.execute(update, id=release[0], roles=jsonutils.dumps(roles_meta), attrs=jsonutils.dumps(attributes_meta)) upgrade_master_node_settings(connection)