Для выполнения задачи по подключению к виртуальным машинам, переименованию и перезагрузке их с использованием Ansible, вам понадобятся следующие модули и шаги:
1. **Модули для подключения**:
- Для подключения к виртуальным машинам по IP-адресу вы можете использовать `ansible_connection` для настройки подключения. В зависимости от типа виртуальных машин, вам могут понадобиться разные модули:
- Для подключения к Linux VM: используйте `ssh` (по умолчанию).
- Для подключения к Windows VM: используйте `winrm`.
2. **Переименование машины**:
- Для переименования Linux виртуальных машин используйте модуль `command` или `shell`, чтобы выполнить команду `hostnamectl` (для систем с systemd) или `hostname` (для других систем). Команда может выглядеть следующим образом:
```yaml
- name: Rename the VM
command: hostnamectl set-hostname {{ new_vm_name }}
```
- Для Windows используйте модуль `win_shell`:
```yaml
- name: Rename the Windows VM
win_shell: Rename-Computer -NewName {{ new_vm_name }} -Restart
```
3. **Перезагрузка виртуальной машины**:
- Для Linux используйте модуль `reboot`:
```yaml
- name: Reboot the VM
reboot:
reboot_timeout: 300
```
- Для Windows можно использовать `win_reboot`:
```yaml
- name: Reboot the Windows VM
win_reboot:
reboot_timeout: 300
```
### Пример плейбука Ansible
Вот пример плейбука, который выполняет вашу задачу:
```yaml
- hosts: all
gather_facts: no
vars:
new_vm_names:
- clone1
- clone2
- clone3
tasks:
- name: Rename the VM
command: hostnamectl set-hostname {{ item }}
loop: "{{ new_vm_names }}"
- name: Reboot the VM
reboot:
reboot_timeout: 300
```
### Параметры Invenory
Также учтите, что вам нужно будет настроить инвентарный файл (например, `hosts.ini`), где будут перечислены ваши виртуальные машины по IP-адресам.
### Заключение
Теперь у вас есть общее представление о том, как использовать Ansible для переименования и перезагрузки виртуальных машин, основываясь на заданных параметрах в вашем `config.cfg` и `vms.ini` файлах. Настройте плейбук и инвентарный файл согласно вашим требованиям, и пусть Ansible сделает остальное!