diff --git a/Vagrantfile b/Vagrantfile index a179e90..0c79f3b 100644 --- a/Vagrantfile +++ b/Vagrantfile @@ -1,14 +1,13 @@ # -*- mode: ruby -*- # vi: set ft=ruby : -#require 'vagrant-ansible' -#Vagrant::Config.run do |config| + Vagrant.configure("2") do |config| config.vm.provision "shell", inline: "echo 'Hello, lets start deployment.'" config.vm.define "web" do |web| web.vm.box = "ubuntu12.04-server-amd64" web.vm.box_url = "http://goo.gl/8kWkm" - web.vm.network "forwarded_port", guest: 8000, host: 8000 + web.vm.network "forwarded_port", guest: 8000, host: 8000, host_ip: '0.0.0.0' web.vm.network "forwarded_port", guest: 5000, host: 5000 web.vm.provision :chef_solo do |chef| chef.cookbooks_path = ["vagrant/cookbooks"] @@ -16,24 +15,23 @@ Vagrant.configure("2") do |config| end end -# config.vm.define "dev" do |dev| -# dev.vm.box = "precise64" -# dev.vm.box_url = "http://files.vagrantup.com/precise64.box" -## dev.vm.network "forwarded_port", guest: 22, host: 2022 -# dev.vm.network :private_network, ip: "192.168.27.100" -# dev.vm.network :private_network, ip: "172.24.4.225", :netmask => "255.255.255.224", :auto_config => false -# dev.vm.provider "virtualbox" do |vb| -# vb.customize ["modifyvm", :id, "--memory", "2048"] -# vb.customize ["modifyvm", :id, "--nicpromisc3", "allow-all"] -# end -# dev.vm.provision "ansible" do |ansible| -# ansible.playbook = "devstack.yaml" -# ansible.verbose = "v" -# end -# dev.vm.provision :shell, :inline => "cd devstack; sudo -u vagrant env HOME=/home/vagrant ./stack.sh" -# dev.vm.provision :shell, :inline => "ovs-vsctl add-port br-ex eth2" -## dev.vm.provision :shell do |shell| -## shell.inline = "apt-get update && apt-get -y install git vim-gtk libxml2-dev libxslt1-dev libpq-dev python-pip libsqlite3-dev && apt-get -y build-dep python-mysqldb && pip install git-review tox && git clone git://git.openstack.org/openstack-dev/devstack && chown -R vagrant:vagrant devstack && cd devstack && tools/create-stack-user.sh && ./stack.sh" -## end -# end + config.vm.define "dev" do |dev| + dev.vm.box = "precise64" + dev.vm.box_url = "http://files.vagrantup.com/precise64.box" + dev.vm.network "forwarded_port", guest: 22, host: 2202, host_ip: '0.0.0.0' + dev.vm.network :private_network, ip: "192.168.26.100" + dev.vm.network :private_network, ip: "172.24.4.225", :netmask => "255.255.255.224", :auto_config => false + dev.vm.provider "virtualbox" do |vb| + vb.customize ["modifyvm", :id, "--memory", "2048"] + vb.customize ["modifyvm", :id, "--nicpromisc3", "allow-all"] + end + dev.vm.provision "ansible" do |ansible| + ansible.host_key_checking = false + ansible.playbook = "devstack.yaml" + ansible.verbose = "vv" + end + dev.vm.provision :shell, :inline => "cd devstack; sudo -u vagrant env HOME=/home/vagrant ./stack.sh" + dev.vm.provision :shell, :inline => "ovs-vsctl add-port br-ex eth2" + end + end diff --git a/devstack.yaml b/devstack.yaml new file mode 100644 index 0000000..aa4cec5 --- /dev/null +++ b/devstack.yaml @@ -0,0 +1,26 @@ +--- +- hosts: dev + vars: + devstack_repo: git://github.com/openstack-dev/devstack.git + public_ip: 192.168.26.101 + + tasks: + - name: install packages + apt: "pkg={{ item }} update_cache=yes" + sudo: True + with_items: + - git + + - name: checkout devstack + git: "repo={{ devstack_repo }} dest=/home/vagrant/devstack version=stable/grizzly" + + - name: localrc + template: src=localrc dest=/home/vagrant/devstack/localrc + + - name: source openrc in profile + lineinfile: dest=/home/vagrant/.profile regexp=".*openrc" line='. /home/vagrant/devstack/openrc' + + - name: enable eth2 + command: ip link set dev eth2 up + sudo: True + diff --git a/localrc b/localrc new file mode 100644 index 0000000..9c68ac5 --- /dev/null +++ b/localrc @@ -0,0 +1,28 @@ +# Default passwords +ADMIN_PASSWORD=password +MYSQL_PASSWORD=password +RABBIT_PASSWORD=password +SERVICE_PASSWORD=password +SERVICE_TOKEN=password + + +SCREEN_LOGDIR=/opt/stack/logs + + +HOST_IP={{ public_ip }} + +# +# Neutron configs +# +# https://wiki.openstack.org/wiki/NeutronDevstack +disable_service n-net +enable_service q-svc +enable_service q-agt +enable_service q-dhcp +enable_service q-l3 +enable_service q-meta +enable_service neutron + +# Disable security groups entirely +Q_USE_SECGROUP=False +LIBVIRT_FIREWALL_DRIVER=nova.virt.firewall.NoopFirewallDriver