def test_network_template_upload_on_multi_group_cluster(self): cluster = self.env.create_cluster(api=False) custom_group_name = 'group-custom-1' custom_group = NodeGroup(name=custom_group_name, cluster_id=cluster.id) self.env.db.add(custom_group) self.env.db.flush() node1 = self.env.create_node(cluster_id=cluster.id, roles=["controller"]) node2 = self.env.create_node(cluster_id=cluster.id, roles=["compute"], group_id=custom_group.id) template = self.env.read_fixtures(['network_template'])[0] template.pop('pk') # PK is not needed resp = self.app.put( reverse( 'TemplateNetworkConfigurationHandler', kwargs={'cluster_id': cluster.id}, ), jsonutils.dumps(template), headers=self.default_headers ) self.assertEqual(200, resp.status_code) self.assertDictEqual( node1.network_template['templates'], base.get_nodegroup_network_schema_template(template, 'default') ) self.assertDictEqual( node2.network_template['templates'], base.get_nodegroup_network_schema_template( template, custom_group_name) )
def test_network_template_upload_on_multi_group_cluster(self): cluster = self.env.create_cluster( api=False, net_provider=consts.CLUSTER_NET_PROVIDERS.neutron ) cluster.release.version = '1111-7.0' custom_group_name = 'group-custom-1' resp = self.env.create_node_group( name=custom_group_name, cluster_id=cluster.id ) custom_group = resp.json_body node1 = self.env.create_nodes_w_interfaces_count( 1, 5, cluster_id=cluster.id, roles=["controller"], )[0] node2 = self.env.create_nodes_w_interfaces_count( 1, 5, cluster_id=cluster.id, roles=["compute"], group_id=custom_group['id'], )[0] template = self.env.read_fixtures(['network_template_70'])[0] template.pop('pk') # PK is not needed resp = self.app.put( reverse( 'TemplateNetworkConfigurationHandler', kwargs={'cluster_id': cluster.id}, ), jsonutils.dumps(template), headers=self.default_headers ) self.assertEqual(200, resp.status_code) self.assertDictEqual( node1.network_template['templates'], base.get_nodegroup_network_schema_template(template, 'default') ) self.assertDictEqual( node2.network_template['templates'], base.get_nodegroup_network_schema_template( template, custom_group_name) )
def test_apply_network_template(self): node = self.env.create_node() template = self.env.read_fixtures(["network_template"])[0] group_name = "group-custom-1" with mock.patch("objects.NodeGroup.get_by_uid", return_value=NodeGroup(name=group_name)): objects.Node.apply_network_template(node, template) self.assertDictEqual( node.network_template["templates"], base.get_nodegroup_network_schema_template(template, group_name) )