def undefine(self, instanceid): ''' Undefines the given instance paremeters ---------- instanceid : string UUID of instance returns ------- string ''' node = self.connector.glob.actual.get_fdu_instance_node( self.sysid, self.tenantid, instanceid) if node is None: raise ValueError('Unable to find node for this instanceid') record = self.connector.glob.actual.get_node_fdu_instance( self.sysid, self.tenantid, node, instanceid) record = InfraFDU(record) record.set_status('UNDEFINE') fduid = record.get_fdu_id() self.connector.glob.desired.add_node_fdu(self.sysid, self.tenantid, node, fduid, instanceid, record.to_json()) return instanceid
def clean(self, instanceid, wait=True): ''' Cleans the given instance paremeters ---------- instanceid : string UUID of instance wait : bool optional, call will block until FDU is cleaned returns ------- string ''' node = self.connector.glob.actual.get_fdu_instance_node( self.sysid, self.tenantid, instanceid) if node is None: raise ValueError('Unable to find node for this instanceid') record = self.connector.glob.actual.get_node_fdu_instance( self.sysid, self.tenantid, node, instanceid) record = InfraFDU(record) record.set_status('CLEAN') fduid = record.get_fdu_id() res = self.connector.glob.desired.add_node_fdu( self.sysid, self.tenantid, node, fduid, instanceid, record.to_json()) if wait: self.__wait_node_fdu_state_change(instanceid, 'DEFINE') return instanceid
def migrate(self, instanceid, destination_node_uuid, wait=True): ''' Migrates the given instance paremeters ---------- instanceid : string UUID of instance destination_node_uuid : string UUID of destination node wait : bool optional, call will block until FDU is migrated returns ------- string ''' node = self.connector.glob.actual.get_fdu_instance_node( self.sysid, self.tenantid, instanceid) if node is None: raise ValueError('Unable to find node for this instanceid') record = self.connector.glob.actual.get_node_fdu_instance( self.sysid, self.tenantid, node, instanceid) src_record = InfraFDU(record) dst_record = InfraFDU(record) fduid = src_record.get_fdu_id() src_record.set_status('TAKE_OFF') dst_record.set_status('LAND') src_record.set_migration_properties(node, destination_node_uuid) dst_record.set_migration_properties(node, destination_node_uuid) self.connector.glob.desired.add_node_fdu(self.sysid, self.tenantid, destination_node_uuid, fduid, instanceid, dst_record.to_json()) self.connector.glob.desired.add_node_fdu(self.sysid, self.tenantid, node, fduid, instanceid, src_record.to_json()) if wait: self.__wait_node_fdu_state_change(instanceid, 'RUN') return instanceid