Skip to content

Commit 6b2fe03

Browse files
committed
add template
1 parent 57aaa35 commit 6b2fe03

File tree

6 files changed

+356
-0
lines changed

6 files changed

+356
-0
lines changed
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
cloud/cs
2+
cs/group2
3+
cs/group4
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
cs_template_hypervisor: Simulator
3+
cs_template_os_type: Other Linux (64-bit)
4+
cs_template_url: http://dl.openvm.eu/cloudstack/macchinina/x86_64/macchinina-vmware.ova
5+
cs_template_format: OVA
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
---
2+
dependencies:
3+
- cs_common
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
---
2+
- import_tasks: test1.yml
3+
- import_tasks: test2.yml
Lines changed: 161 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,161 @@
1+
---
2+
- name: setup template
3+
ngine_io.cloudstack.template:
4+
name: "ansible-template-test1"
5+
cross_zones: true
6+
state: absent
7+
register: template
8+
- name: verify setup template
9+
assert:
10+
that:
11+
- template is successful
12+
13+
- name: test download template in check mode
14+
ngine_io.cloudstack.template:
15+
name: "ansible-template-test1"
16+
url: "{{ cs_template_url }}"
17+
format: "{{ cs_template_format }}"
18+
hypervisor: "{{ cs_template_hypervisor }}"
19+
os_type: "{{ cs_template_os_type }}"
20+
cross_zones: true
21+
register: template
22+
check_mode: true
23+
- name: verify test download template in check mode
24+
assert:
25+
that:
26+
- template is changed
27+
28+
- name: test download template
29+
ngine_io.cloudstack.template:
30+
name: "ansible-template-test1"
31+
url: "{{ cs_template_url }}"
32+
format: "{{ cs_template_format }}"
33+
hypervisor: "{{ cs_template_hypervisor }}"
34+
os_type: "{{ cs_template_os_type }}"
35+
cross_zones: true
36+
register: template
37+
- name: verify test download template
38+
assert:
39+
that:
40+
- template is changed
41+
- template.name == "ansible-template-test1"
42+
- template.display_text == "ansible-template-test1"
43+
- template.cross_zones == true
44+
45+
- name: test download template idempotence
46+
ngine_io.cloudstack.template:
47+
name: "ansible-template-test1"
48+
url: "{{ cs_template_url }}"
49+
format: "{{ cs_template_format }}"
50+
hypervisor: "{{ cs_template_hypervisor }}"
51+
os_type: "{{ cs_template_os_type }}"
52+
cross_zones: true
53+
register: template
54+
- name: verify test download template idempotence
55+
assert:
56+
that:
57+
- template is not changed
58+
- template.name == "ansible-template-test1"
59+
- template.display_text == "ansible-template-test1"
60+
- template.cross_zones == true
61+
62+
- name: test update template in check mode
63+
ngine_io.cloudstack.template:
64+
name: "ansible-template-test1"
65+
display_text: "{{ cs_resource_prefix }}-template display_text"
66+
url: "{{ cs_template_url }}"
67+
format: "{{ cs_template_format }}"
68+
hypervisor: "{{ cs_template_hypervisor }}"
69+
os_type: "{{ cs_template_os_type }}"
70+
is_featured: true
71+
cross_zones: true
72+
register: template
73+
check_mode: true
74+
- name: verify test update template in check mode
75+
assert:
76+
that:
77+
- template is changed
78+
- template.name == "ansible-template-test1"
79+
- template.display_text == "ansible-template-test1"
80+
- template.cross_zones == true
81+
- template.is_featured == false
82+
83+
- name: test update template
84+
ngine_io.cloudstack.template:
85+
name: "ansible-template-test1"
86+
display_text: "{{ cs_resource_prefix }}-template display_text"
87+
url: "{{ cs_template_url }}"
88+
format: "{{ cs_template_format }}"
89+
hypervisor: "{{ cs_template_hypervisor }}"
90+
os_type: "{{ cs_template_os_type }}"
91+
is_featured: true
92+
cross_zones: true
93+
register: template
94+
- name: verify test update template
95+
assert:
96+
that:
97+
- template is changed
98+
- template.name == "ansible-template-test1"
99+
- template.display_text == cs_resource_prefix + "-template display_text"
100+
- template.cross_zones == true
101+
- template.is_featured == true
102+
103+
- name: test update template idempotence
104+
ngine_io.cloudstack.template:
105+
name: "ansible-template-test1"
106+
display_text: "{{ cs_resource_prefix }}-template display_text"
107+
url: "{{ cs_template_url }}"
108+
format: "{{ cs_template_format }}"
109+
hypervisor: "{{ cs_template_hypervisor }}"
110+
os_type: "{{ cs_template_os_type }}"
111+
is_featured: true
112+
cross_zones: true
113+
register: template
114+
- name: verify test update template idempotence
115+
assert:
116+
that:
117+
- template is not changed
118+
- template.name == "ansible-template-test1"
119+
- template.display_text == cs_resource_prefix + "-template display_text"
120+
- template.cross_zones == true
121+
- template.is_featured == true
122+
123+
- name: test remove template in check mode
124+
ngine_io.cloudstack.template:
125+
name: "ansible-template-test1"
126+
state: absent
127+
cross_zones: true
128+
register: template
129+
check_mode: true
130+
- name: verify test remove template in check mode
131+
assert:
132+
that:
133+
- template is changed
134+
- template.name == "ansible-template-test1"
135+
- template.display_text == cs_resource_prefix + "-template display_text"
136+
- template.cross_zones == true
137+
138+
- name: test remove template
139+
ngine_io.cloudstack.template:
140+
name: "ansible-template-test1"
141+
state: absent
142+
cross_zones: true
143+
register: template
144+
- name: verify test remove template
145+
assert:
146+
that:
147+
- template is changed
148+
- template.name == "ansible-template-test1"
149+
- template.display_text == cs_resource_prefix + "-template display_text"
150+
- template.cross_zones == true
151+
152+
- name: test remove template idempotence
153+
ngine_io.cloudstack.template:
154+
name: "ansible-template-test1"
155+
state: absent
156+
cross_zones: true
157+
register: template
158+
- name: verify test remove template idempotence
159+
assert:
160+
that:
161+
- template is not changed
Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
---
2+
- name: setup template first template
3+
ngine_io.cloudstack.template:
4+
name: ansible-template-test2
5+
display_text: first template
6+
state: absent
7+
cross_zones: yes
8+
template_find_options: display_text
9+
register: template
10+
- name: verify setup template first template
11+
assert:
12+
that:
13+
- template is successful
14+
15+
- name: setup template second template
16+
ngine_io.cloudstack.template:
17+
name: ansible-template-test2
18+
display_text: second template
19+
state: absent
20+
cross_zones: yes
21+
template_find_options: display_text
22+
register: template
23+
- name: verify setup template second template
24+
assert:
25+
that:
26+
- template is successful
27+
28+
- name: test register first template
29+
ngine_io.cloudstack.template:
30+
name: ansible-template-test2
31+
display_text: first template
32+
url: "{{ cs_template_url }}"
33+
format: "{{ cs_template_format }}"
34+
hypervisor: "{{ cs_template_hypervisor }}"
35+
os_type: "{{ cs_template_os_type }}"
36+
cross_zones: yes
37+
template_find_options: display_text
38+
register: template_first
39+
- name: verify test register first template
40+
assert:
41+
that:
42+
- template_first is changed
43+
- template_first.name == "ansible-template-test2"
44+
- template_first.display_text == "first template"
45+
- template_first.cross_zones == true
46+
47+
- name: test register second template
48+
ngine_io.cloudstack.template:
49+
name: ansible-template-test2
50+
display_text: second template
51+
url: "{{ cs_template_url }}"
52+
format: "{{ cs_template_format }}"
53+
hypervisor: "{{ cs_template_hypervisor }}"
54+
os_type: "{{ cs_template_os_type }}"
55+
cross_zones: yes
56+
template_find_options: display_text
57+
register: template_second
58+
- name: verify test register second template
59+
assert:
60+
that:
61+
- template_second is changed
62+
- template_second.name == "ansible-template-test2"
63+
- template_second.display_text == "second template"
64+
- template_second.cross_zones == true
65+
- template_second.id != template_first.id
66+
67+
- name: test multiple template same name absent without find options
68+
ngine_io.cloudstack.template:
69+
name: ansible-template-test2
70+
state: absent
71+
cross_zones: yes
72+
register: template
73+
ignore_errors: yes
74+
- name: verify test multiple template same name absent without find options
75+
assert:
76+
that:
77+
- template is failed
78+
- template.msg.startswith('Multiple templates found')
79+
80+
- name: test update second template
81+
ngine_io.cloudstack.template:
82+
name: ansible-template-test2
83+
display_text: second template
84+
url: "{{ cs_template_url }}"
85+
format: "{{ cs_template_format }}"
86+
hypervisor: "{{ cs_template_hypervisor }}"
87+
os_type: "{{ cs_template_os_type }}"
88+
is_featured: yes
89+
is_public: yes
90+
cross_zones: yes
91+
template_find_options: display_text
92+
register: template
93+
- name: verify test update second template
94+
assert:
95+
that:
96+
- template is changed
97+
- template.name == "ansible-template-test2"
98+
- template.display_text == "second template"
99+
- template.cross_zones == true
100+
- template.id == template_second.id
101+
- template.is_featured == true
102+
- template.is_public == true
103+
104+
- name: test update second template idempotence
105+
ngine_io.cloudstack.template:
106+
name: ansible-template-test2
107+
display_text: second template
108+
url: "{{ cs_template_url }}"
109+
format: "{{ cs_template_format }}"
110+
hypervisor: "{{ cs_template_hypervisor }}"
111+
os_type: "{{ cs_template_os_type }}"
112+
is_featured: yes
113+
is_public: yes
114+
cross_zones: yes
115+
template_find_options: display_text
116+
register: template
117+
- name: verify test update second template idempotence
118+
assert:
119+
that:
120+
- template is not changed
121+
- template.name == "ansible-template-test2"
122+
- template.display_text == "second template"
123+
- template.cross_zones == true
124+
- template.id == template_second.id
125+
- template.is_featured == true
126+
127+
- name: test update second template idempotence 2
128+
ngine_io.cloudstack.template:
129+
name: ansible-template-test2
130+
display_text: second template
131+
url: "{{ cs_template_url }}"
132+
format: "{{ cs_template_format }}"
133+
hypervisor: "{{ cs_template_hypervisor }}"
134+
os_type: "{{ cs_template_os_type }}"
135+
cross_zones: yes
136+
template_find_options: display_text
137+
register: template
138+
- name: verify test update second template idempotence
139+
assert:
140+
that:
141+
- template is not changed
142+
- template.name == "ansible-template-test2"
143+
- template.display_text == "second template"
144+
- template.cross_zones == true
145+
- template.id == template_second.id
146+
147+
- name: test delete first template
148+
ngine_io.cloudstack.template:
149+
name: ansible-template-test2
150+
display_text: first template
151+
state: absent
152+
cross_zones: yes
153+
template_find_options: display_text
154+
register: template
155+
- name: verify test delete first template
156+
assert:
157+
that:
158+
- template is changed
159+
- template.name == "ansible-template-test2"
160+
- template.display_text == "first template"
161+
- template.cross_zones == true
162+
- template.id == template_first.id
163+
- template.is_featured == false
164+
165+
- name: test delete second template
166+
ngine_io.cloudstack.template:
167+
name: ansible-template-test2
168+
display_text: second template
169+
state: absent
170+
cross_zones: yes
171+
template_find_options: display_text
172+
register: template
173+
- name: verify test delete second template
174+
assert:
175+
that:
176+
- template is changed
177+
- template.name == "ansible-template-test2"
178+
- template.display_text == "second template"
179+
- template.cross_zones == true
180+
- template.id == template_second.id
181+
- template.is_featured == true

0 commit comments

Comments
 (0)