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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
|
# ============================= Release Config ================================
default_release_config:
# global default configuration options
default:
# all are disabled by default
enabled: false
# timeout for booting image and running cloud init
boot_timeout: 120
# a script to run after a boot that is used to modify an image, before
# making a snapshot of the image. may be useful for removing data left
# behind from cloud-init booting, such as logs, to ensure that data
# from snapshot.launch() will not include a cloud-init.log from a boot
# used to create the snapshot, if cloud-init has not run
boot_clean_script: |
#!/bin/bash
rm -rf /var/log/cloud-init.log /var/log/cloud-init-output.log \
/var/lib/cloud/ /run/cloud-init/ /var/log/syslog
# test script to determine if system is booted fully
system_ready_script: |
# permit running or degraded state as both indicate complete boot
[ $(systemctl is-system-running) = 'running' -o
$(systemctl is-system-running) = 'degraded' ]
# test script to determine if cloud-init has finished
cloud_init_ready_script: |
[ -f '/run/cloud-init/result.json' ]
# currently used features and their uses are:
# features groups and additional feature settings
feature_groups: []
features: {}
mirror_url: https://cloud-images.ubuntu.com/daily
mirror_dir: '/srv/citest/images'
keyring: /usr/share/keyrings/ubuntu-cloudimage-keyring.gpg
# The OS version formatted as Major.Minor is used to compare releases
version: null # Each release needs to define this, for example 16.04
ec2:
# Choose from: [ebs, instance-store]
root-store: ebs
boot_timeout: 300
nocloud-kvm:
setup_overrides: null
override_templates: false
# lxd specific default configuration options
lxd:
# default sstreams server to use for lxd image retrieval
sstreams_server: https://us.images.linuxcontainers.org:8443
# keep base image, avoids downloading again next run
cache_base_image: true
# lxd images from linuxcontainers.org do not have the nocloud seed
# templates in place, so the image metadata must be modified
override_templates: true
# arg overrides to set image up
setup_overrides:
# lxd images from linuxcontainers.org do not come with
# cloud-init, so must pull cloud-init in from repo using
# setup_image.upgrade
upgrade: true
features:
# all currently supported feature flags
all:
- apt # image supports apt package manager
- byobu # byobu is available in repositories
- landscape # landscape-client available in repos
- lxd # lxd is available in the image
- ppa # image supports ppas
- rpm # image supports rpms
- snap # supports snapd
# NOTE: the following feature flags are to work around bugs in the
# images, and can be removed when no longer needed
- hostname # setting system hostname works
# NOTE: the following feature flags are to work around issues in the
# testcases, and can be removed when no longer needed
- apt_src_cont # default contents and format of sources.list matches
# ubuntu sources.list
- apt_hist_fmt # apt command history entries use full paths to apt
# executable rather than relative paths
- daylight_time # timezones are daylight not standard time
- apt_up_out # 'Calculating upgrade..' present in log output from
# apt-get dist-upgrade output
- engb_locale # locale en_GB.UTF-8 is available
- locale_gen # the /etc/locale.gen file exists
- no_ntpdate # 'ntpdate' is not installed by default
- no_file_fmt_e # the 'file' utility does not have a formatting error
- ppa_file_name # the name of the source file added to sources.list.d has
# the expected format for newer ubuntu releases
- sshd # requires ssh server to be installed by default
- ssh_key_fmt # ssh auth keys printed to console have expected format
- syslog # test case requires syslog to be written by default
- ubuntu_ntp # expect ubuntu.pool.ntp.org to be used as ntp server
- ubuntu_repos # test case requres ubuntu repositories to be used
- ubuntu_user # test case needs user with the name 'ubuntu' to exist
# NOTE: the following feature flags are to work around issues that may
# be considered bugs in cloud-init
- lsb_release # image has lsb_release installed, maybe should install
# if missing by default
- sudo # image has sudo installed, should not be required
# feature flag groups
groups:
base:
hostname: true
no_file_fmt_e: true
ubuntu_specific:
apt_src_cont: true
apt_hist_fmt: true
byobu: true
daylight_time: true
engb_locale: true
landscape: true
locale_gen: true
lsb_release: true
lxd: true
ppa: true
ppa_file_name: true
snap: true
sshd: true
ssh_key_fmt: true
sudo: true
syslog: true
ubuntu_ntp: true
ubuntu_repos: true
ubuntu_user: true
debian_base:
apt: true
apt_up_out: true
no_ntpdate: true
rhel_base:
rpm: true
releases:
# UBUNTU =================================================================
eoan:
# EOL: Jul 2020
default:
enabled: true
release: eoan
version: 19.10
os: ubuntu
feature_groups:
- base
- debian_base
- ubuntu_specific
lxd:
sstreams_server: https://cloud-images.ubuntu.com/daily
alias: eoan
setup_overrides: null
override_templates: false
disco:
# EOL: Jan 2020
default:
enabled: true
release: disco
version: 19.04
os: ubuntu
feature_groups:
- base
- debian_base
- ubuntu_specific
lxd:
sstreams_server: https://cloud-images.ubuntu.com/daily
alias: disco
setup_overrides: null
override_templates: false
cosmic:
# EOL: Jul 2019
default:
enabled: true
release: cosmic
version: 18.10
os: ubuntu
feature_groups:
- base
- debian_base
- ubuntu_specific
lxd:
sstreams_server: https://cloud-images.ubuntu.com/daily
alias: cosmic
setup_overrides: null
override_templates: false
bionic:
# EOL: Apr 2023
default:
enabled: true
release: bionic
version: 18.04
os: ubuntu
feature_groups:
- base
- debian_base
- ubuntu_specific
lxd:
sstreams_server: https://cloud-images.ubuntu.com/daily
alias: bionic
setup_overrides: null
override_templates: false
artful:
# EOL: Jul 2018
default:
enabled: true
release: artful
version: 17.10
os: ubuntu
feature_groups:
- base
- debian_base
- ubuntu_specific
lxd:
sstreams_server: https://cloud-images.ubuntu.com/daily
alias: artful
setup_overrides: null
override_templates: false
xenial:
# EOL: Apr 2021
default:
enabled: true
release: xenial
version: 16.04
os: ubuntu
feature_groups:
- base
- debian_base
- ubuntu_specific
lxd:
sstreams_server: https://cloud-images.ubuntu.com/daily
alias: xenial
setup_overrides: null
override_templates: false
trusty:
# EOL: Apr 2019
default:
enabled: true
release: trusty
version: 14.04
os: ubuntu
feature_groups:
- base
- debian_base
- ubuntu_specific
features:
apt_up_out: false
locale_gen: false
lxd: false
ppa_file_name: false
snap: false
ssh_key_fmt: false
no_ntpdate: false
no_file_fmt_e: false
system_ready_script: |
#!/bin/bash
# upstart based, so use old style runlevels
[ $(runlevel | awk '{print $2}') = '2' ]
lxd:
sstreams_server: https://cloud-images.ubuntu.com/daily
alias: trusty
setup_overrides: null
override_templates: false
# DEBIAN =================================================================
stretch:
# EOL: Not yet released
default:
enabled: true
feature_groups:
- base
- debian_base
lxd:
alias: debian/stretch/default
jessie:
# EOL: Jun 2020
# NOTE: the cloud-init version shipped with jessie is out of date
# tests work if an up to date deb is used
default:
enabled: true
feature_groups:
- base
- debian_base
lxd:
alias: debian/jessie/default
# CENTOS =================================================================
centos70:
# EOL: Jun 2024 (2020 - end of full updates)
default:
enabled: true
feature_groups:
- base
- rhel_base
user_data_overrides:
preserve_hostname: true
lxd:
features:
# NOTE: (LP: #1575779)
hostname: false
alias: centos/7/default
centos66:
# EOL: Nov 2020
default:
enabled: true
feature_groups:
- base
- rhel_base
# still supported, but only bugfixes after may 2017
system_ready_script: |
#!/bin/bash
[ $(runlevel | awk '{print $2}') = '3' ]
user_data_overrides:
preserve_hostname: true
lxd:
features:
# NOTE: (LP: #1575779)
hostname: false
alias: centos/6/default
# vi: ts=4 expandtab
|