Backport from Openstack HA deployment branch
* Puppetdb (commented out) * Fuel update * Development version of HA deployment * More nodes for integration tests * Makefile fixes
This commit is contained in:
parent
a4c33c4ace
commit
17e560de35
2
fuel
2
fuel
@ -1 +1 @@
|
||||
Subproject commit ab568fe414e83830838663ce4b7345e089b79f12
|
||||
Subproject commit 92bd5fc0d9cd21fa49a099fb333114e299cc729d
|
@ -1,5 +1,9 @@
|
||||
#!/bin/bash
|
||||
|
||||
puppet apply --modulepath=/opt/nailgun_puppet /opt/nailgun_puppet/nailgun/examples/site.pp 2>&1 | tee /var/log/puppet/firstboot.log
|
||||
#puppet apply -e 'class {puppetdb:}'
|
||||
#sed -i -e s/8080/8082/ /etc/puppetdb/conf.d/jetty.ini
|
||||
#puppet apply -e 'class {puppetdb::master::config: puppet_service_name=>"puppetmaster"}'
|
||||
#/etc/init.d/puppetdb restart
|
||||
|
||||
sed -i --follow-symlinks "/bootstrap_admin_node.sh/d" /etc/rc.local
|
||||
|
@ -44,7 +44,7 @@ module Naily
|
||||
time = 10 + time - Time::now.to_f
|
||||
sleep (time) if time > 0 # Wait while nodes going to reboot. Sleep not greater than 10 sec.
|
||||
begin
|
||||
Timeout::timeout(20 * 60) do # 20 min for booting target OS
|
||||
Timeout::timeout(60 * 60) do # 60 min for booting target OS
|
||||
while true
|
||||
time = Time::now.to_f
|
||||
types = @orchestrator.node_type(reporter, data['args']['task_uuid'], nodes, 5)
|
||||
|
220
puppet/osnailyfacter/manifests/cluster_ha.pp
Normal file
220
puppet/osnailyfacter/manifests/cluster_ha.pp
Normal file
@ -0,0 +1,220 @@
|
||||
class osnailyfacter::cluster_ha {
|
||||
|
||||
# TODO: move it to astude
|
||||
$internal_virtual_ip = '192.168.0.253'
|
||||
$public_virtual_ip = '240.0.1.253'
|
||||
$master_hostname = 'slave-1'
|
||||
$controller_public_addresses = {'slave-1' => '10.0.101.3','slave-2' => '10.0.101.4','slave-3' => '10.0.101.5'}
|
||||
$controller_internal_addresses = {'slave-1' => '192.168.0.2','slave-2' => '192.168.0.3','slave-3' => '192.168.0.4'}
|
||||
$swift_proxy_address = '192.168.0.253'
|
||||
$controller_hostnames = ['slave-1', 'slave-2', 'slave-3']
|
||||
$swift_zone = 1 # Different for each controller
|
||||
$swift_proxy_address = $internal_virtual_ip
|
||||
|
||||
##
|
||||
# These parameters should be edit
|
||||
##
|
||||
|
||||
# This interface will be giving away internet
|
||||
#$public_interface = 'eth1' # Provided by Astute
|
||||
# This interface will look to management network
|
||||
#$internal_interface = 'eth0' # Provided by Astute
|
||||
# This interface for internal services
|
||||
#$private_interface = 'eth2' # Provided by Astute
|
||||
|
||||
# Public and Internal VIPs for load-balancers
|
||||
#$internal_virtual_ip = '10.0.126.253' # Provided by Astute
|
||||
#$public_virtual_ip = '10.0.215.253' # Provided by Astute
|
||||
#$swift_proxy_address = '10.0.126.253' # Provided by Astute
|
||||
|
||||
#$controller_internal_addresses = {'fuel-01' => '10.0.126.3','fuel-02' => '10.0.126.4','fuel-03' => '10.0.126.5'} # Provided by Astute
|
||||
|
||||
# Public and Internal IP pools
|
||||
$create_networks = true
|
||||
#$fixed_range = '10.0.198.128/27' # Provided by Astute as fixed_network_range
|
||||
#$floating_range = '10.0.74.128/28' # Provided by Astute as floating_network_range
|
||||
|
||||
##
|
||||
# These parameters to change by necessity
|
||||
##
|
||||
|
||||
# Enabled or disabled different services
|
||||
$multi_host = true
|
||||
$quantum = false # true
|
||||
$manage_volumes = true
|
||||
$cinder = true
|
||||
$auto_assign_floating_ip = false
|
||||
$glance_backend = 'swift'
|
||||
|
||||
# Set default hostname
|
||||
#$master_hostname = 'fuel-01' # Provided by Astute
|
||||
#$controller_hostnames = ['fuel-01', 'fuel-02', 'fuel-03'] # Provided by Astute
|
||||
$swift_master = $master_hostname
|
||||
$swift_proxies = $controller_internal_addresses
|
||||
$network_manager = 'nova.network.manager.FlatDHCPManager'
|
||||
#$mirror_type='external'
|
||||
|
||||
# Add physical volume to cinder, value must be different
|
||||
#$nv_physical_volume = ['/dev/sdz', '/dev/sdy', '/dev/sdx']
|
||||
|
||||
# Set credential for different services
|
||||
$swift_shared_secret = 'changeme'
|
||||
$swift_user_password = 'swift_pass'
|
||||
|
||||
$mysql_root_password = 'nova'
|
||||
$admin_email = 'openstack@openstack.org'
|
||||
$admin_password = 'nova'
|
||||
|
||||
$keystone_db_password = 'nova'
|
||||
$keystone_admin_token = 'nova'
|
||||
|
||||
$glance_db_password = 'nova'
|
||||
$glance_user_password = 'nova'
|
||||
|
||||
$nova_db_password = 'nova'
|
||||
$nova_user_password = 'nova'
|
||||
|
||||
$rabbit_password = 'nova'
|
||||
$rabbit_user = 'nova'
|
||||
|
||||
$quantum_user_password = 'quantum_pass'
|
||||
$quantum_db_password = 'quantum_pass'
|
||||
$quantum_db_user = 'quantum'
|
||||
$quantum_db_dbname = 'quantum'
|
||||
$quantum_sql_connection = "mysql://${quantum_db_user}:${quantum_db_password}@${quantum_host}/${quantum_db_dbname}"
|
||||
|
||||
$controller_node_public = $internal_virtual_ip
|
||||
$quantum_host = $internal_virtual_ip
|
||||
$swift_local_net_ip = $ipaddress_eth0
|
||||
|
||||
# Moved to the global namespace
|
||||
#$openstack_version = {
|
||||
# 'keystone' => 'latest',
|
||||
# 'glance' => 'latest',
|
||||
# 'horizon' => 'latest',
|
||||
# 'nova' => 'latest',
|
||||
# 'novncproxy' => 'latest',
|
||||
# 'cinder' => latest,
|
||||
#}
|
||||
|
||||
$tenant_network_type = 'gre'
|
||||
$internal_address = getvar("::ipaddress_${internal_interface}")
|
||||
$verbose = true
|
||||
Exec { logoutput => true }
|
||||
|
||||
#stage { 'openstack-custom-repo': before => Stage['main'] }
|
||||
#class { 'openstack::mirantis_repos': stage => 'openstack-custom-repo', type=> $mirror_type }
|
||||
|
||||
# deprecated. keep it for backward compatibility
|
||||
#$controller_public_addresses = {'fuel-01' => '10.0.215.3','fuel-02' => '10.0.215.4','fuel-03' => '10.0.215.5'} # Provided by Astute
|
||||
|
||||
class compact_controller {
|
||||
class { 'openstack::controller_ha':
|
||||
controller_public_addresses => $controller_public_addresses,
|
||||
controller_internal_addresses => $controller_internal_addresses,
|
||||
internal_address => $internal_address,
|
||||
public_interface => $public_interface,
|
||||
internal_interface => $internal_interface,
|
||||
private_interface => $private_interface,
|
||||
internal_virtual_ip => $internal_virtual_ip,
|
||||
public_virtual_ip => $public_virtual_ip,
|
||||
master_hostname => $master_hostname,
|
||||
floating_range => $floating_network_range, #$floating_range,
|
||||
fixed_range => $fixed_network_range, #$fixed_range,
|
||||
multi_host => $multi_host,
|
||||
network_manager => $network_manager,
|
||||
verbose => $verbose,
|
||||
auto_assign_floating_ip => $auto_assign_floating_ip,
|
||||
mysql_root_password => $mysql_root_password,
|
||||
admin_email => $admin_email,
|
||||
admin_password => $admin_password,
|
||||
keystone_db_password => $keystone_db_password,
|
||||
keystone_admin_token => $keystone_admin_token,
|
||||
glance_db_password => $glance_db_password,
|
||||
glance_user_password => $glance_user_password,
|
||||
nova_db_password => $nova_db_password,
|
||||
nova_user_password => $nova_user_password,
|
||||
rabbit_password => $rabbit_password,
|
||||
rabbit_user => $rabbit_user,
|
||||
rabbit_nodes => $controller_hostnames,
|
||||
memcached_servers => $controller_hostnames,
|
||||
export_resources => false,
|
||||
glance_backend => $glance_backend,
|
||||
swift_proxies => $swift_proxies,
|
||||
quantum => $quantum,
|
||||
quantum_user_password => $quantum_user_password,
|
||||
quantum_db_password => $quantum_db_password,
|
||||
quantum_db_user => $quantum_db_user,
|
||||
quantum_db_dbname => $quantum_db_dbname,
|
||||
tenant_network_type => $tenant_network_type,
|
||||
cinder => $cinder,
|
||||
manage_volumes => $manage_volumes,
|
||||
galera_nodes => $controller_hostnames,
|
||||
nv_physical_volume => $nv_physical_volume,
|
||||
}
|
||||
class { 'swift::keystone::auth':
|
||||
password => $swift_user_password,
|
||||
public_address => $public_virtual_ip,
|
||||
internal_address => $internal_virtual_ip,
|
||||
admin_address => $internal_virtual_ip,
|
||||
}
|
||||
}
|
||||
|
||||
case $role {
|
||||
"controller" : {
|
||||
include osnailyfacter::test_controller
|
||||
|
||||
class { 'compact_controller': }
|
||||
#$swift_zone = 1 # Provided by Astute
|
||||
|
||||
class { 'openstack::swift::storage-node':
|
||||
swift_zone => $swift_zone,
|
||||
swift_local_net_ip => $internal_address,
|
||||
}
|
||||
|
||||
class { 'openstack::swift::proxy':
|
||||
swift_proxies => $swift_proxies,
|
||||
swift_master => $swift_master,
|
||||
controller_node_address => $internal_virtual_ip,
|
||||
swift_local_net_ip => $internal_address,
|
||||
}
|
||||
Class[osnailyfacter::network_setup] -> Class[openstack::controller_ha]
|
||||
Class[osnailyfacter::network_setup] -> Class[openstack::auth_file]
|
||||
}
|
||||
|
||||
"compute" : {
|
||||
include osnailyfacter::test_compute
|
||||
|
||||
class { 'openstack::compute':
|
||||
public_interface => $public_interface,
|
||||
private_interface => $private_interface,
|
||||
internal_address => $internal_address,
|
||||
libvirt_type => 'qemu',
|
||||
fixed_range => $fixed_network_range, #$fixed_range,
|
||||
network_manager => $network_manager,
|
||||
multi_host => $multi_host,
|
||||
sql_connection => "mysql://nova:${nova_db_password}@${internal_virtual_ip}/nova",
|
||||
rabbit_nodes => $controller_hostnames,
|
||||
rabbit_password => $rabbit_password,
|
||||
rabbit_user => $rabbit_user,
|
||||
glance_api_servers => "${internal_virtual_ip}:9292",
|
||||
vncproxy_host => $public_virtual_ip,
|
||||
verbose => $verbose,
|
||||
vnc_enabled => true,
|
||||
manage_volumes => false,
|
||||
nova_user_password => $nova_user_password,
|
||||
cache_server_ip => $controller_hostnames,
|
||||
service_endpoint => $internal_virtual_ip,
|
||||
quantum => $quantum,
|
||||
quantum_host => $quantum_host,
|
||||
quantum_sql_connection => $quantum_sql_connection,
|
||||
quantum_user_password => $quantum_user_password,
|
||||
#tenant_network_type => $tenant_network_type,
|
||||
cinder => $cinder,
|
||||
#ssh_private_key => 'puppet:///ssh_keys/openstack',
|
||||
#ssh_public_key => 'puppet:///ssh_keys/openstack.pub',
|
||||
}
|
||||
Class[osnailyfacter::network_setup] -> Class[openstack::compute]
|
||||
}
|
||||
}
|
||||
}
|
159
puppet/osnailyfacter/manifests/cluster_simple.pp
Normal file
159
puppet/osnailyfacter/manifests/cluster_simple.pp
Normal file
@ -0,0 +1,159 @@
|
||||
class osnailyfacter::cluster_simple {
|
||||
####### shared variables ##################
|
||||
|
||||
|
||||
# this section is used to specify global variables that will
|
||||
# be used in the deployment of multi and single node openstack
|
||||
# environments
|
||||
|
||||
# assumes that eth1 is the public interface
|
||||
#$public_interface = 'eth1' # Provided by Astute
|
||||
# assumes that eth0 is the interface that will be used for the vm network
|
||||
# this configuration assumes this interface is active but does not have an
|
||||
# ip address allocated to it.
|
||||
#$internal_interface = 'eth0' # Provided by Astute
|
||||
#$private_interface = 'eth2' # Provided by Astute
|
||||
|
||||
#$fixed_network_range = '10.0.214.0/24' # Provided by Astute
|
||||
#$floating_network_range = '10.0.74.128/28' # Provided by Astute
|
||||
|
||||
#$controller_node_address = '10.0.125.3' # Provided by Astute
|
||||
#$controller_node_public = '10.0.74.3' # Provided by Astute
|
||||
|
||||
$mirror_type='external'
|
||||
|
||||
# credentials
|
||||
$admin_email = 'root@localhost'
|
||||
$admin_password = 'keystone_admin'
|
||||
|
||||
$keystone_db_password = 'keystone_db_pass'
|
||||
$keystone_admin_token = 'keystone_admin_token'
|
||||
|
||||
$nova_db_password = 'nova_pass'
|
||||
$nova_user_password = 'nova_pass'
|
||||
|
||||
$glance_db_password = 'glance_pass'
|
||||
$glance_user_password = 'glance_pass'
|
||||
|
||||
$rabbit_password = 'openstack_rabbit_password'
|
||||
$rabbit_user = 'openstack_rabbit_user'
|
||||
|
||||
$quantum = false # true
|
||||
$quantum_user_password = 'quantum_pass'
|
||||
$quantum_db_password = 'quantum_pass'
|
||||
$quantum_db_user = 'quantum'
|
||||
$quantum_db_dbname = 'quantum'
|
||||
$tenant_network_type = 'gre'
|
||||
|
||||
# by default it does not enable atomatically adding floating IPs
|
||||
$auto_assign_floating_ip = false
|
||||
$manage_volumes = false # true
|
||||
|
||||
# Add physical volume to cinder, value must be different
|
||||
#$nv_physical_volume = ['/dev/sdz', '/dev/sdy', '/dev/sdx']
|
||||
$cinder = false # true
|
||||
|
||||
|
||||
# Moved to the global namespace
|
||||
#$openstack_version = {
|
||||
# 'keystone' => latest,
|
||||
# 'glance' => latest,
|
||||
# 'horizon' => latest,
|
||||
# 'nova' => latest,
|
||||
# 'novncproxy' => latest,
|
||||
# 'cinder' => latest,
|
||||
#}
|
||||
|
||||
# switch this to true to have all service log at verbose
|
||||
$verbose = true
|
||||
|
||||
#stage { 'openstack-custom-repo': before => Stage['main'] }
|
||||
#class { 'openstack::mirantis_repos': stage => 'openstack-custom-repo', type => $mirror_type }
|
||||
|
||||
$controller_node_internal = $controller_node_address
|
||||
$quantum_host = $controller_node_address
|
||||
$quantum_sql_connection = "mysql://${quantum_db_user}:${quantum_db_password}@${quantum_host}/${quantum_db_dbname}"
|
||||
$sql_connection = "mysql://nova:${nova_db_password}@${controller_node_internal}/nova"
|
||||
|
||||
case $role {
|
||||
"controller" : {
|
||||
include osnailyfacter::test_controller
|
||||
|
||||
class { 'openstack::controller':
|
||||
admin_address => $controller_node_internal,
|
||||
public_address => $controller_node_public,
|
||||
public_interface => $public_interface,
|
||||
private_interface => $private_interface,
|
||||
internal_address => $controller_node_internal,
|
||||
floating_range => $floating_network_range,
|
||||
fixed_range => $fixed_network_range,
|
||||
# by default it does not enable multi-host mode
|
||||
multi_host => true,
|
||||
# by default is assumes flat dhcp networking mode
|
||||
network_manager => 'nova.network.manager.FlatDHCPManager',
|
||||
verbose => $verbose,
|
||||
auto_assign_floating_ip => $auto_assign_floating_ip,
|
||||
mysql_root_password => $mysql_root_password,
|
||||
admin_email => $admin_email,
|
||||
admin_password => $admin_password,
|
||||
keystone_db_password => $keystone_db_password,
|
||||
keystone_admin_token => $keystone_admin_token,
|
||||
glance_db_password => $glance_db_password,
|
||||
glance_user_password => $glance_user_password,
|
||||
nova_db_password => $nova_db_password,
|
||||
nova_user_password => $nova_user_password,
|
||||
rabbit_password => $rabbit_password,
|
||||
rabbit_user => $rabbit_user,
|
||||
export_resources => false,
|
||||
quantum => $quantum,
|
||||
quantum_user_password => $quantum_user_password,
|
||||
quantum_db_password => $quantum_db_password,
|
||||
quantum_db_user => $quantum_db_user,
|
||||
quantum_db_dbname => $quantum_db_dbname,
|
||||
tenant_network_type => $tenant_network_type,
|
||||
cinder => $cinder,
|
||||
manage_volumes => $manage_volumes,
|
||||
nv_physical_volume => $nv_physical_volume,
|
||||
}
|
||||
class { 'openstack::auth_file':
|
||||
admin_password => $admin_password,
|
||||
keystone_admin_token => $keystone_admin_token,
|
||||
controller_node => $controller_node_internal,
|
||||
}
|
||||
Class[osnailyfacter::network_setup] -> Class[openstack::controller]
|
||||
Class[osnailyfacter::network_setup] -> Class[openstack::auth_file]
|
||||
}
|
||||
|
||||
"compute" : {
|
||||
include osnailyfacter::test_compute
|
||||
|
||||
class { 'openstack::compute':
|
||||
public_interface => $public_interface,
|
||||
private_interface => $private_interface,
|
||||
internal_address => getvar("::ipaddress_${internal_interface}"),
|
||||
libvirt_type => 'kvm',
|
||||
fixed_range => $fixed_network_range,
|
||||
network_manager => 'nova.network.manager.FlatDHCPManager',
|
||||
multi_host => true,
|
||||
sql_connection => $sql_connection,
|
||||
nova_user_password => $nova_user_password,
|
||||
rabbit_nodes => [$controller_node_internal],
|
||||
rabbit_password => $rabbit_password,
|
||||
rabbit_user => $rabbit_user,
|
||||
glance_api_servers => "${controller_node_internal}:9292",
|
||||
vncproxy_host => $controller_node_public,
|
||||
vnc_enabled => true,
|
||||
#ssh_private_key => 'puppet:///ssh_keys/openstack',
|
||||
#ssh_public_key => 'puppet:///ssh_keys/openstack.pub',
|
||||
quantum => $quantum,
|
||||
quantum_host => $quantum_host,
|
||||
quantum_sql_connection => $quantum_sql_connection,
|
||||
quantum_user_password => $quantum_user_password,
|
||||
tenant_network_type => $tenant_network_type,
|
||||
service_endpoint => $controller_node_internal,
|
||||
verbose => $verbose,
|
||||
}
|
||||
Class[osnailyfacter::network_setup] -> Class[openstack::compute]
|
||||
}
|
||||
}
|
||||
}
|
@ -1,120 +1,8 @@
|
||||
class osnailyfacter {
|
||||
|
||||
# credentials
|
||||
$admin_email = 'root@localhost'
|
||||
$admin_password = 'keystone_admin'
|
||||
$keystone_db_password = 'keystone_db_pass'
|
||||
$keystone_admin_token = 'keystone_admin_token'
|
||||
$nova_db_password = 'nova_pass'
|
||||
$nova_user_password = 'nova_pass'
|
||||
$glance_db_password = 'glance_pass'
|
||||
$glance_user_password = 'glance_pass'
|
||||
$rabbit_password = 'openstack_rabbit_password'
|
||||
$rabbit_user = 'openstack_rabbit_user'
|
||||
# switch this to true to have all service log at verbose
|
||||
$verbose = true
|
||||
# by default it does not enable atomatically adding floating IPs
|
||||
$auto_assign_floating_ip = false
|
||||
|
||||
$manage_volumes = false # true
|
||||
#$nv_physical_volume = ['/dev/sdz', '/dev/sdy', '/dev/sdx']
|
||||
$cinder = false # true
|
||||
|
||||
$quantum = false # true
|
||||
$quantum_user_password = 'quantum_pass'
|
||||
$quantum_db_password = 'quantum_pass'
|
||||
$quantum_db_user = 'quantum'
|
||||
$quantum_db_dbname = 'quantum'
|
||||
|
||||
$mirror_type="external"
|
||||
#stage { 'openstack-custom-repo': before => Stage['main'] }
|
||||
#class { 'openstack::mirantis_repos': stage => 'openstack-custom-repo', type => $mirror_type }
|
||||
|
||||
$controller_node_internal = $controller_node_address
|
||||
|
||||
$quantum_host = $controller_node_address
|
||||
|
||||
$quantum_sql_connection = "mysql://${quantum_db_user}:${quantum_db_password}@${quantum_host}/${quantum_db_dbname}"
|
||||
$sql_connection = "mysql://nova:${nova_db_password}@${controller_node_internal}/nova"
|
||||
|
||||
case $role {
|
||||
"controller" : {
|
||||
include osnailyfacter::test_controller
|
||||
|
||||
class { 'openstack::controller':
|
||||
admin_address => $controller_node_internal,
|
||||
public_address => $controller_node_public,
|
||||
public_interface => $public_interface,
|
||||
private_interface => $private_interface,
|
||||
internal_address => $controller_node_internal,
|
||||
floating_range => $floating_network_range,
|
||||
fixed_range => $fixed_network_range,
|
||||
# by default it does not enable multi-host mode
|
||||
multi_host => true,
|
||||
# by default is assumes flat dhcp networking mode
|
||||
network_manager => 'nova.network.manager.FlatDHCPManager',
|
||||
verbose => $verbose,
|
||||
auto_assign_floating_ip => $auto_assign_floating_ip,
|
||||
mysql_root_password => $mysql_root_password,
|
||||
admin_email => $admin_email,
|
||||
admin_password => $admin_password,
|
||||
keystone_db_password => $keystone_db_password,
|
||||
keystone_admin_token => $keystone_admin_token,
|
||||
glance_db_password => $glance_db_password,
|
||||
glance_user_password => $glance_user_password,
|
||||
nova_db_password => $nova_db_password,
|
||||
nova_user_password => $nova_user_password,
|
||||
rabbit_password => $rabbit_password,
|
||||
rabbit_user => $rabbit_user,
|
||||
export_resources => false,
|
||||
quantum => $quantum,
|
||||
quantum_user_password => $quantum_user_password,
|
||||
quantum_db_password => $quantum_db_password,
|
||||
quantum_db_user => $quantum_db_user,
|
||||
quantum_db_dbname => $quantum_db_dbname,
|
||||
cinder => $cinder,
|
||||
manage_volumes => $manage_volumes,
|
||||
nv_physical_volume => $nv_physical_volume,
|
||||
}
|
||||
class { 'openstack::auth_file':
|
||||
admin_password => $admin_password,
|
||||
keystone_admin_token => $keystone_admin_token,
|
||||
controller_node => $controller_node_internal,
|
||||
}
|
||||
Class[osnailyfacter::network_setup] -> Class[openstack::controller]
|
||||
Class[osnailyfacter::network_setup] -> Class[openstack::auth_file]
|
||||
}
|
||||
|
||||
"compute" : {
|
||||
include osnailyfacter::test_compute
|
||||
|
||||
class { 'openstack::compute':
|
||||
public_interface => $public_interface,
|
||||
private_interface => $private_interface,
|
||||
internal_address => $ipaddress_eth0,
|
||||
libvirt_type => 'kvm',
|
||||
fixed_range => $fixed_network_range,
|
||||
network_manager => 'nova.network.manager.FlatDHCPManager',
|
||||
multi_host => true,
|
||||
sql_connection => $sql_connection,
|
||||
nova_user_password => $nova_user_password,
|
||||
rabbit_nodes => [$controller_node_internal],
|
||||
rabbit_password => $rabbit_password,
|
||||
rabbit_user => $rabbit_user,
|
||||
glance_api_servers => "${controller_node_internal}:9292",
|
||||
vncproxy_host => $controller_node_public,
|
||||
vnc_enabled => true,
|
||||
#ssh_private_key => 'puppet:///ssh_keys/openstack',
|
||||
#ssh_public_key => 'puppet:///ssh_keys/openstack.pub',
|
||||
quantum => $quantum,
|
||||
quantum_host => $quantum_host,
|
||||
quantum_sql_connection => $quantum_sql_connection,
|
||||
quantum_user_password => $quantum_user_password,
|
||||
service_endpoint => $controller_node_internal,
|
||||
verbose => $verbose,
|
||||
}
|
||||
Class[osnailyfacter::network_setup] -> Class[openstack::compute]
|
||||
}
|
||||
$cluster_mode = "simple"
|
||||
case $cluster_mode {
|
||||
"simple": { include osnailyfacter::cluster_simple }
|
||||
"ha": { include osnailyfacter::cluster_ha }
|
||||
}
|
||||
|
||||
include osnailyfacter::network_setup
|
||||
|
@ -39,8 +39,7 @@
|
||||
dbadapter = mysql
|
||||
dbname = <%= puppet_stored_dbname %>
|
||||
dbuser = <%= puppet_stored_dbuser %>
|
||||
dbpassword = <%= puppet_stored_dbpassword %>
|
||||
dbpassword = <%= puppet_stored_dbpassword %>
|
||||
dbserver = localhost
|
||||
dbsocket = <%= puppet_stored_dbsocket %>
|
||||
configtimeout = 1200
|
||||
|
@ -68,3 +68,17 @@ vim-enhanced
|
||||
wget
|
||||
xinetd
|
||||
yum
|
||||
openstack-cinder
|
||||
openstack-swift
|
||||
haproxy
|
||||
socat
|
||||
keepalived
|
||||
openssl098e
|
||||
xfsprogs
|
||||
openstack-swift-account
|
||||
openstack-swift-container
|
||||
openstack-swift-object
|
||||
postgresql-server
|
||||
puppetdb
|
||||
puppetdb-terminus
|
||||
openstack-swift-proxy
|
||||
|
@ -63,25 +63,16 @@ class Ci(object):
|
||||
node.boot = ['disk', 'cdrom']
|
||||
environment.nodes.append(node)
|
||||
|
||||
node2 = Node('slave1')
|
||||
node2.memory = 1024
|
||||
node2.vnc = True
|
||||
node2.disks.append(
|
||||
Disk(size=30 * 1024 ** 3)
|
||||
)
|
||||
node2.interfaces.append(Interface(network))
|
||||
node2.boot = ['network']
|
||||
environment.nodes.append(node2)
|
||||
|
||||
node3 = Node('slave2')
|
||||
node3.memory = 1024
|
||||
node3.vnc = True
|
||||
node3.disks.append(
|
||||
Disk(size=30 * 1024 ** 3)
|
||||
)
|
||||
node3.interfaces.append(Interface(network))
|
||||
node3.boot = ['network']
|
||||
environment.nodes.append(node3)
|
||||
for n in range(5):
|
||||
nodex = Node('slave%d' % (n + 1))
|
||||
nodex.memory = 1024
|
||||
nodex.vnc = True
|
||||
nodex.disks.append(
|
||||
Disk(size=30 * 1024 ** 3)
|
||||
)
|
||||
nodex.interfaces.append(Interface(network))
|
||||
nodex.boot = ['network']
|
||||
environment.nodes.append(nodex)
|
||||
|
||||
devops.build(environment)
|
||||
self.environment = environment
|
||||
|
@ -20,11 +20,11 @@ $/%: /:=$/
|
||||
|
||||
test: test-integration
|
||||
|
||||
.PHONY: test-integration
|
||||
test-integration: $/environment-id-integration
|
||||
.PHONY: test-integration test-integration-env
|
||||
test-integration: test-integration-env
|
||||
python test/integration_test.py -l $(LEVEL) --installation-timeout=$(INSTALLATION_TIMEOUT) --deployment-timeout=$(DEPLOYMENT_TIMEOUT) --iso $(abspath $(iso.path)) test $(NOSEARGS)
|
||||
|
||||
$/environment-id-integration: | $(iso.path)
|
||||
test-integration-env: | $(iso.path)
|
||||
@mkdir -p $(@D)
|
||||
python test/integration_test.py -l $(LEVEL) destroy
|
||||
python test/integration_test.py -l $(LEVEL) $(NOFORWARD_CLI_ARG) --iso $(abspath $(iso.path)) setup
|
||||
|
Loading…
Reference in New Issue
Block a user