Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
e9c946b
-Updated init to call repo
trozet Jan 21, 2015
fdbbb84
forgot to include init.pp
trozet Jan 21, 2015
c046cea
Added support for controller_networker consolidation and opendaylight.
trozet Feb 5, 2015
9827095
Added minor check to see if osfamily is redhat before trying to yum i…
trozet Feb 11, 2015
a326274
Fix for disabling selinux as well as minor change to staging.
trozet Feb 23, 2015
b69d627
Fixes issue with trying to provision a host inside of a firewall by c…
trozet Feb 23, 2015
63502fb
Adds tempest puppet module for a tempest host.
trozet Mar 9, 2015
f4d0cf0
Fixes duplicate this_agent and ml2_mechanism_drivers params.
trozet Mar 16, 2015
5b9af18
Added ceph repos to repolist
trozet Mar 30, 2015
526a429
Adds HA support for control node
trozet Mar 30, 2015
9c9ac7d
Adds HA and Ceph support for compute
trozet Mar 31, 2015
016fdfd
Removes opendaylight install and adds fixes
trozet Mar 31, 2015
2e78e55
Installs opendaylight via opendaylight puppet module
trozet Mar 31, 2015
c73bbf4
Changes keystone, sql, neutron_metadata to default to single_password
trozet Mar 31, 2015
d32a2a3
Fixes ha_flag to check to see if it is true instead of just exists
trozet Mar 31, 2015
1552f3f
Changes admin_password to default to single_password instead of being a
trozet Mar 31, 2015
111c02a
Fixes admin_password to be a default and checks for controller array to
trozet Mar 31, 2015
a6fde2d
Fixes various ordering issues and array usage problems
trozet Mar 31, 2015
58b3c90
Fixes array parsing issue with global parameter
trozet Apr 1, 2015
5899a53
Syntax change to make if statment more clear
trozet Apr 1, 2015
a05a34c
Fixes incorrect amqp variable usage
trozet Apr 1, 2015
1872037
Adds ceph_deploy class for deploying ceph mon+osd
trozet Apr 6, 2015
a347280
Adds ceph
trozet Apr 6, 2015
20343fd
Fixed variable references in parameters
trozet Apr 8, 2015
a0ebcf7
Fixes permissions so that OpenStack can contact the cluster + adds pool
trozet Apr 8, 2015
9a9c62d
Fixes osd_journal variable bug
trozet Apr 8, 2015
5941417
Ceph is actually included in EPEL for CentOS 7 and these repos are
trozet Apr 8, 2015
58a4aee
Adds python-rados which now replaces python ceph + includes NTP
trozet Apr 8, 2015
6e5d2f9
Changes HA to not use interface parameters
trozet Apr 16, 2015
16a02f9
Fixes missing glance_user_password
trozet Apr 29, 2015
271285d
Adds Heat to the HA deployment
trozet May 1, 2015
5c107c5
Adds external network setup functionality
trozet May 1, 2015
ec954a7
Adds working external network support
trozet May 20, 2015
40e3d4f
Moves external network presetup from init to controller_networker
trozet May 20, 2015
b67fcba
Compute nodes networking is stopping. I think this is because
trozet May 21, 2015
06fa22c
Fixes syntax error
trozet May 21, 2015
b2b6064
Modifies default values for quota with neutron
trozet May 22, 2015
f3067fe
Fixes missing neutron_metadata_proxy_secret variable
trozet Jun 2, 2015
05278b8
Adds provider router needed for rally tests to run correctly.
trozet Jun 2, 2015
edd8c48
Fixes external router "provider_router" so that it's external interface
trozet Jun 5, 2015
d36cf99
Simplifies the non-HA deployment for parameters
trozet Jun 9, 2015
a33ca8a
Simplifies parameters for compute.pp
trozet Jun 9, 2015
6a5d471
Fixes check for ha_flag being true as a boolean
trozet Jun 9, 2015
9cdc1ce
Fixes non-ha odl_control_ip var on compute, and adds keystonerc to no…
trozet Jun 11, 2015
3f7a754
Fixes variables to point to controller (controller_ip)
trozet Jun 12, 2015
b4bccac
Fixes nova_host to point to public ip of nova (for vncproxy access)
trozet Jun 17, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Added support for controller_networker consolidation and opendaylight.
  Addition of controller_networker.pp allows user in foreman to launch controller_networker node consolidated.
  Modifications to all files include support for using opendaylight as an ML2 driver.
  Opendaylight is installed on network or controller_networker node.
  ML2 is configured to point to opendaylight on control or controller_networker node.

  New global parameters for foreman:
    odl_flag        = 'true' (optional, set to opendaylight to use opendaylight)
    odl_rest_port   = '8081' (optional, defaults to 8081 if not provided.  Must not be 8080 if using controller_networker.pp)
    odl_control_ip  = '10.4.9.2' (optional for controller_networker.pp, must be provided otherwise.  Private ip of ODL interface)
  • Loading branch information
trozet committed Feb 5, 2015
commit c046cea0f5108d892c4fef5043d69ae85a5c8a4c
18 changes: 16 additions & 2 deletions manifests/compute.pp
Original file line number Diff line number Diff line change
@@ -1,6 +1,17 @@
class trystack::compute {
if ($odl_flag != '') and str2bool($odl_flag) {
$ml2_mech_drivers = ['opendaylight']
$this_agent = 'opendaylight'
}
else {
$ml2_mech_drivers = ['openvswitch','l2population']
$this_agent = 'ovs'
}

if $ovs_tunnel_if == '' { fail('ovs_tunnel_if is empty') }
if $private_ip == '' { fail('private_ip is empty') }
if $odl_control_ip == '' { $odl_control_ip = $private_ip }

if $mysql_ip == '' { fail('mysql_ip is empty') }
if $amqp_ip == '' { fail('mysql_ip is empty') }

Expand Down Expand Up @@ -49,17 +60,20 @@

cinder_backend_gluster => $quickstack::params::cinder_backend_gluster,

agent_type => 'ovs',
agent_type => $this_agent,
enable_tunneling => true,

ml2_mechanism_drivers => $ml2_mech_drivers,
odl_controller_ip => $odl_control_ip,

neutron_db_password => $neutron_db_password,
neutron_user_password => $neutron_user_password,
neutron_host => $private_ip,

#ovs_bridge_mappings = $quickstack::params::ovs_bridge_mappings,
#ovs_bridge_uplinks = $quickstack::params::ovs_bridge_uplinks,
#ovs_vlan_ranges = $quickstack::params::ovs_vlan_ranges,
ovs_tunnel_iface => 'em1',
ovs_tunnel_iface => $ovs_tunnel_if,
ovs_tunnel_network => '',
ovs_l2_population => 'True',

Expand Down
15 changes: 15 additions & 0 deletions manifests/controller.pp
Original file line number Diff line number Diff line change
@@ -1,11 +1,23 @@
class trystack::controller {
###use 8081 as a default work around swift service
if $odl_rest_port == '' {$odl_rest_port = '8081'}

if ($odl_flag != '') and str2bool($odl_flag) {
$ml2_mech_drivers = ['opendaylight']
}
else {
$ml2_mech_drivers = ['openvswitch','l2population']
}


if $admin_email == '' { fail('admin_email is empty') }
if $admin_password == '' { fail('admin_password is empty') }

if $public_ip == '' { fail('public_ip is empty') }
if $private_ip == '' { fail('private_ip is empty') }

if $odl_control_ip == '' { fail('odl_controL_ip is empty, should be the IP of your network node private interface') }

if $mysql_ip == '' { fail('mysql_ip is empty') }
if $mysql_root_password == '' { fail('mysql_root_password is empty') }
if $amqp_ip == '' { fail('amqp_ip is empty') }
Expand Down Expand Up @@ -87,13 +99,16 @@
horizon_cert => $quickstack::params::horizon_cert,
horizon_key => $quickstack::params::horizon_key,

ml2_mechanism_drivers => $ml2_mech_drivers,
#neutron => true,
neutron_metadata_proxy_secret => $neutron_metadata_shared_secret,
neutron_db_password => $neutron_db_password,
neutron_user_password => $neutron_user_password,

nova_db_password => $nova_db_password,
nova_user_password => $nova_user_password,
odl_controller_ip => $odl_control_ip,
odl_controller_port => $odl_rest_port,

swift_shared_secret => $swift_shared_secret,
swift_admin_password => $swift_admin_password,
Expand Down
135 changes: 135 additions & 0 deletions manifests/controller_networker.pp
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
class trystack::controller_networker {
###use 8081 as a default work around swift service
if $odl_rest_port == '' {$odl_rest_port = '8081'}

if ($odl_flag != '') and str2bool($odl_flag) {
$ml2_mech_drivers = ['opendaylight']
$this_agent = 'opendaylight'
class {"opendaylight":
odl_rest_port => $odl_rest_port,
extra_features => ['odl-base-all', 'odl-aaa-authn', 'odl-restconf', 'odl-nsf-all', 'odl-adsal-northbound', 'odl-mdsal-apidocs', 'odl-ovsdb-openstack', 'odl-ovsdb-northbound', 'odl-dlux-core'],
}
}
else {
$ml2_mech_drivers = ['openvswitch','l2population']
$this_agent = 'ovs'
}
if $ovs_tunnel_if == '' { fail('ovs_tunnel_if is empty') }
if $admin_email == '' { fail('admin_email is empty') }
if $admin_password == '' { fail('admin_password is empty') }

if $public_ip == '' { fail('public_ip is empty') }
if $private_ip == '' { fail('private_ip is empty') }

if $odl_control_ip == '' { $odl_control_ip = $private_ip }

if $mysql_ip == '' { fail('mysql_ip is empty') }
if $mysql_root_password == '' { fail('mysql_root_password is empty') }
if $amqp_ip == '' { fail('amqp_ip is empty') }

if $memcache_ip == '' { fail('memcache_ip is empty') }
if $neutron_ip == '' { fail('neutron_ip is empty') }

if $keystone_admin_token == '' { fail('keystone_admin_token is empty') }
if $keystone_db_password == '' { fail('keystone_db_password is empty') }

if $horizon_secret_key == '' { fail('horizon_secret_key is empty') }
#if $trystack_db_password == '' { fail('trystack_db_password is empty') }

if $nova_user_password == '' { fail('nova_user_password is empty') }
if $nova_db_password == '' { fail('nova_db_password is empty') }

if $cinder_user_password == '' { fail('cinder_user_password is empty') }
if $cinder_db_password == '' { fail('cinder_db_password is empty') }

if $glance_user_password == '' { fail('glance_user_password is empty') }
if $glance_db_password == '' { fail('glance_db_password is empty') }

if $neutron_user_password == '' { fail('neutron_user_password is empty') }
if $neutron_db_password == '' { fail('neutron_db_password is empty') }
if $neutron_metadata_shared_secret == '' { fail('neutron_metadata_shared_secret is empty') }

if $ceilometer_user_password == '' { fail('ceilometer_user_password is empty') }
if $ceilometer_metering_secret == '' { fail('ceilometer_user_password is empty') }

if $heat_user_password == '' { fail('heat_user_password is empty') }
if $heat_db_password == '' { fail('heat_db_password is empty') }
if $heat_auth_encrypt_key == '' { fail('heat_auth_encrypt_key is empty') }

if $swift_user_password == '' { fail('swift_user_password is empty') }
if $swift_shared_secret == '' { fail('swift_shared_secret is empty') }
if $swift_admin_password == '' { fail('swift_admin_password is empty') }

class { "quickstack::neutron::controller_networker":
admin_email => $admin_email,
admin_password => $admin_password,
agent_type => $this_agent,
enable_tunneling => true,
ovs_tunnel_iface => $ovs_tunnel_if,
ovs_tunnel_network => '',
ovs_tunnel_types => ['vxlan'],
ovs_l2_population => 'True',
external_network_bridge => 'br-ex',
tenant_network_type => 'vxlan',
tunnel_id_ranges => '1:1000',
controller_admin_host => $private_ip,
controller_priv_host => $private_ip,
controller_pub_host => $public_ip,
ssl => false,
#support_profile => $quickstack::params::support_profile,
#freeipa => $quickstack::params::freeipa,

mysql_host => $mysql_ip,
mysql_root_password => $mysql_root_password,
#amqp_provider => $amqp_provider,
amqp_host => $amqp_ip,
amqp_username => 'guest',
amqp_password => 'guest',
#amqp_nssdb_password => $quickstack::params::amqp_nssdb_password,

keystone_admin_token => $keystone_admin_token,
keystone_db_password => $keystone_db_password,

ceilometer_metering_secret => $ceilometer_metering_secret,
ceilometer_user_password => $ceilometer_user_password,

cinder_backend_gluster => $quickstack::params::cinder_backend_gluster,
cinder_backend_gluster_name => $quickstack::params::cinder_backend_gluster_name,
cinder_gluster_shares => $quickstack::params::cinder_gluster_shares,
cinder_user_password => $cinder_user_password,
cinder_db_password => $cinder_db_password,

glance_db_password => $glance_db_password,
glance_user_password => $glance_user_password,

heat_cfn => true,
heat_cloudwatch => true,
heat_db_password => $heat_db_password,
heat_user_password => $heat_user_password,
heat_auth_encrypt_key => $heat_auth_encrypt_key,

horizon_secret_key => $horizon_secret_key,
horizon_ca => $quickstack::params::horizon_ca,
horizon_cert => $quickstack::params::horizon_cert,
horizon_key => $quickstack::params::horizon_key,

ml2_mechanism_drivers => $ml2_mech_drivers,

#neutron => true,
neutron_metadata_proxy_secret => $neutron_metadata_shared_secret,
neutron_db_password => $neutron_db_password,
neutron_user_password => $neutron_user_password,

nova_db_password => $nova_db_password,
nova_user_password => $nova_user_password,

odl_controller_ip => $odl_control_ip,
odl_controller_port => $odl_rest_port,
swift_shared_secret => $swift_shared_secret,
swift_admin_password => $swift_admin_password,
swift_ringserver_ip => '192.168.203.1',
swift_storage_ips => ["192.168.203.2","192.168.203.3","192.168.203.4"],
swift_storage_device => 'device1',
}

}
28 changes: 27 additions & 1 deletion manifests/network.pp
Original file line number Diff line number Diff line change
@@ -1,6 +1,27 @@
class trystack::network {
###use 8081 as a default work around swift service
if $odl_rest_port == '' {$odl_rest_port = '8081'}

if ($odl_flag != '') and str2bool($odl_flag) {
$ml2_mech_drivers = ['opendaylight']
$this_agent = 'opendaylight'
class {"opendaylight":
odl_rest_port => $odl_rest_port,
extra_features => ['odl-base-all', 'odl-aaa-authn', 'odl-restconf', 'odl-nsf-all', 'odl-adsal-northbound', 'odl-mdsal-apidocs', 'odl-ovsdb-openstack', 'odl-ovsdb-northbound', 'odl-dlux-core'],
}
}
else {
$ml2_mech_drivers = ['openvswitch','l2population']
$this_agent = 'ovs'
}



if $ovs_tunnel_if == '' { fail('ovs_tunnel_if is empty') }
if $private_ip == '' { fail('private_ip is empty') }

if $odl_control_ip == '' { fail('odl_controL_ip is empty, should be the IP of your network node private interface') }

if $mysql_ip == '' { fail('mysql_ip is empty') }
if $amqp_ip == '' { fail('amqp_ip is empty') }

Expand All @@ -12,6 +33,8 @@
if $neutron_metadata_shared_secret == '' { fail('neutron_metadata_shared_secret is empty') }

class { "quickstack::neutron::networker":
agent_type => $this_agent,
ml2_mechanism_drivers => $ml2_mech_drivers,
neutron_metadata_proxy_secret => $neutron_metadata_shared_secret,
neutron_db_password => $neutron_db_password,
neutron_user_password => $neutron_user_password,
Expand All @@ -22,7 +45,7 @@

agent_type => 'ovs',
enable_tunneling => true,
ovs_tunnel_iface => 'em1',
ovs_tunnel_iface => $ovs_tunnel_if,
ovs_tunnel_network => '',
ovs_l2_population => 'True',
ovs_tunnel_types => ['vxlan'],
Expand All @@ -34,5 +57,8 @@
amqp_host => $amqp_ip,
amqp_username => 'guest',
amqp_password => 'guest',

ml2_mechanism_drivers => $ml2_mech_drivers,
odl_controller_ip => $odl_control_ip,
}
}