def test_role_restrictions_upgrade_from_6_0_to_6_1(self): roles_meta_original = { 'controller': { 'name': 'Controller', 'restrictions': [{ 'condition': '1 == 2', 'message': 'Always false' }] }, 'no-edit': { 'name': 'No restrictions will be changed here', } } restriction_definitions = { 'controller': [{ 'condition': '1 == 1', 'message': 'Always true' }] } roles_meta_after = copy.deepcopy(roles_meta_original) roles_meta_after['controller']['restrictions'] = \ restriction_definitions['controller'] self.assertEqual( upgrade_role_restrictions_6_0_to_6_1(roles_meta_original, restriction_definitions), roles_meta_after)
def test_role_restrictions_upgrade_from_6_0_to_6_1(self): roles_meta_original = { 'controller': { 'name': 'Controller', 'restrictions': [ { 'condition': '1 == 2', 'message': 'Always false' } ] }, 'no-edit': { 'name': 'No restrictions will be changed here', } } restriction_definitions = { 'controller': [ { 'condition': '1 == 1', 'message': 'Always true' } ] } roles_meta_after = copy.deepcopy(roles_meta_original) roles_meta_after['controller']['restrictions'] = \ restriction_definitions['controller'] self.assertEqual( upgrade_role_restrictions_6_0_to_6_1( roles_meta_original, restriction_definitions ), 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)