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)