def _provision_nodes(id, node_group_id_map): ctx = context.ctx() cluster = conductor.cluster_get(ctx, id) plugin = plugin_base.PLUGINS.get_plugin(cluster.plugin_name) cluster = conductor.cluster_update(ctx, cluster, {"status": "Scaling"}) LOG.info(g.format_cluster_status(cluster)) instances = i.scale_cluster(cluster, node_group_id_map, plugin) if instances: cluster = conductor.cluster_update(ctx, cluster, {"status": "Configuring"}) LOG.info(g.format_cluster_status(cluster)) try: plugin.scale_cluster(cluster, i.get_instances(cluster, instances)) except Exception as ex: LOG.exception("Can't scale cluster '%s' (reason: %s)", cluster.name, ex) conductor.cluster_update(ctx, cluster, {"status": "Error"}) LOG.info(g.format_cluster_status(cluster)) return # cluster is now up and ready cluster = conductor.cluster_update(ctx, cluster, {"status": "Active"}) LOG.info(g.format_cluster_status(cluster))
def test_ip_assignment_use_no_floating(self, cfg, novaclient): cfg.CONF.use_floating_ips = False nova = _create_nova_mock(novaclient) node_groups = [ _make_ng_dict("test_group_1", "test_flavor", ["data node", "test tracker"], 2, 'pool'), _make_ng_dict("test_group_2", "test_flavor", ["name node", "test tracker"], 1) ] ctx = context.ctx() cluster = _create_cluster_mock(node_groups, ["data node"]) instances._create_instances(cluster) cluster = conductor.cluster_get(ctx, cluster) instances_list = instances.get_instances(cluster) instances._assign_floating_ips(instances_list) nova.floating_ips.create.assert_has_calls( [mock.call("pool"), mock.call("pool")], any_order=False) self.assertEqual(nova.floating_ips.create.call_count, 2, "Not expected floating IPs number found.")
def _provision_nodes(id, node_group_id_map): ctx = context.ctx() cluster = conductor.cluster_get(ctx, id) plugin = plugin_base.PLUGINS.get_plugin(cluster.plugin_name) cluster = conductor.cluster_update(ctx, cluster, {"status": "Scaling"}) LOG.info(g.format_cluster_status(cluster)) instances = i.scale_cluster(cluster, node_group_id_map, plugin) if instances: cluster = conductor.cluster_update(ctx, cluster, {"status": "Configuring"}) LOG.info(g.format_cluster_status(cluster)) plugin.scale_cluster(cluster, i.get_instances(cluster, instances)) # cluster is now up and ready cluster = conductor.cluster_update(ctx, cluster, {"status": "Active"}) LOG.info(g.format_cluster_status(cluster))
def test_ip_assignment_use_no_floating(self, cfg, novaclient): cfg.CONF.use_floating_ips = False nova = _create_nova_mock(novaclient) node_groups = [ _make_ng_dict("test_group_1", "test_flavor", ["data node", "test tracker"], 2, "pool"), _make_ng_dict("test_group_2", "test_flavor", ["name node", "test tracker"], 1), ] ctx = context.ctx() cluster = _create_cluster_mock(node_groups, ["data node"]) instances._create_instances(cluster) cluster = conductor.cluster_get(ctx, cluster) instances_list = instances.get_instances(cluster) instances._assign_floating_ips(instances_list) nova.floating_ips.create.assert_has_calls([mock.call("pool"), mock.call("pool")], any_order=False) self.assertEqual(nova.floating_ips.create.call_count, 2, "Not expected floating IPs number found.")