network/salt/lxc-containers/init.sls

54 lines
1.2 KiB
Plaintext
Raw Normal View History

2016-11-03 00:26:30 +01:00
lxc:
pkg.installed: []
/var/lib/lxc/autodev.sh:
file.managed:
- source: salt://lxc-containers/autodev.sh
mode: 0755
2016-11-26 02:51:59 +01:00
{%- set n = 0 %}
{%- for id, container in pillar['containers'].items() %}
2016-11-03 00:26:30 +01:00
/var/lib/lxc/{{ id }}:
cmd.run:
2016-11-06 02:49:56 +01:00
- name: lxc-create -n {{ id }} -B dir -t debian -- -r stretch --packages=salt-minion
2016-11-03 00:26:30 +01:00
- require:
- pkg: lxc
- creates: /var/lib/lxc/{{ id }}
/var/lib/lxc/{{ id }}/config:
file.managed:
2016-11-17 00:58:19 +01:00
- source: salt://lxc-containers/config
2016-11-03 00:26:30 +01:00
- template: 'jinja'
- context:
id: {{ id }}
container: {{ container }}
2016-11-26 02:51:59 +01:00
hwaddr_prefix: '0A:14:48:01:{{ n.__str__().rjust(2, '0') }}'
2016-11-14 21:49:38 +01:00
- require:
- cmd: /var/lib/lxc/{{ id }}
2016-11-03 00:26:30 +01:00
2016-11-06 02:49:56 +01:00
/var/lib/lxc/{{ id }}/rootfs/etc/hosts:
file.managed:
2016-11-17 00:58:19 +01:00
- source: salt://lxc-containers/hosts
2016-11-06 02:49:56 +01:00
- template: 'jinja'
- context:
id: {{ id }}
container: {{ container }}
2016-11-14 21:49:38 +01:00
- require:
- cmd: /var/lib/lxc/{{ id }}
2016-11-06 02:49:56 +01:00
2016-11-03 00:26:30 +01:00
autostart-{{ id }}:
service.enabled:
- name: lxc@{{ id }}
require_in:
file: /var/lib/lxc/{{ id }}/config
start-{{ id }}:
service.running:
- name: lxc@{{ id }}
require:
- service: autostart-{{ id }}
2016-11-08 22:36:08 +01:00
2016-11-26 02:51:59 +01:00
{%- set n = n + 1 %}
2016-11-03 00:26:30 +01:00
{% endfor %}