Beispiel #1
0
def upgrade_db_with_graph(orig_id, seed_id):
    """Upgrade db using deployment graphs."""
    orig_env = environment_obj.Environment(orig_id)
    seed_env = environment_obj.Environment(seed_id)
    add_upgrade_attrs_to_settings(orig_env, seed_env)

    # Upload all graphs
    deploy.upload_graphs(orig_id, seed_id)

    # If any failure try to rollback ONLY original environment.
    try:
        deploy.execute_graph_and_wait("upgrade-db", orig_id)
        deploy.execute_graph_and_wait("upgrade-db", seed_id)
    except Exception:
        cluster_graphs = deploy.get_cluster_graph_names(orig_id)
        if "upgrade-db-rollback" in cluster_graphs:
            LOG.info("Trying to rollback 'upgrade-db' on the "
                     "orig environment '%s'.", orig_id)
            deploy.execute_graph_and_wait("upgrade-db-rollback", orig_id)
        raise
def test_get_cluster_graph_names(mocker, graphs, expected_names, env_id):
    mock_graph = mocker.patch("fuelclient.v1.graph.GraphClient")
    mock_graph.return_value.list.return_value = graphs
    names = deployment.get_cluster_graph_names(env_id)
    assert names == expected_names
    mock_graph.return_value.list.assert_called_once_with(env_id)