** 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 > 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 init $ref test-$release;
-         lxc start test-$release;
-         lxc sleep 10;
-         lxc exec test-$release -- sudo apt update;
-         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;
-         # invalid.conf will not generate errors when jsonschema is not present
-         lxc exec test-$release -- python3 
/usr/lib/python3/dist-packages/cloudinit/config/schema.py -c /invalid.conf | 
grep invalid; 
-         lxc exec test-$release -- sudo apt install python3-jsonschema
-         # invalid.conf *will* generate errors when jsonschema is not present
-          lxc exec test-$release -- python3 
/usr/lib/python3/dist-packages/cloudinit/config/schema.py -c /invalid.conf | 
grep invalid;
+         ref=$release-proposed;
+         echo "$release START --------------";
+         ./lxc-proposed-snapshot --proposed --publish $release $ref;
+         lxc init $ref test-$release;
+         lxc start test-$release;
+         sleep 10;
+         lxc exec test-$release -- sudo apt update;
+         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;
+         # invalid.conf will not generate errors when jsonschema is not present
+         lxc exec test-$release -- python3 
/usr/lib/python3/dist-packages/cloudinit/config/schema.py -c /invalid.conf | 
grep invalid;
+         lxc exec test-$release -- sudo apt install python3-jsonschema
+         # invalid.conf *will* generate errors when jsonschema is not present
+          lxc exec test-$release -- python3 
/usr/lib/python3/dist-packages/cloudinit/config/schema.py -c /invalid.conf | 
grep invalid;
  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
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to