Spec-Zone.ru › Ansible 2.11

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

Примечание

Этот плагин является частью коллекции community.general (версия 2.0.1).

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


Авторы

  • Dag Wieers (@dagwieers)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/general/imc_rest_module.html

Spec-Zone.ru

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