So we have a couple of options here:
a.) use '__builtin__' mode in cloud-init for the walinux agent functionality.
this in theory should work, but we have not largely tested it. Basically
this path has cloud-init doing the metadata service exchange itself rather than relying on walinux-agent to pull the files it needs and then using them.
I've noticed one issue with this, is that walinuxagent.service is not started. Per journalctl,
multi-user.target: Breaking ordering cycle by deleting job walinuxagent.service/start
b.) remove or change 'After' 'cloud-final' in walinuxagent.service
I'm not exactly sure why this is here, but I believe it was so that cloud-init had an opportunity to configure walinuxagent or otherwise stop them from fighting. That said, since cloud-init.service is starting walinux-agent (and has been for quite some time), it would seem that an After of 'cloud-init' should be sufficient.
It seems that because of the cyclic issue, 'b' is basically required.
So we have a couple of options here:
a.) use '__builtin__' mode in cloud-init for the walinux agent functionality.
this in theory should work, but we have not largely tested it. Basically
this path has cloud-init doing the metadata service exchange itself rather than relying on walinux-agent to pull the files it needs and then using them.
I've noticed one issue with this, is that walinuxagent. service is not started. Per journalctl, user.target: Breaking ordering cycle by deleting job walinuxagent. service/ start
multi-
b.) remove or change 'After' 'cloud-final' in walinuxagent. service
I'm not exactly sure why this is here, but I believe it was so that cloud-init had an opportunity to configure walinuxagent or otherwise stop them from fighting. That said, since cloud-init.service is starting walinux-agent (and has been for quite some time), it would seem that an After of 'cloud-init' should be sufficient.
It seems that because of the cyclic issue, 'b' is basically required.