# Copyright 2019 Nokia # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # import time from ironic.drivers.modules import ipmitool from ironic.common.i18n import _translators from oslo_concurrency import processutils from ironic.common import exception from ..ironic_virtmedia_hw import IronicVirtMediaHW class NokiaIronicVirtMediaHW(IronicVirtMediaHW): def __init__(self, log): super(NokiaIronicVirtMediaHW, self).__init__(log) self.remote_share = '/remote_image_share_root/' def attach_virtual_cd(self, image_filename, driver_info, task): """ see ironic_virtmedia_hw.py""" raise NotImplementedError def detach_virtual_cd(self, driver_info, task): """ see ironic_virtmedia_hw.py""" raise NotImplementedError def set_boot_device(self, task): """ see ironic_virtmedia_hw.py""" raise NotImplementedError def get_disk_attachment_status(self, task): """ Get the disk attachment status. :param task: a TaskManager instance. :returns: : 'mounting' if operation is ongoing 'nfserror' if failed 'mounted' if the disk is successfully mounted """ raise NotImplementedError @staticmethod def hex_convert(string_value, padding=False, length=0): hex_value = '0x' hex_value += ' 0x'.join(x.encode('hex') for x in string_value) if padding and (len(string_value)