예제 #1
0
    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)
예제 #2
0
    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)
예제 #3
0
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'])
예제 #4
0
파일: fuel_6_1.py 프로젝트: mba811/fuel-web
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"])
예제 #5
0
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)