<div dir="ltr"><div class="gmail_default" style="font-family:monospace,monospace">Currently we use /etc/nailgun-agent/nodiscover file to prevent early run of nailgun-agent (and thus its conflict with cloud-init). We put this file when we build an image [0] and then we remove this file at the late stage of system start process when cloud-init is done [1]. Anyway this does not look good and we'd better replace cloud-init with something else like puppet and run this configuration during provisioning even before booting into target operating system. Besides, running Puppet during provisioning to do initial configuration will allow us to configure other services/files in a consistent way. So, I prefer option #3. Let's write a spec for this. <br><br>[0] <a href="https://github.com/openstack/fuel-agent/blob/master/fuel_agent/manager.py#L961">https://github.com/openstack/fuel-agent/blob/master/fuel_agent/manager.py#L961</a><br>[1] <a href="https://github.com/openstack/fuel-agent/blob/master/cloud-init-templates/boothook_fuel_9.0_ubuntu.jinja2#L91">https://github.com/openstack/fuel-agent/blob/master/cloud-init-templates/boothook_fuel_9.0_ubuntu.jinja2#L91</a><br></div><div class="gmail_default" style="font-family:monospace,monospace"><br><br></div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature"><div>Vladimir Kozhukalov</div></div></div>
<br><div class="gmail_quote">On Fri, Aug 12, 2016 at 8:29 AM, Georgy Kibardin <span dir="ltr"><<a href="mailto:gkibardin@mirantis.com" target="_blank">gkibardin@mirantis.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Guys,<br><br>Currently, at the time of the first boot Mcollective on slaves is configured by Cloud-init (host, port etc.) and by Nailgun agent when node identity is written. This happens in any order and already caused several problem which were fixed in bounds of <a href="https://bugs.launchpad.net/fuel/+bug/1455489" target="_blank">https://bugs.launchpad.net/<wbr>fuel/+bug/1455489</a>. The last fix relies on hostname to figure that the provisioning is over and prevent Nailgun agent from messing with Mcollective. This solution is quite hacky and, I think, we need to come up with a better fix. So, the options are:<br><br>1. Do nothing<br>  + No effort, no regression<br>  - Existing solution is fragile and not simple enough to be sure that there are obviously no more bugs.<br>  - Cloud-init does things on early boot stages which is a bit hard to debug.<br><div><br></div><div>2. "Manual" Mcollective configuration, triggered by Nailgun agent.</div><div>  + Quite simple</div><div>  - Not "cross-distro"</div><div>  - Not consistent with the remaining configuration tasks (rewriting them worsens the problem above)</div><div><br></div><div>3. Use Puppet to configure Mcollective. (copy necessary input data into the chroot env and run puppet inside it)</div><div>  + Using puppet is consistent with the way Fuel configures things</div><div>  - It is not consistent with remaining configuration tasks, which is done via Cloud-init and moving them to Puppet takes some time. </div><div><br></div><div>4. Some other tool?</div><div><br></div><div>New options, cons and pros are very welcome!</div><div><br></div><div>Best,</div><div>Georgy</div></div>
<br>______________________________<wbr>______________________________<wbr>______________<br>
OpenStack Development Mailing List (not for usage questions)<br>
Unsubscribe: <a href="http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe" rel="noreferrer" target="_blank">OpenStack-dev-request@lists.<wbr>openstack.org?subject:<wbr>unsubscribe</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" rel="noreferrer" target="_blank">http://lists.openstack.org/<wbr>cgi-bin/mailman/listinfo/<wbr>openstack-dev</a><br>
<br></blockquote></div><br></div>