Spec-Zone.ru › Ansible 2.6

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

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

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

Обзор

  • Предоставляет прямой доступ к REST API Cisco IMC.
  • Выполняет любые изменения конфигурации и действия, поддерживаемые Cisco IMC.
  • Дополнительная информация о REST API 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 По умолчанию:
"пароль"
Пароль для аутентификации.
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 По умолчанию:
"админ"
Имя пользователя для входа на коммутатор.

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

Примечания

Примечание

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

Пример:
"attributes": { "cookie": "", "outCookie": "1498902428/9de6dc36-417c-157c-106c-139efe2dc02a", "outPriv": "админ", "outRefreshPeriod": "600", "outSessionId": "114", "outVersion": "2.0(13e)", "response": "да" }
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: Элемент 'computeRackUnit', атрибут 'admin_Power': Атрибут 'admin_Power' не разрешен. ", "invocationResult": "594", "response": "да" }
error_code
строка
ошибка
Код ошибки Cisco IMC

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

Пример:
ОШИБКА РАЗБОРА XML: Элемент 'computeRackUnit', атрибут 'admin_Power': Атрибут 'admin_Power' не разрешен.
input
строка
ошибка
НЕОБРАБОТАННЫЙ входной XML, вызвавший ошибку

Пример:
<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: Элемент 'computeRackUnit', атрибут 'admin_Power': Атрибут 'admin_Power' не разрешен.\n"/>
response
строка
всегда
HTTP-сообщение ответа, включая длину содержимого

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

Пример:
200


Статус

Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется обратной совместимостью.

Техническое обслуживание

Этот модуль помечен как сообщество, что означает, что его поддерживает сообщество Ansible. Подробнее см. в разделе Техническое обслуживание и поддержка модулей.

Список других модулей, поддерживаемых сообществом Ansible, см. здесь.

Автор

  • Dag Wieers (@dagwieers)

Подсказка

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

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

Spec-Zone.ru

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