Spec-Zone.ru › Ansible 2.8

imc_rest – Управление оборудованием Cisco IMC через его REST API

Новое в версии 2.4.

  • Описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус

Описание

  • Предоставляет прямой доступ к REST API Cisco IMC.
  • Выполняет любые изменения конфигурации и действия, поддерживаемые Cisco IMC.
  • Дополнительную информацию об API REST IMC можно найти по адресу http://www.cisco.com/c/en/us/td/docs/unified_computing/ucs/c/sw/api/3_0/b_Cisco_IMC_api_301.html

Требования

Ниже перечислены требования к хосту, на котором выполняется этот модуль.

  • lxml
  • xmljson >= 0.1.8

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
content
-
При использовании вместо path, напрямую задаёт содержимое запросов API.
Это может быть удобно для шаблонизации простых запросов, для сложных запросов используйте модуль template.
Можно объединять несколько фрагментов XML IMC, и они будут обрабатываться последовательно в одном потоке, выходные данные Cisco IMC впоследствии будут объединены.
Параметр content является взаимоисключающим с параметром path.
hostname
- / обязательно
IP-адрес или имя хоста Cisco IMC, разрешимое контрольным хостом Ansible.

псевдонимы: host, ip
password
-
Значение по умолчанию:
"password"
Пароль для аутентификации.
path
-
Имя абсолютного пути к файлу, содержащему тело HTTP-запроса, отправляемого REST API Cisco IMC.
Параметр path является взаимоисключающим с параметром content.

псевдонимы: src, config_file
protocol
-
    Варианты:
  • http
  • https ←
Протокол подключения.
timeout
-
Значение по умолчанию:
60
Таймаут уровня сокета в секундах.
Это время, которое может занять каждое отдельное подключение (каждый фрагмент). Если этот timeout будет достигнут, модуль завершится с Connection failure, указывающим, что The read operation timed out.
username
-
Значение по умолчанию:
"admin"
Имя пользователя для входа на коммутатор.

псевдонимы: user
validate_certs
boolean
    Варианты:
  • no
  • yes ←
Если no, сертификаты SSL не будут проверены.
Это следует устанавливать только в no, используемом на контролируемых лично сайтах с самозаверяющими сертификатами.

Примечания

Примечание

  • Фрагменты XML не нуждаются в cookie аутентификации, это автоматически встраивается модулем.
  • XML-выходные данные Cisco IMC переводятся в JSON с использованием соглашения Cobra.
  • Любое изменение запрошенное configConfMo имеет статус «изменено», даже если фактических изменений по сравнению с предыдущей конфигурацией не было. В результате, этот модуль всегда будет сообщать об изменениях в последующих запусках. В случае, если такое поведение будет исправлено в будущих обновлениях Cisco IMC, этот модуль автоматически адаптируется.
  • Если вы получите Connection failure в связи с The read operation timed out, увеличьте параметр timeout. Некоторые фрагменты XML могут занимать больше времени, чем значение таймаута по умолчанию.
  • Дополнительную информацию об API REST IMC можно найти по адресу http://www.cisco.com/c/en/us/td/docs/unified_computing/ucs/c/sw/api/3_0/b_Cisco_IMC_api_301.html

Примеры

- name: Power down server
  imc_rest:
    hostname: '{{ imc_hostname }}'
    username: '{{ imc_username }}'
    password: '{{ imc_password }}'
    validate_certs: no
    content: |
      <configConfMo><inConfig>
        <computeRackUnit dn="sys/rack-unit-1" adminPower="down"/>
      </inConfig></configConfMo>
  delegate_to: localhost

- name: Configure IMC using multiple XML fragments
  imc_rest:
    hostname: '{{ imc_hostname }}'
    username: '{{ imc_username }}'
    password: '{{ imc_password }}'
    validate_certs: no
    timeout: 120
    content: |
      <!-- Configure Serial-on-LAN -->
      <configConfMo><inConfig>
        <solIf dn="sys/rack-unit-1/sol-if" adminState="enable" speed=="115200" comport="com0"/>
      </inConfig></configConfMo>

      <!-- Configure Console Redirection -->
      <configConfMo><inConfig>
        <biosVfConsoleRedirection dn="sys/rack-unit-1/bios/bios-settings/Console-redirection"
          vpBaudRate="115200"
          vpConsoleRedirection="com-0"
          vpFlowControl="none"
          vpTerminalType="vt100"
          vpPuttyKeyPad="LINUX"
          vpRedirectionAfterPOST="Always Enable"/>
      </inConfig></configConfMo>
  delegate_to: localhost

- name: Enable PXE boot and power-cycle server
  imc_rest:
    hostname: '{{ imc_hostname }}'
    username: '{{ imc_username }}'
    password: '{{ imc_password }}'
    validate_certs: no
    content: |
      <!-- Configure PXE boot -->
      <configConfMo><inConfig>
        <lsbootLan dn="sys/rack-unit-1/boot-policy/lan-read-only" access="read-only" order="1" prot="pxe" type="lan"/>
      </inConfig></configConfMo>

      <!-- Power cycle server -->
      <configConfMo><inConfig>
        <computeRackUnit dn="sys/rack-unit-1" adminPower="cycle-immediate"/>
      </inConfig></configConfMo>
  delegate_to: localhost

- name: Reconfigure IMC to boot from storage
  imc_rest:
    hostname: '{{ imc_host }}'
    username: '{{ imc_username }}'
    password: '{{ imc_password }}'
    validate_certs: no
    content: |
      <configConfMo><inConfig>
        <lsbootStorage dn="sys/rack-unit-1/boot-policy/storage-read-write" access="read-write" order="1" type="storage"/>
      </inConfig></configConfMo>
  delegate_to: localhost

- name: Add customer description to server
  imc_rest:
    hostname: '{{ imc_host }}'
    username: '{{ imc_username }}'
    password: '{{ imc_password }}'
    validate_certs: no
    content: |
        <configConfMo><inConfig>
          <computeRackUnit dn="sys/rack-unit-1" usrLbl="Customer Lab - POD{{ pod_id }} - {{ inventory_hostname_short }}"/>
        </inConfig></configConfMo>
    delegate_to: localhost

- name: Disable HTTP and increase session timeout to max value 10800 secs
  imc_rest:
    hostname: '{{ imc_host }}'
    username: '{{ imc_username }}'
    password: '{{ imc_password }}'
    validate_certs: no
    timeout: 120
    content: |
        <configConfMo><inConfig>
          <commHttp dn="sys/svc-ext/http-svc" adminState="disabled"/>
        </inConfig></configConfMo>

        <configConfMo><inConfig>
          <commHttps dn="sys/svc-ext/https-svc" adminState="enabled" sessionTimeout="10800"/>
        </inConfig></configConfMo>
    delegate_to: localhost

Возвращаемые значения

Общие возвращаемые значения описаны в этом месте, следующие поля уникальны для этого модуля:

Ключ Возвращается при Описание
aaLogin
словарь
успехе
Выходные данные Cisco IMC XML для входа, переведённые в JSON с использованием соглашения Cobra

Пример:
"attributes": { "cookie": "", "outCookie": "1498902428/9de6dc36-417c-157c-106c-139efe2dc02a", "outPriv": "admin", "outRefreshPeriod": "600", "outSessionId": "114", "outVersion": "2.0(13e)", "response": "yes" }
configConfMo
словарь
успехе
Выходные данные Cisco IMC XML для любых фрагментов configConfMo, переведённые в JSON с использованием соглашения Cobra

elapsed
целое число
всегда
Время выполнения в секундах

Пример:
31
error
словарь
при ошибке
Выходные данные Cisco IMC XML с ошибкой для последнего запроса, переведённые в JSON с использованием соглашения Cobra

Пример:
"attributes": { "cookie": "", "errorCode": "ERR-xml-parse-error", "errorDescr": "XML PARSING ERROR: Element 'computeRackUnit', attribute 'admin_Power': The attribute 'admin_Power' is not allowed. ", "invocationResult": "594", "response": "yes" }
error_code
строка
при ошибке
Код ошибки Cisco IMC

Пример:
ERR-xml-parse-error
error_text
строка
при ошибке
Сообщение об ошибке Cisco IMC

Пример:
XML PARSING ERROR: Element 'computeRackUnit', attribute 'admin_Power': The attribute 'admin_Power' is not allowed.
input
строка
при ошибке
НЕОБРАБОТАННЫЙ XML-вход, отправленный в Cisco IMC, вызвавший ошибку

Пример:
<configConfMo><inConfig><computeRackUnit dn="sys/rack-unit-1" admin_Power="down"/></inConfig></configConfMo>
output
строка
при ошибке
НЕОБРАБОТАННЫЙ XML-выход, полученный от Cisco IMC с подробными сведениями об ошибке

Пример:
<error cookie="" response="yes" errorCode="ERR-xml-parse-error" invocationResult="594" errorDescr="XML PARSING ERROR: Element 'computeRackUnit', attribute 'admin_Power': The attribute 'admin_Power' is not allowed.\n"/>
response
строка
всегда
Сообщение HTTP-ответа, включая длину содержимого

Пример:
OK (729 байт)
status
словарь
всегда
Код состояния HTTP-ответа

Пример:
200


Статус

  • Данный модуль не гарантирует обратную совместимость интерфейса. [превью]
  • Этот модуль поддерживается сообществом Ansible. [community]

Авторы

  • Dag Wieers (@dagwieers)
END_OF_DOCUMENT_MARKER

Подсказка

Если вы заметили какие-либо проблемы в этом руководстве, вы можете отредактировать этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/imc_rest_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API