summaryrefslogtreecommitdiff
path: root/tests/cloud_tests/testcases
diff options
context:
space:
mode:
authorScott Moser <smoser@brickies.net>2017-10-17 16:12:59 -0400
committerScott Moser <smoser@brickies.net>2017-10-18 16:10:06 -0400
commit41152f10ddbd8681cdac44b408038a4f23ab02df (patch)
treea2edb9a13b16340c980643e476482de4166a70c7 /tests/cloud_tests/testcases
parentd4f70470b7c3af89d4bf97123f4d61ad8a58805b (diff)
downloadvyos-cloud-init-41152f10ddbd8681cdac44b408038a4f23ab02df.tar.gz
vyos-cloud-init-41152f10ddbd8681cdac44b408038a4f23ab02df.zip
schema: Log debug instead of warning when jsonschema is not available.
When operating in expected path, cloud-init should avoid logging with warning. That causes 'WARNING' messages in /var/log/cloud-init.log. By default, warnings also go to the console. Since jsonschema is a optional dependency, and not present on xenial and zesty, cloud-init should not warn there. Also here: * Add a test to integration tests to assert that there are no warnings in /var/log/cloud-init.log. * Update one integration test that did show warning and the related documentation and examples. LP: #1724354
Diffstat (limited to 'tests/cloud_tests/testcases')
-rw-r--r--tests/cloud_tests/testcases/base.py4
-rw-r--r--tests/cloud_tests/testcases/examples/including_user_groups.py6
-rw-r--r--tests/cloud_tests/testcases/examples/including_user_groups.yaml7
-rw-r--r--tests/cloud_tests/testcases/modules/user_groups.py6
-rw-r--r--tests/cloud_tests/testcases/modules/user_groups.yaml7
5 files changed, 26 insertions, 4 deletions
diff --git a/tests/cloud_tests/testcases/base.py b/tests/cloud_tests/testcases/base.py
index bb545ab9..b2b5b4b1 100644
--- a/tests/cloud_tests/testcases/base.py
+++ b/tests/cloud_tests/testcases/base.py
@@ -72,6 +72,10 @@ class CloudTestCase(unittest.TestCase):
result = self.get_status_data(self.get_data_file('result.json'))
self.assertEqual(len(result['errors']), 0)
+ def test_no_warnings_in_log(self):
+ """Warnings should not be found in the log."""
+ self.assertNotIn("WARN", self.get_data_file('cloud-init.log'))
+
class PasswordListTest(CloudTestCase):
"""Base password test case class."""
diff --git a/tests/cloud_tests/testcases/examples/including_user_groups.py b/tests/cloud_tests/testcases/examples/including_user_groups.py
index 67af527b..93b7a82d 100644
--- a/tests/cloud_tests/testcases/examples/including_user_groups.py
+++ b/tests/cloud_tests/testcases/examples/including_user_groups.py
@@ -40,4 +40,10 @@ class TestUserGroups(base.CloudTestCase):
out = self.get_data_file('user_cloudy')
self.assertRegex(out, r'cloudy:x:[0-9]{3,4}:')
+ def test_user_root_in_secret(self):
+ """Test root user is in 'secret' group."""
+ user, _, groups = self.get_data_file('root_groups').partition(":")
+ self.assertIn("secret", groups.split(),
+ msg="User root is not in group 'secret'")
+
# vi: ts=4 expandtab
diff --git a/tests/cloud_tests/testcases/examples/including_user_groups.yaml b/tests/cloud_tests/testcases/examples/including_user_groups.yaml
index 0aa7ad21..469d03c3 100644
--- a/tests/cloud_tests/testcases/examples/including_user_groups.yaml
+++ b/tests/cloud_tests/testcases/examples/including_user_groups.yaml
@@ -8,7 +8,7 @@ cloud_config: |
#cloud-config
# Add groups to the system
groups:
- - secret: [foobar,barfoo]
+ - secret: [root]
- cloud-users
# Add users to the system. Users are added after groups are added.
@@ -24,7 +24,7 @@ cloud_config: |
- name: barfoo
gecos: Bar B. Foo
sudo: ALL=(ALL) NOPASSWD:ALL
- groups: cloud-users
+ groups: [cloud-users, secret]
lock_passwd: true
- name: cloudy
gecos: Magic Cloud App Daemon User
@@ -49,5 +49,8 @@ collect_scripts:
user_cloudy: |
#!/bin/bash
getent passwd cloudy
+ root_groups: |
+ #!/bin/bash
+ groups root
# vi: ts=4 expandtab
diff --git a/tests/cloud_tests/testcases/modules/user_groups.py b/tests/cloud_tests/testcases/modules/user_groups.py
index 67af527b..93b7a82d 100644
--- a/tests/cloud_tests/testcases/modules/user_groups.py
+++ b/tests/cloud_tests/testcases/modules/user_groups.py
@@ -40,4 +40,10 @@ class TestUserGroups(base.CloudTestCase):
out = self.get_data_file('user_cloudy')
self.assertRegex(out, r'cloudy:x:[0-9]{3,4}:')
+ def test_user_root_in_secret(self):
+ """Test root user is in 'secret' group."""
+ user, _, groups = self.get_data_file('root_groups').partition(":")
+ self.assertIn("secret", groups.split(),
+ msg="User root is not in group 'secret'")
+
# vi: ts=4 expandtab
diff --git a/tests/cloud_tests/testcases/modules/user_groups.yaml b/tests/cloud_tests/testcases/modules/user_groups.yaml
index 71cc9da3..22b5d706 100644
--- a/tests/cloud_tests/testcases/modules/user_groups.yaml
+++ b/tests/cloud_tests/testcases/modules/user_groups.yaml
@@ -7,7 +7,7 @@ cloud_config: |
#cloud-config
# Add groups to the system
groups:
- - secret: [foobar,barfoo]
+ - secret: [root]
- cloud-users
# Add users to the system. Users are added after groups are added.
@@ -23,7 +23,7 @@ cloud_config: |
- name: barfoo
gecos: Bar B. Foo
sudo: ALL=(ALL) NOPASSWD:ALL
- groups: cloud-users
+ groups: [cloud-users, secret]
lock_passwd: true
- name: cloudy
gecos: Magic Cloud App Daemon User
@@ -48,5 +48,8 @@ collect_scripts:
user_cloudy: |
#!/bin/bash
getent passwd cloudy
+ root_groups: |
+ #!/bin/bash
+ groups root
# vi: ts=4 expandtab