You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
2.5 KiB
90 lines
2.5 KiB
# |
|
# 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. |
|
|
|
# iDRAC is ready retry constants |
|
DEFAULT_IDRAC_IS_READY_RETRIES = 96 |
|
DEFAULT_IDRAC_IS_READY_RETRY_DELAY_SEC = 10 |
|
|
|
# Web Services Management (WS-Management and WS-Man) SSL retry on error |
|
# behavior constants |
|
DEFAULT_WSMAN_SSL_ERROR_RETRIES = 3 |
|
DEFAULT_WSMAN_SSL_ERROR_RETRY_DELAY_SEC = 0 |
|
|
|
NOT_SUPPORTED_MSG = " operation is not supported on th" |
|
|
|
# power states |
|
POWER_ON = 'POWER_ON' |
|
POWER_OFF = 'POWER_OFF' |
|
REBOOT = 'REBOOT' |
|
|
|
PRIMARY_STATUS = { |
|
'0': 'unknown', |
|
'1': 'ok', |
|
'2': 'degraded', |
|
'3': 'error' |
|
} |
|
|
|
# binary unit constants |
|
UNITS_KI = 2 ** 10 |
|
|
|
|
|
# Reboot required indicator |
|
# Note: When the iDRAC returns optional for this value, this indicates that |
|
# either a reboot may be performed to complete the operation or a real time |
|
# config job may be created to complete the operation without performing a |
|
# reboot. This library does not currently support creating a real time config |
|
# job, so a reboot must be performed when a value of "optional" is returned. |
|
class RebootRequired(object): |
|
true = 'true' |
|
optional = 'optional' |
|
false = 'false' |
|
|
|
@classmethod |
|
def all(cls): |
|
return [cls.true, cls.optional, cls.false] |
|
|
|
|
|
class RebootJobType(object): |
|
"""Enumeration of different reboot job types.""" |
|
|
|
power_cycle = 'power_cycle' |
|
"""Hard power off, power on cycle""" |
|
|
|
graceful_reboot = 'graceful_reboot' |
|
"""OS level reboot and wait for OS shutdown""" |
|
|
|
reboot_forced_shutdown = 'reboot_forced_shutdown' |
|
"""OS level reboot and force power cycle if OS does not shut |
|
down |
|
""" |
|
|
|
@classmethod |
|
def all(cls): |
|
return [cls.power_cycle, |
|
cls.graceful_reboot, |
|
cls.reboot_forced_shutdown] |
|
|
|
|
|
class RaidStatus(object): |
|
"""Enumeration of different volume types.""" |
|
|
|
jbod = 'JBOD' |
|
"""Just a Bunch of Disks""" |
|
|
|
raid = 'RAID' |
|
"""Redundant Array of Independent Disks""" |
|
|
|
@classmethod |
|
def all(cls): |
|
return [cls.jbod, |
|
cls.raid]
|
|
|