def __wait_node_fdu_state_change(self, instanceid, state): ''' Function used to wait if an instance changest state (eg. configured -> run) or goes to error state :param node_uuid :param fdu_uuid :param state the new expected state :return dict {'status':<new status>, 'fdu_uuid':fdu_uuid} ''' fdu_info = self.connector.glob.actual.get_node_fdu_instance( self.sysid, self.tenantid, '*', instanceid) while fdu_info is None: fdu_info = self.connector.glob.actual.get_node_fdu_instance( self.sysid, self.tenantid, '*', instanceid) fdu = InfraFDU(fdu_info) es = fdu.get_status() while es.upper() not in [state, 'ERROR']: fdu_info = self.connector.glob.actual.get_node_fdu_instance( self.sysid, self.tenantid, '*', instanceid) fdu = InfraFDU(fdu_info) es = fdu.get_status() if es.upper() == 'ERROR': raise ValueError( 'Unable to change state to {} for FDU Instance: {} Errno: {} Msg: {}' .format(state, instanceid, fdu_info.get('error_code'), fdu_info.get('error_msg'))) return fdu_info
def __wait_node_fdu_state_change(self, instanceid, state): ''' Waits an FDU instance state to change parameters ---------- instanceid : string UUID of instance state : string new state returns -------- dictionary ''' fdu_info = self.connector.glob.actual.get_node_fdu_instance( self.sysid, self.tenantid, '*', instanceid) while fdu_info is None: fdu_info = self.connector.glob.actual.get_node_fdu_instance( self.sysid, self.tenantid, '*', instanceid) fdu = InfraFDU(fdu_info) es = fdu.get_status() while es.upper() not in [state, 'ERROR']: fdu_info = self.connector.glob.actual.get_node_fdu_instance( self.sysid, self.tenantid, '*', instanceid) fdu = InfraFDU(fdu_info) es = fdu.get_status() if es.upper() == 'ERROR': raise ValueError('Unable to change state to {} for FDU Instance: {} Errno: {} Msg: {}'.format( state, instanceid,fdu_info.get('error_code'), fdu_info.get('error_msg'))) return fdu_info