-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmain.yml
62 lines (60 loc) · 2.12 KB
/
main.yml
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
57
58
59
60
61
62
---
- name: Create a profile
lxd_profile:
url: "{{ item.lxd_url | default('unix:/var/snap/lxd/common/lxd/unix.socket') }}"
name: "{{ item.name }}"
state: "{{ item.status }}"
config:
user.user-data: |
{{ item.cloud_init | default ('') }}
description: "{{ item.description }}"
devices:
root:
path: /
pool: "{{ item.storage_pool | default ('default') }}"
type: "{{ item.disk_type | default ('disk') }}"
eth0:
nictype: "{{ item.nictype | default ('bridged') }}"
parent: "{{ item.network | default ('lxdbr0') }}"
type: "{{ item.interface_type | default ('nic') }}"
with_items:
- "{{ lxd_profiles }}"
tags:
- lxd
- lxd-profiles
- name: Deploy Containers
lxd_container:
url: "{{ item.lxd_url | default('unix:/var/snap/lxd/common/lxd/unix.socket') }}"
name: "{{ item.name }}"
state: "{{ item.status }}"
source:
type: image
mode: "{{ item.mode | default () }}"
server: "{{ item.server | default () }}"
protocol: "{{ item.protocol | default ('lxd') }}"
alias: "{{ item.alias }}"
architecture: "{{ item.architecture | default () }}"
profiles: ["{{ item.profile | default ('default') }}"]
config:
limits.memory: "{{ item.memory | default () }}"
security.nesting: "{{ item.nesting | default ('false') }}"
security.privileged: "{{ item.privileged | default ('false')}}"
devices:
root:
path: /
pool: "{{ item.storage_pool | default ('default') }}"
size: "{{ item.disk_space | default () }}"
type: "{{ item.disk_type | default ('disk') }}"
eth0:
nictype: "{{ item.nictype | default ('bridged') }}"
parent: "{{ item.network | default ('lxdbr0') }}"
type: "{{ item.interface_type | default ('nic') }}"
ipv4.address: "{{ item.ipv4address | default () }}"
wait_for_ipv4_addresses: "{{ item.wait_for_ipv4_addresses | default ('false') }}"
timeout: 600
register: lxd_container
changed_when: "lxd_container.old_state != item.status "
with_items: "{{ LXCs }}"
tags:
- lxd
- lxd-containers