mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-08-05 21:54:22 -07:00
175 lines
7.3 KiB
ReStructuredText
175 lines
7.3 KiB
ReStructuredText
..
|
|
Copyright (c) Ansible Project
|
|
GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
|
|
SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
.. _ansible_collections.community.general.docsite.guide_iocage.guide_iocage_inventory.guide_iocage_inventory_dhcp:
|
|
|
|
DHCP
|
|
----
|
|
|
|
As root at the iocage host, start the jails:
|
|
|
|
.. code-block:: console
|
|
|
|
shell> iocage start ALL
|
|
No default gateway found for ipv6.
|
|
* Starting srv_1
|
|
+ Started OK
|
|
+ Using devfs_ruleset: 1000 (iocage generated default)
|
|
+ Configuring VNET OK
|
|
+ Using IP options: vnet
|
|
+ Starting services OK
|
|
+ Executing poststart OK
|
|
+ DHCP Address: 10.1.0.183/24
|
|
No default gateway found for ipv6.
|
|
* Starting srv_2
|
|
+ Started OK
|
|
+ Using devfs_ruleset: 1001 (iocage generated default)
|
|
+ Configuring VNET OK
|
|
+ Using IP options: vnet
|
|
+ Starting services OK
|
|
+ Executing poststart OK
|
|
+ DHCP Address: 10.1.0.204/24
|
|
No default gateway found for ipv6.
|
|
* Starting srv_3
|
|
+ Started OK
|
|
+ Using devfs_ruleset: 1002 (iocage generated default)
|
|
+ Configuring VNET OK
|
|
+ Using IP options: vnet
|
|
+ Starting services OK
|
|
+ Executing poststart OK
|
|
+ DHCP Address: 10.1.0.169/24
|
|
Please convert back to a jail before trying to start ansible_client
|
|
|
|
List the jails:
|
|
|
|
.. code-block:: console
|
|
|
|
shell> iocage list -l
|
|
+-----+-------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
|
|
| JID | NAME | BOOT | STATE | TYPE | RELEASE | IP4 | IP6 | TEMPLATE | BASEJAIL |
|
|
+=====+=======+======+=======+======+=================+====================+=====+================+==========+
|
|
| 204 | srv_1 | off | up | jail | 14.2-RELEASE-p3 | epair0b|10.1.0.183 | - | ansible_client | no |
|
|
+-----+-------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
|
|
| 205 | srv_2 | off | up | jail | 14.2-RELEASE-p3 | epair0b|10.1.0.204 | - | ansible_client | no |
|
|
+-----+-------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
|
|
| 206 | srv_3 | off | up | jail | 14.2-RELEASE-p3 | epair0b|10.1.0.169 | - | ansible_client | no |
|
|
+-----+-------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
|
|
|
|
As admin at the controller, list the jails. The IP4 tab says "... address requires root":
|
|
|
|
.. code-block:: console
|
|
|
|
shell> ssh admin@10.1.0.73 iocage list -l
|
|
+-----+-------+------+-------+------+-----------------+-----------------------------------------+-----+----------------+----------+
|
|
| JID | NAME | BOOT | STATE | TYPE | RELEASE | IP4 | IP6 | TEMPLATE | BASEJAIL |
|
|
+=====+=======+======+=======+======+=================+=========================================+=====+================+==========+
|
|
| 204 | srv_1 | off | up | jail | 14.2-RELEASE-p3 | DHCP (running -- address requires root) | - | ansible_client | no |
|
|
+-----+-------+------+-------+------+-----------------+-----------------------------------------+-----+----------------+----------+
|
|
| 205 | srv_2 | off | up | jail | 14.2-RELEASE-p3 | DHCP (running -- address requires root) | - | ansible_client | no |
|
|
+-----+-------+------+-------+------+-----------------+-----------------------------------------+-----+----------------+----------+
|
|
| 206 | srv_3 | off | up | jail | 14.2-RELEASE-p3 | DHCP (running -- address requires root) | - | ansible_client | no |
|
|
+-----+-------+------+-------+------+-----------------+-----------------------------------------+-----+----------------+----------+
|
|
|
|
Use sudo if enabled:
|
|
|
|
.. code-block:: console
|
|
|
|
shell> ssh admin@10.1.0.73 sudo iocage list -l
|
|
+-----+-------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
|
|
| JID | NAME | BOOT | STATE | TYPE | RELEASE | IP4 | IP6 | TEMPLATE | BASEJAIL |
|
|
+=====+=======+======+=======+======+=================+====================+=====+================+==========+
|
|
| 204 | srv_1 | off | up | jail | 14.2-RELEASE-p3 | epair0b|10.1.0.183 | - | ansible_client | no |
|
|
+-----+-------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
|
|
| 205 | srv_2 | off | up | jail | 14.2-RELEASE-p3 | epair0b|10.1.0.204 | - | ansible_client | no |
|
|
+-----+-------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
|
|
| 206 | srv_3 | off | up | jail | 14.2-RELEASE-p3 | epair0b|10.1.0.169 | - | ansible_client | no |
|
|
+-----+-------+------+-------+------+-----------------+--------------------+-----+----------------+----------+
|
|
|
|
Create the inventory file ``hosts/02_iocage.yml``. Use the option
|
|
:ansopt:`community.general.iocage#inventory:sudo`:
|
|
|
|
.. code-block:: yaml
|
|
|
|
plugin: community.general.iocage
|
|
host: 10.1.0.73
|
|
user: admin
|
|
sudo: true
|
|
|
|
Display the inventory:
|
|
|
|
.. code-block:: console
|
|
|
|
shell> ansible-inventory -i hosts/02_iocage.yml --list --yaml
|
|
all:
|
|
children:
|
|
ungrouped:
|
|
hosts:
|
|
srv_1:
|
|
iocage_basejail: 'no'
|
|
iocage_boot: 'off'
|
|
iocage_ip4: 10.1.0.183
|
|
iocage_ip4_dict:
|
|
ip4:
|
|
- ifc: epair0b
|
|
ip: 10.1.0.183
|
|
mask: '-'
|
|
msg: ''
|
|
iocage_ip6: '-'
|
|
iocage_jid: '204'
|
|
iocage_release: 14.2-RELEASE-p3
|
|
iocage_state: up
|
|
iocage_template: ansible_client
|
|
iocage_type: jail
|
|
srv_2:
|
|
iocage_basejail: 'no'
|
|
iocage_boot: 'off'
|
|
iocage_ip4: 10.1.0.204
|
|
iocage_ip4_dict:
|
|
ip4:
|
|
- ifc: epair0b
|
|
ip: 10.1.0.204
|
|
mask: '-'
|
|
msg: ''
|
|
iocage_ip6: '-'
|
|
iocage_jid: '205'
|
|
iocage_release: 14.2-RELEASE-p3
|
|
iocage_state: up
|
|
iocage_template: ansible_client
|
|
iocage_type: jail
|
|
srv_3:
|
|
iocage_basejail: 'no'
|
|
iocage_boot: 'off'
|
|
iocage_ip4: 10.1.0.169
|
|
iocage_ip4_dict:
|
|
ip4:
|
|
- ifc: epair0b
|
|
ip: 10.1.0.169
|
|
mask: '-'
|
|
msg: ''
|
|
iocage_ip6: '-'
|
|
iocage_jid: '206'
|
|
iocage_release: 14.2-RELEASE-p3
|
|
iocage_state: up
|
|
iocage_template: ansible_client
|
|
iocage_type: jail
|
|
|
|
Note: If the option :ansopt:`community.general.iocage#inventory:env` is used and :ansopt:`community.general.iocage#inventory:sudo` is enabled, enable also :ansopt:`community.general.iocage#inventory:sudo_preserve_env`. For example,
|
|
|
|
.. code-block:: yaml
|
|
|
|
plugin: community.general.iocage
|
|
host: 10.1.0.73
|
|
user: admin
|
|
env:
|
|
CRYPTOGRAPHY_OPENSSL_NO_LEGACY: 1
|
|
sudo: true
|
|
sudo_preserve_env: true
|
|
|
|
In this case, make sure the sudo tag ``SETENV`` is used:
|
|
|
|
.. code-block:: console
|
|
|
|
shell> ssh admin@10.1.0.73 sudo cat /usr/local/etc/sudoers | grep admin
|
|
admin ALL=(ALL) NOPASSWD:SETENV: ALL
|