diff --git a/manifests/all.pp b/manifests/all.pp index 4bd12fb..3d33f6f 100644 --- a/manifests/all.pp +++ b/manifests/all.pp @@ -5,8 +5,35 @@ # # === Parameters # -# See params.pp -# +# [public_address] Public address used by vnchost. Required. +# [public_interface] The interface used to route public traffic by the +# network service. +# [private_interface] The private interface used to bridge the VMs into a common network. +# [floating_range] The floating ip range to be created. If it is false, then no floating ip range is created. +# Optional. Defaults to false. +# [fixed_range] The fixed private ip range to be created for the private VM network. Optional. Defaults to '10.0.0.0/24'. +# [network_manager] The network manager to use for the nova network service. +# Optional. Defaults to 'nova.network.manager.FlatDHCPManager'. +# [auto_assign_floating_ip] Rather configured to automatically allocate and +# assign a floating IP address to virtual instances when they are launched. +# Defaults to false. +# [network_config] Used to specify network manager specific parameters .Optional. Defualts to {}. +# [mysql_root_password] The root password to set for the mysql database. Optional. Defaults to sql_pass'. +# [rabbit_password] The password to use for the rabbitmq user. Optional. Defaults to rabbit_pw' +# [rabbit_user] The rabbitmq user to use for auth. Optional. Defaults to nova'. +# [admin_email] The admin's email address. Optional. Defaults to someuser@some_fake_email_address.foo'. +# [admin_password] The default password of the keystone admin. Optional. Defaults to ChangeMe'. +# [keystone_db_password] The default password for the keystone db user. Optional. Defaults to keystone_pass'. +# [keystone_admin_token] The default auth token for keystone. Optional. Defaults to keystone_admin_token'. +# [nova_db_password] The nova db password. Optional. Defaults to nova_pass'. +# [nova_user_password] The password of the keystone user for the nova service. Optional. Defaults to nova_pass'. +# [glance_db_password] The password for the db user for glance. Optional. Defaults to 'glance_pass'. +# [glance_user_password] The password of the glance service user. Optional. Defaults to 'glance_pass'. +# [secret_key] The secret key for horizon. Optional. Defaults to 'dummy_secret_key'. +# [verbose] If the services should log verbosely. Optional. Defaults to false. +# [purge_nova_config] Whether unmanaged nova.conf entries should be purged. Optional. Defaults to true. +# [libvirt_type] The virualization type being controlled by libvirt. Optional. Defaults to 'kvm'. +# [nova_volume] The name of the volume group to use for nova volume allocation. Optional. Defaults to 'nova-volumes'. # === Examples # # class { 'openstack::all': diff --git a/manifests/compute.pp b/manifests/compute.pp index 83b3bf7..dc289a9 100644 --- a/manifests/compute.pp +++ b/manifests/compute.pp @@ -7,9 +7,6 @@ # - flatdhcp networking is used # - glance is used as the backend for the image service # -# TODO - I need to make the choise of networking configurable -# -# # [private_interface] Interface used for vm networking connectivity. Required. # [internal_address] Internal address used for management. Required. # [public_interface] Public interface used to route public traffic. Optional. diff --git a/manifests/controller.pp b/manifests/controller.pp index 6d42f06..3d35ac6 100644 --- a/manifests/controller.pp +++ b/manifests/controller.pp @@ -3,7 +3,47 @@ # # === Parameters # -# See params.pp +# [public_interface] Public interface used to route public traffic. Required. +# [public_address] Public address for public endpoints. Required. +# [private_interface] Interface used for vm networking connectivity. Required. +# [internal_address] Internal address used for management. Required. +# [mysql_root_password] Root password for mysql server. +# [admin_email] Admin email. +# [admin_password] Admin password. +# [keystone_db_password] Keystone database password. +# [keystone_admin_token] Admin token for keystone. +# [glance_db_password] Glance DB password. +# [glance_user_password] Glance service user password. +# [nova_db_password] Nova DB password. +# [nova_user_password] Nova service password. +# [rabbit_password] Rabbit password. +# [rabbit_user] Rabbit User. +# [network_manager] Nova network manager to use. +# [fixed_range] Range of ipv4 network for vms. +# [floating_range] Floating ip range to create. +# [create_networks] Rather network and floating ips should be created. +# [num_networks] Number of networks that fixed range should be split into. +# [multi_host] Rather node should support multi-host networking mode for HA. +# Optional. Defaults to false. +# [auto_assign_floating_ip] Rather configured to automatically allocate and +# assign a floating IP address to virtual instances when they are launched. +# Defaults to false. +# [network_config] Hash that can be used to pass implementation specifc +# network settings. Optioal. Defaults to {} +# [verbose] Rahter to log services at verbose. +# [export_resources] Rather to export resources. +# Horizon related config - assumes puppetlabs-horizon code +# [secret_key] secret key to encode cookies, … +# [cache_server_ip] local memcached instance ip +# [cache_server_port] local memcached instance port +# [swift] (bool) is swift installed +# [quantum] (bool) is quantum installed +# The next is an array of arrays, that can be used to add call-out links to the dashboard for other apps. +# There is no specific requirement for these apps to be for monitoring, that's just the defacto purpose. +# Each app is defined in two parts, the display name, and the URI +# [horizon_app_links] array as in '[ ["Nagios","http://nagios_addr:port/path"],["Ganglia","http://ganglia_addr"] ]' +# [enabled] Whether services should be enabled. This parameter can be used to +# implement services in active-passive modes for HA. Optional. Defaults to true. # # === Examples # diff --git a/manifests/db/mysql.pp b/manifests/db/mysql.pp index 368b968..c8cf142 100644 --- a/manifests/db/mysql.pp +++ b/manifests/db/mysql.pp @@ -6,7 +6,20 @@ # # === Parameters # -# See params.pp +# [mysql_root_password] Root password for mysql. Required. +# [keystone_db_password] Password for keystone database. Required. +# [glance_db_password] Password for glance database. Required. +# [nova_db_password] Password for nova database. Required. +# [mysql_bind_address] Address that mysql will bind to. Optional .Defaults to '0.0.0.0'. +# [mysql_account_security] If a secure mysql db should be setup. Optional .Defaults to true. +# [keystone_db_user] DB user for keystone. Optional. Defaults to 'keystone'. +# [keystone_db_dbname] DB name for keystone. Optional. Defaults to 'keystone'. +# [glance_db_user] DB user for glance. Optional. Defaults to 'glance'. +# [glance_db_dbname]. Name of glance DB. Optional. Defaults to 'glance'. +# [nova_db_user]. Name of nova DB user. Optional. Defaults to 'nova'. +# [nova_db_dbname]. Name of nova DB. Optional. Defaults to 'nova'. +# [allowed_hosts] List of hosts that are allowed access. Optional. Defaults to false. +# [enabled] If the db service should be started. Optional. Defaults to true. # # === Example # diff --git a/manifests/glance.pp b/manifests/glance.pp index ad4a60f..f08e4a6 100644 --- a/manifests/glance.pp +++ b/manifests/glance.pp @@ -10,7 +10,17 @@ # # === Parameters # -# See params.pp +# [db_host] Host where DB resides. Required. +# [glance_user_password] Password for glance auth user. Required. +# [glance_db_password] Password for glance DB. Required. +# [keystone_host] Host whre keystone is running. Optional. Defaults to '127.0.0.1' +# [auth_uri] URI used for auth. Optional. Defaults to "http://${keystone_host}:5000/" +# [db_type] Type of sql databse to use. Optional. Defaults to 'mysql' +# [glance_db_user] Name of glance DB user. Optional. Defaults to 'glance' +# [glance_db_dbname] Name of glance DB. Optional. Defaults to 'glance' +# [verbose] Log verbosely. Optional. Defaults to 'False' +# [enabled] Used to indicate if the service should be active (true) or passive (false). +# Optional. Defaults to true # # === Example # diff --git a/manifests/horizon.pp b/manifests/horizon.pp index 6118d7e..fffb063 100644 --- a/manifests/horizon.pp +++ b/manifests/horizon.pp @@ -4,7 +4,7 @@ # Class to install / configure horizon. # Will eventually include apache and ssl. # -# NOTE: Will the inclusion of memcache be an issue? +# NOTE: Will the inclusion of memcache be an issue? # Such as if the server already has memcache installed? # -jtopjian # diff --git a/manifests/keystone.pp b/manifests/keystone.pp index 29a502c..7720f60 100644 --- a/manifests/keystone.pp +++ b/manifests/keystone.pp @@ -4,8 +4,27 @@ # Installs and configures Keystone # # === Parameters -# -# See params.pp +# +# [db_host] Host where DB resides. Required. +# [keystone_db_password] Password for keystone DB. Required. +# [keystone_admin_token]. Auth token for keystone admin. Required. +# [admin_email] Email address of system admin. Required. +# [admin_password] +# [glance_user_password] Auth password for glance user. Required. +# [nova_user_password] Auth password for nova user. Required. +# [public_address] Public address where keystone can be accessed. Required. +# [db_type] Type of DB used. Currently only supports mysql. Optional. Defaults to 'mysql' +# [keystone_db_user] Name of keystone db user. Optional. Defaults to 'keystone' +# [keystone_db_dbname] Name of keystone DB. Optional. Defaults to 'keystone' +# [keystone_admin_tenant] Name of keystone admin tenant. Optional. Defaults to 'admin' +# [verbose] Log verbosely. Optional. Defaults to 'False' +# [bind_host] Address that keystone binds to. Optional. Defaults to '0.0.0.0' +# [internal_address] Internal address for keystone. Optional. Defaults to $public_address +# [admin_address] Keystone admin address. Optional. Defaults to $internal_address +# [glance] Set up glance endpoints and auth. Optional. Defaults to true +# [nova] Set up nova endpoints and auth. Optional. Defaults to true +# [enabled] If the service is active (true) or passive (false). +# Optional. Defaults to true # # === Example # diff --git a/manifests/test_file.pp b/manifests/test_file.pp index b39a1a4..2a081c4 100644 --- a/manifests/test_file.pp +++ b/manifests/test_file.pp @@ -2,8 +2,7 @@ # Class that can be used to create a test script for testing an # installed openstack environment. # -# -# +# == Parameters # # [path] Path of test file to be created. Optional. Defaults to /tmp/test_nova.sh # [rc_file_path] Path of openrc file that sets up all authentication environment @@ -13,6 +12,7 @@ # [sleep_time] Used to tune how long to sleep for. Optional. Defaults to 60. # [floating_ip] Rather to test flating ip address allocation. Optional. # Defaults to true. +# class openstack::test_file( $path = '/tmp/test_nova.sh', $rc_file_path = '/root/openrc',