2015-09-11 16:08:45 +02:00
|
|
|
#
|
|
|
|
# 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 os
|
|
|
|
|
2015-09-25 14:44:02 +02:00
|
|
|
from dracclient.resources import uris
|
|
|
|
|
2015-09-11 16:08:45 +02:00
|
|
|
FAKE_ENDPOINT = {
|
|
|
|
'host': '1.2.3.4',
|
|
|
|
'port': '443',
|
|
|
|
'path': '/wsman',
|
|
|
|
'protocol': 'https',
|
|
|
|
'username': 'admin',
|
|
|
|
'password': 's3cr3t'
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
def load_wsman_xml(name):
|
|
|
|
"""Helper function to load a WSMan XML response from a file."""
|
|
|
|
|
|
|
|
with open(os.path.join(os.path.dirname(__file__), 'wsman_mocks',
|
2016-09-18 16:43:59 -07:00
|
|
|
'%s.xml' % name), 'r') as f:
|
2015-09-11 16:08:45 +02:00
|
|
|
xml_body = f.read()
|
|
|
|
|
|
|
|
return xml_body
|
|
|
|
|
2018-07-11 13:38:55 -04:00
|
|
|
|
2015-09-11 16:08:45 +02:00
|
|
|
WSManEnumerations = {
|
|
|
|
'context': [
|
|
|
|
load_wsman_xml('wsman-enum_context-1'),
|
|
|
|
load_wsman_xml('wsman-enum_context-2'),
|
|
|
|
load_wsman_xml('wsman-enum_context-3'),
|
|
|
|
load_wsman_xml('wsman-enum_context-4'),
|
|
|
|
]
|
|
|
|
}
|
2015-09-25 14:44:02 +02:00
|
|
|
|
|
|
|
BIOSEnumerations = {
|
2015-10-15 15:43:02 +02:00
|
|
|
uris.DCIM_BIOSEnumeration: {
|
|
|
|
'ok': load_wsman_xml('bios_enumeration-enum-ok')
|
|
|
|
},
|
|
|
|
uris.DCIM_BIOSInteger: {
|
|
|
|
'mutable': load_wsman_xml('bios_integer-enum-mutable'),
|
|
|
|
'ok': load_wsman_xml('bios_integer-enum-ok')
|
|
|
|
},
|
|
|
|
uris.DCIM_BIOSString: {
|
|
|
|
'colliding': load_wsman_xml('bios_string-enum-colliding'),
|
|
|
|
'ok': load_wsman_xml('bios_string-enum-ok'),
|
|
|
|
'regexp': load_wsman_xml('bios_string-enum-regexp')
|
2015-09-25 14:44:02 +02:00
|
|
|
},
|
2015-10-05 14:37:55 +02:00
|
|
|
uris.DCIM_BootConfigSetting: {
|
|
|
|
'ok': load_wsman_xml('boot_config_setting-enum-ok')
|
|
|
|
},
|
|
|
|
uris.DCIM_BootSourceSetting: {
|
|
|
|
'ok': load_wsman_xml('boot_source_setting-enum-ok'),
|
|
|
|
'ok-11g': load_wsman_xml('boot_source_setting-enum-ok-11g')
|
2015-10-15 15:43:02 +02:00
|
|
|
},
|
|
|
|
uris.DCIM_ComputerSystem: {
|
|
|
|
'ok': load_wsman_xml('computer_system-enum-ok')
|
|
|
|
},
|
2015-09-25 14:44:02 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
BIOSInvocations = {
|
|
|
|
uris.DCIM_ComputerSystem: {
|
|
|
|
'RequestStateChange': {
|
|
|
|
'ok': load_wsman_xml(
|
|
|
|
'computer_system-invoke-request_state_change-ok'),
|
|
|
|
'error': load_wsman_xml(
|
|
|
|
'computer_system-invoke-request_state_change-error'),
|
|
|
|
},
|
|
|
|
},
|
2015-10-15 15:43:02 +02:00
|
|
|
uris.DCIM_BIOSService: {
|
|
|
|
'SetAttributes': {
|
|
|
|
'ok': load_wsman_xml(
|
|
|
|
'bios_service-invoke-set_attributes-ok'),
|
|
|
|
'error': load_wsman_xml(
|
|
|
|
'bios_service-invoke-set_attributes-error'),
|
|
|
|
}
|
|
|
|
},
|
2015-10-05 14:37:55 +02:00
|
|
|
uris.DCIM_BootConfigSetting: {
|
|
|
|
'ChangeBootOrderByInstanceID': {
|
|
|
|
'ok': load_wsman_xml(
|
|
|
|
'boot_config_setting-invoke-change_boot_order_by_instance_id-'
|
|
|
|
'ok'),
|
|
|
|
'error': load_wsman_xml(
|
|
|
|
'boot_config_setting-invoke-change_boot_order_by_instance_id-'
|
|
|
|
'error'),
|
|
|
|
}
|
|
|
|
}
|
2015-09-25 14:44:02 +02:00
|
|
|
}
|
2015-10-02 15:47:07 +02:00
|
|
|
|
2016-07-11 19:24:20 +02:00
|
|
|
InventoryEnumerations = {
|
2016-03-12 11:43:51 -05:00
|
|
|
uris.DCIM_CPUView: {
|
2016-07-12 11:51:40 +02:00
|
|
|
'ok': load_wsman_xml('cpu_view-enum-ok'),
|
2016-11-07 15:36:04 +01:00
|
|
|
'missing_flags': load_wsman_xml('cpu_view-enum-missing_flags'),
|
|
|
|
'empty_flag': load_wsman_xml('cpu_view-enum-empty_flag'),
|
2016-07-11 19:24:20 +02:00
|
|
|
},
|
|
|
|
uris.DCIM_MemoryView: {
|
2016-07-12 11:51:40 +02:00
|
|
|
'ok': load_wsman_xml('memory_view-enum-ok')
|
2016-07-11 19:24:20 +02:00
|
|
|
},
|
|
|
|
uris.DCIM_NICView: {
|
|
|
|
'ok': load_wsman_xml('nic_view-enum-ok')
|
2020-09-08 09:34:00 -04:00
|
|
|
},
|
|
|
|
uris.DCIM_VideoView: {
|
|
|
|
'ok': load_wsman_xml('video_view-enum-ok'),
|
2016-03-12 11:43:51 -05:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2015-10-02 15:47:07 +02:00
|
|
|
JobEnumerations = {
|
|
|
|
uris.DCIM_LifecycleJob: {
|
|
|
|
'ok': load_wsman_xml('lifecycle_job-enum-ok'),
|
|
|
|
'not_found': load_wsman_xml('lifecycle_job-enum-not_found'),
|
|
|
|
},
|
|
|
|
}
|
|
|
|
|
|
|
|
JobInvocations = {
|
|
|
|
uris.DCIM_BIOSService: {
|
|
|
|
'CreateTargetedConfigJob': {
|
|
|
|
'ok': load_wsman_xml(
|
|
|
|
'bios_service-invoke-create_targeted_config_job-ok'),
|
|
|
|
'error': load_wsman_xml(
|
|
|
|
'bios_service-invoke-create_targeted_config_job-error'),
|
|
|
|
},
|
|
|
|
'DeletePendingConfiguration': {
|
|
|
|
'ok': load_wsman_xml(
|
|
|
|
'bios_service-invoke-delete_pending_configuration-ok'),
|
|
|
|
'error': load_wsman_xml(
|
|
|
|
'bios_service-invoke-delete_pending_configuration-error'),
|
|
|
|
},
|
2019-05-29 03:03:05 -04:00
|
|
|
},
|
|
|
|
uris.DCIM_LCService: {
|
|
|
|
'CreateConfigJob': {
|
|
|
|
'ok': load_wsman_xml(
|
|
|
|
'lc_service-invoke-create_config_job-ok'),
|
|
|
|
'error': load_wsman_xml(
|
|
|
|
'lc_service-invoke-create_config_job-error'),
|
|
|
|
},
|
2015-10-02 15:47:07 +02:00
|
|
|
}
|
|
|
|
}
|
2015-10-05 14:37:55 +02:00
|
|
|
|
2018-07-11 13:38:55 -04:00
|
|
|
JobService = {
|
|
|
|
uris.DCIM_JobService: {
|
|
|
|
'DeleteJobQueue': {
|
|
|
|
'ok': load_wsman_xml(
|
|
|
|
'job_service-delete-job-id-ok'),
|
|
|
|
'error': load_wsman_xml(
|
|
|
|
'job_service-delete-job-id-error'),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2016-08-31 12:56:49 -07:00
|
|
|
iDracCardEnumerations = {
|
|
|
|
uris.DCIM_iDRACCardEnumeration: {
|
|
|
|
'ok': load_wsman_xml('idraccard_enumeration-enum-ok')
|
|
|
|
},
|
|
|
|
uris.DCIM_iDRACCardString: {
|
|
|
|
'ok': load_wsman_xml('idraccard_string-enum-ok')
|
|
|
|
},
|
|
|
|
uris.DCIM_iDRACCardInteger: {
|
|
|
|
'ok': load_wsman_xml('idraccard_integer-enum-ok')
|
|
|
|
},
|
|
|
|
}
|
|
|
|
|
2017-11-17 15:41:29 -05:00
|
|
|
iDracCardInvocations = {
|
|
|
|
uris.DCIM_iDRACCardService: {
|
|
|
|
'SetAttributes': {
|
|
|
|
'ok': load_wsman_xml(
|
|
|
|
'idrac_service-invoke-set_attributes-ok')
|
2018-07-03 15:19:28 -04:00
|
|
|
},
|
|
|
|
'iDRACReset': {
|
|
|
|
'ok': load_wsman_xml(
|
|
|
|
'idrac_service-reset-ok'),
|
|
|
|
'error': load_wsman_xml(
|
|
|
|
'idrac_service-reset-error')
|
2017-11-17 15:41:29 -05:00
|
|
|
}
|
2018-07-03 15:19:28 -04:00
|
|
|
|
2017-11-17 15:41:29 -05:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2015-10-05 14:37:55 +02:00
|
|
|
LifecycleControllerEnumerations = {
|
|
|
|
uris.DCIM_SystemView: {
|
|
|
|
'ok': load_wsman_xml('system_view-enum-ok')
|
|
|
|
},
|
2016-08-31 12:56:49 -07:00
|
|
|
uris.DCIM_LCEnumeration: {
|
|
|
|
'ok': load_wsman_xml('lc_enumeration-enum-ok')
|
|
|
|
},
|
|
|
|
uris.DCIM_LCString: {
|
|
|
|
'ok': load_wsman_xml('lc_string-enum-ok')
|
|
|
|
}
|
2015-10-05 14:37:55 +02:00
|
|
|
}
|
2015-12-07 16:20:24 +01:00
|
|
|
|
2017-05-19 14:05:50 -04:00
|
|
|
LifecycleControllerInvocations = {
|
|
|
|
uris.DCIM_LCService: {
|
|
|
|
'GetRemoteServicesAPIStatus': {
|
|
|
|
'is_ready': load_wsman_xml('lc_getremoteservicesapistatus_ready'),
|
|
|
|
'is_not_ready': load_wsman_xml(
|
2019-05-29 03:03:05 -04:00
|
|
|
'lc_getremoteservicesapistatus_not_ready'),
|
|
|
|
'is_recovery': load_wsman_xml(
|
|
|
|
'lc_getremoteservicesapistatus_recovery'),
|
|
|
|
},
|
|
|
|
'SetAttributes': {
|
|
|
|
'ok': load_wsman_xml(
|
|
|
|
'lc_service-invoke-set_attributes-ok'),
|
|
|
|
'error': load_wsman_xml(
|
|
|
|
'lc_service-invoke-set_attributes-error'),
|
2017-05-19 14:05:50 -04:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-07-27 15:48:07 -04:00
|
|
|
NICEnumerations = {
|
|
|
|
uris.DCIM_NICEnumeration: {
|
|
|
|
'ok': load_wsman_xml('nic_enumeration-enum-ok'),
|
|
|
|
},
|
|
|
|
uris.DCIM_NICString: {
|
|
|
|
'ok': load_wsman_xml('nic_string-enum-ok'),
|
|
|
|
# this duplicates the LinkStatus from nic_enumeration-enum-ok
|
|
|
|
'colliding': load_wsman_xml('nic_string-enum-colliding'),
|
|
|
|
},
|
|
|
|
uris.DCIM_NICInteger: {
|
|
|
|
'ok': load_wsman_xml('nic_integer-enum-ok')
|
|
|
|
},
|
|
|
|
}
|
|
|
|
|
|
|
|
NICInvocations = {
|
|
|
|
uris.DCIM_NICService: {
|
|
|
|
'SetAttributes': {
|
|
|
|
'ok': load_wsman_xml(
|
|
|
|
'nic_service-invoke-set_attributes-ok'),
|
|
|
|
'error': load_wsman_xml(
|
|
|
|
'nic_service-invoke-set_attributes-error'),
|
|
|
|
}
|
|
|
|
},
|
|
|
|
}
|
|
|
|
|
2015-12-07 16:20:24 +01:00
|
|
|
RAIDEnumerations = {
|
|
|
|
uris.DCIM_ControllerView: {
|
|
|
|
'ok': load_wsman_xml('controller_view-enum-ok')
|
|
|
|
},
|
|
|
|
uris.DCIM_PhysicalDiskView: {
|
|
|
|
'ok': load_wsman_xml('physical_disk_view-enum-ok')
|
|
|
|
},
|
|
|
|
uris.DCIM_VirtualDiskView: {
|
2020-01-29 01:25:16 -05:00
|
|
|
'Raid_Status_ok': load_wsman_xml(
|
|
|
|
'virtual_disk_view-enum-with-raid-status-ok'),
|
2015-12-07 16:20:24 +01:00
|
|
|
'ok': load_wsman_xml('virtual_disk_view-enum-ok')
|
2020-03-26 07:25:30 -04:00
|
|
|
},
|
|
|
|
uris.DCIM_RAIDEnumeration: {
|
|
|
|
'ok': load_wsman_xml('raid_enumeration-enum-ok')
|
|
|
|
},
|
|
|
|
uris.DCIM_RAIDString: {
|
|
|
|
'ok': load_wsman_xml('raid_string-enum-ok')
|
|
|
|
},
|
|
|
|
uris.DCIM_RAIDInteger: {
|
|
|
|
'ok': load_wsman_xml('raid_integer-enum-ok')
|
2015-12-07 16:20:24 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
RAIDInvocations = {
|
|
|
|
uris.DCIM_RAIDService: {
|
|
|
|
'CreateVirtualDisk': {
|
|
|
|
'ok': load_wsman_xml(
|
|
|
|
'raid_service-invoke-create_virtual_disk-ok'),
|
|
|
|
'error': load_wsman_xml(
|
|
|
|
'raid_service-invoke-create_virtual_disk-error'),
|
|
|
|
},
|
|
|
|
'DeleteVirtualDisk': {
|
|
|
|
'ok': load_wsman_xml(
|
|
|
|
'raid_service-invoke-delete_virtual_disk-ok'),
|
|
|
|
'error': load_wsman_xml(
|
|
|
|
'raid_service-invoke-delete_virtual_disk-error'),
|
2016-06-02 08:51:01 +01:00
|
|
|
},
|
|
|
|
'ConvertToRAID': {
|
|
|
|
'ok': load_wsman_xml(
|
|
|
|
'raid_service-invoke-convert_physical_disks-ok'),
|
|
|
|
'error': load_wsman_xml(
|
|
|
|
'raid_service-invoke-convert_physical_disks-error'),
|
2019-04-10 12:20:38 -04:00
|
|
|
},
|
|
|
|
'ResetConfig': {
|
|
|
|
'ok': load_wsman_xml(
|
|
|
|
'raid_service-invoke-reset_raid_config-ok'),
|
|
|
|
'error': load_wsman_xml(
|
|
|
|
'raid_service-invoke-reset_raid_config-error'),
|
|
|
|
},
|
|
|
|
'ClearForeignConfig': {
|
|
|
|
'ok': load_wsman_xml(
|
|
|
|
'raid_service-invoke-clear_foreign_config-ok'),
|
2019-04-24 02:58:59 -04:00
|
|
|
'no_foreign_drive': load_wsman_xml(
|
|
|
|
'raid_service-invoke-clear_foreign_config-no_foreign_drive'),
|
|
|
|
'invalid_controller_id': load_wsman_xml(
|
|
|
|
'raid_service-invoke-clear_foreign_config-invalid_controller'),
|
2019-09-12 05:04:09 -04:00
|
|
|
'foreign_drive_operation_not_supported': load_wsman_xml(
|
|
|
|
'raid_service-invoke-clear_foreign_config-not_supported'),
|
2020-03-26 07:25:30 -04:00
|
|
|
},
|
|
|
|
'SetAttributes': {
|
|
|
|
'ok': load_wsman_xml(
|
|
|
|
'raid_service-invoke-set_attributes-ok'),
|
|
|
|
'error': load_wsman_xml(
|
|
|
|
'raid_service-invoke-set_attributes-error'),
|
2015-12-07 16:20:24 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2016-09-18 16:43:59 -07:00
|
|
|
|
|
|
|
SystemEnumerations = {
|
|
|
|
uris.DCIM_SystemEnumeration: {
|
|
|
|
'ok': load_wsman_xml('system_enumeration-enum-ok'),
|
|
|
|
},
|
|
|
|
uris.DCIM_SystemString: {
|
|
|
|
'ok': load_wsman_xml('system_string-enum-ok'),
|
|
|
|
},
|
|
|
|
uris.DCIM_SystemInteger: {
|
|
|
|
'ok': load_wsman_xml('system_integer-enum-ok'),
|
|
|
|
}
|
|
|
|
}
|