<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Apr 18, 2018 at 10:56 AM, Matthew Booth <span dir="ltr"><<a href="mailto:mbooth@redhat.com" target="_blank">mbooth@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-"><br>
> I agree with Mikal that needing more agent behavior than cloud-init does<br>
> a disservice to the users.<br>
><br>
> I feel like we get a lot of "but no, my hypervisor is special!"<br>
> reasoning when people go to add a driver to nova. So far, I think<br>
> they're a lot more similar than people think. Ironic is the weirdest one<br>
> we have (IMHO and no offense to the ironic folks) and it can support<br>
> configdrive properly.<br>
<br>
</span>I was going to ask this. Even if the contents of the disk can't be<br>
transferred in advance... how does ironic do this? There must be a<br>
way.<br></blockquote><div><br></div><div>I'm not sure if this is a rhetorical question, so I'll just answer it. :) We basically build the configdrive in nova-compute, then gzip and base64 it, and send it to ironic with the deploy request. On the ironic side, we unpack it and write it to the end of the boot disk.</div><div><br></div><div><a href="https://github.com/openstack/nova/blob/324899c621ee02d877122ba3412712ebb92831f2/nova/virt/ironic/driver.py#L952-L985">https://github.com/openstack/nova/blob/324899c621ee02d877122ba3412712ebb92831f2/nova/virt/ironic/driver.py#L952-L985</a> </div><div><br></div><div>// jim</div></div></div></div>