quantum support
This commit is contained in:
		@@ -7,7 +7,10 @@ mod 'puppetlabs/keystone', :git => 'git://github.com/bodepd/puppetlabs-keystone'
 | 
			
		||||
mod 'puppetlabs/horizon', :git => 'git://github.com/bodepd/puppetlabs-horizon', :ref => 'folsom'
 | 
			
		||||
mod 'puppetlabs/swift', :git => 'git://github.com/puppetlabs/puppetlabs-swift'
 | 
			
		||||
mod 'bodepd/devstack', :git => 'git://github.com/bodepd/puppetlabs-devstack'
 | 
			
		||||
mod 'puppet/cinder', :git => 'git://github.com/bodepd/puppet-cinder'
 | 
			
		||||
mod 'puppet/quantum', :git => 'git://github.com/EmilienM/openstack-quantum-puppet/'
 | 
			
		||||
# openstack middleware
 | 
			
		||||
mod 'puppet-vswitch', :git => 'https://github.com/ekarlso/puppet-vswitch'
 | 
			
		||||
mod 'puppetlabs/rabbitmq', :git => 'git://github.com/puppetlabs/puppetlabs-rabbitmq'
 | 
			
		||||
mod 'puppetlabs/mysql', :git => 'git://github.com/puppetlabs/puppetlabs-mysql'
 | 
			
		||||
mod 'puppetlabs/git', :git => 'git://github.com/puppetlabs/puppetlabs-git'
 | 
			
		||||
@@ -22,4 +25,4 @@ mod 'puppetlabs/stdlib', :git => 'git://github.com/puppetlabs/puppetlabs-stdlib'
 | 
			
		||||
mod 'puppetlabs/apt', :git => 'git://github.com/puppetlabs/puppetlabs-apt'
 | 
			
		||||
mod 'ripienaar/concat', :git => 'git://github.com/ripienaar/puppet-concat'
 | 
			
		||||
mod 'duritong/sysctl', :git => 'git://github.com/duritong/puppet-sysctl.git'
 | 
			
		||||
mod 'cprice/inifile', :git => 'git://github.com/cprice-puppet/puppetlabs-inifile'
 | 
			
		||||
mod 'cprice/inifile', :git => 'git://github.com/bodepd/puppetlabs-inifile'
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										13
									
								
								Vagrantfile
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								Vagrantfile
									
									
									
									
										vendored
									
									
								
							@@ -52,7 +52,17 @@ Vagrant::Config.run do |config|
 | 
			
		||||
       'memory' => 512,
 | 
			
		||||
       'ip1'    => '172.16.0.8'
 | 
			
		||||
     }
 | 
			
		||||
   #},
 | 
			
		||||
   },
 | 
			
		||||
   {'cinder' =>
 | 
			
		||||
     {
 | 
			
		||||
       'memory' => 512,
 | 
			
		||||
       'ip1'    => '172.16.0.9'
 | 
			
		||||
     }
 | 
			
		||||
   },
 | 
			
		||||
   { 'quantum_agent' => {
 | 
			
		||||
       'memory' => 512,
 | 
			
		||||
       'ip1'    => '172.16.0.10'
 | 
			
		||||
     }
 | 
			
		||||
   #{'compute_1'  =>
 | 
			
		||||
   #  {'ip1' => '172.16.0.4'}
 | 
			
		||||
   #},
 | 
			
		||||
@@ -89,6 +99,7 @@ Vagrant::Config.run do |config|
 | 
			
		||||
      node_name = "#{name.gsub('_', '-')}-#{Time.now.strftime('%Y%m%d%m%s')}"
 | 
			
		||||
 | 
			
		||||
      agent.vm.provision :shell, :inline => "apt-get update"
 | 
			
		||||
      #agent.vm.provision :shell, :inline => "apt-get -y upgrade"
 | 
			
		||||
 | 
			
		||||
      agent.vm.provision :puppet do |puppet|
 | 
			
		||||
        puppet.manifests_path = 'manifests'
 | 
			
		||||
 
 | 
			
		||||
@@ -39,6 +39,8 @@ host {
 | 
			
		||||
  'glance':              ip => '172.16.0.6';
 | 
			
		||||
  'keystone':            ip => '172.16.0.7';
 | 
			
		||||
  'mysql':               ip => '172.16.0.8';
 | 
			
		||||
  'cinderclient':        ip => '172.16.0.9';
 | 
			
		||||
  'quantumagent':        ip => '172.16.0.10';
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
group { 'puppet':
 | 
			
		||||
 
 | 
			
		||||
@@ -60,6 +60,7 @@ node /mysql/ {
 | 
			
		||||
    keystone_db_password => 'keystone_password',
 | 
			
		||||
    glance_db_password   => 'glance_password',
 | 
			
		||||
    nova_db_password     => 'nova_password',
 | 
			
		||||
    cinder_db_password   => 'cinder_password',
 | 
			
		||||
    allowed_hosts        => ['keystone', 'glance', 'novacontroller', 'compute1', '%'],
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@@ -67,7 +68,7 @@ node /mysql/ {
 | 
			
		||||
 | 
			
		||||
node /keystone/ {
 | 
			
		||||
 | 
			
		||||
  nova_config {
 | 
			
		||||
  keystone_config {
 | 
			
		||||
    'DEFAULT/log_config': ensure => absent,
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@@ -79,6 +80,7 @@ node /keystone/ {
 | 
			
		||||
    admin_password        => 'ChangeMe',
 | 
			
		||||
    glance_user_password  => 'glance_password',
 | 
			
		||||
    nova_user_password    => 'nova_password',
 | 
			
		||||
    cinder_user_password  => 'cinder_password',
 | 
			
		||||
    public_address        => '172.16.0.7',
 | 
			
		||||
    admin_tenant          => 'admin',
 | 
			
		||||
    glance_public_address => '172.16.0.6',
 | 
			
		||||
@@ -118,7 +120,7 @@ node /openstack-controller/ {
 | 
			
		||||
    #floating_range          => $floating_network_range,
 | 
			
		||||
  # Required Network
 | 
			
		||||
    public_address         => '172.16.0.3',
 | 
			
		||||
    public_interface       => 'eth0',
 | 
			
		||||
    public_interface       => 'eth1',
 | 
			
		||||
    private_interface      => 'eth2',
 | 
			
		||||
  # Required Database
 | 
			
		||||
    mysql_root_password    => 'root_password',
 | 
			
		||||
@@ -133,11 +135,18 @@ node /openstack-controller/ {
 | 
			
		||||
  # Required Nov a
 | 
			
		||||
    nova_db_password       => 'nova_db_pass',
 | 
			
		||||
    nova_user_password     => 'nova_user_pass',
 | 
			
		||||
  # cinder
 | 
			
		||||
    cinder_db_password     => 'cinder_db_pass',
 | 
			
		||||
    cinder_user_password   => 'cinder_user_pass',
 | 
			
		||||
  # quantum
 | 
			
		||||
    quantum_db_password    => 'quantum_db_pass',
 | 
			
		||||
    quantum_user_password  => 'quantum_user_pass',
 | 
			
		||||
  # Required Horizon
 | 
			
		||||
 | 
			
		||||
    secret_key             => 'dummy_secret_key',
 | 
			
		||||
    network_manager        => 'nova.network.manager.FlatDHCPManager',
 | 
			
		||||
    fixed_range            => '10.0.0.0/24',
 | 
			
		||||
    floating_range         => '172.16.2.0/24',
 | 
			
		||||
    floating_range         => '172.16.0.64/25',
 | 
			
		||||
    create_networks        => true,
 | 
			
		||||
    multi_host             => true,
 | 
			
		||||
    db_host                => '127.0.0.1',
 | 
			
		||||
@@ -151,6 +160,7 @@ node /openstack-controller/ {
 | 
			
		||||
    glance_api_servers     => '127.0.0.1:9292',
 | 
			
		||||
    purge_nova_config      => false,
 | 
			
		||||
    rabbit_password        => 'rabbit_password',
 | 
			
		||||
    rabbit_user            => 'nova',
 | 
			
		||||
    # Horizon
 | 
			
		||||
    cache_server_ip        => '127.0.0.1',
 | 
			
		||||
    cache_server_port      => '11211',
 | 
			
		||||
@@ -158,18 +168,74 @@ node /openstack-controller/ {
 | 
			
		||||
    quantum                => false,
 | 
			
		||||
    horizon_app_links      => undef,
 | 
			
		||||
    # Genera
 | 
			
		||||
    verbose                => false,
 | 
			
		||||
    verbose                => 'True',
 | 
			
		||||
    export_resources       => false,
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
#  # set up a quantum server
 | 
			
		||||
  class { 'quantum':
 | 
			
		||||
    rabbit_user     => 'nova',
 | 
			
		||||
    rabbit_password => 'rabbit_password',
 | 
			
		||||
    sql_connection  => "mysql://quantum:quantum_db_pass@localhost/quantum?charset=utf8",
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  class { 'quantum::server':
 | 
			
		||||
    keystone_password => 'quantum_user_pass',
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  class { 'quantum::plugins::ovs':
 | 
			
		||||
    sql_connection      => "mysql://quantum:quantum_db_pass@localhost/quantum?charset=utf8",
 | 
			
		||||
    tenant_network_type => 'gre',
 | 
			
		||||
    # I need to know what this does...
 | 
			
		||||
    local_ip            => '10.0.0.1',
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  class { 'nova::network::quantum':
 | 
			
		||||
  #$fixed_range,
 | 
			
		||||
    quantum_admin_password    => 'quantum_user_pass',
 | 
			
		||||
  #$use_dhcp                  = 'True',
 | 
			
		||||
  #$public_interface          = undef,
 | 
			
		||||
    quantum_connection_host   => 'localhost',
 | 
			
		||||
    quantum_auth_strategy     => 'keystone',
 | 
			
		||||
    quantum_url               => 'http://172.16.0.3:9696',
 | 
			
		||||
    quantum_admin_tenant_name => 'services',
 | 
			
		||||
    quantum_admin_username    => 'quantum',
 | 
			
		||||
    quantum_admin_auth_url    => 'http://172.16.0.3:35357/v2.0'
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  package { 'python-cliff':
 | 
			
		||||
    ensure => present,
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  class { 'openstack::auth_file':
 | 
			
		||||
    admin_password       => 'ChangeMe',
 | 
			
		||||
    keystone_admin_token => 'service_token',
 | 
			
		||||
    controller_node      => '127.0.0.1',
 | 
			
		||||
    admin_tenant         => 'admin',
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  keystone_config {
 | 
			
		||||
    'DEFAULT/log_config': ensure => absent,
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
node /cinder/ {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  class { 'cinder':
 | 
			
		||||
    rabbit_password => 'rabbit_password',
 | 
			
		||||
    rabbit_host     => '172.16.0.3',
 | 
			
		||||
    sql_connection  => 'mysql://cinder:cinder_db_pass@172.16.0.3/cinder?charset=utf8',
 | 
			
		||||
    verbose         => 'True',
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  class { 'cinder::volume': }
 | 
			
		||||
 | 
			
		||||
  class { 'cinder::volume::iscsi': }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
node /nova-controller/ {
 | 
			
		||||
@@ -219,6 +285,16 @@ node /nova-controller/ {
 | 
			
		||||
 | 
			
		||||
node /compute/ {
 | 
			
		||||
 | 
			
		||||
  file_line { 'quemu_hack':
 | 
			
		||||
    line => 'cgroup_device_acl = [
 | 
			
		||||
   "/dev/null", "/dev/full", "/dev/zero",
 | 
			
		||||
   "/dev/random", "/dev/urandom",
 | 
			
		||||
   "/dev/ptmx", "/dev/kvm", "/dev/kqemu",
 | 
			
		||||
   "/dev/rtc", "/dev/hpet", "/dev/net/tun",]',
 | 
			
		||||
    path   => '/etc/libvirt/qemu.conf',
 | 
			
		||||
    ensure => present,
 | 
			
		||||
  } ~> Service['libvirt']
 | 
			
		||||
 | 
			
		||||
  # deploy a script that can be used to test nova
 | 
			
		||||
  class { 'openstack::test_file': }
 | 
			
		||||
 | 
			
		||||
@@ -229,14 +305,11 @@ node /compute/ {
 | 
			
		||||
  # $glance_api_addr = unique(query_nodes('Class[glance::api]', 'ipaddress_eth1'))
 | 
			
		||||
 | 
			
		||||
  class { 'openstack::compute':
 | 
			
		||||
    public_interface   => 'eth1',
 | 
			
		||||
    private_interface  => 'eth2',
 | 
			
		||||
    internal_address   => $::ipaddress_eth1,
 | 
			
		||||
    libvirt_type       => 'qemu',
 | 
			
		||||
    sql_connection     => 'mysql://nova:nova_db_pass@172.16.0.3/nova',
 | 
			
		||||
    fixed_range        => '10.0.0.0/24',
 | 
			
		||||
    network_manager    => 'nova.network.manager.FlatDHCPManager',
 | 
			
		||||
    multi_host         => true,
 | 
			
		||||
    network_manager    => 'nova.network.quantum.manager.QuantumManager',
 | 
			
		||||
    #multi_host         => true,
 | 
			
		||||
    nova_user_password => 'nova_user_pass',
 | 
			
		||||
    rabbit_host        => '172.16.0.3',
 | 
			
		||||
    rabbit_password    => 'rabbit_password',
 | 
			
		||||
@@ -244,9 +317,59 @@ node /compute/ {
 | 
			
		||||
    vncproxy_host      => '172.16.0.3',
 | 
			
		||||
    vnc_enabled        => true,
 | 
			
		||||
    verbose            => true,
 | 
			
		||||
    manage_volumes     => true,
 | 
			
		||||
    nova_volume        => 'nova-volumes'
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  class { 'openstack::cinder':
 | 
			
		||||
    sql_connection     => 'mysql://cinder:cinder_db_pass@172.16.0.3/cinder',
 | 
			
		||||
    rabbit_host        => '172.16.0.3',
 | 
			
		||||
    rabbit_password    => 'rabbit_password',
 | 
			
		||||
    volume_group       => 'precise64',
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  # manual steps
 | 
			
		||||
  # apt-get update
 | 
			
		||||
  # apt-get upgrade
 | 
			
		||||
  # apt-get -y install linux-headers-3.2.0-23-generic
 | 
			
		||||
  # apt-get -y install quantum-plugin-openvswitch-agent
 | 
			
		||||
  # apt-get -y install openvswitch-datapath-dkms-source
 | 
			
		||||
  # module-assistant auto-install openvswitch-datapath
 | 
			
		||||
  # service openvswitch-switch restart
 | 
			
		||||
 | 
			
		||||
  class { 'quantum':
 | 
			
		||||
    verbose         => 'True',
 | 
			
		||||
    debug           => 'True',
 | 
			
		||||
    rabbit_host     => '172.16.0.3',
 | 
			
		||||
    rabbit_user     => 'nova',
 | 
			
		||||
    rabbit_password => 'rabbit_password',
 | 
			
		||||
    sql_connection  => "mysql://quantum:quantum_db_pass@172.16.0.3/quantum?charset=utf8",
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  class { 'quantum::agents::ovs':
 | 
			
		||||
    bridge_uplinks => ['br-virtual:eth2'],
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  class { 'quantum::agents::dhcp': }
 | 
			
		||||
 | 
			
		||||
  class { 'nova::compute::quantum': }
 | 
			
		||||
 | 
			
		||||
  class { 'nova::network::quantum':
 | 
			
		||||
  #$fixed_range,
 | 
			
		||||
    quantum_admin_password    => 'quantum_user_pass',
 | 
			
		||||
  #$use_dhcp                  = 'True',
 | 
			
		||||
  #$public_interface          = undef,
 | 
			
		||||
    quantum_connection_host   => 'localhost',
 | 
			
		||||
    quantum_auth_strategy     => 'keystone',
 | 
			
		||||
    quantum_url               => 'http://172.16.0.3:9696',
 | 
			
		||||
    quantum_admin_tenant_name => 'services',
 | 
			
		||||
    quantum_admin_username    => 'quantum',
 | 
			
		||||
    quantum_admin_auth_url    => 'http://172.16.0.3:35357/v2.0'
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  nova_config {
 | 
			
		||||
    'linuxnet_interface_driver':       value => 'nova.network.linux_net.LinuxOVSInterfaceDriver';
 | 
			
		||||
    'linuxnet_ovs_integration_bridge': value => 'br-int';
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
node /devstack/ {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user