Spec-Zone.ru › Ansible 2.5

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 По умолчанию:
admin
Имя пользователя для входа на коммутатор.

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

Примечания

Примечание

  • Фрагментам XML не требуется куки аутентификации, это автоматически встраивается модулем.
  • Выход 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
словарь
успех
Выход 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 для фрагментов XML configConfMo, преобразованный в JSON с использованием соглашения Cobra

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

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

Пример:
"attributes": { "cookie": "", "errorCode": "ERR-xml-parse-error", "errorDescr": "Ошибка разбора XML: Элемент 'computeRackUnit', атрибут 'admin_Power': Атрибут 'admin_Power' не разрешен. ", "invocationResult": "594", "response": "yes" }
error_code
строка
неудачно
Код ошибки Cisco IMC

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

Пример:
Ошибка разбора XML: Элемент 'computeRackUnit', атрибут 'admin_Power': Атрибут 'admin_Power' не разрешен.
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


Статус

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

Автор

  • 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.5/modules/imc_rest_module.html

Spec-Zone.ru

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