canonical / multipass-blueprints

Blueprint definitions for [`multipass launch`](https://multipass.run)
GNU General Public License v3.0
66 stars 38 forks source link

[wip][devstack] add initial workflow #10

Closed freedge closed 2 years ago

freedge commented 2 years ago

DevStack is a set of scripts to allow starting a development environment with components of OpenStack.

I.. did not find a way to test this. How do you run a workflow locally?

This should start a biggish VM with working Neutron and Nova, in under 30minutes. It requires the host passthrough capability (which is default on the multipass libvirt driver, but I don't know for the qemu driver).

Ideally there should be a way to choose the components that get started. I did not check if the services "survive a reboot". One possible improvement would be to add a network interface to the VM and use that as the external network where floating IPs get created.

wdyt? This is wip and very experimental.

Saviq commented 2 years ago

Hi @freedge!

This PR has instructions for testing locally:

https://github.com/canonical/multipass-workflows/pull/5/files#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5R49

You can also just pass the cloud init data to launch --cloud-init.

Thanks for working on this :)

Saviq commented 2 years ago

By "passthrough", do you mean nested virtualization? The problem is that this will only work (remotely reliably) on Linux hosts.

Have you seen https://microstack.run/ btw? That should get there much quicker than the 30mins you mention. The meeting problem remains, though…

freedge commented 2 years ago

ha I did test with --cloud-init :) nice, I am going to test that locally.

for passthrough indeed, what I mean is nested virtualization (nested=1 option on kvm_intel/amd module and passthrough cpu-mode already set). Technically it should work without nested virtualization... performance would be terrible and the laptop will heat up a lot...

ha no I have never heard of microstack :D It looks very interesting. At first glance it looks great, personally I want something to start "the bleeding edge" and not the latest stable version (snap is Ussuri, latest upstream is... Xena?) and be able to tweak everything as I need. I use similar scripts already for development purpose, if Im the only one with this usecase I am just going to change MULTIPASS_WORKFLOWS_URL and not necessarily push for its integration here.

freedge commented 2 years ago

wow microstack is awesome

some feedback on the whole thing:

alright thanks for your feedback and the microstack suggestion :) closing for now