diff --git a/.gitignore b/.gitignore index 188c866ae..726885683 100644 --- a/.gitignore +++ b/.gitignore @@ -3,5 +3,3 @@ *.log .tox packstack.egg-info -docs/_build/* -docs/general_options.rst diff --git a/docs/Makefile b/docs/Makefile index f42ca16e9..b91aa0b97 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -40,7 +40,6 @@ help: clean: -rm -rf $(BUILDDIR)/* - -rm -rf general_options.rst html: $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html diff --git a/docs/conf.py b/docs/conf.py index b21c9a2b8..938dcdad2 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -11,33 +11,10 @@ # All configuration values have a default; values that are commented out # serve to show the default. -import sys -import os - -sys.path.append("..") -sys.path.insert(0, os.path.join(os.path.split(sys.argv[0])[0], "..")) -import packstack - -os.environ["INSTALLER_PROJECT_DIR"] = os.path.abspath(os.path.split(packstack.__file__)[0]) +import sys, os +sys.path.append('..') from packstack import version as packstackversion -from packstack.installer import run_setup -run_setup.loadPlugins() -run_setup.initPluginsConfig() - -with open("general_options.rst", 'w') as f: - for group in run_setup.controller.getAllGroups(): - f.write("%s\n" % group.DESCRIPTION) - f.write("-" * len(group.DESCRIPTION)) - f.write("\n\n") - - for param in group.parameters.itervalues(): - cmdOption = param.CONF_NAME - paramUsage = param.USAGE - optionsList = param.OPTION_LIST or "" - f.write("%s\n" % (("**%s**"%str(cmdOption)).ljust(30))) - f.write(" %s %s" % (paramUsage, optionsList)) - f.write("\n\n") # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the diff --git a/docs/packstack.rst b/docs/packstack.rst index ca15e4aa0..b7f9fe496 100644 --- a/docs/packstack.rst +++ b/docs/packstack.rst @@ -21,8 +21,475 @@ The third option allows the user to generate a default answer file, edit the def OPTIONS ======= -.. include:: general_options.rst +Global Options +-------------- +**CONFIG_GLANCE_INSTALL** + Set to 'y' if you would like Packstack to install Glance ['y', 'n']. + +**CONFIG_CINDER_INSTALL** + Set to 'y' if you would like Packstack to install Cinder ['y', 'n']. + +**CONFIG_NOVA_INSTALL** + Set to 'y' if you would like Packstack to install Nova ['y', 'n']. + +**CONFIG_HORIZON_INSTALL** + Set to 'y' if you would like Packstack to install Horizon ['y', 'n']. + +**CONFIG_SWIFT_INSTALL** + Set to 'y' if you would like Packstack to install Swift ['y', 'n']. + +**CONFIG_CLIENT_INSTALL** + Set to 'y' if you would like Packstack to install the OpenStack Client packages. An admin "rc" file will also be installed ['y', 'n']. + +**CONFIG_NTP_SERVERS** + Comma separated list of NTP servers. Leave plain if Packstack should not install ntpd on instances.. + +**CONFIG_NAGIOS_INSTALL** + Set to 'y' if you would like Packstack to install Nagios to monitor openstack hosts ['y', 'n']. + +**CONFIG_CEILOMETER_INSTALL** + Set to 'y' if you would like Packstack to install OpenStack Metering (Ceilometer). + +**CONFIG_HEAT_INSTALL** + Set to 'y' if you would like Packstack to install OpenStack Orchestration (Heat). + +**CONFIG_NEUTRON_INSTALL** + Set to 'y' if you would like Packstack to install OpenStack Networking (Neutron). + +**CONFIG_MYSQL_INSTALL** + Set to 'y' if you would like Packstack to install MySQL. + + +SSH Configs +------------ + +**CONFIG_SSH_KEY** + Path to a Public key to install on servers. If a usable key has not been installed on the remote servers the user will be prompted for a password and this key will be installed so the password will not be required again. + +MySQL Config parameters +----------------------- + +**CONFIG_MYSQL_HOST** + The IP address of the server on which to install MySQL. + +**CONFIG_MYSQL_USER** + Username for the MySQL admin user. + +**CONFIG_MYSQL_PW** + Password for the MySQL admin user. + +QPID Config parameters +---------------------- + +**CONFIG_QPID_HOST** + The IP address of the server on which to install the QPID service. + +**CONFIG_QPID_ENABLE_SSL** + Enable SSL for the QPID service. + +**CONFIG_QPID_NSS_CERTDB_PW** + The password for the NSS certificate database of the QPID service. + +**CONFIG_QPID_SSL_PORT** + The port in which the QPID service listens to SSL connections. + +**CONFIG_QPID_SSL_CERT_FILE** + The filename of the certificate that the QPID service is going to use. + +**CONFIG_QPID_SSL_KEY_FILE** + The filename of the private key that the QPID service is going to use. + +**CONFIG_QPID_SSL_SELF_SIGNED** + Auto Generates self signed SSL certificate and key. + +Keystone Config parameters +-------------------------- + +**CONFIG_KEYSTONE_HOST** + The IP address of the server on which to install Keystone. + +**CONFIG_KEYSTONE_DB_PW** + The password to use for the Keystone to access DB. + +**CONFIG_KEYSTONE_ADMIN_TOKEN** + The token to use for the Keystone service api. + +**CONFIG_KEYSTONE_ADMIN_PW** + The password to use for the Keystone admin user. + +**CONFIG_KEYSTONE_DEMO_PW** + The password to use for the Keystone demo user + +**CONFIG_KEYSTONE_TOKEN_FORMAT** + Kestone token format. Use either UUID or PKI + +Glance Config parameters +------------------------ + +**CONFIG_GLANCE_HOST** + The IP address of the server on which to install Glance. + +**CONFIG_GLANCE_DB_PW** + The password to use for the Glance to access DB. + +**CONFIG_GLANCE_KS_PW** + The password to use for the Glance to authenticate with Keystone. + +Cinder Config parameters +------------------------ + +**CONFIG_CINDER_HOST** + The IP address of the server on which to install Cinder. + +**CONFIG_CINDER_DB_PW** + The password to use for the Cinder to access DB. + +**CONFIG_CINDER_KS_PW** + The password to use for the Cinder to authenticate with Keystone. + +**CONFIG_CINDER_BACKEND** + The Cinder backend to use ['lvm', 'gluster', 'nfs']. + +Cinder volume create Config parameters +-------------------------------------- + +**CONFIG_CINDER_VOLUMES_CREATE** + Create Cinder's volumes group ['y', 'n']. + +Cinder volume size Config parameters +------------------------------------ + +**CONFIG_CINDER_VOLUMES_SIZE** + Cinder's volumes group size. + +Cinder gluster Config parameters +-------------------------------- + +**CONFIG_CINDER_GLUSTER_MOUNTS** + A single or comma separated list of gluster volume shares. + +Cinder NFS Config parameters +---------------------------- + +**CONFIG_CINDER_NFS_MOUNTS** + A single or comma separated list of NFS exports to mount. + +Nova Options +------------ + +**CONFIG_NOVA_API_HOST** + The IP address of the server on which to install the Nova API service. + +**CONFIG_NOVA_CERT_HOST** + The IP address of the server on which to install the Nova Cert service. + +**CONFIG_NOVA_VNCPROXY_HOST** + The IP address of the server on which to install the Nova VNC proxy. + +**CONFIG_NOVA_COMPUTE_HOSTS** + A comma separated list of IP addresses on which to install the Nova Compute services. + +**CONFIG_NOVA_COMPUTE_PRIVIF** + Private interface for Flat DHCP on the Nova compute servers. + +**CONFIG_NOVA_NETWORK_HOSTS** + List of IP address of the servers on which to install the Nova Network service. + +**CONFIG_NOVA_DB_PW** + The password to use for the Nova to access DB. + +**CONFIG_NOVA_KS_PW** + The password to use for the Nova to authenticate with Keystone. + +**CONFIG_NOVA_NETWORK_PUBIF** + Public interface on the Nova network server. + +**CONFIG_NOVA_NETWORK_PRIVIF** + Private interface for Flat DHCP on the Nova network server. + +**CONFIG_NOVA_NETWORK_FIXEDRANGE** + IP Range for Flat DHCP ['^([\\d]{1,3}\\.){3}[\\d]{1,3}/\\d\\d?$']. + +**CONFIG_NOVA_NETWORK_FLOATRANGE** + IP Range for Floating IP's ['^([\\d]{1,3}\\.){3}[\\d]{1,3}/\\d\\d?$']. + +**CONFIG_NOVA_SCHED_HOST** + The IP address of the server on which to install the Nova Scheduler service. + +**CONFIG_NOVA_SCHED_CPU_ALLOC_RATIO** + The overcommitment ratio for virtual to physical CPUs. Set to 1.0 to disable CPU overcommitment. + +**CONFIG_NOVA_SCHED_RAM_ALLOC_RATIO** + The overcommitment ratio for virtual to physical RAM. Set to 1.0 to disable RAM overcommitment. + +**CONFIG_NOVA_CONDUCTOR_HOST** + The IP address of the server on which to install the Nova Conductor service. + +**CONFIG_NOVA_NETWORK_AUTOASSIGNFLOATINGIP** + Automatically assign a floating IP to new instances. + +**CONFIG_NOVA_NETWORK_DEFAULTFLOATINGPOOL** + Name of the default floating pool to which the specified floating ranges are added to. + +**CONFIG_NOVA_NETWORK_MANAGER** + Nova network manager. + +**CONFIG_NOVA_NETWORK_NUMBER** + Number of networks to support. + +**CONFIG_NOVA_NETWORK_SIZE** + Number of addresses in each private subnet. + +**CONFIG_NOVA_NETWORK_VLAN_START** + First VLAN for private networks. + +NOVACLIENT Config parameters +---------------------------- + +**CONFIG_OSCLIENT_HOST** + The IP address of the server on which to install the OpenStack client packages. An admin "rc" file will also be installed. + +OpenStack Horizon Config parameters +----------------------------------- + +**CONFIG_HORIZON_HOST** + The IP address of the server on which to install Horizon. + +**CONFIG_HORIZON_SSL** + To set up Horizon communication over https set this to "y" ['y', 'n']. + +**CONFIG_SSL_CERT** + PEM encoded certificate to be used for ssl on the https server, leave blank if one should be generated, this certificate should not require a passphrase. + +**CONFIG_SSL_KEY** + Keyfile corresponding to the certificate if one was entered. + +OpenStack Swift Config parameters +--------------------------------- + +**CONFIG_SWIFT_PROXY_HOSTS** + The IP address on which to install the Swift proxy service. + +**CONFIG_SWIFT_KS_PW** + The password to use for the Swift to authenticate with Keystone. + +**CONFIG_SWIFT_STORAGE_HOSTS** + A comma separated list of IP addresses on which to install the Swift Storage services, each entry should take the format [/dev], for example 127.0.0.1/vdb will install /dev/vdb on 127.0.0.1 as a swift storage device(packstack does not create the filesystem, you must do this first), if /dev is omitted Packstack will create a loopback device for a test setup. + +**CONFIG_SWIFT_STORAGE_ZONES** + Number of swift storage zones, this number MUST be no bigger than the number of storage devices configured. + +**CONFIG_SWIFT_STORAGE_REPLICAS** + Number of swift storage replicas, this number MUST be no bigger than the number of storage zones configured. + +**CONFIG_SWIFT_STORAGE_FSTYPE** + FileSystem type for storage nodes ['xfs', 'ext4']. + +**CONFIG_SWIFT_HASH** + Shared secret for Swift. + +Server Prepare Configs +---------------------- + +**CONFIG_USE_EPEL** + Install OpenStack from EPEL. If set to "y" EPEL will be installed on each server ['y', 'n']. + +**CONFIG_REPO** + A comma separated list of URLs to any additional yum repositories to install. + +**CONFIG_RH_USER** + To subscribe each server with Red Hat subscription manager, include this with **CONFIG_RH_PW**. + +**CONFIG_RH_PW** + To subscribe each server with Red Hat subscription manager, include this with **CONFIG_RH_USER**. + +**CONFIG_RH_BETA_REPO** + To subscribe each server with Red Hat subscription manager, to Red Hat Beta RPM's ['y', 'n']. + +**CONFIG_SATELLITE_URL** + To subscribe each server with RHN Satellite,fill Satellite's URL here. Note that either satellite's username/password or activation key has to be provided. + +RHN Satellite config +-------------------- + +**CONFIG_SATELLITE_USER** + Username to access RHN Satellite. + +**CONFIG_SATELLITE_PW** + Password to access RHN Satellite. + +**CONFIG_SATELLITE_AKEY** + Activation key for subscription to RHN Satellite. + +**CONFIG_SATELLITE_CACERT** + Specify a path or URL to a SSL CA certificate to use. + +**CONFIG_SATELLITE_PROFILE** + If required specify the profile name that should be used as an identifier for the system in RHN Satellite. + +**CONFIG_SATELLITE_FLAGS** + Comma separated list of flags passed to rhnreg_ks. Valid flags are: novirtinfo, norhnsd, nopackages ['novirtinfo', 'norhnsd', 'nopackages']. + +**CONFIG_SATELLITE_PROXY** + Specify a HTTP proxy to use with RHN Satellite. + +RHN Satellite proxy config +-------------------------- + +**CONFIG_SATELLITE_PROXY_USER** + Specify a username to use with an authenticated HTTP proxy. + +**CONFIG_SATELLITE_PROXY_PW** + Specify a password to use with an authenticated HTTP proxy. + +Nagios Config parameters +------------------------ + +**CONFIG_NAGIOS_HOST** + The IP address of the server on which to install the Nagios server. + +**CONFIG_NAGIOS_PW** + The password of the nagiosadmin user on the Nagios server. + +Ceilometer Config Parameters +---------------------------- + +**CONFIG_CEILOMETER_HOST** + The IP address of the server on which to install Ceilometer. + +**CONFIG_CEILOMETER_SECRET** + Secret key for signing metering messages. + +**CONFIG_CEILOMETER_KS_PW** + The password to use for Ceilometer to authenticate with Keystone. + +Heat Config Parameters +---------------------- + +**CONFIG_HEAT_HOST** + The IP address of the server on which to install Heat service. + +**CONFIG_HEAT_DB_PW** + The password used by Heat user to authenticate against MySQL. + +**CONFIG_HEAT_KS_PW** + The password to use for the Heat to authenticate with Keystone. + +**CONFIG_HEAT_CLOUDWATCH_INSTALL** + Set to 'y' if you would like Packstack to install Heat CloudWatch API. + +**CONFIG_HEAT_CFN_INSTALL** + Set to 'y' if you would like Packstack to install Heat CloudFormation API. + +**CONFIG_HEAT_CLOUDWATCH_HOST** + The IP address of the server on which to install Heat CloudWatch API service. + +**CONFIG_HEAT_CFN_HOST** + The IP address of the server on which to install Heat CloudFormation API. + +Neutron Config Parameters +------------------------- + +**CONFIG_NEUTRON_SERVER_HOST** + The IP addresses of the server on which to install the Neutron server. + +**CONFIG_NEUTRON_KS_PW** + The password to use for Neutron to authenticate with Keystone. + +**CONFIG_NEUTRON_DB_PW** + The password to use for Neutron to access DB. + +**CONFIG_NEUTRON_L3_HOSTS** + A comma separated list of IP addresses on which to install Neutron L3 agent. + +**CONFIG_NEUTRON_L3_EXT_BRIDGE** + The name of the bridge that the Neutron L3 agent will use for external traffic, or 'provider' if using provider networks. + +**CONFIG_NEUTRON_DHCP_HOSTS** + A comma separated list of IP addresses on which to install Neutron DHCP agent. + +**CONFIG_NEUTRON_L2_PLUGIN** + The name of the L2 plugin to be used with Neutron. + +**CONFIG_NEUTRON_METADATA_HOSTS** + A comma separated list of IP addresses on which to install Neutron metadata agent. + +**CONFIG_NEUTRON_METADATA_PW** + A comma separated list of IP addresses on which to install Neutron metadata agent. + +**CONFIG_NEUTRON_LB_TENANT_NETWORK_TYPE** + The type of network to allocate for tenant networks (eg. vlan, local, gre). + +**CONFIG_NEUTRON_LB_VLAN_RANGES** + A comma separated list of VLAN ranges for the Neutron linuxbridge plugin (eg. physnet1:1:4094,physnet2,physnet3:3000:3999). + +**CONFIG_NEUTRON_LB_INTERFACE_MAPPINGS** + A comma separated list of interface mappings for the Neutron linuxbridge plugin (eg. physnet1:br-eth1,physnet2:br-eth2,physnet3:br-eth3). + +**CONFIG_NEUTRON_OVS_TENANT_NETWORK_TYPE** + Type of network to allocate for tenant networks (eg. vlan, local, gre). + +**CONFIG_NEUTRON_OVS_VLAN_RANGES** + A comma separated list of VLAN ranges for the Neutron openvswitch plugin (eg. physnet1:1:4094,physnet2,physnet3:3000:3999). + +**CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS** + A comma separated list of bridge mappings for the Neutron openvswitch plugin (eg. physnet1:br-eth1,physnet2:br-eth2,physnet3:br-eth3). + +**CONFIG_NEUTRON_OVS_BRIDGE_IFACES** + A comma separated list of colon-separated OVS brid. + +**CONFIG_NEUTRON_OVS_TUNNEL_RANGES** + A comma separated list of tunnel ranges for the Neutron openvswitch plugin. + +**CONFIG_NEUTRON_OVS_TUNNEL_IF** + Override the IP used for GRE tunnels on this hypervisor to the IP found on the specified interface (defaults to the HOST IP). + +**CONFIG_NEUTRON_ML2_TYPE_DRIVERS** + A comma separated list of network type (eg: local, flat, vlan, gre, vxlan). + +**CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES** + A comma separated ordered list of network_types to allocate as tenant networks (eg: local, flat, vlan, gre, vxlan). The value 'local' is only useful for single-box testing but provides no connectivity between hosts. + +**CONFIG_NEUTRON_ML2_SM_DRIVERS** + A comma separated ordered list of networking mechanism driver entrypoints to be loaded from the **neutron.ml2.mechanism_drivers** namespace (eg: logger, test, linuxbridge, openvswitch, hyperv, ncs, arista, cisco_nexus, l2population). + +**CONFIG_NEUTRON_ML2_FLAT_NETWORKS** + A comma separated list of physical_network names with which flat networks can be created. Use * to allow flat networks with arbitrary physical_network names. + +**CONFIG_NEUTRON_ML2_VLAN_RANGES** + A comma separated list of **::** or **** specifying physical_network names usable for VLAN provider and tenant networks, as well as ranges of VLAN tags on each available for allocation to tenant networks. + +**CONFIG_NEUTRON_ML2_TUNNEL_ID_RANGES** + A comma separated list of **:** tuples enumerating ranges of GRE tunnel IDs that are available for tenant network allocation. Should be an array with **tun_max +1 - tun_min > 1000000**. + +**CONFIG_NEUTRON_ML2_VXLAN_GROUP** + Multicast group for VXLAN. If unset, disables VXLAN enable sending allocate broadcast traffic to this multicast group. When left unconfigured, will disable multicast VXLAN mode. Should be an **Multicast IP (v4 or v6)** address. + +**CONFIG_NEUTRON_ML2_VNI_RANGES** + A comma separated list of **:** tuples enumerating ranges of VXLAN VNI IDs that are available for tenant network allocation. Min value is 0 and Max value is 16777215. + + +Provision Config Parameters +--------------------------- + +**CONFIG_PROVISION_ALL_IN_ONE_OVS_BRIDGE** + Whether to configure the ovs external bridge in an all-in-one deployment. + +**CONFIG_PROVISION_DEMO** + Whether to provision for demo usage and testing. + +**CONFIG_PROVISION_DEMO_FLOATRANGE** + The CIDR network address for the floating IP subnet. + +**CONFIG_PROVISION_TEMPEST** + Whether to configure tempest for testing. + +**CONFIG_PROVISION_TEMPEST_REPO_REVISION** + The revision of the tempest git repository to use. + +**CONFIG_PROVISION_TEMPEST_REPO_URI** + The uri of the tempest git repository to use. Log files and Debug info diff --git a/packstack/installer/run_setup.py b/packstack/installer/run_setup.py index 40692e897..605c58a1e 100644 --- a/packstack/installer/run_setup.py +++ b/packstack/installer/run_setup.py @@ -775,8 +775,7 @@ def printOptions(): cmdOption = param.CONF_NAME paramUsage = param.USAGE optionsList = param.OPTION_LIST or "" - print "%s" % (("**%s**"%str(cmdOption)).ljust(30)) - print " %s %s" % (paramUsage, optionsList) + print "%s : %s %s"%(("**%s**"%str(cmdOption)).ljust(30), paramUsage, optionsList) print def plugin_compare(x, y):