Spec-Zone.ru › Ansible 2.9

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

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

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

Обзор

  • Обеспечивает прямой доступ к REST API Cisco IMC.
  • Выполняет любые изменения конфигурации и действия, поддерживаемые Cisco IMC.
  • Дополнительную информацию об API IMC REST можно найти по адресу 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
-
По умолчанию:
"пароль"
Пароль для аутентификации.
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 не требуется куки аутентификации, они автоматически вводятся модулем.
  • Выходные данные XML Cisco IMC преобразуются в JSON с использованием соглашения Cobra.
  • Любое изменение, запрашиваемое в configConfMo, имеет статус «изменено», даже если фактических изменений по сравнению с предыдущей конфигурацией не было. В результате этот модуль всегда будет сообщать об изменениях при последующих запусках. В случае исправления этого поведения в будущих обновлениях Cisco IMC, этот модуль автоматически адаптируется.
  • Если вы получаете Connection failure в связи с The read operation timed out, увеличьте параметр timeout. Некоторые фрагменты XML могут занимать больше времени, чем значение таймаута по умолчанию.
  • Дополнительную информацию об API IMC REST можно найти по адресу 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
словарь
успех
Вывод XML Cisco IMC для входа, преобразованный в JSON с использованием соглашения Cobra

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

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

Пример:
31
error
словарь
неудача
Ошибка XML Cisco IMC для последнего запроса, преобразованная в 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.9/modules/imc_rest_module.html

Spec-Zone.ru

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