-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexercise6-fix.yaml
147 lines (131 loc) · 3.93 KB
/
exercise6-fix.yaml
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
- name: Fixing the exercise6
hosts: localhost
gather_facts: true
vars:
user: "{{ lookup('env', 'USER') }}"
tasks:
- name: Removing exercise6 virtual machine
kubernetes.core.k8s:
state: absent
template: "exercise6-create-vm.yaml.j2"
register: exercise6vm
until: exercise6vm is succeeded
retries: 60
delay: 10
failed_when: exercise6vm is failed or exercise6vm.failed
- name: Wait for the Virtual Machine to be removed
kubernetes.core.k8s_info:
kind: VirtualMachine
namespace: "namespace-{{ user }}"
name: "exercise6"
register: cleanvm
retries: 60
delay: 2
until: cleanvm.resources | length == 0
- name: Get user SSH key
ansible.builtin.slurp:
src: "/home/{{ user }}/.ssh/id_rsa.pub"
register: usersshkey
# - name: Removing the idrsa secret
# kubernetes.core.k8s:
# state: absent
# template: "exercise4-secret.yaml.j2"
# register: secretidrsa
# until: secretidrsa is succeeded
# retries: 60
# delay: 10
# failed_when: secretidrsa is failed or secretidrsa.failed
- name: Create SSH config file with StrictHostKeyChecking no
ansible.builtin.copy:
dest: '/home/{{ user }}/.ssh/config'
content: |
Host *
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
owner: '{{ user }}'
group: '{{ user }}'
mode: '0600'
- name: Create the idrsa secret
kubernetes.core.k8s:
state: present
template: "exercise4-secret.yaml.j2"
register: secretidrsa
until: secretidrsa is succeeded
retries: 60
delay: 10
failed_when: secretidrsa is failed or secretidrsa.failed
- name: Breaking the exercise6
kubernetes.core.k8s:
state: present
template: "exercise6-create-vm.yaml.j2"
register: breakvm
until: breakvm is succeeded
retries: 60
delay: 10
failed_when: breakvm is failed or breakvm.failed
- name: Wait for exercise6
ansible.builtin.command:
cmd: virtctl ssh -i /home/{{ user }}/.ssh/id_rsa lab-user@exercise6
ignore_errors: true
no_log: false
register: testssh
until:
- testssh.rc == 0
retries: 20
delay: 30
- name: Set VM to stopped state
kubernetes.core.k8s:
namespace: "namespace-{{ user }}"
kind: VirtualMachine
name: exercise6
state: present
definition:
spec:
running: false
register: stopvm
until: stopvm is succeeded
retries: 60
delay: 10
failed_when: stopvm is failed or stopvm.failed
- name: Wait for VirtualMachine to stop
kubernetes.core.k8s_info:
kind: VirtualMachineInstance
namespace: "namespace-{{ user }}"
name: "exercise6"
register: exercise6vm
retries: 60
delay: "10"
until: exercise6vm.resources | length == 0
- name: Fixing exercise6 virtual machine
kubernetes.core.k8s:
state: present
template: "exercise6-fix-vm.yaml.j2"
register: exercise6vm
until: exercise6vm is succeeded
retries: 60
delay: 10
failed_when: exercise6vm is failed or exercise6vm.failed
- name: Set VM to start state
kubernetes.core.k8s:
namespace: "namespace-{{ user }}"
kind: VirtualMachine
name: exercise6
state: present
definition:
spec:
running: true
register: startvm
until: startvm is succeeded
retries: 60
delay: 10
failed_when: startvm is failed or startvm.failed
- name: Wait for exercise6
ansible.builtin.command:
cmd: virtctl ssh -i /home/{{ user }}/.ssh/id_rsa lab-user@exercise6
ignore_errors: true
no_log: false
register: testssh
until:
- testssh.rc == 0
retries: 20
delay: 30