2021-11-10 17:01:56 +01:00
|
|
|
## Prepare minimal systemd-nspawn containers for educational use.
|
|
|
|
##
|
|
|
|
## Port mapping to the host:
|
|
|
|
##
|
2022-06-11 12:42:02 +02:00
|
|
|
## container 0: ssh → host port 10000, HTTP → 10100
|
|
|
|
## container 1: ssh → host port 10001, HTTP → 10101
|
2021-11-10 17:01:56 +01:00
|
|
|
## ... ... ...
|
|
|
|
##
|
2021-11-18 20:22:00 +01:00
|
|
|
## User '{{ contuser }}' in the sudo group. Password is '{{ contpwd }}'.
|
2021-11-10 17:01:56 +01:00
|
|
|
##
|
|
|
|
|
|
|
|
- name: stop all containers
|
2021-11-18 20:18:56 +01:00
|
|
|
systemd:
|
|
|
|
name: systemd-nspawn@{{ contname }}{{ "%02d" | format(item|int) }}.service
|
|
|
|
state: stopped
|
|
|
|
loop: "{{ containers | reverse }}"
|
2021-11-12 12:42:40 +01:00
|
|
|
tags:
|
|
|
|
- never
|
|
|
|
- stop
|
|
|
|
- reset
|
|
|
|
- purge
|
2021-11-20 17:00:19 +01:00
|
|
|
- setup
|
2022-04-02 18:19:45 +02:00
|
|
|
- restart
|
2021-11-12 12:42:40 +01:00
|
|
|
|
2021-11-10 17:01:56 +01:00
|
|
|
- name: purge all containers
|
2021-11-18 20:18:56 +01:00
|
|
|
command:
|
|
|
|
cmd: machinectl remove {{ contname }}{{ "%02d" | format(item|int) }}
|
|
|
|
removes: /var/lib/machines/{{ contname }}{{ "%02d" | format(item|int) }}
|
2021-11-11 23:38:20 +01:00
|
|
|
loop: "{{ containers | reverse }}"
|
2021-11-10 17:01:56 +01:00
|
|
|
tags:
|
|
|
|
- never
|
|
|
|
- purge
|
2021-11-20 17:00:19 +01:00
|
|
|
- setup
|
2021-11-10 17:01:56 +01:00
|
|
|
|
2021-11-18 20:18:56 +01:00
|
|
|
- name: remove container overlay
|
2021-11-11 23:10:48 +01:00
|
|
|
file:
|
|
|
|
path: /var/lib/machines/{{ contname }}{{ "%02d" | format(item|int) }}-delta
|
|
|
|
state: absent
|
2021-11-11 23:38:20 +01:00
|
|
|
loop: "{{ containers | reverse }}"
|
2021-11-11 23:10:48 +01:00
|
|
|
tags:
|
|
|
|
- never
|
|
|
|
- reset
|
2021-11-12 12:42:40 +01:00
|
|
|
- purge
|
2021-11-20 17:00:19 +01:00
|
|
|
- setup
|
2021-11-11 23:10:48 +01:00
|
|
|
|
|
|
|
- name: start all containers
|
2021-11-18 20:18:56 +01:00
|
|
|
systemd:
|
|
|
|
name: systemd-nspawn@{{ contname }}{{ "%02d" | format(item|int) }}.service
|
|
|
|
state: started
|
2021-11-11 23:38:20 +01:00
|
|
|
loop: "{{ containers | reverse }}"
|
2021-11-11 23:10:48 +01:00
|
|
|
tags:
|
|
|
|
- never
|
|
|
|
- start
|
|
|
|
- reset
|
2022-04-02 18:19:45 +02:00
|
|
|
- restart
|
2021-11-11 23:10:48 +01:00
|
|
|
|
|
|
|
###########
|
|
|
|
|
2022-03-16 17:31:37 +01:00
|
|
|
- name: check if container template exists
|
|
|
|
ansible.builtin.stat:
|
|
|
|
path: "/var/lib/machines/{{ contname }}00"
|
|
|
|
register: cont
|
|
|
|
tags:
|
|
|
|
- always
|
2021-11-10 17:01:56 +01:00
|
|
|
|
2021-11-20 17:00:19 +01:00
|
|
|
- name: import setup.yml tasks
|
|
|
|
import_tasks: setup.yml
|
2022-03-16 17:31:37 +01:00
|
|
|
when: cont.stat.isdir is not defined
|
|
|
|
tags:
|
|
|
|
- always
|