summaryrefslogtreecommitdiff
path: root/tests/cloud_tests/releases.yaml
blob: 48f903b8ccc7c20a62b8a1e56a0ff11199f87801 (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
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
# ============================= 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
    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 =================================================================
    bionic:
        # EOL: Apr 2023
        default:
            enabled: true
            release: bionic
            version: 18.04
            family: 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
            family: 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
    zesty:
        # EOL: Jan 2018
        default:
            enabled: true
            release: zesty
            version: 17.04
            family: ubuntu
            feature_groups:
                - base
                - debian_base
                - ubuntu_specific
        lxd:
            sstreams_server: https://cloud-images.ubuntu.com/daily
            alias: zesty
            setup_overrides: null
            override_templates: false
    xenial:
        # EOL: Apr 2021
        default:
            enabled: true
            release: xenial
            version: 16.04
            family: 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
            family: 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