<div dir="ltr"><div dir="ltr" class="gmail_msg"><div dir="ltr" class="gmail_msg"><div dir="ltr" class="gmail_msg">Hi All<div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">I've been working with Corey Bryant for the last few weeks on snapping various bits of OpenStack with the objective of having a minimal set of snaps, including a hypervisor snap, supporting a functional OpenStack Cloud on a single machine, bootstrapping the snap work around OpenStack.</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">The work done by the team on snapcraft to support python has been great - using the python plugin to create snaps of the core control plane components was super easy, and the following are now published into the snap store on the edge channel:</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"> <a href="https://github.com/openstack-snaps/snap-glance" class="gmail_msg" target="_blank">https://github.com/openstack-snaps/snap-glance</a></div><div class="gmail_msg"> <a href="https://github.com/openstack-snaps/snap-keystone" class="gmail_msg" target="_blank">https://github.com/openstack-snaps/snap-keystone</a><br class="gmail_msg"></div><div class="gmail_msg"> <a href="https://github.com/openstack-snaps/snap-neutron" class="gmail_msg" target="_blank">https://github.com/openstack-snaps/snap-neutron</a><br class="gmail_msg"></div><div class="gmail_msg"> <a href="https://github.com/openstack-snaps/snap-nova" class="gmail_msg" target="_blank">https://github.com/openstack-snaps/snap-nova</a><br class="gmail_msg"></div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">those snaps all work pretty well and you can try them out using the snap-deploy script in:</div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg"> <a href="https://github.com/openstack-snaps/snap-test" class="gmail_msg" target="_blank">https://github.com/openstack-snaps/snap-test</a></div><div class="gmail_msg"><br class="gmail_msg"></div><div class="gmail_msg">We've made some progress on the nova-hypervisor snap, but it will still only run in devmode (pending support for management of network namespaces in snaps - bug raised and jdstrand is working on this).</div><div class="gmail_msg"><br></div><div class="gmail_msg"> <a href="https://github.com/openstack-snaps/snap-nova-hypervisor" class="gmail_msg" target="_blank">https://github.com/openstack-snaps/snap-nova-hypervisor</a></div><div class="gmail_msg"><br></div><div class="gmail_msg">I'd originally planned to write the hypervisor snap to use libvirt running from deb install on the host OS (accessed via the liibvirt interface).  This worked up until the point where libvirt tried to plumb an instance into openvswitch (which was originally included in the snap and was working OK) - and running with one foot in the host OS and one foot in the snap felt awkward anyway.  So as of today, the nova-hypervisor snap relies on libvirt and openvswitch running on the host OS, accessing via the UNIX sockets for both services to perform management.</div><div class="gmail_msg"><br></div><div class="gmail_msg">Pull request raise against snapd for the required updates to support openvswitch in a snap, and use of openvswitch on the host OS via its unix socket:</div><div class="gmail_msg"><br></div><div class="gmail_msg">  <a href="https://github.com/snapcore/snapd/pull/2378">https://github.com/snapcore/snapd/pull/2378</a></div><div class="gmail_msg"><br></div><div class="gmail_msg">I did spend some time trying to bend libvirt into a snap - however it does a-lot of build time detection and setting of paths which was not playing nicely with the installed locations of the binaries. It was also awkward to line up the build of libvirt-python as part of the nova part whilst still ending up with a functional libvirt at the end of the process.  We'll revisit libvirt in the snap in a future iteration (as I really want the ability to ship the virt stack as part of the snap story around OpenStack).</div><div class="gmail_msg"><br></div><div class="gmail_msg">Anyway I think that just about covers work to-date; I intend on raising the OpenStack project-config reviews this week to pull the git repositories under /openstack and start the process to making this work an official part of OpenStack!</div><div class="gmail_msg"><br>Cheers</div><div class="gmail_msg"><br></div><div class="gmail_msg">James</div><div class="gmail_msg"><br></div><div class="gmail_msg"><br></div></div></div></div></div>