On 03/10/2014 06:35 PM, Colin Walters
wrote:
On Mon, Mar 10, 2014 at 8:26 PM, Steven Dake <sdake@xxxxxxxxxx> wrote:Colin, TL;DR don't remove cloud-init I have had a look at the min-metadata-server repo. I am not certain Heat could be made to work with only ssh and userdata execution. Heat relies on something called part handlers to join multiple blobs of data into one userdata blob that can then be ran by cloud-init and our cloudinit part handler code. I suppose it is possible to convert how we execute guest configuration by translating all our code base into a userdata blob, but there are other packages, specifcally os-collect-config, os-refresh-config, and os-apply-config in play here. Heat is a fundamental dependency of TripleO, so if Heat doesn't work, TripleO doesn't work. TripleO also has a fundamental dependency on the os-*-* packages, so even if Heat could be made to operate with min-metadata-server, TripleO still requires these other os-*-* agents to operate. It is unfortunate that agents are implemented in Python, but in the OpenStack community, non-python agents are essentially a non-starter because of maintenance reasons. We have two broad user types for Heat. The first are the devops folks who would use Heat as you mentioned, as one way to manage a set of resources in a stack. These folks could use other tools if heat were disabled by such a change. However Heat has another often overlooked user type, which is other incubated/integrated OpenStack projects. For these users, Heat isn't just one way to manage deploying resources on OpenStack. It is the *only* way available beyond re-implementing some or all of Heat. A removal of cloud-init from these guest images would block the Fedora cloud images from being used by the scope growth that naturally occurs in the OpenStack community. I really don't think replacing cloud-init with min-metadata-server will work for the OpenStack use cases. It may work for a very limited set of OpenStack use cases, but not the broad general set. The cloud-init package is not ideal, but it is what it is, and I don't foresee a dramatic shift in the way OpenStack views cloud-init as a fundamental guest OS dependency.
We are stuck with cloud-init if we want OpenStack to operate an os-tree enabled guest. Can you explain how atomic runs in a guest launched by OpenStack without the dependencies people have become dependent on? I think what is needed is two things a) a general purpose guest image b) a tidy host image. We don't want to threaten our guest-image by making it non-general purpose. The host-image can be customized by TripleO so the fact that it may not include a python runtime, or even the os-*-* and cloud-init tools for the TripleO case is solvable using the image customization tools provided by TripleO. For 3 fedora cycles I maintained separate Fedora images with heat-cfntools. I really want to avoid doing so in the future. In addition, for three years I saw people struggle daily to make a guest bootstrapping tool, and the only one that survives today is cloud-init. Lets please not relive that pain for the gain of reducing dependency count. Mark and James may have thoughts here. Regards, -steve
|
_______________________________________________ cloud mailing list cloud@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/cloud Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct