blob: c904fa8db8fc7c4bf83cbc139e28b462202f4c2a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
---
- name: create lxc
hosts: lxc
gather_facts: false
collections:
- ansible.builtin
- community.general
vars:
flavors:
el8:
template: rockylinux-8-default_20210929
pct_ostype: centos
el9:
template: rockylinux-9-default_20221109
pct_ostype: centos
tasks:
- name: download template
command: "pveam download local {{ flavors[proxmox.flavor].template }}_amd64.tar.xz"
args:
creates: "/var/lib/vz/template/cache/{{ flavors[proxmox.flavor].template }}_amd64.tar.xz"
delegate_to: "{{ proxmox.host }}"
- name: create host
command: >
pct create {{ proxmox.id }} "/var/lib/vz/template/cache/{{ flavors[proxmox.flavor].template }}_amd64.tar.xz"
--hostname {{ inventory_hostname }}
--storage local-zfs
-net0 name=eth0,bridge=vmbr0,ip=dhcp
-onboot 1
--unprivileged
--password {{ ansible_password }}
--nameserver {{ hostvars[proxmox.host].network.self_internal_ip }}
--ostype {{ flavors[proxmox.flavor].pct_ostype }}
args:
creates: "/etc/pve/lxc/{{ proxmox.id }}.conf"
delegate_to: "{{ proxmox.host }}"
# https://bugzilla.proxmox.com/show_bug.cgi?id=4460
- name: set hostname
copy:
content: "{{ inventory_hostname }}"
dest: /rpool/data/subvol-{{ proxmox.id }}-disk-0/etc/hostname
delegate_to: "{{ proxmox.host }}"
- name: start host
command: pct start {{ proxmox.id }}
delegate_to: "{{ proxmox.host }}"
- name: install ssh
command: pct exec {{ proxmox.id }} -- dnf install -y openssh-server
retries: 10
delay: 1
until: result.rc == 0
register: result
delegate_to: "{{ proxmox.host }}"
- name: enable ssh
command: pct exec {{ proxmox.id }} -- systemctl enable --now sshd
delegate_to: "{{ proxmox.host }}"
|