Merge "Add vagrantfile/environment for a working vagrant all-in-one using nova-network"
This commit is contained in:
57
Vagrantfile
vendored
57
Vagrantfile
vendored
@@ -1,57 +0,0 @@
|
||||
Vagrant.require_plugin "vagrant-berkshelf"
|
||||
Vagrant.require_plugin "vagrant-chef-zero"
|
||||
Vagrant.require_plugin "vagrant-omnibus"
|
||||
|
||||
Vagrant.configure("2") do |config|
|
||||
# Berkshelf plugin configuration
|
||||
config.berkshelf.enabled = true
|
||||
|
||||
# Chef-Zero plugin configuration
|
||||
config.chef_zero.enabled = true
|
||||
config.chef_zero.chef_repo_path = "."
|
||||
|
||||
# Omnibus plugin configuration
|
||||
config.omnibus.chef_version = :latest
|
||||
|
||||
# Port forwarding rules, for access to openstack services
|
||||
config.vm.network "forwarded_port", guest: 443, host: 8443 # dashboard-ssl
|
||||
config.vm.network "forwarded_port", guest: 4000, host: 4000 # chef-zero
|
||||
config.vm.network "forwarded_port", guest: 8773, host: 8773 # compute-ec2-api
|
||||
config.vm.network "forwarded_port", guest: 8774, host: 8774 # compute-api
|
||||
|
||||
# OpenStack-related settings
|
||||
config.vm.network "private_network", ip: "33.33.33.60"
|
||||
config.vm.network "private_network", ip: "192.168.100.60"
|
||||
config.vm.provider "virtualbox" do |vb|
|
||||
vb.customize ["modifyvm", :id, "--cpus", 2]
|
||||
vb.customize ["modifyvm", :id, "--memory", 2048]
|
||||
vb.customize ["modifyvm", :id, "--nicpromisc2", "allow-all"]
|
||||
vb.customize ["modifyvm", :id, "--nicpromisc3", "allow-all"]
|
||||
end
|
||||
|
||||
chef_environment = "vagrant"
|
||||
chef_run_list = [ "role[allinone-compute]" ]
|
||||
|
||||
# Ubuntu 12.04 Config
|
||||
config.vm.define :ubuntu1204 do |ubuntu1204|
|
||||
ubuntu1204.vm.hostname = "ubuntu1204"
|
||||
ubuntu1204.vm.box = "opscode-ubuntu-12.04"
|
||||
ubuntu1204.vm.box_url = "https://opscode-vm-bento.s3.amazonaws.com/vagrant/opscode_ubuntu-12.04_provisionerless.box"
|
||||
ubuntu1204.vm.provision :chef_client do |chef|
|
||||
chef.environment = chef_environment
|
||||
chef.run_list = chef_run_list.unshift("recipe[apt::cacher-client]")
|
||||
end
|
||||
end
|
||||
|
||||
# Centos 6.4 Config
|
||||
config.vm.define :centos64 do |centos64|
|
||||
centos64.vm.hostname = "centos64"
|
||||
centos64.vm.box = "opscode-centos-6.4"
|
||||
centos64.vm.box_url = "https://opscode-vm-bento.s3.amazonaws.com/vagrant/opscode_centos-6.4_provisionerless.box"
|
||||
centos64.vm.provision :chef_client do |chef|
|
||||
chef.environment = chef_environment
|
||||
chef.run_list = chef_run_list
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
101
Vagrantfile-aio-nova
Normal file
101
Vagrantfile-aio-nova
Normal file
@@ -0,0 +1,101 @@
|
||||
# to use this vagrantfile, do either one of the following (not both):
|
||||
# 1) export VAGRANT_VAGRANTFILE=Vagrantfile-aio-nova
|
||||
# 2) mv Vagrantfile-aio-nova Vagrantfile
|
||||
#
|
||||
# and then use as normal:
|
||||
# vagrant up centos65
|
||||
# AND/OR
|
||||
# vagrant up ubuntu1204
|
||||
|
||||
Vagrant.require_version ">= 1.1"
|
||||
|
||||
Vagrant.require_plugin "vagrant-berkshelf"
|
||||
Vagrant.require_plugin "vagrant-chef-zero"
|
||||
Vagrant.require_plugin "vagrant-omnibus"
|
||||
|
||||
Vagrant.configure("2") do |config|
|
||||
# Berkshelf plugin configuration
|
||||
config.berkshelf.enabled = true
|
||||
|
||||
# Chef-Zero plugin configuration
|
||||
config.chef_zero.enabled = true
|
||||
config.chef_zero.chef_repo_path = "."
|
||||
|
||||
# Omnibus plugin configuration
|
||||
config.omnibus.chef_version = :latest
|
||||
|
||||
# get local ip so that we can force chef zero onto a different port per
|
||||
# machine, allowing for multiple simultaneous vagrant up runs
|
||||
local_ip = Socket.ip_address_list.detect{|intf| intf.ipv4_private?}.ip_address
|
||||
|
||||
# OpenStack-related settings
|
||||
config.vm.network "private_network", ip: "192.168.100.60"
|
||||
chef_environment = "vagrant-aio-nova"
|
||||
chef_run_list = [ "role[allinone-compute]","role[os-image-upload]" ]
|
||||
|
||||
# virtualbox provider settings
|
||||
config.vm.provider "virtualbox" do |vb|
|
||||
vb.customize ["modifyvm", :id, "--cpus", 2]
|
||||
vb.customize ["modifyvm", :id, "--memory", 2048]
|
||||
vb.customize ["modifyvm", :id, "--nicpromisc2", "allow-all"]
|
||||
end
|
||||
|
||||
#######################
|
||||
# Ubuntu 12.04 #
|
||||
#######################
|
||||
|
||||
config.vm.define :ubuntu1204 do |ubuntu1204|
|
||||
|
||||
ubuntu1204.vm.hostname = "ubuntu1204"
|
||||
|
||||
ubuntu1204.vm.box = "opscode-ubuntu-12.04"
|
||||
|
||||
ubuntu1204.vm.box_url = "http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_ubuntu-12.04_chef-provisionerless.box"
|
||||
|
||||
ubuntu1204.vm.provider "virtualbox" do |vb|
|
||||
vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
|
||||
end
|
||||
|
||||
ubuntu1204.vm.network "forwarded_port", guest: 443, host: 8443 # dashboard-ssl
|
||||
ubuntu1204.vm.network "forwarded_port", guest: 8773, host: 8773 # compute-ec2-api
|
||||
ubuntu1204.vm.network "forwarded_port", guest: 8774, host: 8774 # compute-api
|
||||
ubuntu1204.vm.network "forwarded_port", guest: 4002, host: 4002 # chef-zero
|
||||
|
||||
ubuntu1204.vm.provision :chef_client do |chef|
|
||||
chef.environment = chef_environment
|
||||
chef.run_list = chef_run_list.unshift("recipe[apt::cacher-client]")
|
||||
chef.chef_server_url = "http://#{local_ip}:4002"
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
#######################
|
||||
# Centos 6.5 #
|
||||
#######################
|
||||
|
||||
config.vm.define :centos65 do |centos65|
|
||||
|
||||
centos65.vm.hostname = "centos65"
|
||||
|
||||
centos65.vm.box = "opscode-centos-6.5"
|
||||
|
||||
centos65.vm.box_url = "http://opscode-vm-bento.s3.amazonaws.com/vagrant/virtualbox/opscode_centos-6.5_chef-provisionerless.box"
|
||||
|
||||
centos65.vm.provider "virtualbox" do |vb|
|
||||
vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
|
||||
end
|
||||
|
||||
centos65.vm.network "forwarded_port", guest: 443, host: 9443 # dashboard-ssl
|
||||
centos65.vm.network "forwarded_port", guest: 8773, host: 9773 # compute-ec2-api
|
||||
centos65.vm.network "forwarded_port", guest: 8774, host: 9774 # compute-api
|
||||
centos65.vm.network "forwarded_port", guest: 4001, host: 4001 # chef-zero
|
||||
|
||||
centos65.vm.provision :chef_client do |chef|
|
||||
chef.environment = chef_environment
|
||||
chef.run_list = chef_run_list
|
||||
chef.chef_server_url = "http://#{local_ip}:4001"
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
48
environments/vagrant-aio-nova.json
Normal file
48
environments/vagrant-aio-nova.json
Normal file
@@ -0,0 +1,48 @@
|
||||
{
|
||||
"name": "vagrant-aio-nova",
|
||||
"description": "Environment used in testing the upstream cookbooks and reference Chef repository with vagrant. To be used with the Vagrantfile-aio-nova vagrantfile. Defines the necessary attributes for a working all-in-one openstack deployment, using nova-network for the networking component",
|
||||
"cookbook_versions": {
|
||||
},
|
||||
"json_class": "Chef::Environment",
|
||||
"chef_type": "environment",
|
||||
"default_attributes": {
|
||||
},
|
||||
"override_attributes": {
|
||||
"openstack": {
|
||||
"developer_mode": true,
|
||||
"image": {
|
||||
"image_upload": true,
|
||||
"upload_images": [
|
||||
"cirros"
|
||||
],
|
||||
"upload_image": {
|
||||
"cirros": "https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-disk.img"
|
||||
}
|
||||
},
|
||||
"compute": {
|
||||
"network": {
|
||||
"public_interface": "eth1",
|
||||
"service_type": "nova"
|
||||
},
|
||||
"config": {
|
||||
"ram_allocation_ratio": 5.0
|
||||
},
|
||||
"libvirt": {
|
||||
"virt_type": "qemu"
|
||||
},
|
||||
"networks": [
|
||||
{
|
||||
"label": "public",
|
||||
"ipv4_cidr": "192.168.100.0/24",
|
||||
"num_networks": "1",
|
||||
"network_size": "255",
|
||||
"bridge": "br100",
|
||||
"bridge_dev": "eth1",
|
||||
"dns1": "8.8.8.8",
|
||||
"dns2": "8.8.4.4"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,58 +0,0 @@
|
||||
name "vagrant"
|
||||
description "Environment used in testing with Vagrant the upstream cookbooks and reference Chef repository. Defines the network and database settings to use with OpenStack. The networks will be used in the libraries provided by the osops-utils cookbook. This example is for FlatDHCP with 2 physical networks."
|
||||
|
||||
override_attributes(
|
||||
"mysql" => {
|
||||
"allow_remote_root" => true,
|
||||
"root_network_acl" => "%"
|
||||
},
|
||||
"openstack" => {
|
||||
"developer_mode" => true,
|
||||
"identity" => {
|
||||
"catalog" => {
|
||||
"backend" => "templated"
|
||||
},
|
||||
},
|
||||
"image" => {
|
||||
"upload_images" => ["cirros"],
|
||||
"upload_image" => {
|
||||
"cirros" => "https://launchpad.net/cirros/trunk/0.3.0/+download/cirros-0.3.0-x86_64-disk.img"
|
||||
},
|
||||
"identity_service_chef_role" => "allinone-compute"
|
||||
},
|
||||
"block-storage" => {
|
||||
"keystone_service_chef_role" => "allinone-compute"
|
||||
},
|
||||
"dashboard" => {
|
||||
"keystone_service_chef_role" => "allinone-compute"
|
||||
},
|
||||
"network" => {
|
||||
"rabbit_server_chef_role" => "allinone-compute"
|
||||
},
|
||||
"compute" => {
|
||||
"identity_service_chef_role" => "allinone-compute",
|
||||
"network" => {
|
||||
"fixed_range" => "192.168.100.0/24",
|
||||
"public_interface" => "eth2"
|
||||
},
|
||||
"config" => {
|
||||
"ram_allocation_ratio" => 5.0
|
||||
},
|
||||
"libvirt" => {
|
||||
"virt_type" => "qemu"
|
||||
},
|
||||
"networks" => [
|
||||
{
|
||||
"label" => "public",
|
||||
"ipv4_cidr" => "192.168.100.0/24",
|
||||
"num_networks" => "1",
|
||||
"network_size" => "255",
|
||||
"bridge" => "br100",
|
||||
"bridge_dev" => "eth2",
|
||||
"dns1" => "8.8.8.8",
|
||||
"dns2" => "8.8.4.4"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
)
|
||||
Reference in New Issue
Block a user