** Description changed:

  === Begin SRU Template ===
  [Impact]
  New feature to validate and log invalid schema warnings from cc_ntp 
cloud-config module.
  
  [Test Case]
  if [ ! -f lxc-proposed-snapshot ]; then
    wget 
https://git.launchpad.net/~smoser/cloud-init/+git/sru-info/plain/bin/lxc-proposed-snapshot
    chmod 755 lxc-proposed-snapshot
  fi
- cat <<EOF > 1.conf
+ 
+ 
+ cat <<EOF > valid.conf
  #cloud-config
  ntp:
  EOF
+ cat <<EOF > invalid.conf
+ #cloud-config
+ ntp: -1
+ EOF
  for release in xenial zesty; do
-         ref=$release-proposed;
-         echo "$release START --------------";
-         ./lxc-proposed-snapshot --proposed --publish $release $ref;
-         lxc start test-$release;
-         lxc file push 1.conf test-$release/1.conf
-         lxc exec test-$release -- python3 
/usr/lib/python3/dist-packages/cloudinit/config/schema.py -c /1.conf | grep 
Valid
-         lxc exec test-$release -- apt-cache depends cloud-init | grep 
jsonschema  # should be empty
+         ref=$release-proposed;
+         echo "$release START --------------";
+         ./lxc-proposed-snapshot --proposed --publish $release $ref;
+         lxc init $ref test-$release;
+         lxc start test-$release;
+         lxc file push valid.conf test-$release/valid.conf;
+         lxc file push invalid.conf test-$release/invalid.conf;
+         lxc exec test-$release -- python3 
/usr/lib/python3/dist-packages/cloudinit/config/schema.py -c /valid.conf | grep 
Valid;
+         lxc exec test-$release -- apt-cache depends cloud-init | grep 
jsonschema # should be empty;
+         # Validate no errors without python-jsonschema
+         lxc exec test-$release -- python3 
/usr/lib/python3/dist-packages/cloudinit/config/schema.py -c /invalid.conf | 
grep errors;  # without jsonschema no errors
+         # Validate errors with python-jsonschema
+         lxc exec test-$release -- sudo apt install python3-jsonschema
+         lxc exec test-$release -- python3 
/usr/lib/python3/dist-packages/cloudinit/config/schema.py -c /invalid.conf | 
grep errors;  # should have errors
  done
  
  [Regression Potential]
  We don't want to introduce a mandatory jsonschema dependency in older series.
  Validate that older releases can run without errors when jsonschema is *not* 
installed.
  
  [Other Info]
  Upstream commit at
    https://git.launchpad.net/cloud-init/commit/?id=0a448dd034
  
  === End SRU Template ===
  
  cloudinit needs a mechanism to parse and validate a strict schema
  definition for modules that parse user created #cloud-config yaml files.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1692916

Title:
  Cloudinit modules should provide schema validation to better alert
  consumers to unsupported config

To manage notifications about this bug go to:
https://bugs.launchpad.net/cloud-init/+bug/1692916/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to