Make parameter doc RDoc compatible

This patch fixes all remaining parameter documentation
in the nova module to be compatible with puppet-doc
and documents all parameters in a standard way.

Change-Id: I451078d46cb2498dd8e3c23bd8cbcc81b8845fcd
This commit is contained in:
Michael Chapman
2013-12-16 15:49:44 +11:00
parent a78a9ebd3d
commit 6a358c0e9d
20 changed files with 427 additions and 87 deletions

View File

@@ -1,3 +1,21 @@
# == Class: nova::compute::libvirt
#
# Install and manage nova-compute guests managed
# by libvirt
#
# === Parameters:
#
# [*libvirt_type*]
# (optional) Libvirt domain type. Options are: kvm, lxc, qemu, uml, xen
# Defaults to 'kvm'
#
# [*vncserver_listen*]
# (optional) IP address on which instance vncservers should listen
# Defaults to '127.0.0.1'
#
# [*migration_support*]
# (optional) Whether to support virtual machine migration
# Defaults to false
#
class nova::compute::libvirt (
$libvirt_type = 'kvm',

View File

@@ -1,3 +1,14 @@
# == Class: nova::compute::neutron
#
# Manage the network driver to use for compute guests
# This will use virtio for VM guests and the
# specified driver for the VIF
#
# === Parameters:
#
# [*libvirt_vif_driver*]
# (optional) The vif driver to configure the VIFs
# Defaults to 'nova.virt.libvirt.vif.LibvirtOpenVswitchDriver'
#
class nova::compute::neutron (
$libvirt_vif_driver = 'nova.virt.libvirt.vif.LibvirtOpenVswitchDriver'

View File

@@ -6,7 +6,7 @@
#
# [*agent_enabled*]
# (optional) enable spice guest agent support
# true/false
# Defaults to true
#
# [*server_listen*]
# (optional) IP address on which instance spice servers should listen
@@ -15,11 +15,11 @@
# [*server_proxyclient_address*]
# (optional) Management IP Address on which instance spiceservers will
# listen on the compute host.
# Defaults to 127.0.0.1
# Defaults to '127.0.0.1'
#
# [*keymap*]
# (optional) keymap for spice
# Defaults to en-us
# Defaults to 'en-us'
#
# [*proxy_host*]
# (optional) Host for the html5 console proxy
@@ -27,15 +27,15 @@
#
# [*proxy_port*]
# (optional) Port for the html5 console proxy
# Defaults to 6082
# Defaults to '6082'
#
# [*proxy_protocol*]
# (optional) Protocol for the html5 console proxy
# Defaults to http
# Defaults to 'http'
#
# [*proxy_path*]
# (optional) Path of the spice html file for the html5 console proxy
# Defaults to /spice_auto.html
# Defaults to '/spice_auto.html'
#
class nova::compute::spice(
$agent_enabled = true,

View File

@@ -1,3 +1,21 @@
# == Class: nova::compute::xenserver
#
# Configures nova-compute to manage xen guests
#
# === Parameters:
#
# [*xenapi_connection_url*]
# (required) URL for connection to XenServer/Xen Cloud Platform.
#
# [*xenapi_connection_username*]
# (required) Username for connection to XenServer/Xen Cloud Platform
#
# [*xenapi_connection_password*]
# (required) Password for connection to XenServer/Xen Cloud Platform
#
# [*xenapi_inject_image*]
# (optional) This parameter was removed in Diablo and does nothing.
# Defaults to false
#
class nova::compute::xenserver(
$xenapi_connection_url,

View File

@@ -1,6 +1,36 @@
# == Class: nova::db::mysql
#
# Class that configures mysql for nova
#
# === Parameters:
#
# [*password*]
# Password to use for the nova user
#
# [*dbname*]
# (optional) The name of the database
# Defaults to 'nova'
#
# [*user*]
# (optional) The mysql user to create
# Defaults to 'nova'
#
# [*host*]
# (optional) The IP address of the mysql server
# Defaults to '127.0.0.1'
#
# [*charset*]
# (optional) The chaset to use for the nova database
# Defaults to 'latin1'
#
# [*allowed_hosts*]
# (optional) Additional hosts that are allowed to access this DB
# Defaults to undef
#
# [*cluster_id*]
# (optional) Deprecated. Does nothing
# Defaults to 'localzone'
#
class nova::db::mysql(
$password,
$dbname = 'nova',

View File

@@ -1,7 +1,21 @@
# == Class: nova::db::postgresql
#
# Class that configures postgresql for nova
#
# Requires the Puppetlabs postgresql module.
#
# === Parameters:
#
# [*password*]
# Password to use to connect to postgresql
#
# [*dbname*]
# (optional) Name of the database to create for nova
# Defaults to 'nova'
#
# [*user*]
# (optional) Name of the user to connect to postgresql
# Defaults to 'nova'
#
class nova::db::postgresql(
$password,
$dbname = 'nova',

View File

@@ -1,3 +1,63 @@
# == Class: nova::keystone::auth
#
# Creates nova endpoints and service account in keystone
#
# === Parameters:
#
# [*password*]
# Password to create for the service user
#
# [*auth_name*]
# (optional) The name of the nova service user
# Defaults to 'nova'
#
# [*public_address*]
# (optional) The public nova-api endpoint
# Defaults to '127.0.0.1'
#
# [*admin_address*]
# (optional) The admin nova-api endpoint
# Defaults to '127.0.0.1'
#
# [*internal_address*]
# (optional) The internal nova-api endpoint
# Defaults to '127.0.0.1'
#
# [*compute_port*]
# (optional) The port to use for the compute endpoint
# Defaults to '8774'
#
# [*ec2_port*]
# (optional) The port to use for the ec2 endpoint
# Defaults to '8773'
#
# [*compute_version*]
# (optional) The version of the compute api to put in the endpoint
# Defaults to 'v2'
#
# [*region*]
# (optional) The region in which to place the endpoints
# Defaults to 'RegionOne'
#
# [*tenant*]
# (optional) The tenant to use for the nova service user
# Defaults to 'services'
#
# [*email*]
# (optional) The email address for the nova service user
# Defaults to 'nova@localhost'
#
# [*configure_ec2_endpoint*]
# (optional) Whether to create an ec2 endpoint
# Defaults to true
#
# [*cinder*]
# (optional) Deprecated and has no effect
# Defaults to undef
#
# [*public_protocol*]
# (optional) Protocol to use for the public endpoint. Can be http or https.
# Defaults to 'http'
#
class nova::keystone::auth(
$password,

View File

@@ -23,41 +23,42 @@
#
# == Parameters
# [*cell_type*]
# Whether the cell is a 'parent' or 'child'
# Optional. Default to 'parent'
# (optional) Whether the cell is a 'parent' or 'child'
# Defaults to 'parent'
#
# [*cell_parent_name*]
# If a child cell, this is the name of the 'parent' cell.
# (optional) If a child cell, this is the name of the 'parent' cell.
# If a parent cell, should be left to undef.
# Defaults to undef
#
# [*rabbit_username*]
# Username for the message broker in this cell
# Optional. Default to 'guest'
# (optional) Username for the message broker in this cell
# Defaults to 'guest'
#
# [*rabbit_password*]
# Password for the message broker in this cell
# Optional. Default to 'guest'
# (optional) Password for the message broker in this cell
# Defaults to 'guest'
#
# [*rabbit_hosts*]
# Address of the message broker in this cell
# Optional. Default to 'localhost'
# (optional) Address of the message broker in this cell
# Defaults to 'localhost'
#
# [*rabbit_port*]
# Port number of the message broker in this cell
# Optional. Default to '5672'
# (optional) Port number of the message broker in this cell
# Defaults to '5672'
#
# [*rabbit_virtual_host*]
# The virtual host of the message broker in this cell
# Optional. Default to '/'
# (optional) The virtual host of the message broker in this cell
# Defaults to '/'
#
# [*weight_offset*]
# It might be used by some cell scheduling code in the future
# Optional. Default to '1.0'
# (optional) It might be used by some cell scheduling code in the future
# Defaults to '1.0'
#
# [*weight_scale*]
# It might be used by some cell scheduling code in the future
# Optional. Default to '1.0'
# (optional) It might be used by some cell scheduling code in the future
# Defaults to '1.0'
#
define nova::manage::cells (
$cell_type = 'parent',
$cell_parent_name = undef,

View File

@@ -1,4 +1,4 @@
#
# Creates floating networks
define nova::manage::floating ( $network ) {
File['/etc/nova/nova.conf'] -> Nova_floating[$name]

View File

@@ -1,9 +1,23 @@
# === Parameters:
#
# ==Parameters
# [network] ipv4 CIDR of network to create. Required.
# [num_networks] Number of networks to split $network into. Optional
# Defaults to 1.
# [project] Project that network should be associated with.
# [*network*]
# (required) IPv4 CIDR of network to create.
#
# [*num_networks*]
# (optional) Number of networks to split $network into.
# Defaults to 1
#
# [*network_size*]
# (optional) Size of the network to create
# Defaults to 255
#
# [*vlan_start*]
# (optional) The vlan number to use if in vlan mode
# Defaults to undef
#
# [*project*]
# (optional) Project that network should be associated with
# Defaults to undef
#
define nova::manage::network (
$network,

View File

@@ -1,3 +1,6 @@
# == Class: nova::migration::libvirt
#
# Sets libvirt config that is required for migration
#
class nova::migration::libvirt {

View File

@@ -1,7 +1,24 @@
# == Class: nova::network::flat
#
# Configuration settings for nova flat network
# ==Parameters
# [flat_interface] Interface that flat network will use for bridging.
# [flat_network_bridge] Name of bridge.
#
# === Parameters:
#
# [*fixed_range*]
# (required) The IPv4 CIDR for the network
#
# [flat_interface]
# (optional) Interface that flat network will use for bridging
# Defaults to undef
#
# [*public_interface*]
# (optional) The interface to use for public traffic
# Defaults to undef
#
# [flat_network_bridge]
# (optional) The name of the bridge to use
# Defaults to 'br100'
#
class nova::network::flat (
$fixed_range,
$flat_interface=undef,

View File

@@ -1,3 +1,43 @@
# == Class: nova::network::flatdhcp
#
# Configures nova-network with flat dhcp option
#
# === Parameters:
#
# [*fixed_range*]
# (required) The IPv4 CIDR for the flat network
#
# [*flat_interface*]
# (optional) FlatDHCP will bridge into this interface
# Defaults to undef
#
# [*public_interface*]
# (optional)
# Defaults to undef
#
# [*flat_network_bridge*]
# (optional) Bridge for simple network instances (
# Defaults to 'br100'
#
# [*force_dhcp_release*]
# (optional) Send a dhcp release on instance termination
# Defaults to true
#
# [*flat_injected*]
# (optional) Whether to attempt to inject network setup into guest
# Defaults to false
#
# [*dhcp_domain*]
# (optional) domain to use for building the hostnames
# Defaults to 'novalocal'
#
# [*dhcpbridge*]
# (optional) 'location of nova-dhcpbridge'
# Defaults to '/usr/bin/nova-dhcpbridge'
#
# [*dhcpbridge_flagfile*]
# (optional) location of flagfiles for dhcpbridge
# Defaults to '/etc/nova/nova.conf
#
class nova::network::flatdhcp (
$fixed_range,

View File

@@ -2,7 +2,7 @@
#
# Configures Nova network to use Neutron.
#
# === Parameters
# === Parameters:
#
# [*neutron_admin_password*]
# (required) Password for connecting to Neutron network services in
@@ -10,18 +10,20 @@
#
# [*neutron_auth_strategy*]
# (optional) Should be kept as default 'keystone' for all production deployments.
# Defaults to 'keystone'
#
# [*neutron_url*]
# (optional) URL for connecting to the Neutron networking service.
# Defaults to 'http://127.0.0.1:9696'.
# Defaults to 'http://127.0.0.1:9696'
#
# [*neutron_url_timeout*]
# (optional) Timeout value for connecting to neutron in seconds.
# Defaults to '30'.
# Defaults to '30'
#
# [*neutron_admin_tenant_name*]
# (optional) Tenant name for connecting to Neutron network services in
# admin context through the OpenStack Identity service. Defaults to 'services'.
# admin context through the OpenStack Identity service.
# Defaults to 'services'
#
# [*neutron_default_tenant_id*]
# (optional) Default tenant id when creating neutron networks
@@ -29,23 +31,25 @@
#
# [*neutron_region_name*]
# (optional) Region name for connecting to neutron in admin context
# through the OpenStack Identity service. Defaults to 'RegionOne'.
# through the OpenStack Identity service.
# Defaults to 'RegionOne'
#
# [*neutron_admin_username*]
# (optional) Username for connecting to Neutron network services in admin context
# through the OpenStack Identity service. Defaults to 'neutron'.
# through the OpenStack Identity service.
# Defaults to 'neutron'
#
# [*neutron_ovs_bridge*]
# (optional) Name of Integration Bridge used by Open vSwitch
# Defaults to 'br-int'.
# Defaults to 'br-int'
#
# [*neutron_extension_sync_interval*]
# (optional) Number of seconds before querying neutron for extensions
# Defaults to '600'.
# Defaults to '600'
#
# [*neutron_ca_certificates_file*]
# (optional) Location of ca certicates file to use for neutronclient requests.
# Defaults to 'None'.
# Defaults to 'None'
#
# [*neutron_admin_auth_url*]
# (optional) Points to the OpenStack Identity server IP and port.
@@ -55,15 +59,16 @@
#
# [*security_group_api*]
# (optional) The full class name of the security API class.
# Defaults to 'neutron' which configures Nova to use Neutron for
# security groups. Set to 'nova' to use standard Nova security groups.
# The default configures Nova to use Neutron for security groups.
# Set to 'nova' to use standard Nova security groups.
# Defaults to 'neutron'
#
# [*firewall_driver*]
# (optional) Firewall driver.
# Defaults to nova.virt.firewall.NoopFirewallDriver. This prevents Nova
# from maintaining a firewall so it does not interfere with Neutron's.
# Set to 'nova.virt.firewall.IptablesFirewallDriver'
# This prevents nova from maintaining a firewall so it does not interfere
# with Neutron's. Set to 'nova.virt.firewall.IptablesFirewallDriver'
# to re-enable the Nova firewall.
# Defaults to 'nova.virt.firewall.NoopFirewallDriver'
#
class nova::network::neutron (
$neutron_admin_password,

View File

@@ -1,4 +1,39 @@
#vlan.pp
# == Class: nova::network::vlan
#
# Configures nova network to use vlans
#
# === Parameters:
#
# [*fixed_range*]
# (required) IPv4 CIDR of the network
#
# [*vlan_interface*]
# (required) Physical ethernet adapter name for vlan networking
#
# [*public_interface*]
# (optional) Interface for public traffic
# Defaults to undef
#
# [*vlan_start*]
# (optional) First vlan to use
# Defaults to '300'
#
# [*force_dhcp_release*]
# (optional) Whether to send a dhcp release on instance termination
# Defaults to true
#
# [*dhcp_domain*]
# (optional) Domain to use for building the hostnames
# Defaults to 'novalocal'
#
# [*dhcpbridge*]
# (optional) location of nova-dhcpbridge
# Defaults to '/usr/bin/nova-dhcpbridge'
#
# [*dhcpbridge_flagfile*]
# (optional) location of flagfiles for dhcpbridge
# Defaults to '/etc/nova/nova.conf'
#
class nova::network::vlan (
$fixed_range,
$vlan_interface,

View File

@@ -1,12 +1,33 @@
# == Class: nova::rabbitmq
#
# class for installing rabbitmq server for nova
# Installs and manages rabbitmq server for nova
#
# == Parameters:
#
# ==Parameters
# [*userid*]
# (optional) The username to use when connecting to Rabbit
# Defaults to 'guest'
#
# [cluster_disk_nodes] Enables/disables RabbitMQ clustering. Specify an array of Rabbit Broker
# IP addresses to configure clustering. Optional.
# Defaults to false.
# [*password*]
# (optional) The password to use when connecting to Rabbit
# Defaults to 'guest'
#
# [*port*]
# (optional) The port to use when connecting to Rabbit
# Defaults to '5672'
#
# [*virtual_host*]
# (optional) The virtual host to use when connecting to Rabbit
# Defaults to '/'
#
# [*cluster_disk_nodes*]
# (optional) Enables/disables RabbitMQ clustering. Specify an array of Rabbit Broker
# IP addresses to configure clustering.
# Defaults to false
#
# [*enabled*]
# (optional) Whether to enable the Rabbit service
# Defaults to false
#
class nova::rabbitmq(
$userid ='guest',

View File

@@ -1,5 +1,16 @@
# == Class: nova::schedule
#
# install nova scheduler
# Install and manage nova scheduler
#
# === Parameters:
#
# [*enabled*]
# (optional) Whether to run the scheduler service
# Defaults to false
#
# [*ensure_package*]
# (optional) The state of the scheduler package
# Defaults to 'present'
#
class nova::scheduler(
$enabled = false,

View File

@@ -4,37 +4,57 @@
#
# === Parameters:
#
# ==== Options defined in nova.scheduler.driver
# scheduler_host_manager: The scheduler host manager class to use
# scheduler_max_attempts: Maximum number of attempts to schedule an instance
# ==== Options defined in nova.scheduler.filter_scheduler
# scheduler_host_subset_size: defines the subset size that a host is chosen from
# ==== Options defined in nova.scheduler.filters.core_filter
# cpu_allocation_ratio: Virtual CPU to Physical CPU allocation ratio (float)
# ==== Options defined in nova.scheduler.filters.disk_filter
# disk_allocation_ratio: Virtual disk to physical disk allocation ratio (float)
# ==== Options defined in nova.scheduler.filters.io_ops_filter
# max_io_ops_per_host: Ignore hosts that have too many builds/resizes
# /snaps/migrations (Int)
# ==== Options defined in nova.scheduler.filters.isolated_hosts_filter
# isolated_images: Images to run on isolated host (list value)
# isolated_hosts: Host reserved for specific images (list value)
# ==== Options defined in nova.scheduler.filters.num_instances_filter
# max_instances_per_host: Ignore hosts that have too many instances (Int)
# ==== Options defined in nova.scheduler.filters.ram_filter
# ram_allocation_ratio: Virtual ram to physical ram allocation ratio (Int)
# ==== Options defined in nova.scheduler.host_manager
# scheduler_available_filters
# scheduler_default_filters
# scheduler_weight_classes
# [*scheduler_host_manager*]
# (optional) The scheduler host manager class to use
# Defaults to 'nova.scheduler.host_manager.HostManager'
#
# [*scheduler_max_attempts*]
# (optional) Maximum number of attempts to schedule an instance
# Defaults to '3'
#
# [*scheduler_host_subset_size*]
# (optional) defines the subset size that a host is chosen from
# Defaults to '1'
#
# [*cpu_allocation_ratio*]
# (optional) Virtual CPU to Physical CPU allocation ratio
# Defaults to '16.0'
#
# [*disk_allocation_ratio*]
# (optional) Virtual disk to physical disk allocation ratio
# Defaults to '1.0'
#
# [*max_io_ops_per_host*]
# (optional) Ignore hosts that have too many builds/resizes/snaps/migrations
# Defaults to '8'
#
# [*isolated_images*]
# (optional) Images to run on isolated host
# Defaults to false
#
# [*isolated_hosts*]
# (optional) Host reserved for specific images
# Defaults to false
#
# [*max_instances_per_host*]
# (optional) Ignore hosts that have too many instances
# Defaults to '50'
#
# [*ram_allocation_ratio:*]
# (optional) Virtual ram to physical ram allocation ratio
# Defaults to '1.5'
#
# [*scheduler_available_filters*]
# (optional) Filter classes available to the scheduler
# Defaults to 'nova.scheduler.filters.all_filters'
#
# [*scheduler_default_filters*]
# (optional) A comma separated list of filters to be used by default
# Defaults to false
#
# [*scheduler_weight_classes*]
# (optional) Which weight class names to use for weighing hosts
# Defaults to 'nova.scheduler.weights.all_weighers'
#
class nova::scheduler::filter (
$scheduler_host_manager = 'nova.scheduler.host_manager.HostManager',

View File

@@ -1,3 +1,6 @@
# == Class nova::utilities
#
# Extra packages used by nova tools
# unzip swig screen parted curl euca2ools - extra packages
class nova::utilities {
if $::osfamily == 'Debian' {

View File

@@ -1,5 +1,24 @@
# == Class: nova:vncproxy
#
# configures nova vnc proxy
# Configures nova vnc proxy
#
# === Parameters:
#
# [*enabled*]
# (optional) Whether to run the vncproxy service
# Defaults to false
#
# [*host*]
# (optional) Host on which to listen for incoming requests
# Defaults to '0.0.0.0'
#
# [*port*]
# (optional) Port on which to listen for incoming requests
# Defaults to '6080'
#
# [*ensure_package*]
# (optional) The state of the nova-novncproxy package
# Defaults to 'present'
#
class nova::vncproxy(
$enabled = false,