** 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
