Exemple #1
0
 def test_parse_driver_info_drac_host_and_drac_address(self, mock_log):
     driver_info = db_utils.get_test_drac_info()
     driver_info['drac_host'] = '4.5.6.7'
     node = obj_utils.create_test_node(self.context,
                                       driver='idrac',
                                       driver_info=driver_info)
     info = drac_common.parse_driver_info(node)
     self.assertEqual('4.5.6.7', driver_info['drac_host'])
     self.assertEqual(driver_info['drac_address'], info['drac_address'])
     self.assertTrue(mock_log.called)
Exemple #2
0
 def test_parse_driver_info_drac_host_and_drac_address(self, mock_log):
     driver_info = db_utils.get_test_drac_info()
     driver_info['drac_host'] = '4.5.6.7'
     node = obj_utils.create_test_node(self.context,
                                       driver='fake_drac',
                                       driver_info=driver_info)
     info = drac_common.parse_driver_info(node)
     self.assertEqual('4.5.6.7', driver_info['drac_host'])
     self.assertEqual(driver_info['drac_address'], info['drac_address'])
     self.assertTrue(mock_log.called)
Exemple #3
0
"""

import time
from xml.etree import ElementTree

import mock

from ironic.common import exception
from ironic.drivers.modules.drac import client as drac_client
from ironic.tests import base
from ironic.tests.unit.db import utils as db_utils
from ironic.tests.unit.drivers.modules.drac import utils as test_utils
from ironic.tests.unit.drivers import third_party_driver_mock_specs \
    as mock_specs

INFO_DICT = db_utils.get_test_drac_info()


@mock.patch.object(drac_client, 'pywsman', spec_set=mock_specs.PYWSMAN_SPEC)
class DracClientTestCase(base.TestCase):

    def setUp(self):
        super(DracClientTestCase, self).setUp()
        self.resource_uri = 'http://foo/wsman'

    def test_wsman_enumerate(self, mock_client_pywsman):
        mock_xml = test_utils.mock_wsman_root('<test></test>')
        mock_pywsman_client = mock_client_pywsman.Client.return_value
        mock_pywsman_client.enumerate.return_value = mock_xml

        client = drac_client.Client(**INFO_DICT)
Exemple #4
0
#         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 collections

from oslo_utils import importutils

from ironic.tests.unit.db import base as db_base
from ironic.tests.unit.db import utils as db_utils

INFO_DICT = db_utils.get_test_drac_info()

dracclient_job = importutils.try_import('dracclient.resources.job')
dracclient_raid = importutils.try_import('dracclient.resources.raid')


class BaseDracTest(db_base.DbTestCase):
    def setUp(self):
        super(BaseDracTest, self).setUp()
        self.config(
            enabled_hardware_types=['idrac', 'fake-hardware'],
            enabled_boot_interfaces=['idrac-redfish-virtual-media', 'fake'],
            enabled_power_interfaces=['idrac-wsman', 'fake'],
            enabled_management_interfaces=['idrac-wsman', 'fake'],
            enabled_inspect_interfaces=['idrac-wsman', 'fake', 'no-inspect'],
            enabled_vendor_interfaces=['idrac-wsman', 'fake', 'no-vendor'],
Exemple #5
0
from ironic.common import exception
from ironic.conductor import task_manager
from ironic.drivers.modules.drac import bios
from ironic.drivers.modules.drac import client as drac_client
from ironic.drivers.modules.drac import management as drac_mgmt
from ironic.drivers.modules.drac import resource_uris
from ironic.tests.unit.conductor import utils as mgr_utils
from ironic.tests.unit.db import base as db_base
from ironic.tests.unit.db import utils as db_utils
from ironic.tests.unit.drivers.modules.drac import bios_wsman_mock
from ironic.tests.unit.drivers.modules.drac import utils as test_utils
from ironic.tests.unit.objects import utils as obj_utils
from six.moves.urllib.parse import unquote

FAKE_DRAC = db_utils.get_test_drac_info()


def _base_config(responses=[]):
    for resource in [resource_uris.DCIM_BIOSEnumeration,
                     resource_uris.DCIM_BIOSString,
                     resource_uris.DCIM_BIOSInteger]:
        xml_root = test_utils.mock_wsman_root(
            bios_wsman_mock.Enumerations[resource]['XML'])
        responses.append(xml_root)
    return responses


def _set_config(responses=[]):
    ccj_xml = test_utils.build_soap_xml([{'DCIM_LifecycleJob':
                                          {'Name': 'fake'}}],
Exemple #6
0
from ironic.common import exception
from ironic.conductor import task_manager
from ironic.drivers.modules.drac import bios
from ironic.drivers.modules.drac import client as drac_client
from ironic.drivers.modules.drac import management as drac_mgmt
from ironic.drivers.modules.drac import resource_uris
from ironic.tests.unit.conductor import utils as mgr_utils
from ironic.tests.unit.db import base as db_base
from ironic.tests.unit.db import utils as db_utils
from ironic.tests.unit.drivers.modules.drac import bios_wsman_mock
from ironic.tests.unit.drivers.modules.drac import utils as test_utils
from ironic.tests.unit.objects import utils as obj_utils
from six.moves.urllib.parse import unquote

FAKE_DRAC = db_utils.get_test_drac_info()


def _base_config(responses=[]):
    for resource in [
            resource_uris.DCIM_BIOSEnumeration, resource_uris.DCIM_BIOSString,
            resource_uris.DCIM_BIOSInteger
    ]:
        xml_root = test_utils.mock_wsman_root(
            bios_wsman_mock.Enumerations[resource]['XML'])
        responses.append(xml_root)
    return responses


def _set_config(responses=[]):
    ccj_xml = test_utils.build_soap_xml([{