User Tools

Site Tools


wiki:sandbox

This is an old revision of the document!


OPNFV Sandbox

The OPNFV SandBox is intended to be a laptop compatible dev environment. The SandBox is currently under development. Get involved, download it and help evaluate, debug and improve! https://github.com/Aricg/PackStackSandBox

SandBox currently exists as a template for further sandbox work with packstack, it brings up two nodes on a machine with at least 8GB of memory. One controller and One Compute/Networking node. It is intended to be easy to modify to meet our/your needs. The nodes can be reached after vagrant up with vagrant ssh controller vagrant ssh compute

SandBox getting started

Get VirtualBox https://www.virtualbox.org/wiki/Downloads

Get Vagrant https://www.vagrantup.com/downloads.html

Check you have Ruby installed: root$: ruby -v

Should result in 'ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin14]' or equivalent.  Install Ruby if it is not installed: [[https://www.ruby-lang.org/en/installation/]]

Install vagrant-vbguest

vagrant plugin install vagrant-vbguest

Enable bridged mode on your local machine

$ brctl show bridge name bridge id STP enabled interfaces docker0 8000.28d244719f30 no enp0s25

Get this repo

git clone git@github.com:Aricg/PackStackSandBox.git && cd PackStackSandBox

Vagrantfile.yml

Modify Vagrantfile.yml to reflect the network avaliable to you. Note that I have a /22 avaliable on my home network, We will need to reserve a /24 section of whatever network you are on so that we can create a route to the neutron router we later create. eg:

route add -net 192.168.x.0 netmask 255.255.255.0 gw 192.168.x.1

Without this, you will not be able to route to your VMs. (Outbound traffic will still work)

My working config:

bridge: docker0 netmask: 255.255.252.0 gateway: 192.168.0.1 neutron_router_start: 192.168.3.1 neutron_router_end: 192.168.3.128 controller:

bridged_ip: 192.168.1.91
private_ip: 192.168.22.92

compute:

bridged_ip: 192.168.1.93
private_ip: 192.168.22.94

Vagrantfile.yml Explanation

bridge: name of your bridge interface ($ brctl show )

netmask: netmask of your private subnet, probably given to you via dhcp. you can see this with ifconfig, however on osx if will be in the unreadble format, something like 0xffffff00 Refer here for a table that human can read. http://www.pawprint.net/designresources/netmask-converter.php Most home networks only give out a /24 you will need to log into your router and change your range to at least a /23 so that we an properly route to the router that neutron creates.

gateway: Your workstations gateway to the internet (your routers ip, this is also the ip you go to to increase your network size ) you can check this with ip r on linux or netstat -nr on osx

neutron_router_start: This will be the start of your openstack dhcp, I also use this to guess your neutron router gateway. Make it something that is routable but that none of your computers are using. eg: If my workstation and gateway(router) were in the 192.168.0.0/24 range I could make the neutron range inside 192.168.1.0/24 eg: 192.168.1.1-192.168.1.254

neutron_router_end: the end of the range explained above

controller:

bridged_ip: this interface should be given an ip on the same /24 as your workstation.

private_ip: this interface can have any ip you want, virtualbox deals with the routing.

compute:

bridged_ip: same rules as the controller bridged_ip but unique

private_ip: same rules as controller: private_ip but unique Launch Vagrant

vagrant up

ssh into the vagrant controller (password is vagrant)

vagrant ssh controller

run packstack

cd /vagrant sudo bash packstack –answer-file=ans.txt && cp /root/keystonerc_admin /vagrant

Networking

To setup networking, and launch the cirros minimal VM you must wait for the above operations to complete. (packstack and copying the keystonerc_admin) Once those are done, vagrant ssh into the networking (compute node):

vagrant ssh compute [vagrant@compute]# sudo bash [root@compute ]# cd /vagrant && ./SetupComputeNode

Trouble-shooting

When restarting netwoking, the neutron switch become unresponsive, you'll need to restart various neutron components

service network restart for i in dhcp-agent l3-agent metadata-agent openvswitch-agent; \ do service neutron-$i restart; done neutron agent-list #takes me 38 seconds before I can ping a the router

Vagrant exits with a syntax error

Message: undefined method `[]' for nil:NilClass

Try running the included ./testyaml you may need to install the ruby yaml library

Vagrant Can't download the box on OSX

vagrant box add –name controller https://build.opnfv.org/downloads/controller.box vagrant init controller

This will help you debug some wierd permission erros that we've seen on osx Things that still suck

Vagrant reconfigures the network device eth1 on boot. even tho I have managed set to false. this breaks everything. Gar.

wiki/sandbox.1417082930.txt.gz · Last modified: 2014/11/27 10:08 by Christopher Price