theforeman.foreman.host – Управление хостами
Примечание
Этот плагин входит в коллекцию theforeman.foreman (версия 1.5.1).
Для его установки используйте: ansible-galaxy collection install theforeman.foreman.
Для использования в книге задач укажите: theforeman.foreman.host.
Новое в версии 1.0.0: модуля theforeman.foreman
Обзор
- Создание, обновление и удаление хостов
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- requests
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| architecture строка | Имя архитектуры | ||
| build булево |
| Устанавливать ли контекст сборки для хоста | |
| comment строка | Комментарий о хосте. | ||
| compute_attributes словарь | Дополнительные атрибуты, специфичные для вычислительных ресурсов. При установке этого параметра модуль не будет идемпотентным. | ||
| compute_profile строка | Имя профиля вычислений | ||
| compute_resource строка | Имя вычислительного ресурса | ||
| config_groups список / элементы=строка | Список групп конфигурации | ||
| content_source строка | Источник контента. Доступно только для установок Katello. | ||
| content_view строка | Представление контента. Доступно только для установок Katello. | ||
| domain строка | Имя домена | ||
| enabled булево |
| Включать ли этот хост в отчеты | |
| environment строка | Имя среды Puppet | ||
| hostgroup строка | Имя связанной группы хостов. | ||
| image строка | Используемый образ при provision_method=image. Параметр compute_resource необходим для поиска правильного образа. | ||
| interfaces_attributes список / элементы=словарь добавлен в 1.5.0 от theforeman.foreman | Дополнительные атрибуты, специфичные для интерфейсов. | ||
| attached_devices список / элементы=строка | Идентификаторы подключенных интерфейсов, например, ['eth1', 'eth2']. Для интерфейсов bond это подчиненные интерфейсы. Только для интерфейсов bond и bridge. | ||
| attached_to строка | Идентификатор интерфейса, к которому принадлежит данный интерфейс, например, eth1. Только для виртуальных интерфейсов. | ||
| bond_options строка | Разделенные пробелами опции, например, miimon=100. Только для интерфейсов bond. | ||
| compute_attributes словарь | Дополнительные атрибуты, специфичные для вычислительного ресурса для интерфейса. При установке этого параметра модуль не будет идемпотентным. | ||
| domain строка | Имя домена Необходимо для первичных интерфейсов на управляемых хостах. | ||
| identifier строка | Идентификатор устройства, например, eth0 или eth1.1 Необходимо установить один из параметров identifier, name или mac, чтобы обновить существующие интерфейсы и сделать выполнение идемпотентным. | ||
| ip строка | IPv4-адрес интерфейса | ||
| ip6 строка | IPv6-адрес интерфейса | ||
| mac строка | MAC-адрес интерфейса. Требуется для управляемых интерфейсов на bare metal-хостах. Пожалуйста, включайте ведущие нули и разделяйте тетрады двоеточием, иначе выполнение не будет идемпотентным. Пример EE:BB:01:02:03:04 Необходимо установить один из параметров identifier, name или mac, чтобы обновить существующие интерфейсы и сделать выполнение идемпотентным. | ||
| managed булево |
| Должен ли этот интерфейс управляться через DHCP и DNS-прокси и настраиваться во время провизионирования? | |
| mode строка |
| Режим bond интерфейса. Только для интерфейсов bond. | |
| mtu целое число | MTU, этот атрибут имеет приоритет над MTU подсети. | ||
| name строка | DNS-имя интерфейса Необходимо установить один из параметров identifier, name или mac, чтобы обновить существующие интерфейсы и сделать выполнение идемпотентным. | ||
| password строка | Пароль для аутентификации BMC. Только для интерфейсов BMC. | ||
| primary булево |
| Использовать ли этот интерфейс для построения FQDN хоста? Каждый управляемый хост должен иметь один первичный интерфейс. | |
| provider строка |
| Поставщик интерфейса, например, IPMI. Только для интерфейсов BMC. | |
| provision булево |
| Использовать ли этот интерфейс для TFTP PXELinux (или SSH для хостов на базе образов)? Каждый управляемый хост должен иметь один интерфейс провизионирования. | |
| subnet строка | Имя IPv4-подсети | ||
| subnet6 строка | Имя IPv6-подсети | ||
| tag строка | Тег VLAN, этот атрибут имеет приоритет над идентификатором VLAN подсети. Только для виртуальных интерфейсов. | ||
| type строка |
| Тип интерфейса. | |
| username строка | Имя пользователя для аутентификации BMC. Только для интерфейсов BMC. | ||
| virtual булево |
| Псевдоним или устройство VLAN | |
| ip строка | IP-адрес первичного интерфейса хоста. | ||
| kickstart_repository строка | Имя репозитория kickstart. Требуется для использования функции "Синхронизированный контент". Взаимоисключающее с medium. Доступно только для установок Katello. | ||
| lifecycle_environment строка | Среда жизненного цикла. Доступно только для установок Katello. | ||
| location строка | Имя связанной локации | ||
| mac строка | MAC-адрес первичного интерфейса хоста. Пожалуйста, включайте ведущие нули и разделяйте тетрады двоеточием, иначе выполнение не будет идемпотентным. Пример EE:BB:01:02:03:04 | ||
| managed булево |
| Является ли хост управляемым или неуправляемым. Принудительно устанавливается в true, когда build=true | |
| medium строка | Имя носителя Взаимоисключающее с kickstart_repository. псевдонимы: носитель | ||
| name строка / требуется | Полное доменное имя хоста | ||
| openscap_proxy строка | Имя прокси OpenSCAP. Доступно только при установке плагина OpenSCAP. | ||
| operatingsystem строка | Операционные системы ищутся по своему заголовку, который составлен как "<имя> <главная>.<дополнительная>". Можно опустить часть версии, пока у вас только одна операционная система с таким именем. | ||
| organization строка | Название связанной организации | ||
| owner строка | Владелец (пользователь) хоста. Взаимоисключающее с owner_group. | ||
| owner_group string | Владеющая группа (группа пользователей) хоста. Исключает owner. | ||
| parameters list / elements=dictionary | Параметры хоста, специфичные для предметной области сущности. | ||
| name string / required | Имя параметра | ||
| parameter_type string |
| Тип параметра | |
| value raw / required | Значение параметра | ||
| password string / required | Пароль пользователя, имеющего доступ к серверу Foreman. Если значение не указано в задаче, будет использовано значение переменной среды FOREMAN_PASSWORD. | ||
| provision_method string |
| Метод, используемый для подготовки хоста.
provision_method=bootdisk доступен только при установке плагина bootdisk. | |
| ptable string | Имя таблицы разделов | ||
| puppet_ca_proxy string | Имя прокси-сервера Puppet CA | ||
| puppet_proxy string | Имя прокси-сервера Puppet | ||
| puppetclasses list / elements=string | Список puppet-классов для включения в эту группу хостов. Должен существовать для среды puppet группы хостов. | ||
| pxe_loader string |
| Загрузчик PXE | |
| realm string | Имя домена | ||
| root_pass string | Пароль root. Приведет к тому, что сущность всегда будет обновляться, так как текущий пароль получить нельзя. | ||
| server_url string / required | URL сервера Foreman. Если значение не указано в задаче, будет использовано значение переменной среды FOREMAN_SERVER_URL. | ||
| state string |
| Состояние сущности | |
| subnet string | Имя подсети IPv4 | ||
| subnet6 string | Имя подсети IPv6 | ||
| username string / required | Имя пользователя, имеющего доступ к серверу Foreman. Если значение не указано в задаче, будет использовано значение переменной среды FOREMAN_USERNAME. | ||
| validate_certs boolean |
| Нужно ли проверять сертификаты TLS сервера Foreman. Если значение не указано в задаче, будет использовано значение переменной среды FOREMAN_VALIDATE_CERTS. | |
Примеры
- name: "Create a host"
theforeman.foreman.host:
username: "admin"
password: "changeme"
server_url: "https://foreman.example.com"
name: "new_host"
hostgroup: my_hostgroup
state: present
- name: "Create a host with build context"
theforeman.foreman.host:
username: "admin"
password: "changeme"
server_url: "https://foreman.example.com"
name: "new_host"
hostgroup: my_hostgroup
build: true
state: present
- name: "Create an unmanaged host"
theforeman.foreman.host:
username: "admin"
password: "changeme"
server_url: "https://foreman.example.com"
name: "new_host"
managed: false
state: present
- name: "Create a VM with 2 CPUs and 4GB RAM"
theforeman.foreman.host:
username: "admin"
password: "changeme"
server_url: "https://foreman.example.com"
name: "new_host"
compute_attributes:
cpus: 2
memory_mb: 4096
state: present
- name: "Create a VM and start it after creation"
theforeman.foreman.host:
username: "admin"
password: "changeme"
server_url: "https://foreman.example.com"
name: "new_host"
compute_attributes:
start: "1"
state: present
- name: "Create a VM on specific ovirt network"
theforeman.foreman.host:
username: "admin"
password: "changeme"
server_url: "https://foreman.example.com"
name: "new_host"
interfaces_attributes:
- type: "interface"
compute_attributes:
name: "nic1"
network: "969efbe6-f9e0-4383-a19a-a7ee65ad5007"
interface: "virtio"
state: present
- name: "Create a VM with 2 NICs on specific ovirt networks"
theforeman.foreman.host:
username: "admin"
password: "changeme"
server_url: "https://foreman.example.com"
name: "new_host"
interfaces_attributes:
- type: "interface"
primary: true
compute_attributes:
name: "nic1"
network: "969efbe6-f9e0-4383-a19a-a7ee65ad5007"
interface: "virtio"
- type: "interface"
name: "new_host_nic2"
managed: true
compute_attributes:
name: "nic2"
network: "969efbe6-f9e0-4383-a19a-a7ee65ad5008"
interface: "e1000"
state: present
- name: "Delete a host"
theforeman.foreman.host:
username: "admin"
password: "changeme"
server_url: "https://foreman.example.com"
name: "new_host"
state: absent
Значения возврата
Общие значения возврата описаны здесь, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| entity dictionary | success | Конечное состояние затронутых сущностей, сгруппированных по их типу. | |
| hosts list / elements=dictionary | success | Список хостов. | |
Авторы
- Bernhard Hopfenmueller (@Fobhep) ATIX AG
© 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/theforeman/foreman/host_module.html