As near as I can tell, the cloud-init lines:
2018-04-16 07:14:36,809 - util.py[WARNING]: Running module apt-configure (<module 'cloudinit.config.cc_apt_configure' from '/usr/lib/python3/dist-packages/cloudinit/config/cc_apt_configure.py'>) failed
2018-04-16 07:14:37,036 - schema.py[WARNING]: Invalid config:
...
Are just warnings and not actually failing. Certainly the script itself seems to be run.
It does seem like a cloud-init schema validation bug if it wants to claim that you can't repeat the same content in "runcmd".
Consider a script like:
if [ $a == "a" ] ; then
a()
fi
if [ $b == "b" ] ; then
b()
fi
In that case you'll have 'fi' repeated 2x, and trigger the same failure.
I think both 'runcmd' and 'bootcmd' should be allowed to have duplicate entries.
As near as I can tell, the cloud-init lines: config. cc_apt_ configure' from '/usr/lib/ python3/ dist-packages/ cloudinit/ config/ cc_apt_ configure. py'>) failed
2018-04-16 07:14:36,809 - util.py[WARNING]: Running module apt-configure (<module 'cloudinit.
2018-04-16 07:14:37,036 - schema.py[WARNING]: Invalid config:
...
Are just warnings and not actually failing. Certainly the script itself seems to be run.
It does seem like a cloud-init schema validation bug if it wants to claim that you can't repeat the same content in "runcmd".
Consider a script like:
if [ $a == "a" ] ; then
a()
fi
if [ $b == "b" ] ; then
b()
fi
In that case you'll have 'fi' repeated 2x, and trigger the same failure.
I think both 'runcmd' and 'bootcmd' should be allowed to have duplicate entries.