Merge ~powersj/cloud-init:cii-fix-kvm-tests into cloud-init:master
- Git
- lp:~powersj/cloud-init
- cii-fix-kvm-tests
- Merge into master
Status: | Merged |
---|---|
Merge reported by: | Scott Moser |
Merged at revision: | 13e29b79db4efc46db725a793a3840b8832149c9 |
Proposed branch: | ~powersj/cloud-init:cii-fix-kvm-tests |
Merge into: | cloud-init:master |
Diff against target: |
410 lines (+46/-75) 19 files modified
tests/cloud_tests/instances/base.py (+4/-1) tests/cloud_tests/instances/nocloudkvm.py (+1/-1) tests/cloud_tests/testcases/examples/run_commands.yaml (+2/-2) tests/cloud_tests/testcases/examples/writing_out_arbitrary_files.yaml (+9/-10) tests/cloud_tests/testcases/modules/keys_to_console.py (+4/-4) tests/cloud_tests/testcases/modules/runcmd.yaml (+2/-2) tests/cloud_tests/testcases/modules/seed_random_command.yaml (+2/-2) tests/cloud_tests/testcases/modules/seed_random_data.yaml (+2/-2) tests/cloud_tests/testcases/modules/set_password_expire.py (+1/-1) tests/cloud_tests/testcases/modules/set_password_expire.yaml (+2/-0) tests/cloud_tests/testcases/modules/set_password_list.yaml (+1/-0) tests/cloud_tests/testcases/modules/set_password_list_string.yaml (+1/-0) tests/cloud_tests/testcases/modules/ssh_auth_key_fingerprints_disable.py (+0/-8) tests/cloud_tests/testcases/modules/ssh_auth_key_fingerprints_disable.yaml (+0/-1) tests/cloud_tests/testcases/modules/ssh_keys_generate.py (+0/-5) tests/cloud_tests/testcases/modules/ssh_keys_generate.yaml (+2/-5) tests/cloud_tests/testcases/modules/ssh_keys_provided.py (+0/-11) tests/cloud_tests/testcases/modules/ssh_keys_provided.yaml (+4/-10) tests/cloud_tests/testcases/modules/write_files.yaml (+9/-10) |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Server Team CI bot | continuous-integration | Approve | |
Chad Smith | Approve | ||
Review via email: mp+331736@code.launchpad.net |
Commit message
tests: Enable all tests for nocloud-kvm backend
The original testcases were written using the lxd backend only. This
commit enables the use of the nocloud-kvm backend for all testcases. The
primary changes revolve around 3 areas:
* Ensure all tests execute as root per spec via sudo
* Move from /root to /var/tmp or $HOME - with lxd we login as root by
default, but that is not the case with nocloud-kvm or other backends.
* Update ssh key auth user to not be root and either update or remove a
few key checks.
Description of the change
Server Team CI bot (server-team-bot) wrote : | # |
Scott Moser (smoser) wrote : | # |
probably use of /tmp is dangerous.
maybe not.
https:/
Chad Smith (chad.smith) : | # |
Chad Smith (chad.smith) wrote : | # |
Integration tests nocloud-kvm work well on a fresh artful install when I do the following:
sudo apt install python3-
sudo mkdir -i /srv/citest
sudo chown me:me /srv/citest
python3 -m tests.cloud_tests run -p nocloud-kvm --os-name artful --preserve-data -data-dir restults --verbose -deb cloud-init_
Chad Smith (chad.smith) wrote : | # |
for tox -e citest to work this branch was missing a rebase I think on master to pull in bzr:lp:simplestreams
Chad Smith (chad.smith) wrote : | # |
kvm run output
http://
Scott Moser (smoser) wrote : | # |
At first I was not keen on the use of /var/tmp, as I knew that Ubuntu was carrying a patch to systemd upstream for that behavior, and figured that we were really just buying time before someone decided "oh lets remove /var/tmp/ also".
I dug a bit, patch [1] that does this is to fix Debian bug 675422 [2].
That bug references the FHS [3] which at least gives us a reasonable justification for
our use:
| The /var/tmp directory is made available for programs that require
| temporary files or directories that are preserved between system
| reboots. Therefore, data stored in /var/tmp is more persistent than
| data in /tmp.
| Files and directories located in /var/tmp must not be deleted when the
| system is booted. Although data stored in /var/tmp is typically deleted
| in a site-specific manner, it is recommended that deletions occur at a
| less frequent interval than /tmp.
So, it seems sane that /var/tmp can be used.
But for some use cases /run/my-dir is better (in that it is guaranteed
to *not* have stale data across a boot).
[1] https:/
[2] https:/
[3] http://
Scott Moser (smoser) wrote : | # |
With regard to "not logged in as root by default", that is kind of wrong.
Any 'instance.
different would mean that the caller has to adjust their usage based on
the backend being used. That is kind of painful.
lets see if we can't just easily fix that.
Joshua Powers (powersj) wrote : | # |
>lets see if we can't just easily fix that.
I looked a little bit at this, particularly at the tests/cloud_
I think this is better tackled by removing our method of pushing a script and then executing that script and instead of going to your proposed method of specifying what is collected, specifically:
# These files should be collected when we from the running instance
# at the end of boot. Anything ending in a '/' should include
# be recursive.
files:
- /run/cloud-init/
- /var/lib/cloud/
- /etc/passwd
# These are exectuted and the dictionary available to the test results.
collect_scripts:
hosts: [cat, /etc/hosts]
ps-a: [ps, -a]
At that point, we can handle the execution of by root then and there.
Thoughts? Is there an easy mechanism I have overlooked?
Server Team CI bot (server-team-bot) wrote : | # |
FAILED: Continuous integration, rev:6d9dd0da9b0
https:/
Executed test runs:
SUCCESS: Checkout
SUCCESS: Unit & Style Tests
SUCCESS: Ubuntu LTS: Build
FAILED: Ubuntu LTS: Integration
Click here to trigger a rebuild:
https:/
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:6d9dd0da9b0
https:/
Executed test runs:
SUCCESS: Checkout
SUCCESS: Unit & Style Tests
SUCCESS: Ubuntu LTS: Build
SUCCESS: Ubuntu LTS: Integration
SUCCESS: MAAS Compatability Testing
IN_PROGRESS: Declarative: Post Actions
Click here to trigger a rebuild:
https:/
Server Team CI bot (server-team-bot) wrote : | # |
FAILED: Continuous integration, rev:806f48840ef
https:/
Executed test runs:
SUCCESS: Checkout
FAILED: Unit & Style Tests
Click here to trigger a rebuild:
https:/
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:59d162eecd4
https:/
Executed test runs:
SUCCESS: Checkout
SUCCESS: Unit & Style Tests
SUCCESS: Ubuntu LTS: Build
SUCCESS: Ubuntu LTS: Integration
SUCCESS: MAAS Compatability Testing
IN_PROGRESS: Declarative: Post Actions
Click here to trigger a rebuild:
https:/
Scott Moser (smoser) wrote : | # |
tmpfile should look more like this:
def tmpfile(self):
path = "/tmp/%s-%04d" % (type(self)
return path
then we're good.
as is, the tmpfile name never changed, which is kind of not very tmpfile-like
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:6c3c9fc43cd
https:/
Executed test runs:
SUCCESS: Checkout
SUCCESS: Unit & Style Tests
SUCCESS: Ubuntu LTS: Build
SUCCESS: Ubuntu LTS: Integration
SUCCESS: MAAS Compatability Testing
IN_PROGRESS: Declarative: Post Actions
Click here to trigger a rebuild:
https:/
Server Team CI bot (server-team-bot) wrote : | # |
PASSED: Continuous integration, rev:13e29b79db4
https:/
Executed test runs:
SUCCESS: Checkout
SUCCESS: Unit & Style Tests
SUCCESS: Ubuntu LTS: Build
SUCCESS: Ubuntu LTS: Integration
SUCCESS: MAAS Compatability Testing
IN_PROGRESS: Declarative: Post Actions
Click here to trigger a rebuild:
https:/
Scott Moser (smoser) wrote : | # |
pushed a branch of mine to
https:/
which takes this and adds.
Scott Moser (smoser) wrote : | # |
I've called this merged as my branch went in.
thanks josh.
There was an error fetching revisions from git servers. Please try again in a few minutes. If the problem persists, contact Launchpad support.
Preview Diff
1 | diff --git a/tests/cloud_tests/instances/base.py b/tests/cloud_tests/instances/base.py | |||
2 | index 9bdda60..8f58c69 100644 | |||
3 | --- a/tests/cloud_tests/instances/base.py | |||
4 | +++ b/tests/cloud_tests/instances/base.py | |||
5 | @@ -22,6 +22,7 @@ class Instance(object): | |||
6 | 22 | self.properties = properties | 22 | self.properties = properties |
7 | 23 | self.config = config | 23 | self.config = config |
8 | 24 | self.features = features | 24 | self.features = features |
9 | 25 | self._tmp_count = 0 | ||
10 | 25 | 26 | ||
11 | 26 | def execute(self, command, stdout=None, stderr=None, env=None, | 27 | def execute(self, command, stdout=None, stderr=None, env=None, |
12 | 27 | rcs=None, description=None): | 28 | rcs=None, description=None): |
13 | @@ -97,7 +98,9 @@ class Instance(object): | |||
14 | 97 | 98 | ||
15 | 98 | @return_value: path to new file in target | 99 | @return_value: path to new file in target |
16 | 99 | """ | 100 | """ |
18 | 100 | return self.execute(['mktemp'])[0].strip() | 101 | path = "/tmp/%s-%04d" % (type(self).__name__, self._tmp_count) |
19 | 102 | self._tmp_count += 1 | ||
20 | 103 | return path | ||
21 | 101 | 104 | ||
22 | 102 | def console_log(self): | 105 | def console_log(self): |
23 | 103 | """Instance console. | 106 | """Instance console. |
24 | diff --git a/tests/cloud_tests/instances/nocloudkvm.py b/tests/cloud_tests/instances/nocloudkvm.py | |||
25 | index 8a0e531..cf5d571 100644 | |||
26 | --- a/tests/cloud_tests/instances/nocloudkvm.py | |||
27 | +++ b/tests/cloud_tests/instances/nocloudkvm.py | |||
28 | @@ -76,7 +76,7 @@ class NoCloudKVMInstance(base.Instance): | |||
29 | 76 | command = ['sh', '-c', command] | 76 | command = ['sh', '-c', command] |
30 | 77 | 77 | ||
31 | 78 | if self.pid: | 78 | if self.pid: |
33 | 79 | return self.ssh(command) | 79 | return self.ssh(['sudo'] + list(command)) |
34 | 80 | else: | 80 | else: |
35 | 81 | return self.mount_image_callback(command) + (0,) | 81 | return self.mount_image_callback(command) + (0,) |
36 | 82 | 82 | ||
37 | diff --git a/tests/cloud_tests/testcases/examples/run_commands.yaml b/tests/cloud_tests/testcases/examples/run_commands.yaml | |||
38 | index b0e311b..f80eb8c 100644 | |||
39 | --- a/tests/cloud_tests/testcases/examples/run_commands.yaml | |||
40 | +++ b/tests/cloud_tests/testcases/examples/run_commands.yaml | |||
41 | @@ -7,10 +7,10 @@ enabled: False | |||
42 | 7 | cloud_config: | | 7 | cloud_config: | |
43 | 8 | #cloud-config | 8 | #cloud-config |
44 | 9 | runcmd: | 9 | runcmd: |
46 | 10 | - echo cloud-init run cmd test > /tmp/run_cmd | 10 | - echo cloud-init run cmd test > /var/tmp/run_cmd |
47 | 11 | collect_scripts: | 11 | collect_scripts: |
48 | 12 | run_cmd: | | 12 | run_cmd: | |
49 | 13 | #!/bin/bash | 13 | #!/bin/bash |
51 | 14 | cat /tmp/run_cmd | 14 | cat /var/tmp/run_cmd |
52 | 15 | 15 | ||
53 | 16 | # vi: ts=4 expandtab | 16 | # vi: ts=4 expandtab |
54 | diff --git a/tests/cloud_tests/testcases/examples/writing_out_arbitrary_files.yaml b/tests/cloud_tests/testcases/examples/writing_out_arbitrary_files.yaml | |||
55 | index 6f78f99..d5da0ca 100644 | |||
56 | --- a/tests/cloud_tests/testcases/examples/writing_out_arbitrary_files.yaml | |||
57 | +++ b/tests/cloud_tests/testcases/examples/writing_out_arbitrary_files.yaml | |||
58 | @@ -9,37 +9,36 @@ cloud_config: | | |||
59 | 9 | write_files: | 9 | write_files: |
60 | 10 | - encoding: b64 | 10 | - encoding: b64 |
61 | 11 | content: CiMgVGhpcyBmaWxlIGNvbnRyb2xzIHRoZSBzdGF0ZSBvZiBTRUxpbnV4 | 11 | content: CiMgVGhpcyBmaWxlIGNvbnRyb2xzIHRoZSBzdGF0ZSBvZiBTRUxpbnV4 |
64 | 12 | owner: root:root | 12 | path: /var/tmp/file_b64 |
63 | 13 | path: /root/file_b64 | ||
65 | 14 | permissions: '0644' | 13 | permissions: '0644' |
66 | 15 | - content: | | 14 | - content: | |
68 | 16 | # My new /root/file_text | 15 | # My new /var/tmp/file_text |
69 | 17 | 16 | ||
70 | 18 | SMBDOPTIONS="-D" | 17 | SMBDOPTIONS="-D" |
72 | 19 | path: /root/file_text | 18 | path: /var/tmp/file_text |
73 | 20 | - content: !!binary | | 19 | - content: !!binary | |
74 | 21 | f0VMRgIBAQAAAAAAAAAAAAIAPgABAAAAwARAAAAAAABAAAAAAAAAAJAVAAAAAAAAAAAAAEAAOAAI | 20 | f0VMRgIBAQAAAAAAAAAAAAIAPgABAAAAwARAAAAAAABAAAAAAAAAAJAVAAAAAAAAAAAAAEAAOAAI |
75 | 22 | AEAAHgAdAAYAAAAFAAAAQAAAAAAAAABAAEAAAAAAAEAAQAAAAAAAwAEAAAAAAADAAQAAAAAAAAgA | 21 | AEAAHgAdAAYAAAAFAAAAQAAAAAAAAABAAEAAAAAAAEAAQAAAAAAAwAEAAAAAAADAAQAAAAAAAAgA |
76 | 23 | AAAAAAAAAwAAAAQAAAAAAgAAAAAAAAACQAAAAAAAAAJAAAAAAAAcAAAAAAAAABwAAAAAAAAAAQAA | 22 | AAAAAAAAAwAAAAQAAAAAAgAAAAAAAAACQAAAAAAAAAJAAAAAAAAcAAAAAAAAABwAAAAAAAAAAQAA |
78 | 24 | path: /root/file_binary | 23 | path: /var/tmp/file_binary |
79 | 25 | permissions: '0555' | 24 | permissions: '0555' |
80 | 26 | - encoding: gzip | 25 | - encoding: gzip |
81 | 27 | content: !!binary | | 26 | content: !!binary | |
82 | 28 | H4sIAIDb/U8C/1NW1E/KzNMvzuBKTc7IV8hIzcnJVyjPL8pJ4QIA6N+MVxsAAAA= | 27 | H4sIAIDb/U8C/1NW1E/KzNMvzuBKTc7IV8hIzcnJVyjPL8pJ4QIA6N+MVxsAAAA= |
84 | 29 | path: /root/file_gzip | 28 | path: /var/tmp/file_gzip |
85 | 30 | permissions: '0755' | 29 | permissions: '0755' |
86 | 31 | collect_scripts: | 30 | collect_scripts: |
87 | 32 | file_b64: | | 31 | file_b64: | |
88 | 33 | #!/bin/bash | 32 | #!/bin/bash |
90 | 34 | file /root/file_b64 | 33 | file /var/tmp/file_b64 |
91 | 35 | file_text: | | 34 | file_text: | |
92 | 36 | #!/bin/bash | 35 | #!/bin/bash |
94 | 37 | file /root/file_text | 36 | file /var/tmp/file_text |
95 | 38 | file_binary: | | 37 | file_binary: | |
96 | 39 | #!/bin/bash | 38 | #!/bin/bash |
98 | 40 | file /root/file_binary | 39 | file /var/tmp/file_binary |
99 | 41 | file_gzip: | | 40 | file_gzip: | |
100 | 42 | #!/bin/bash | 41 | #!/bin/bash |
102 | 43 | file /root/file_gzip | 42 | file /var/tmp/file_gzip |
103 | 44 | 43 | ||
104 | 45 | # vi: ts=4 expandtab | 44 | # vi: ts=4 expandtab |
105 | diff --git a/tests/cloud_tests/testcases/modules/keys_to_console.py b/tests/cloud_tests/testcases/modules/keys_to_console.py | |||
106 | index 88b6812..07f3811 100644 | |||
107 | --- a/tests/cloud_tests/testcases/modules/keys_to_console.py | |||
108 | +++ b/tests/cloud_tests/testcases/modules/keys_to_console.py | |||
109 | @@ -10,13 +10,13 @@ class TestKeysToConsole(base.CloudTestCase): | |||
110 | 10 | def test_excluded_keys(self): | 10 | def test_excluded_keys(self): |
111 | 11 | """Test excluded keys missing.""" | 11 | """Test excluded keys missing.""" |
112 | 12 | out = self.get_data_file('syslog') | 12 | out = self.get_data_file('syslog') |
115 | 13 | self.assertNotIn('DSA', out) | 13 | self.assertNotIn('(DSA)', out) |
116 | 14 | self.assertNotIn('ECDSA', out) | 14 | self.assertNotIn('(ECDSA)', out) |
117 | 15 | 15 | ||
118 | 16 | def test_expected_keys(self): | 16 | def test_expected_keys(self): |
119 | 17 | """Test expected keys exist.""" | 17 | """Test expected keys exist.""" |
120 | 18 | out = self.get_data_file('syslog') | 18 | out = self.get_data_file('syslog') |
123 | 19 | self.assertIn('ED25519', out) | 19 | self.assertIn('(ED25519)', out) |
124 | 20 | self.assertIn('RSA', out) | 20 | self.assertIn('(RSA)', out) |
125 | 21 | 21 | ||
126 | 22 | # vi: ts=4 expandtab | 22 | # vi: ts=4 expandtab |
127 | diff --git a/tests/cloud_tests/testcases/modules/runcmd.yaml b/tests/cloud_tests/testcases/modules/runcmd.yaml | |||
128 | index 04e5a05..8309a88 100644 | |||
129 | --- a/tests/cloud_tests/testcases/modules/runcmd.yaml | |||
130 | +++ b/tests/cloud_tests/testcases/modules/runcmd.yaml | |||
131 | @@ -4,10 +4,10 @@ | |||
132 | 4 | cloud_config: | | 4 | cloud_config: | |
133 | 5 | #cloud-config | 5 | #cloud-config |
134 | 6 | runcmd: | 6 | runcmd: |
136 | 7 | - echo cloud-init run cmd test > /tmp/run_cmd | 7 | - echo cloud-init run cmd test > /var/tmp/run_cmd |
137 | 8 | collect_scripts: | 8 | collect_scripts: |
138 | 9 | run_cmd: | | 9 | run_cmd: | |
139 | 10 | #!/bin/bash | 10 | #!/bin/bash |
141 | 11 | cat /tmp/run_cmd | 11 | cat /var/tmp/run_cmd |
142 | 12 | 12 | ||
143 | 13 | # vi: ts=4 expandtab | 13 | # vi: ts=4 expandtab |
144 | diff --git a/tests/cloud_tests/testcases/modules/seed_random_command.yaml b/tests/cloud_tests/testcases/modules/seed_random_command.yaml | |||
145 | index 6a9157e..a201c0a 100644 | |||
146 | --- a/tests/cloud_tests/testcases/modules/seed_random_command.yaml | |||
147 | +++ b/tests/cloud_tests/testcases/modules/seed_random_command.yaml | |||
148 | @@ -9,10 +9,10 @@ cloud_config: | | |||
149 | 9 | random_seed: | 9 | random_seed: |
150 | 10 | command: ["cat", "/proc/sys/kernel/random/uuid"] | 10 | command: ["cat", "/proc/sys/kernel/random/uuid"] |
151 | 11 | command_required: true | 11 | command_required: true |
153 | 12 | file: /root/seed | 12 | file: /var/tmp/seed |
154 | 13 | collect_scripts: | 13 | collect_scripts: |
155 | 14 | seed_data: | | 14 | seed_data: | |
156 | 15 | #!/bin/bash | 15 | #!/bin/bash |
158 | 16 | cat /root/seed | 16 | cat /var/tmp/seed |
159 | 17 | 17 | ||
160 | 18 | # vi: ts=4 expandtab | 18 | # vi: ts=4 expandtab |
161 | diff --git a/tests/cloud_tests/testcases/modules/seed_random_data.yaml b/tests/cloud_tests/testcases/modules/seed_random_data.yaml | |||
162 | index a9b2c88..2e6e134 100644 | |||
163 | --- a/tests/cloud_tests/testcases/modules/seed_random_data.yaml | |||
164 | +++ b/tests/cloud_tests/testcases/modules/seed_random_data.yaml | |||
165 | @@ -6,10 +6,10 @@ cloud_config: | | |||
166 | 6 | random_seed: | 6 | random_seed: |
167 | 7 | data: 'MYUb34023nD:LFDK10913jk;dfnk:Df' | 7 | data: 'MYUb34023nD:LFDK10913jk;dfnk:Df' |
168 | 8 | encoding: raw | 8 | encoding: raw |
170 | 9 | file: /root/seed | 9 | file: /var/tmp/seed |
171 | 10 | collect_scripts: | 10 | collect_scripts: |
172 | 11 | seed_data: | | 11 | seed_data: | |
173 | 12 | #!/bin/bash | 12 | #!/bin/bash |
175 | 13 | cat /root/seed | 13 | cat /var/tmp/seed |
176 | 14 | 14 | ||
177 | 15 | # vi: ts=4 expandtab | 15 | # vi: ts=4 expandtab |
178 | diff --git a/tests/cloud_tests/testcases/modules/set_password_expire.py b/tests/cloud_tests/testcases/modules/set_password_expire.py | |||
179 | index a1c3aa0..967aca7 100644 | |||
180 | --- a/tests/cloud_tests/testcases/modules/set_password_expire.py | |||
181 | +++ b/tests/cloud_tests/testcases/modules/set_password_expire.py | |||
182 | @@ -18,6 +18,6 @@ class TestPasswordExpire(base.CloudTestCase): | |||
183 | 18 | def test_sshd_config(self): | 18 | def test_sshd_config(self): |
184 | 19 | """Test sshd config allows passwords.""" | 19 | """Test sshd config allows passwords.""" |
185 | 20 | out = self.get_data_file('sshd_config') | 20 | out = self.get_data_file('sshd_config') |
187 | 21 | self.assertIn('PasswordAuthentication no', out) | 21 | self.assertIn('PasswordAuthentication yes', out) |
188 | 22 | 22 | ||
189 | 23 | # vi: ts=4 expandtab | 23 | # vi: ts=4 expandtab |
190 | diff --git a/tests/cloud_tests/testcases/modules/set_password_expire.yaml b/tests/cloud_tests/testcases/modules/set_password_expire.yaml | |||
191 | index 789604b..ba6344b 100644 | |||
192 | --- a/tests/cloud_tests/testcases/modules/set_password_expire.yaml | |||
193 | +++ b/tests/cloud_tests/testcases/modules/set_password_expire.yaml | |||
194 | @@ -6,7 +6,9 @@ required_features: | |||
195 | 6 | cloud_config: | | 6 | cloud_config: | |
196 | 7 | #cloud-config | 7 | #cloud-config |
197 | 8 | chpasswd: { expire: True } | 8 | chpasswd: { expire: True } |
198 | 9 | ssh_pwauth: yes | ||
199 | 9 | users: | 10 | users: |
200 | 11 | - default | ||
201 | 10 | - name: tom | 12 | - name: tom |
202 | 11 | password: $1$xyz$sPMsLNmf66Ohl.ol6JvzE. | 13 | password: $1$xyz$sPMsLNmf66Ohl.ol6JvzE. |
203 | 12 | lock_passwd: false | 14 | lock_passwd: false |
204 | diff --git a/tests/cloud_tests/testcases/modules/set_password_list.yaml b/tests/cloud_tests/testcases/modules/set_password_list.yaml | |||
205 | index a2a89c9..fd3e1e4 100644 | |||
206 | --- a/tests/cloud_tests/testcases/modules/set_password_list.yaml | |||
207 | +++ b/tests/cloud_tests/testcases/modules/set_password_list.yaml | |||
208 | @@ -5,6 +5,7 @@ cloud_config: | | |||
209 | 5 | #cloud-config | 5 | #cloud-config |
210 | 6 | ssh_pwauth: yes | 6 | ssh_pwauth: yes |
211 | 7 | users: | 7 | users: |
212 | 8 | - default | ||
213 | 8 | - name: tom | 9 | - name: tom |
214 | 9 | # md5 gotomgo | 10 | # md5 gotomgo |
215 | 10 | passwd: "$1$S7$tT1BEDIYrczeryDQJfdPe0" | 11 | passwd: "$1$S7$tT1BEDIYrczeryDQJfdPe0" |
216 | diff --git a/tests/cloud_tests/testcases/modules/set_password_list_string.yaml b/tests/cloud_tests/testcases/modules/set_password_list_string.yaml | |||
217 | index c2a0f63..e9fe54b 100644 | |||
218 | --- a/tests/cloud_tests/testcases/modules/set_password_list_string.yaml | |||
219 | +++ b/tests/cloud_tests/testcases/modules/set_password_list_string.yaml | |||
220 | @@ -5,6 +5,7 @@ cloud_config: | | |||
221 | 5 | #cloud-config | 5 | #cloud-config |
222 | 6 | ssh_pwauth: yes | 6 | ssh_pwauth: yes |
223 | 7 | users: | 7 | users: |
224 | 8 | - default | ||
225 | 8 | - name: tom | 9 | - name: tom |
226 | 9 | # md5 gotomgo | 10 | # md5 gotomgo |
227 | 10 | passwd: "$1$S7$tT1BEDIYrczeryDQJfdPe0" | 11 | passwd: "$1$S7$tT1BEDIYrczeryDQJfdPe0" |
228 | diff --git a/tests/cloud_tests/testcases/modules/ssh_auth_key_fingerprints_disable.py b/tests/cloud_tests/testcases/modules/ssh_auth_key_fingerprints_disable.py | |||
229 | index 8222321..e7329d4 100644 | |||
230 | --- a/tests/cloud_tests/testcases/modules/ssh_auth_key_fingerprints_disable.py | |||
231 | +++ b/tests/cloud_tests/testcases/modules/ssh_auth_key_fingerprints_disable.py | |||
232 | @@ -13,12 +13,4 @@ class TestSshKeyFingerprintsDisable(base.CloudTestCase): | |||
233 | 13 | self.assertIn('Skipping module named ssh-authkey-fingerprints, ' | 13 | self.assertIn('Skipping module named ssh-authkey-fingerprints, ' |
234 | 14 | 'logging of ssh fingerprints disabled', out) | 14 | 'logging of ssh fingerprints disabled', out) |
235 | 15 | 15 | ||
236 | 16 | def test_syslog(self): | ||
237 | 17 | """Verify output of syslog.""" | ||
238 | 18 | out = self.get_data_file('syslog') | ||
239 | 19 | self.assertNotRegex(out, r'256 SHA256:.*(ECDSA)') | ||
240 | 20 | self.assertNotRegex(out, r'256 SHA256:.*(ED25519)') | ||
241 | 21 | self.assertNotRegex(out, r'1024 SHA256:.*(DSA)') | ||
242 | 22 | self.assertNotRegex(out, r'2048 SHA256:.*(RSA)') | ||
243 | 23 | |||
244 | 24 | # vi: ts=4 expandtab | 16 | # vi: ts=4 expandtab |
245 | diff --git a/tests/cloud_tests/testcases/modules/ssh_auth_key_fingerprints_disable.yaml b/tests/cloud_tests/testcases/modules/ssh_auth_key_fingerprints_disable.yaml | |||
246 | index 746653e..d93893e 100644 | |||
247 | --- a/tests/cloud_tests/testcases/modules/ssh_auth_key_fingerprints_disable.yaml | |||
248 | +++ b/tests/cloud_tests/testcases/modules/ssh_auth_key_fingerprints_disable.yaml | |||
249 | @@ -5,7 +5,6 @@ required_features: | |||
250 | 5 | - syslog | 5 | - syslog |
251 | 6 | cloud_config: | | 6 | cloud_config: | |
252 | 7 | #cloud-config | 7 | #cloud-config |
253 | 8 | ssh_genkeytypes: [] | ||
254 | 9 | no_ssh_fingerprints: true | 8 | no_ssh_fingerprints: true |
255 | 10 | collect_scripts: | 9 | collect_scripts: |
256 | 11 | syslog: | | 10 | syslog: | |
257 | diff --git a/tests/cloud_tests/testcases/modules/ssh_keys_generate.py b/tests/cloud_tests/testcases/modules/ssh_keys_generate.py | |||
258 | index fd6d9ba..b68f556 100644 | |||
259 | --- a/tests/cloud_tests/testcases/modules/ssh_keys_generate.py | |||
260 | +++ b/tests/cloud_tests/testcases/modules/ssh_keys_generate.py | |||
261 | @@ -9,11 +9,6 @@ class TestSshKeysGenerate(base.CloudTestCase): | |||
262 | 9 | 9 | ||
263 | 10 | # TODO: Check cloud-init-output for the correct keys being generated | 10 | # TODO: Check cloud-init-output for the correct keys being generated |
264 | 11 | 11 | ||
265 | 12 | def test_ubuntu_authorized_keys(self): | ||
266 | 13 | """Test passed in key is not in list for ubuntu.""" | ||
267 | 14 | out = self.get_data_file('auth_keys_ubuntu') | ||
268 | 15 | self.assertEqual('', out) | ||
269 | 16 | |||
270 | 17 | def test_dsa_public(self): | 12 | def test_dsa_public(self): |
271 | 18 | """Test dsa public key not generated.""" | 13 | """Test dsa public key not generated.""" |
272 | 19 | out = self.get_data_file('dsa_public') | 14 | out = self.get_data_file('dsa_public') |
273 | diff --git a/tests/cloud_tests/testcases/modules/ssh_keys_generate.yaml b/tests/cloud_tests/testcases/modules/ssh_keys_generate.yaml | |||
274 | index 659fd93..a702f66 100644 | |||
275 | --- a/tests/cloud_tests/testcases/modules/ssh_keys_generate.yaml | |||
276 | +++ b/tests/cloud_tests/testcases/modules/ssh_keys_generate.yaml | |||
277 | @@ -10,12 +10,9 @@ cloud_config: | | |||
278 | 10 | - ed25519 | 10 | - ed25519 |
279 | 11 | authkey_hash: sha512 | 11 | authkey_hash: sha512 |
280 | 12 | collect_scripts: | 12 | collect_scripts: |
282 | 13 | auth_keys_root: | | 13 | auth_keys: | |
283 | 14 | #!/bin/bash | 14 | #!/bin/bash |
288 | 15 | cat /root/.ssh/authorized_keys | 15 | cat $HOME/.ssh/authorized_keys |
285 | 16 | auth_keys_ubuntu: | | ||
286 | 17 | #!/bin/bash | ||
287 | 18 | cat /home/ubuntu/ssh/authorized_keys | ||
289 | 19 | dsa_public: | | 16 | dsa_public: | |
290 | 20 | #!/bin/bash | 17 | #!/bin/bash |
291 | 21 | cat /etc/ssh/ssh_host_dsa_key.pub | 18 | cat /etc/ssh/ssh_host_dsa_key.pub |
292 | diff --git a/tests/cloud_tests/testcases/modules/ssh_keys_provided.py b/tests/cloud_tests/testcases/modules/ssh_keys_provided.py | |||
293 | index 544649d..add3f46 100644 | |||
294 | --- a/tests/cloud_tests/testcases/modules/ssh_keys_provided.py | |||
295 | +++ b/tests/cloud_tests/testcases/modules/ssh_keys_provided.py | |||
296 | @@ -7,17 +7,6 @@ from tests.cloud_tests.testcases import base | |||
297 | 7 | class TestSshKeysProvided(base.CloudTestCase): | 7 | class TestSshKeysProvided(base.CloudTestCase): |
298 | 8 | """Test ssh keys module.""" | 8 | """Test ssh keys module.""" |
299 | 9 | 9 | ||
300 | 10 | def test_ubuntu_authorized_keys(self): | ||
301 | 11 | """Test passed in key is not in list for ubuntu.""" | ||
302 | 12 | out = self.get_data_file('auth_keys_ubuntu') | ||
303 | 13 | self.assertEqual('', out) | ||
304 | 14 | |||
305 | 15 | def test_root_authorized_keys(self): | ||
306 | 16 | """Test passed in key is in authorized list for root.""" | ||
307 | 17 | out = self.get_data_file('auth_keys_root') | ||
308 | 18 | self.assertIn('lzrkPqONphoZx0LDV86w7RUz1ksDzAdcm0tvmNRFMN1a0frDs50' | ||
309 | 19 | '6oA3aWK0oDk4Nmvk8sXGTYYw3iQSkOvDUUlIsqdaO+w==', out) | ||
310 | 20 | |||
311 | 21 | def test_dsa_public(self): | 10 | def test_dsa_public(self): |
312 | 22 | """Test dsa public key passed in.""" | 11 | """Test dsa public key passed in.""" |
313 | 23 | out = self.get_data_file('dsa_public') | 12 | out = self.get_data_file('dsa_public') |
314 | diff --git a/tests/cloud_tests/testcases/modules/ssh_keys_provided.yaml b/tests/cloud_tests/testcases/modules/ssh_keys_provided.yaml | |||
315 | index 5ceb362..9adabf4 100644 | |||
316 | --- a/tests/cloud_tests/testcases/modules/ssh_keys_provided.yaml | |||
317 | +++ b/tests/cloud_tests/testcases/modules/ssh_keys_provided.yaml | |||
318 | @@ -39,7 +39,7 @@ cloud_config: | | |||
319 | 39 | vek8Uo8ap8AEsv4Rfs9opUcUZevLp3g2741eOaidHVLm0l4iLIVl03otGOqvSzs+ | 39 | vek8Uo8ap8AEsv4Rfs9opUcUZevLp3g2741eOaidHVLm0l4iLIVl03otGOqvSzs+ |
320 | 40 | A3tFPEOxauXpzCt8f8eXsz0WQXAgIKW2h8zu5QHjomioU3i27mtE | 40 | A3tFPEOxauXpzCt8f8eXsz0WQXAgIKW2h8zu5QHjomioU3i27mtE |
321 | 41 | -----END RSA PRIVATE KEY----- | 41 | -----END RSA PRIVATE KEY----- |
323 | 42 | rsa_public: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0/Ho+o3eJISydO2JvIgTLnZOtrxPl+fSvJfKDjoOLY0HB2eOjy2s2/2N6d9X9SGZ4+XnyVeNPjfBXw4IyXoqxhfIF16Azfk022iejgjiYssoUxH31M60OfqJhxo16dWEXdkKP1nac06VOt1zS5yEeooyvEuMJEJSsv3VR/7GKhMX3TVhEz5moLmVP3bIAvvoXio8X4urVC1R819QjDC86nlxwNks/GKPRi/IHO5tjJ72Eke7KNsm/vxHgkdX4vZaHNKhfdb/pavFXN5eoUaofz3hxw5oL/u2epI/pXyUhDp8Tb5wO6slykzcIlGCSd0YeO1TnljvViRx0uSxIy97N root@xenial-lxd | 42 | rsa_public: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0/Ho+o3eJISydO2JvIgTLnZOtrxPl+fSvJfKDjoOLY0HB2eOjy2s2/2N6d9X9SGZ4+XnyVeNPjfBXw4IyXoqxhfIF16Azfk022iejgjiYssoUxH31M60OfqJhxo16dWEXdkKP1nac06VOt1zS5yEeooyvEuMJEJSsv3VR/7GKhMX3TVhEz5moLmVP3bIAvvoXio8X4urVC1R819QjDC86nlxwNks/GKPRi/IHO5tjJ72Eke7KNsm/vxHgkdX4vZaHNKhfdb/pavFXN5eoUaofz3hxw5oL/u2epI/pXyUhDp8Tb5wO6slykzcIlGCSd0YeO1TnljvViRx0uSxIy97N ubuntu@xenial-lxd |
324 | 43 | dsa_private: | | 43 | dsa_private: | |
325 | 44 | -----BEGIN DSA PRIVATE KEY----- | 44 | -----BEGIN DSA PRIVATE KEY----- |
326 | 45 | MIIBuwIBAAKBgQD5Fstc23IVSDe6k4DNP8smPKuEWUvHDTOGaXrhOVAfzZ6+jklP | 45 | MIIBuwIBAAKBgQD5Fstc23IVSDe6k4DNP8smPKuEWUvHDTOGaXrhOVAfzZ6+jklP |
327 | @@ -53,7 +53,7 @@ cloud_config: | | |||
328 | 53 | wExw3doDSCUb28L1B50wBzQ8mC3KXp6C7IkBXWspb16DLHUHFSI8bkICFA5kVUcW | 53 | wExw3doDSCUb28L1B50wBzQ8mC3KXp6C7IkBXWspb16DLHUHFSI8bkICFA5kVUcW |
329 | 54 | nCPOXEQsayANi8+Cb7BH | 54 | nCPOXEQsayANi8+Cb7BH |
330 | 55 | -----END DSA PRIVATE KEY----- | 55 | -----END DSA PRIVATE KEY----- |
332 | 56 | dsa_public: ssh-dss AAAAB3NzaC1kc3MAAACBAPkWy1zbchVIN7qTgM0/yyY8q4RZS8cNM4ZpeuE5UB/Nnr6OSU/nmbO8LuM7nc9ZYLfWGrXTEGhZ16/Ra1w0X1O/7hsBrXbrfLnVGqjgYjvHH7GJzV2Yuqp9iKMFP2Tjwn/W1XRyzVaOzoU/8glMP+RhUL3fQmNhAyLvbaUGdTGxAAAAFQC+4s930xik70s71tMEJcJ2KUtkBQAAAIA2n4p3JL1X3ceDEZAQ3WuWP9NK/9rcRV0Iq0SdB/nlo8fEMBUNXDkm1GHillttFXigZE9z0o52OjkFTby9IzcuaGRv5RpoNfAeSAicrX3ejvgMqMANZnG4vLKIoeIw6HGjOjEN+NbGzyfPq6q9JbSmvnbUTAhjpFqNsQOdnZrcaQAAAIEAyoUomNRB6bmpsIfzt8zdtqLP5umIj2uhr9MVPL8/QdbxmJ72Z7pfQ2z1B7QAdIBGOlqJXtlau7ABhWK29Efe+99ObyTSSdDc6RCDeAwUmBAiPRQhDH2EwExw3doDSCUb28L1B50wBzQ8mC3KXp6C7IkBXWspb16DLHUHFSI8bkI= root@xenial-lxd | 56 | dsa_public: ssh-dss AAAAB3NzaC1kc3MAAACBAPkWy1zbchVIN7qTgM0/yyY8q4RZS8cNM4ZpeuE5UB/Nnr6OSU/nmbO8LuM7nc9ZYLfWGrXTEGhZ16/Ra1w0X1O/7hsBrXbrfLnVGqjgYjvHH7GJzV2Yuqp9iKMFP2Tjwn/W1XRyzVaOzoU/8glMP+RhUL3fQmNhAyLvbaUGdTGxAAAAFQC+4s930xik70s71tMEJcJ2KUtkBQAAAIA2n4p3JL1X3ceDEZAQ3WuWP9NK/9rcRV0Iq0SdB/nlo8fEMBUNXDkm1GHillttFXigZE9z0o52OjkFTby9IzcuaGRv5RpoNfAeSAicrX3ejvgMqMANZnG4vLKIoeIw6HGjOjEN+NbGzyfPq6q9JbSmvnbUTAhjpFqNsQOdnZrcaQAAAIEAyoUomNRB6bmpsIfzt8zdtqLP5umIj2uhr9MVPL8/QdbxmJ72Z7pfQ2z1B7QAdIBGOlqJXtlau7ABhWK29Efe+99ObyTSSdDc6RCDeAwUmBAiPRQhDH2EwExw3doDSCUb28L1B50wBzQ8mC3KXp6C7IkBXWspb16DLHUHFSI8bkI= ubuntu@xenial-lxd |
333 | 57 | ed25519_private: | | 57 | ed25519_private: | |
334 | 58 | -----BEGIN OPENSSH PRIVATE KEY----- | 58 | -----BEGIN OPENSSH PRIVATE KEY----- |
335 | 59 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW | 59 | b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW |
336 | @@ -62,21 +62,15 @@ cloud_config: | | |||
337 | 62 | AAAEDQlFZpz9q8+/YJHS9+jPAqy2ZT6cGEv8HTB6RZtTjd/dudAZSu4vjZpVWzId5pXmZg | 62 | AAAEDQlFZpz9q8+/YJHS9+jPAqy2ZT6cGEv8HTB6RZtTjd/dudAZSu4vjZpVWzId5pXmZg |
338 | 63 | 1M6G15dqjQ2XkNVOEnb5AAAAD3Jvb3RAeGVuaWFsLWx4ZAECAwQFBg== | 63 | 1M6G15dqjQ2XkNVOEnb5AAAAD3Jvb3RAeGVuaWFsLWx4ZAECAwQFBg== |
339 | 64 | -----END OPENSSH PRIVATE KEY----- | 64 | -----END OPENSSH PRIVATE KEY----- |
341 | 65 | ed25519_public: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINudAZSu4vjZpVWzId5pXmZg1M6G15dqjQ2XkNVOEnb5 root@xenial-lxd | 65 | ed25519_public: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINudAZSu4vjZpVWzId5pXmZg1M6G15dqjQ2XkNVOEnb5 ubuntu@xenial-lxd |
342 | 66 | ecdsa_private: | | 66 | ecdsa_private: | |
343 | 67 | -----BEGIN EC PRIVATE KEY----- | 67 | -----BEGIN EC PRIVATE KEY----- |
344 | 68 | MHcCAQEEIDuK+QFc1wmyJY8uDqQVa1qHte30Rk/fdLxGIBkwJAyOoAoGCCqGSM49 | 68 | MHcCAQEEIDuK+QFc1wmyJY8uDqQVa1qHte30Rk/fdLxGIBkwJAyOoAoGCCqGSM49 |
345 | 69 | AwEHoUQDQgAEWxLlO+TL8gL91eET9p/HFQbqR1A691AkJgZk3jY5mpZqxgX4vcgb | 69 | AwEHoUQDQgAEWxLlO+TL8gL91eET9p/HFQbqR1A691AkJgZk3jY5mpZqxgX4vcgb |
346 | 70 | 7f/CtXuM6s2svcDJqAeXr6Wk8OJJcMxylA== | 70 | 7f/CtXuM6s2svcDJqAeXr6Wk8OJJcMxylA== |
347 | 71 | -----END EC PRIVATE KEY----- | 71 | -----END EC PRIVATE KEY----- |
349 | 72 | ecdsa_public: ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFsS5Tvky/IC/dXhE/afxxUG6kdQOvdQJCYGZN42OZqWasYF+L3IG+3/wrV7jOrNrL3AyagHl6+lpPDiSXDMcpQ= root@xenial-lxd | 72 | ecdsa_public: ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFsS5Tvky/IC/dXhE/afxxUG6kdQOvdQJCYGZN42OZqWasYF+L3IG+3/wrV7jOrNrL3AyagHl6+lpPDiSXDMcpQ= ubuntu@xenial-lxd |
350 | 73 | collect_scripts: | 73 | collect_scripts: |
351 | 74 | auth_keys_root: | | ||
352 | 75 | #!/bin/bash | ||
353 | 76 | cat /root/.ssh/authorized_keys | ||
354 | 77 | auth_keys_ubuntu: | | ||
355 | 78 | #!/bin/bash | ||
356 | 79 | cat /home/ubuntu/ssh/authorized_keys | ||
357 | 80 | dsa_public: | | 74 | dsa_public: | |
358 | 81 | #!/bin/bash | 75 | #!/bin/bash |
359 | 82 | cat /etc/ssh/ssh_host_dsa_key.pub | 76 | cat /etc/ssh/ssh_host_dsa_key.pub |
360 | diff --git a/tests/cloud_tests/testcases/modules/write_files.yaml b/tests/cloud_tests/testcases/modules/write_files.yaml | |||
361 | index ce936b7..c5b48c0 100644 | |||
362 | --- a/tests/cloud_tests/testcases/modules/write_files.yaml | |||
363 | +++ b/tests/cloud_tests/testcases/modules/write_files.yaml | |||
364 | @@ -10,37 +10,36 @@ cloud_config: | | |||
365 | 10 | write_files: | 10 | write_files: |
366 | 11 | - encoding: b64 | 11 | - encoding: b64 |
367 | 12 | content: CiMgVGhpcyBmaWxlIGNvbnRyb2xzIHRoZSBzdGF0ZSBvZiBTRUxpbnV4 | 12 | content: CiMgVGhpcyBmaWxlIGNvbnRyb2xzIHRoZSBzdGF0ZSBvZiBTRUxpbnV4 |
370 | 13 | owner: root:root | 13 | path: /var/tmp/file_b64 |
369 | 14 | path: /root/file_b64 | ||
371 | 15 | permissions: '0644' | 14 | permissions: '0644' |
372 | 16 | - content: | | 15 | - content: | |
374 | 17 | # My new /root/file_text | 16 | # My new /var/tmp/file_text |
375 | 18 | 17 | ||
376 | 19 | SMBDOPTIONS="-D" | 18 | SMBDOPTIONS="-D" |
378 | 20 | path: /root/file_text | 19 | path: /var/tmp/file_text |
379 | 21 | - content: !!binary | | 20 | - content: !!binary | |
380 | 22 | f0VMRgIBAQAAAAAAAAAAAAIAPgABAAAAwARAAAAAAABAAAAAAAAAAJAVAAAAAAAAAAAAAEAAOAAI | 21 | f0VMRgIBAQAAAAAAAAAAAAIAPgABAAAAwARAAAAAAABAAAAAAAAAAJAVAAAAAAAAAAAAAEAAOAAI |
381 | 23 | AEAAHgAdAAYAAAAFAAAAQAAAAAAAAABAAEAAAAAAAEAAQAAAAAAAwAEAAAAAAADAAQAAAAAAAAgA | 22 | AEAAHgAdAAYAAAAFAAAAQAAAAAAAAABAAEAAAAAAAEAAQAAAAAAAwAEAAAAAAADAAQAAAAAAAAgA |
382 | 24 | AAAAAAAAAwAAAAQAAAAAAgAAAAAAAAACQAAAAAAAAAJAAAAAAAAcAAAAAAAAABwAAAAAAAAAAQAA | 23 | AAAAAAAAAwAAAAQAAAAAAgAAAAAAAAACQAAAAAAAAAJAAAAAAAAcAAAAAAAAABwAAAAAAAAAAQAA |
384 | 25 | path: /root/file_binary | 24 | path: /var/tmp/file_binary |
385 | 26 | permissions: '0555' | 25 | permissions: '0555' |
386 | 27 | - encoding: gzip | 26 | - encoding: gzip |
387 | 28 | content: !!binary | | 27 | content: !!binary | |
388 | 29 | H4sIAIDb/U8C/1NW1E/KzNMvzuBKTc7IV8hIzcnJVyjPL8pJ4QIA6N+MVxsAAAA= | 28 | H4sIAIDb/U8C/1NW1E/KzNMvzuBKTc7IV8hIzcnJVyjPL8pJ4QIA6N+MVxsAAAA= |
390 | 30 | path: /root/file_gzip | 29 | path: /var/tmp/file_gzip |
391 | 31 | permissions: '0755' | 30 | permissions: '0755' |
392 | 32 | collect_scripts: | 31 | collect_scripts: |
393 | 33 | file_b64: | | 32 | file_b64: | |
394 | 34 | #!/bin/bash | 33 | #!/bin/bash |
396 | 35 | file /root/file_b64 | 34 | file /var/tmp/file_b64 |
397 | 36 | file_text: | | 35 | file_text: | |
398 | 37 | #!/bin/bash | 36 | #!/bin/bash |
400 | 38 | file /root/file_text | 37 | file /var/tmp/file_text |
401 | 39 | file_binary: | | 38 | file_binary: | |
402 | 40 | #!/bin/bash | 39 | #!/bin/bash |
404 | 41 | file /root/file_binary | 40 | file /var/tmp/file_binary |
405 | 42 | file_gzip: | | 41 | file_gzip: | |
406 | 43 | #!/bin/bash | 42 | #!/bin/bash |
408 | 44 | file /root/file_gzip | 43 | file /var/tmp/file_gzip |
409 | 45 | 44 | ||
410 | 46 | # vi: ts=4 expandtab | 45 | # vi: ts=4 expandtab |
PASSED: Continuous integration, rev:f1a66a42318 242811556b71e56 5ce54de2c6e177 /jenkins. ubuntu. com/server/ job/cloud- init-ci/ 374/
https:/
Executed test runs:
SUCCESS: Checkout
SUCCESS: Unit & Style Tests
SUCCESS: Ubuntu LTS: Build
SUCCESS: Ubuntu LTS: Integration
SUCCESS: MAAS Compatability Testing
IN_PROGRESS: Declarative: Post Actions
Click here to trigger a rebuild: /jenkins. ubuntu. com/server/ job/cloud- init-ci/ 374/rebuild
https:/