def _create_vm(self, pod_namespace, pod_id, pod_name, labels): vm_name = VncCommon.make_name(pod_name, pod_id) display_name = VncCommon.make_display_name(pod_namespace, pod_name) vm_obj = VirtualMachine(name=vm_name, display_name=display_name) vm_obj.uuid = pod_id VirtualMachineKM.add_annotations(self, vm_obj, pod_namespace, pod_name, k8s_uuid=str(pod_id), labels=json.dumps(labels)) try: self._vnc_lib.virtual_machine_create(vm_obj) except RefsExistError: vm_obj = self._vnc_lib.virtual_machine_read(id=pod_id) VirtualMachineKM.locate(vm_obj.uuid) return vm_obj
def _create_vm(self, pod_task_id): pod_task_name = PodTaskMonitor.get_task_pod_name_from_cid(pod_task_id) if pod_task_name is None: vm_obj = VirtualMachine(name=pod_task_id) else: vm_obj = VirtualMachine(name=pod_task_name) vm_obj.uuid = pod_task_id vm_obj.set_server_type("container") VirtualMachineMM.add_annotations(self, vm_obj, pod_task_id) try: self._vnc_lib.virtual_machine_create(vm_obj) except RefsExistError: vm_obj = self._vnc_lib.virtual_machine_read(id=pod_task_id) VirtualMachineMM.locate(vm_obj.uuid) return vm_obj
def _create_vm(self, pod_task_id, node_ip): pod_task_name = PodTaskMonitor.get_task_pod_name_from_cid(pod_task_id, node_ip) if pod_task_name is None: vm_obj = VirtualMachine(name=pod_task_id) else: vm_obj = VirtualMachine(name=pod_task_name) vm_obj.uuid = pod_task_id vm_obj.set_server_type("container") VirtualMachineMM.add_annotations(self, vm_obj, pod_task_id) try: self._vnc_lib.virtual_machine_create(vm_obj) except RefsExistError: vm_obj = self._vnc_lib.virtual_machine_read(id=pod_task_id) VirtualMachineMM.locate(vm_obj.uuid) return vm_obj
def _create_vm(self, pod_namespace, pod_id, pod_name, labels, proj_uuid): vm_name = VncCommon.make_name(pod_name, pod_id) display_name = VncCommon.make_display_name(pod_namespace, pod_name) perms2 = PermType2() perms2.owner = proj_uuid perms2.owner_access = PERMS_RWX vm_obj = VirtualMachine(name=vm_name, perms2=perms2, display_name=display_name) vm_obj.uuid = pod_id vm_obj.set_server_type("container") VirtualMachineKM.add_annotations(self, vm_obj, pod_namespace, pod_name, k8s_uuid=str(pod_id), labels=json.dumps(labels)) try: self._vnc_lib.virtual_machine_create(vm_obj) except RefsExistError: vm_obj = self._vnc_lib.virtual_machine_read(id=pod_id) VirtualMachineKM.locate(vm_obj.uuid) return vm_obj
vn_obj = api.virtual_network_read(fq_name=vn_fq_name) ipam = vn_obj.get_network_ipam_refs() vn_uuid = vn_obj.uuid subnet_uuid = ipam[0]["attr"].ipam_subnets[0].subnet_uuid print >> sys.stderr, "Fetched VN: ", vn_obj ## CREATE VM proj_uuid = proj_obj.uuid vm_obj = None vm_uuid = None pod_uuid = str(uuid.uuid1()) perms2 = PermType2() perms2.owner = proj_uuid perms2.owner_access = PERMS_RWX vm_obj = VirtualMachine(name=vm_name, perms2=perms2, display_name=vm_display_name, parent_obj=proj_obj) vm_obj.uuid = pod_uuid vm_obj.set_server_type("container") try: vm_response = api.virtual_machine_create(vm_obj) print >> sys.stderr, "Created VM: ", vm_response vm_uuid = vm_response except RefsExistError as ref: print >> sys.stderr, "Not creating VM, already exists: ", str(ref) vm_obj = api.virtual_machine_read(fq_name=[vm_name]) print >> sys.stderr, vm_obj vm_uuid = vm_obj.uuid ## CREATE VMI obj_uuid = str(uuid.uuid1()) vmi_prop = None