kuryr/contrib/vagrant
Kyle Mestery 01a56577b6 Allow for user specified local.conf changes with Vagrant
This adds the ability for the user to inject additional configuration
into local.conf during the provisioning step. One can change the
Neutron plugin, for example, using this configuration.

Change-Id: If778960edb1d9c3a23c7947c5ba3bf8a07bdfc3a
Signed-off-by: Kyle Mestery <mestery@mestery.com>
2015-12-28 15:34:18 -06:00
..
config Integrate devstack plugin with Vagrant setup 2015-11-25 09:57:28 -06:00
devstack.sh Allow for user specified local.conf changes with Vagrant 2015-12-28 15:34:18 -06:00
README.md Allow for user specified local.conf changes with Vagrant 2015-12-28 15:34:18 -06:00
vagrant.sh Make ./stack.sh optional 2015-12-21 17:55:42 +01:00
Vagrantfile Make ./stack.sh optional 2015-12-21 17:55:42 +01:00

vagrant-devstack-Kuryr

Getting started

A Vagrant based kuryr,neutron,keystone and experimental docker system.

Steps to try vagrant image:

  1. Install Vagrant on your local machine. Install one of the current providers supported: VirtualBox, Libvirt or Vagrant

  2. Git clone Kuryr repository.

  3. Run cd kuryr/contrib/vagrant

  4. Run vagrant up It will take around 10 mins.

  5. vagrant ssh You will get vm shell with keystone and neutron already running.

  6. Run cd kuryr && ./scripts/run_kuryr.sh & Kuryr service will be up and listening on port 2377.

  7. Create the default Kuryr subnetpool:

    neutron subnetpool-create --default-prefixlen 24 --pool-prefix 10.10.0.0/16 kuryr
    

At this point you should have experimental docker, kuryr, neutron, keystone all up, running and pointing to each other. Any docker network related commands can be tried now as explained in [1].

References:

[1] https://github.com/openstack/kuryr/blob/master/doc/source/devref/libnetwork_remote_driver_design.rst#L64

Vagrant Options available

You can set the following environment variables before running vagrant up to modify the definition of the Virtual Machine spawned:

  • VAGRANT_KURYR_VM_BOX: To change the Vagrant Box used. Should be available in atlas.

    export VAGRANT_KURYR_VM_BOX=centos/7
    

    Could be an example of a rpm-based option.

  • VAGRANT_KURYR_VM_MEMORY: To modify the RAM of the VM. Defaulted to: 4096

  • VAGRANT_KURYR_VM_CPU: To modify the cpus of the VM. Defaulted to: 2

  • VAGRANT_KURYR_RUN_DEVSTACK: Whether vagrant up should run devstack to have an environment ready to use. Set it to 'false' if you want to edit local.conf before run ./stack.sh manually in the VM. Defaulted to: true. See below for additional options for editing local.conf.

Additional devstack configuration

To add additional configuration to local.conf before the VM is provisioned, you can create a file called "user_local.conf" in the contrib/vagrant directory of networking-kuryr. This file will be appended to the "local.conf" created during the Vagrant provisioning.

For example, to use OVN as the Neutron plugin with Kuryr, you can create a "user_local.conf" with the following configuration:

enable_plugin networking-ovn http://git.openstack.org/openstack/networking-ovn
enable_service ovn-northd
enable_service ovn-controller
disable_service q-agt