def config_v2_svc_chain(self, stack_name): svc_pt_hs = self.config_heat_obj(stack_name) stack = svc_pt_hs.heat_client_obj op = stack.stacks.get(stack_name).outputs time.sleep(5) for output in op: if output['output_key'] == 'left_VM_ID': left_vm_id = output['output_value'] elif output['output_key'] == 'right_VM_ID': right_vm_id = output['output_value'] elif output['output_key'] == 'left_vn_FQDN': left_vn_fqdn = output['output_value'] elif output['output_key'] == 'right_vn_FQDN': right_vn_fqdn = output['output_value'] elif output['output_key'] == 'si_fqdn': si_fqdn = output['output_value'] elif output['output_key'] == 'si2_fqdn': si2_fqdn = output['output_value'] si2_fqdn=":".join(si2_fqdn) #Update the policy si_fqdn=":".join(si_fqdn) left_vn_fqdn=":".join(left_vn_fqdn) right_vn_fqdn=":".join(right_vn_fqdn) if 'multi' in stack_name: self.update_stack(svc_pt_hs, change_sets=[['left_vn_fqdn', left_vn_fqdn], ['right_vn_fqdn', right_vn_fqdn], ['service_instance1_fq_name', si_fqdn], ['service_instance2_fq_name', si2_fqdn]]) else: self.update_stack(svc_pt_hs, change_sets=[['left_vn_fqdn', left_vn_fqdn], ['right_vn_fqdn', right_vn_fqdn], ['service_instance_fq_name', si_fqdn]]) left_vm = VMFixture(connections=self.connections,uuid = left_vm_id, image_name = 'cirros-0.3.0-x86_64-uec') left_vm.read() left_vm.verify_on_setup() right_vm = VMFixture(connections=self.connections,uuid = right_vm_id, image_name = 'cirros-0.3.0-x86_64-uec') right_vm.read() right_vm.verify_on_setup() assert left_vm.ping_with_certainty(right_vm.vm_ip, expectation=True)
def svm_list(self): if not getattr(self, '_svm_list', None): self._svm_list = [] for vmid in self.svm_ids: vm = VMFixture(self.connections, uuid=vmid) vm.setUp() vm.verify_on_setup() self._svm_list.append(vm) return self._svm_list
def verify_si(self, stack, stack_name, si_name, st_fix, max_inst, svc_mode, image): svc_inst = self.useFixture(SvcInstanceFixture( connections=self.connections, inputs=self.inputs, domain_name='default-domain', project_name=self.inputs.project_name, si_name=si_name, svc_template=st_fix.st_obj, if_list=st_fix.if_list)) assert svc_inst.verify_on_setup() if self.pt_based_svc: op = stack.stacks.get(stack_name).outputs for output in op: if output['output_key'] == 'svm_id': svm_id = output['output_value'] vm = VMFixture(self.connections, uuid=svm_id) vm.setUp() vm.verify_on_setup() image='tiny-in-net' (vm.vm_username, vm.vm_password) = vm.orch.get_image_account(image) svc_inst._svm_list.append(vm) return svc_inst
def verify_si(self, stack, stack_name, si_name, st_fix, max_inst, svc_mode, image): svc_inst = self.useFixture(SvcInstanceFixture( connections=self.connections, inputs=self.inputs, domain_name='default-domain', project_name=self.inputs.project_name, si_name=si_name, svc_template=st_fix.st_obj, if_list=st_fix.if_list)) assert svc_inst.verify_on_setup() if self.pt_based_svc: op = stack.stacks.get(stack_name).outputs for output in op: if output['output_key'] == 'svm_id': svm_id = output['output_value'] vm = VMFixture(self.connections, uuid=svm_id) vm.setUp() vm.verify_on_setup() image='ubuntu-in-net' (vm.vm_username, vm.vm_password) = vm.orch.get_image_account(image) svc_inst._svm_list.append(vm) if self.inputs.get_af() == 'v6': vm.run_cmd_on_vm(['dhclient -6 -pf /var/run/dhclient6.eth0.pid -lf /var/lib/dhcp/dhclient6.eth0.leases', 'dhclient -6 -pf /var/run/dhclient6.eth1.pid -lf /var/lib/dhcp/dhclient6.eth1.leases'], as_sudo=True) return svc_inst
def config_v2_svc_chain(self, stack_name): template = self.get_template(template_name=stack_name) env = self.get_env(env_name=stack_name) stack_name = get_random_name(stack_name) self.nova_h.get_image(env['parameters']['image']) self.nova_h.get_flavor(env['parameters']['flavor']) for k in [ 'service_template_properties_image_name', 'service_template1_properties_image_name', 'service_template2_properties_image_name', 'svm1_image' ]: if k in env['parameters']: self.nova_h.get_image(env['parameters'][k]) svc_pt_hs = self.config_heat_obj(stack_name, template, env) stack = svc_pt_hs.heat_client_obj op = stack.stacks.get(stack_name).outputs time.sleep(5) for output in op: if output['output_key'] == 'left_VM_ID': left_vm_id = output['output_value'] elif output['output_key'] == 'left_VM1_ID': left_vm1_id = output['output_value'] elif output['output_key'] == 'left_VM2_ID': left_vm2_id = output['output_value'] elif output['output_key'] == 'right_VM_ID': right_vm_id = output['output_value'] elif output['output_key'] == 'right_VM1_ID': right_vm1_id = output['output_value'] elif output['output_key'] == 'right_VM2_ID': right_vm2_id = output['output_value'] elif output['output_key'] == 'left_vn_FQDN': left_vn_fqdn = output['output_value'] elif output['output_key'] == 'right_vn_FQDN': right_vn_fqdn = output['output_value'] elif output['output_key'] == 'si_fqdn': si_fqdn = output['output_value'] elif output['output_key'] == 'si2_fqdn': si2_fqdn = output['output_value'] si2_fqdn = ":".join(si2_fqdn) elif output['output_key'] == 'left_VM1_IP_ADDRESS': left_vm1_ip_address = output['output_value'] network_policy_entries_policy_rule_src_addresses_subnet_ip_prefix = left_vm1_ip_address network_policy_entries_policy_rule_src_addresses_subnet_ip_prefix_len = "32" elif output['output_key'] == 'right_VM1_IP_ADDRESS': right_vm1_ip_address = output['output_value'] network_policy_entries_policy_rule_dst_addresses_subnet_ip_prefix = right_vm1_ip_address network_policy_entries_policy_rule_dst_addresses_subnet_ip_prefix_len = "32" #Update the policy si_fqdn = ":".join(si_fqdn) left_vn_fqdn = ":".join(left_vn_fqdn) right_vn_fqdn = ":".join(right_vn_fqdn) if 'multi' in stack_name: self.update_stack( svc_pt_hs, change_sets=[['left_vn_fqdn', left_vn_fqdn], ['right_vn_fqdn', right_vn_fqdn], ['service_instance1_fq_name', si_fqdn], ['service_instance2_fq_name', si2_fqdn]]) else: if 'cidr' in stack_name: if 'src_cidr' in stack_name: self.update_stack( svc_pt_hs, change_sets= [['left_vn_fqdn', left_vn_fqdn], ['right_vn_fqdn', right_vn_fqdn], ['service_instance_fq_name', si_fqdn], [ 'network_policy_entries_policy_rule_src_addresses_subnet_ip_prefix', network_policy_entries_policy_rule_src_addresses_subnet_ip_prefix ], [ 'network_policy_entries_policy_rule_src_addresses_subnet_ip_prefix_len', network_policy_entries_policy_rule_src_addresses_subnet_ip_prefix_len ]]) else: self.update_stack( svc_pt_hs, change_sets=[['left_vn_fqdn', left_vn_fqdn], ['right_vn_fqdn', right_vn_fqdn], ['service_instance_fq_name', si_fqdn]]) if 'cidr' in stack_name: if 'src_cidr' in stack_name: # 2 VMs in the left_vn left_vm1 = VMFixture(connections=self.connections, uuid=left_vm1_id, image_name='cirros') left_vm1.read() left_vm1.verify_on_setup() left_vm2 = VMFixture(connections=self.connections, uuid=left_vm2_id, image_name='cirros') left_vm2.read() left_vm2.verify_on_setup() # One VM in the right_vn right_vm = VMFixture(connections=self.connections, uuid=right_vm_id, image_name='cirros') right_vm.read() right_vm.verify_on_setup() # Ping from left_vm1 to right_vm should pass assert left_vm1.ping_with_certainty(right_vm.vm_ip, expectation=True) # Ping from left_vm2 to right_vm should fail assert left_vm2.ping_with_certainty(right_vm.vm_ip, expectation=False) else: left_vm = VMFixture(connections=self.connections, uuid=left_vm_id, image_name='cirros') left_vm.read() left_vm.verify_on_setup() right_vm = VMFixture(connections=self.connections, uuid=right_vm_id, image_name='cirros') right_vm.read() right_vm.verify_on_setup() assert left_vm.ping_with_certainty(right_vm.vm_ip, expectation=True)
def config_v2_svc_chain(self, stack_name): template = self.get_template(template_name=stack_name) env = self.get_env(env_name=stack_name) stack_name = get_random_name(stack_name) self.nova_h.get_image(env['parameters']['image']) self.nova_h.get_flavor(env['parameters']['flavor']) svc_pt_hs = self.config_heat_obj(stack_name, template, env) stack = svc_pt_hs.heat_client_obj op = stack.stacks.get(stack_name).outputs time.sleep(5) for output in op: if output['output_key'] == 'left_VM_ID': left_vm_id = output['output_value'] elif output['output_key'] == 'left_VM1_ID': left_vm1_id = output['output_value'] elif output['output_key'] == 'left_VM2_ID': left_vm2_id = output['output_value'] elif output['output_key'] == 'right_VM_ID': right_vm_id = output['output_value'] elif output['output_key'] == 'right_VM1_ID': right_vm1_id = output['output_value'] elif output['output_key'] == 'right_VM2_ID': right_vm2_id = output['output_value'] elif output['output_key'] == 'left_vn_FQDN': left_vn_fqdn = output['output_value'] elif output['output_key'] == 'right_vn_FQDN': right_vn_fqdn = output['output_value'] elif output['output_key'] == 'si_fqdn': si_fqdn = output['output_value'] elif output['output_key'] == 'si2_fqdn': si2_fqdn = output['output_value'] si2_fqdn=":".join(si2_fqdn) elif output['output_key'] == 'left_VM1_IP_ADDRESS': left_vm1_ip_address = output['output_value'] network_policy_entries_policy_rule_src_addresses_subnet_ip_prefix = left_vm1_ip_address network_policy_entries_policy_rule_src_addresses_subnet_ip_prefix_len = "32" elif output['output_key'] == 'right_VM1_IP_ADDRESS': right_vm1_ip_address = output['output_value'] network_policy_entries_policy_rule_dst_addresses_subnet_ip_prefix = right_vm1_ip_address network_policy_entries_policy_rule_dst_addresses_subnet_ip_prefix_len = "32" #Update the policy si_fqdn=":".join(si_fqdn) left_vn_fqdn=":".join(left_vn_fqdn) right_vn_fqdn=":".join(right_vn_fqdn) if 'multi' in stack_name: self.update_stack(svc_pt_hs, change_sets=[['left_vn_fqdn', left_vn_fqdn], ['right_vn_fqdn', right_vn_fqdn], ['service_instance1_fq_name', si_fqdn], ['service_instance2_fq_name', si2_fqdn]]) else: if 'cidr' in stack_name: if 'src_cidr' in stack_name: self.update_stack(svc_pt_hs, change_sets=[['left_vn_fqdn', left_vn_fqdn], ['right_vn_fqdn', right_vn_fqdn], ['service_instance_fq_name', si_fqdn], ['network_policy_entries_policy_rule_src_addresses_subnet_ip_prefix', network_policy_entries_policy_rule_src_addresses_subnet_ip_prefix], ['network_policy_entries_policy_rule_src_addresses_subnet_ip_prefix_len', network_policy_entries_policy_rule_src_addresses_subnet_ip_prefix_len]]) else: self.update_stack(svc_pt_hs, change_sets=[['left_vn_fqdn', left_vn_fqdn], ['right_vn_fqdn', right_vn_fqdn], ['service_instance_fq_name', si_fqdn]]) if 'cidr' in stack_name: if 'src_cidr' in stack_name: # 2 VMs in the left_vn left_vm1 = VMFixture(connections=self.connections,uuid = left_vm1_id, image_name = 'cirros') left_vm1.read() left_vm1.verify_on_setup() left_vm2 = VMFixture(connections=self.connections,uuid = left_vm2_id, image_name = 'cirros') left_vm2.read() left_vm2.verify_on_setup() # One VM in the right_vn right_vm = VMFixture(connections=self.connections,uuid = right_vm_id, image_name = 'cirros') right_vm.read() right_vm.verify_on_setup() # Ping from left_vm1 to right_vm should pass assert left_vm1.ping_with_certainty(right_vm.vm_ip, expectation=True) # Ping from left_vm2 to right_vm should fail assert left_vm2.ping_with_certainty(right_vm.vm_ip, expectation=False) else: left_vm = VMFixture(connections=self.connections,uuid = left_vm_id, image_name = 'cirros') left_vm.read() left_vm.verify_on_setup() right_vm = VMFixture(connections=self.connections,uuid = right_vm_id, image_name = 'cirros') right_vm.read() right_vm.verify_on_setup() assert left_vm.ping_with_certainty(right_vm.vm_ip, expectation=True)
def config_v2_svc_chain(self, stack_name): svc_pt_hs = self.config_heat_obj(stack_name) stack = svc_pt_hs.heat_client_obj op = stack.stacks.get(stack_name).outputs time.sleep(5) for output in op: if output['output_key'] == 'left_VM_ID': left_vm_id = output['output_value'] elif output['output_key'] == 'left_VM1_ID': left_vm1_id = output['output_value'] elif output['output_key'] == 'left_VM2_ID': left_vm2_id = output['output_value'] elif output['output_key'] == 'right_VM_ID': right_vm_id = output['output_value'] elif output['output_key'] == 'right_VM1_ID': right_vm1_id = output['output_value'] elif output['output_key'] == 'right_VM2_ID': right_vm2_id = output['output_value'] elif output['output_key'] == 'left_vn_FQDN': left_vn_fqdn = output['output_value'] elif output['output_key'] == 'right_vn_FQDN': right_vn_fqdn = output['output_value'] elif output['output_key'] == 'si_fqdn': si_fqdn = output['output_value'] elif output['output_key'] == 'si2_fqdn': si2_fqdn = output['output_value'] si2_fqdn=":".join(si2_fqdn) elif output['output_key'] == 'left_VM1_IP_ADDRESS': left_vm1_ip_address = output['output_value'] network_policy_entries_policy_rule_src_addresses_subnet_ip_prefix = "left_vn"+":"+left_vm1_ip_address network_policy_entries_policy_rule_src_addresses_subnet_ip_prefix_len = "32" elif output['output_key'] == 'right_VM1_IP_ADDRESS': right_vm1_ip_address = output['output_value'] network_policy_entries_policy_rule_dst_addresses_subnet_ip_prefix = "right_vn"+":"+right_vm1_ip_address network_policy_entries_policy_rule_dst_addresses_subnet_ip_prefix_len = "32" #Update the policy si_fqdn=":".join(si_fqdn) left_vn_fqdn=":".join(left_vn_fqdn) right_vn_fqdn=":".join(right_vn_fqdn) if 'multi' in stack_name: self.update_stack(svc_pt_hs, change_sets=[['left_vn_fqdn', left_vn_fqdn], ['right_vn_fqdn', right_vn_fqdn], ['service_instance1_fq_name', si_fqdn], ['service_instance2_fq_name', si2_fqdn]]) else: if 'cidr' in stack_name: if 'src_cidr' in stack_name: self.update_stack(svc_pt_hs, change_sets=[['left_vn_fqdn', left_vn_fqdn], ['right_vn_fqdn', right_vn_fqdn], ['service_instance_fq_name', si_fqdn], ['network_policy_entries_policy_rule_src_addresses_subnet_ip_prefix', network_policy_entries_policy_rule_src_addresses_subnet_ip_prefix], ['network_policy_entries_policy_rule_src_addresses_subnet_ip_prefix_len', network_policy_entries_policy_rule_src_addresses_subnet_ip_prefix_len]]) else: self.update_stack(svc_pt_hs, change_sets=[['left_vn_fqdn', left_vn_fqdn], ['right_vn_fqdn', right_vn_fqdn], ['service_instance_fq_name', si_fqdn]]) if 'cidr' in stack_name: if 'src_cidr' in stack_name: # 2 VMs in the left_vn left_vm1 = VMFixture(connections=self.connections,uuid = left_vm1_id, image_name = 'cirros-0.3.0-x86_64-uec') left_vm1.read() left_vm1.verify_on_setup() left_vm2 = VMFixture(connections=self.connections,uuid = left_vm2_id, image_name = 'cirros-0.3.0-x86_64-uec') left_vm2.read() left_vm2.verify_on_setup() # One VM in the right_vn right_vm = VMFixture(connections=self.connections,uuid = right_vm_id, image_name = 'cirros-0.3.0-x86_64-uec') right_vm.read() right_vm.verify_on_setup() # Ping from left_vm1 to right_vm should pass assert left_vm1.ping_with_certainty(right_vm.vm_ip, expectation=True) # Ping from left_vm2 to right_vm should fail assert left_vm2.ping_with_certainty(right_vm.vm_ip, expectation=False) else: left_vm = VMFixture(connections=self.connections,uuid = left_vm_id, image_name = 'cirros-0.3.0-x86_64-uec') left_vm.read() left_vm.verify_on_setup() right_vm = VMFixture(connections=self.connections,uuid = right_vm_id, image_name = 'cirros-0.3.0-x86_64-uec') right_vm.read() right_vm.verify_on_setup() assert left_vm.ping_with_certainty(right_vm.vm_ip, expectation=True)