blob: c6a0aedfb214be78cb6ac5f353e5691030a06e41 (
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
- hosts: image
tasks:
- shell: |
echo "{{ host }}" > /etc/hostname
sed -i '/^127\.0\.0.*localhost.*/s/.*/127.0.0.1 localhost {{ host }}/' \
/etc/hosts
sed -i '/^root:[^:]:/s//root::/' /etc/passwd
- copy:
content: |
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
dest: /etc/network/interfaces
- copy:
content: |
options kvm-intel nested=1
options kvm-intel enable_shadow_vmcs=1
options kvm-intel enable_apicv=1
options kvm-intel ept=1
dest: /etc/modprobe.d/kvm-nested.conf
- apt:
name:
- ssh
- sudo
- qemu-system-x86
- virtinst
- libvirt-daemon-system
- libvirt-clients
- locales-all
- jq
- rsync
- kpartx
- name: "modify libvirt to use a non-standard IP range for guests"
shell:
sed -i 's/192\.168\.122\./192.168.99\./g' /etc/libvirt/qemu/networks/default.xml
- user:
comment: "Manager"
name: manager
shell: /bin/bash
groups:
- libvirt
- authorized_key:
user: manager
key: "{{ user_pub }}"
- copy:
content: |
manager ALL=(ALL:ALL) NOPASSWD: ALL
dest: /etc/sudoers.d/manager
owner: root
group: root
mode: 0600
# - copy:
# src: worker.img
# dest: /home/manager/worker.img
# owner: manager
# group: manager
# mode: 0644
- copy:
src: create-vm
dest: /home/manager/create-vm
owner: manager
group: manager
mode: 0755
- file:
state: directory
path: /home/manager/.ssh
owner: manager
group: manager
mode: 0700
- copy:
src: "{{ item }}"
dest: "/home/manager/.ssh/{{ item }}"
owner: manager
group: manager
mode: 0600
with_items:
- manager.key
- manager.key.pub
- copy:
src: manager-ssh-config
dest: /home/manager/.ssh/config
owner: manager
group: manager
mode: 0600
vars:
host: contractor
ansible_python_interpreter: /usr/bin/python3
user_pub: |
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDAlECa3tbFGXhB3Zh/4/GhM11THOThVfiuLqqJ2dpWHEClzpKJHpzzwWt7g9z/MMQNMsUJLy+okz+De6hdjjmYJ9kG9Sr3H4YKq6itGQMj7L/cH3WS3ynp0uy0oW3hf932vDZKQ8iy9vczXH+ERYl+4TYae1Jp4Hyf4/2IYxEfuhKctvSvqySST3Qk9JNZ71HFGOWhjH/MmoCLoT1v+HkqmHdYf/GMKGRo3gqCEGgCgNErYYIyKm3OF3dHXK+hyGLE/cZNu6fU5woW3rvtUCFt08Ri2pm0cnXXJn9jQIMxfS5Kkf64svwgzKmPqgX1f4flopYPlsBXduCgzbJvj+lpgauAk/i1A5B01CFa9sI4C6pHZmwk1qxRwN+4IXL2CQt+tDgYC84ZDDd8R7cNyL22a3KhMQmdHtvog1beAa3Ab+J+cafkXXN+Es9f1wQjzk7DiHupmJIVofBvPP+cRcB46rwha6ati8Fa5QkT9rXFNqQsKk7jq8TIi54Bm15OOa0jInGG3TM17b9Ftu2WTJSAaqgBnDfZiInK7HEvC6K/IBljrN3oGagmFZPrAvzw7d6C2/nKFAQtfoMcE5oWVDrJyjsmJ8oaru0E8rwj7mMvyKPgEMnXTGXLWDgEo50+i291m4bkCxVwiOPbPRvdMll1Y8qfBAPT76sY4Ikgcw/2iw== openpgp:0xBBE80E50
|