Spec-Zone.ru › Ansible 2.10

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

Примечание

Этот плагин входит в коллекцию community.general (версия 1.3.2).

Для его установки используйте: ansible-galaxy collection install community.general.

Чтобы использовать его в плейбуке, укажите: community.general.imc_rest.

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

Описание

  • Обеспечивает прямой доступ к 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.
Это может быть удобно для шаблонизации простых запросов, для сложных запросов используйте модуль ansible.builtin.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 не требуется cookie аутентификации, это автоматически вставляется модулем.
  • Выходные данные Cisco IMC в формате XML преобразуются в 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
  community.general.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
  community.general.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
  community.general.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
  community.general.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
  community.general.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
  community.general.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


Авторы

  • 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.10/collections/community/general/imc_rest_module.html

Spec-Zone.ru

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