Single source of documentation
This patch adds feature for parsing docs/packstack.rst file for parameter USAGE values. Change-Id: Iea404e8ade657e82ac1e33ad3697180680c3633e Closes-bug: rhbz#1199847
This commit is contained in:
parent
b576673fb8
commit
9a347f80d5
|
@ -16,9 +16,10 @@
|
|||
This module provides all the predefined variables.
|
||||
"""
|
||||
|
||||
import os
|
||||
import sys
|
||||
import datetime
|
||||
import os
|
||||
import pkg_resources
|
||||
import sys
|
||||
import tempfile
|
||||
|
||||
from .utils import get_current_user
|
||||
|
@ -28,7 +29,15 @@ APP_NAME = "Packstack"
|
|||
|
||||
FILE_YUM_VERSION_LOCK = "/etc/yum/pluginconf.d/versionlock.list"
|
||||
|
||||
PACKSTACK_VAR_DIR = "/var/tmp/packstack"
|
||||
PACKSTACK_SRC_DOC = pkg_resources.resource_filename(
|
||||
pkg_resources.Requirement.parse('packstack'), 'docs/packstack.rst'
|
||||
)
|
||||
if os.path.exists(PACKSTACK_SRC_DOC):
|
||||
PACKSTACK_DOC = PACKSTACK_SRC_DOC
|
||||
else:
|
||||
PACKSTACK_DOC = '/usr/share/packstack/packstack.rst'
|
||||
|
||||
PACKSTACK_VAR_DIR = '/var/tmp/packstack'
|
||||
try:
|
||||
os.mkdir(PACKSTACK_VAR_DIR, 0o700)
|
||||
except OSError:
|
||||
|
|
|
@ -851,7 +851,7 @@ def printOptions():
|
|||
paramUsage = param.USAGE
|
||||
optionsList = param.OPTION_LIST or ""
|
||||
print("%s" % (("**%s**" % str(cmdOption)).ljust(30)))
|
||||
print(" %s %s" % (paramUsage, optionsList) + "\n")
|
||||
print(" %s" % paramUsage + "\n")
|
||||
|
||||
|
||||
def plugin_compare(x, y):
|
||||
|
|
|
@ -0,0 +1,83 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
# Copyright (C) 2015 Red Hat, Inc.
|
||||
#
|
||||
# Author: Martin Magr <mmagr@redhat.com>
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
|
||||
from docutils import core
|
||||
|
||||
|
||||
# ------------------ helpers to locate option list ------------------ #
|
||||
def _iter_by_titles(tree):
|
||||
for i in tree.children:
|
||||
i = i.asdom()
|
||||
for child in i.childNodes:
|
||||
if child.nodeName != 'title':
|
||||
continue
|
||||
if child.childNodes and child.childNodes[0].nodeValue:
|
||||
title = child.childNodes[0].nodeValue
|
||||
yield title, i
|
||||
|
||||
|
||||
def _get_options(tree, section):
|
||||
for title, node in _iter_by_titles(tree):
|
||||
if title == section:
|
||||
return node
|
||||
|
||||
|
||||
# --------------------- helper to locate options -------------------- #
|
||||
def _iter_options(section):
|
||||
for subsection in section.childNodes:
|
||||
for subsub in subsection.childNodes:
|
||||
if subsub.nodeName != 'definition_list':
|
||||
# TO-DO: log parsing warning
|
||||
continue
|
||||
for defitem in subsub.childNodes:
|
||||
key_node = defitem.getElementsByTagName('strong')
|
||||
val_node = defitem.getElementsByTagName('paragraph')
|
||||
if not key_node or not val_node:
|
||||
# TO-DO: log parsing warning
|
||||
continue
|
||||
key_node = key_node[0].childNodes[0]
|
||||
val_node = val_node[0].childNodes[0]
|
||||
yield key_node.nodeValue, val_node.nodeValue
|
||||
|
||||
|
||||
# ----------------------------- interface --------------------------- #
|
||||
_rst_cache = {}
|
||||
|
||||
|
||||
def update_params_usage(path, params, opt_title='OPTIONS', sectioned=True):
|
||||
"""Updates params dict with USAGE texts parsed from given rst file."""
|
||||
def _update(section, rst):
|
||||
for param in section:
|
||||
if param['CONF_NAME'] not in rst:
|
||||
# TO-DO: log warning
|
||||
continue
|
||||
param['USAGE'] = rst[param['CONF_NAME']]
|
||||
|
||||
if not _rst_cache:
|
||||
tree = core.publish_doctree(
|
||||
source=open(path).read().decode('utf-8'), source_path=path
|
||||
)
|
||||
for key, value in _iter_options(_get_options(tree, opt_title)):
|
||||
_rst_cache.setdefault(key, value)
|
||||
|
||||
if sectioned:
|
||||
for section in params.values():
|
||||
_update(section, _rst_cache)
|
||||
else:
|
||||
_update(params, _rst_cache)
|
|
@ -16,11 +16,13 @@
|
|||
Installs and configures AMQP
|
||||
"""
|
||||
|
||||
from packstack.installer import basedefs
|
||||
from packstack.installer import validators
|
||||
from packstack.installer import processors
|
||||
from packstack.installer import utils
|
||||
|
||||
from packstack.modules.common import filtered_hosts
|
||||
from packstack.modules.documentation import update_params_usage
|
||||
from packstack.modules.ospluginutils import appendManifestFile
|
||||
from packstack.modules.ospluginutils import createFirewallResources
|
||||
from packstack.modules.ospluginutils import getManifestTemplate
|
||||
|
@ -34,8 +36,6 @@ PLUGIN_NAME_COLORED = utils.color_text(PLUGIN_NAME, 'blue')
|
|||
def initConfig(controller):
|
||||
params = [
|
||||
{"CMD_OPTION": "amqp-backend",
|
||||
"USAGE": ("Set the AMQP service backend. Allowed values are: "
|
||||
"qpid, rabbitmq"),
|
||||
"PROMPT": "Set the AMQP service backend",
|
||||
"OPTION_LIST": ["qpid", "rabbitmq"],
|
||||
"VALIDATORS": [validators.validate_options],
|
||||
|
@ -49,8 +49,6 @@ def initConfig(controller):
|
|||
"DEPRECATES": ['CONFIG_AMQP_SERVER']},
|
||||
|
||||
{"CMD_OPTION": "amqp-host",
|
||||
"USAGE": ("The IP address of the server on which to install the "
|
||||
"AMQP service"),
|
||||
"PROMPT": "Enter the IP address of the AMQP service",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_ssh],
|
||||
|
@ -63,7 +61,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "amqp-enable-ssl",
|
||||
"USAGE": "Enable SSL for the AMQP service",
|
||||
"PROMPT": "Enable SSL for the AMQP service?",
|
||||
"OPTION_LIST": ["y", "n"],
|
||||
"VALIDATORS": [validators.validate_options],
|
||||
|
@ -76,7 +73,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "amqp-enable-auth",
|
||||
"USAGE": "Enable Authentication for the AMQP service",
|
||||
"PROMPT": "Enable Authentication for the AMQP service?",
|
||||
"OPTION_LIST": ["y", "n"],
|
||||
"VALIDATORS": [validators.validate_options],
|
||||
|
@ -88,6 +84,7 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": False,
|
||||
"CONDITION": False},
|
||||
]
|
||||
update_params_usage(basedefs.PACKSTACK_DOC, params, sectioned=False)
|
||||
group = {"GROUP_NAME": "AMQP",
|
||||
"DESCRIPTION": "AMQP Config parameters",
|
||||
"PRE_CONDITION": False,
|
||||
|
@ -98,8 +95,6 @@ def initConfig(controller):
|
|||
|
||||
params = [
|
||||
{"CMD_OPTION": "amqp-nss-certdb-pw",
|
||||
"USAGE": ("The password for the NSS certificate database of the AMQP "
|
||||
"service"),
|
||||
"PROMPT": "Enter the password for NSS certificate database",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -113,8 +108,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "amqp-ssl-port",
|
||||
"USAGE": ("The port in which the AMQP service listens to SSL "
|
||||
"connections"),
|
||||
"PROMPT": "Enter the SSL port for the AMQP service",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -127,8 +120,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "amqp-ssl-cacert-file",
|
||||
"USAGE": ("The filename of the CAcertificate that the AMQP service "
|
||||
"is going to use for verification"),
|
||||
"PROMPT": ("Enter the filename of the SSL CAcertificate for the AMQP"
|
||||
" service"),
|
||||
"OPTION_LIST": [],
|
||||
|
@ -142,8 +133,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "amqp-ssl-cert-file",
|
||||
"USAGE": ("The filename of the certificate that the AMQP service "
|
||||
"is going to use"),
|
||||
"PROMPT": ("Enter the filename of the SSL certificate for the AMQP "
|
||||
"service"),
|
||||
"OPTION_LIST": [],
|
||||
|
@ -157,8 +146,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "amqp-ssl-key-file",
|
||||
"USAGE": ("The filename of the private key that the AMQP service "
|
||||
"is going to use"),
|
||||
"PROMPT": "Enter the private key filename",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -171,7 +158,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "amqp-ssl-self-signed",
|
||||
"USAGE": "Auto Generates self signed SSL certificate and key",
|
||||
"PROMPT": "Generate Self Signed SSL Certificate",
|
||||
"OPTION_LIST": ["y", "n"],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -183,6 +169,7 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": False,
|
||||
"CONDITION": False},
|
||||
]
|
||||
update_params_usage(basedefs.PACKSTACK_DOC, params, sectioned=False)
|
||||
group = {"GROUP_NAME": "AMQPSSL",
|
||||
"DESCRIPTION": "AMQP Config SSL parameters",
|
||||
"PRE_CONDITION": "CONFIG_AMQP_ENABLE_SSL",
|
||||
|
@ -193,7 +180,6 @@ def initConfig(controller):
|
|||
|
||||
params = [
|
||||
{"CMD_OPTION": "amqp-auth-user",
|
||||
"USAGE": "User for amqp authentication",
|
||||
"PROMPT": "Enter the user for amqp authentication",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -206,7 +192,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "amqp-auth-password",
|
||||
"USAGE": "Password for user authentication",
|
||||
"PROMPT": "Enter the password for user authentication",
|
||||
"OPTION_LIST": ["y", "n"],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -219,6 +204,7 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": True,
|
||||
"CONDITION": False},
|
||||
]
|
||||
update_params_usage(basedefs.PACKSTACK_DOC, params, sectioned=False)
|
||||
group = {"GROUP_NAME": "AMQPAUTH",
|
||||
"DESCRIPTION": "AMQP Config Athentication parameters",
|
||||
"PRE_CONDITION": "CONFIG_AMQP_ENABLE_AUTH",
|
||||
|
|
|
@ -18,10 +18,13 @@ Installs and configures Ceilometer
|
|||
|
||||
import uuid
|
||||
|
||||
from packstack.installer import basedefs
|
||||
from packstack.installer import utils
|
||||
from packstack.installer import validators
|
||||
from packstack.installer import processors
|
||||
from packstack.installer.utils import split_hosts
|
||||
|
||||
from packstack.modules.documentation import update_params_usage
|
||||
from packstack.modules.shortcuts import get_mq
|
||||
from packstack.modules.ospluginutils import appendManifestFile
|
||||
from packstack.modules.ospluginutils import createFirewallResources
|
||||
|
@ -38,7 +41,6 @@ def initConfig(controller):
|
|||
"CEILOMETER": [
|
||||
{"CONF_NAME": "CONFIG_CEILOMETER_SECRET",
|
||||
"CMD_OPTION": "ceilometer-secret",
|
||||
"USAGE": "Secret key for signing metering messages",
|
||||
"PROMPT": "Enter the Ceilometer secret key",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -51,8 +53,6 @@ def initConfig(controller):
|
|||
|
||||
{"CONF_NAME": "CONFIG_CEILOMETER_KS_PW",
|
||||
"CMD_OPTION": "ceilometer-ks-passwd",
|
||||
"USAGE": ("The password to use for Ceilometer to authenticate "
|
||||
"with Keystone"),
|
||||
"PROMPT": "Enter the password for the Ceilometer Keystone access",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -66,7 +66,6 @@ def initConfig(controller):
|
|||
|
||||
{"CONF_NAME": "CONFIG_CEILOMETER_COORDINATION_BACKEND",
|
||||
"CMD_OPTION": "ceilometer-coordination-backend",
|
||||
"USAGE": "Backend driver for group membership coordination",
|
||||
"PROMPT": "Enter the coordination driver",
|
||||
"OPTION_LIST": ['redis', 'none'],
|
||||
"VALIDATORS": [validators.validate_options],
|
||||
|
@ -79,8 +78,6 @@ def initConfig(controller):
|
|||
|
||||
"MONGODB": [
|
||||
{"CMD_OPTION": "mongodb-host",
|
||||
"USAGE": ("The IP address of the server on which to install "
|
||||
"MongoDB"),
|
||||
"PROMPT": "Enter the IP address of the MongoDB server",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_ssh],
|
||||
|
@ -94,8 +91,6 @@ def initConfig(controller):
|
|||
],
|
||||
"REDIS": [
|
||||
{"CMD_OPTION": "redis-master-host",
|
||||
"USAGE": ("The IP address of the server on which to install "
|
||||
"redis master server"),
|
||||
"PROMPT": "Enter the IP address of the redis master server",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_ssh],
|
||||
|
@ -108,7 +103,6 @@ def initConfig(controller):
|
|||
"CONDITION": False,
|
||||
"DEPRECATES": ["CONFIG_REDIS_HOST"]},
|
||||
{"CMD_OPTION": "redis-port",
|
||||
"USAGE": "The port on which the redis server(s) listens",
|
||||
"PROMPT": "Enter the port of the redis server(s)",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_port],
|
||||
|
@ -120,7 +114,6 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": False,
|
||||
"CONDITION": False},
|
||||
{"CMD_OPTION": "redis-ha",
|
||||
"USAGE": "Should redis try to use HA",
|
||||
"PROMPT": "Should redis try to use HA?",
|
||||
"OPTION_LIST": ["y", "n"],
|
||||
"VALIDATORS": [validators.validate_options],
|
||||
|
@ -132,7 +125,6 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": False,
|
||||
"CONDITION": False},
|
||||
{"CMD_OPTION": "redis-slaves",
|
||||
"USAGE": "The hosts on which to install redis slaves",
|
||||
"PROMPT": "Enter the IP addresses of the redis slave servers",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_multi_ssh],
|
||||
|
@ -144,7 +136,6 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": False,
|
||||
"CONDITION": False},
|
||||
{"CMD_OPTION": "redis-sentinels",
|
||||
"USAGE": "The hosts on which to install redis sentinel servers",
|
||||
"PROMPT": "Enter the IP addresses of the redis sentinel servers",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_multi_ssh],
|
||||
|
@ -156,7 +147,6 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": False,
|
||||
"CONDITION": False},
|
||||
{"CMD_OPTION": "redis-sentinel-contact",
|
||||
"USAGE": "The host to configure as the coordination sentinel",
|
||||
"PROMPT":
|
||||
"Enter the IP address of the coordination redis sentinel",
|
||||
"OPTION_LIST": [],
|
||||
|
@ -169,7 +159,6 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": False,
|
||||
"CONDITION": False},
|
||||
{"CMD_OPTION": "redis-sentinel-port",
|
||||
"USAGE": "The port on which redis sentinel servers listen",
|
||||
"PROMPT": ("Enter the port on which the redis sentinel servers"
|
||||
" listen"),
|
||||
"OPTION_LIST": [],
|
||||
|
@ -182,7 +171,6 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": False,
|
||||
"CONDITION": False},
|
||||
{"CMD_OPTION": "redis-sentinel-quorum",
|
||||
"USAGE": "The quorum value for redis sentinel servers",
|
||||
"PROMPT": (
|
||||
"Enter the quorum value for the redis sentinel servers"),
|
||||
"OPTION_LIST": [],
|
||||
|
@ -195,7 +183,6 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": False,
|
||||
"CONDITION": False},
|
||||
{"CMD_OPTION": "redis-sentinel-master-name",
|
||||
"USAGE": "The name of the master server watched by the sentinel",
|
||||
"PROMPT": (
|
||||
"Enter the logical name of the master server"),
|
||||
"OPTION_LIST": [r'[a-z]+'],
|
||||
|
@ -209,6 +196,7 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
],
|
||||
}
|
||||
update_params_usage(basedefs.PACKSTACK_DOC, ceilometer_params)
|
||||
|
||||
ceilometer_groups = [
|
||||
{"GROUP_NAME": "CEILOMETER",
|
||||
|
|
|
@ -18,6 +18,7 @@ Installs and configures Cinder
|
|||
|
||||
import re
|
||||
|
||||
from packstack.installer import basedefs
|
||||
from packstack.installer import exceptions
|
||||
from packstack.installer import processors
|
||||
from packstack.installer import validators
|
||||
|
@ -25,7 +26,7 @@ from packstack.installer.utils import split_hosts
|
|||
|
||||
from packstack.installer import utils
|
||||
|
||||
|
||||
from packstack.modules.documentation import update_params_usage
|
||||
from packstack.modules.shortcuts import get_mq
|
||||
from packstack.modules.ospluginutils import appendManifestFile
|
||||
from packstack.modules.ospluginutils import createFirewallResources
|
||||
|
@ -44,7 +45,6 @@ def initConfig(controller):
|
|||
conf_params = {
|
||||
"CINDER": [
|
||||
{"CMD_OPTION": "cinder-db-passwd",
|
||||
"USAGE": "The password to use for the Cinder to access DB",
|
||||
"PROMPT": "Enter the password for the Cinder DB access",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -58,8 +58,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "cinder-ks-passwd",
|
||||
"USAGE": ("The password to use for the Cinder to authenticate "
|
||||
"with Keystone"),
|
||||
"PROMPT": "Enter the password for the Cinder Keystone access",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -73,8 +71,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "cinder-backend",
|
||||
"USAGE": ("The Cinder backend to use, valid options are: lvm, "
|
||||
"gluster, nfs, vmdk, netapp"),
|
||||
"PROMPT": "Enter the Cinder backend to be configured",
|
||||
"OPTION_LIST": ["lvm", "gluster", "nfs", "vmdk", "netapp"],
|
||||
"VALIDATORS": [validators.validate_options],
|
||||
|
@ -89,10 +85,6 @@ def initConfig(controller):
|
|||
|
||||
"CINDERVOLUMECREATE": [
|
||||
{"CMD_OPTION": "cinder-volumes-create",
|
||||
"USAGE": ("Create Cinder's volumes group. This should only be "
|
||||
"done for testing on a proof-of-concept installation "
|
||||
"of Cinder. This will create a file-backed volume group"
|
||||
" and is not suitable for production usage."),
|
||||
"PROMPT": ("Should Cinder's volumes group be created (for "
|
||||
"proof-of-concept installation)?"),
|
||||
"OPTION_LIST": ["y", "n"],
|
||||
|
@ -108,9 +100,6 @@ def initConfig(controller):
|
|||
|
||||
"CINDERVOLUMESIZE": [
|
||||
{"CMD_OPTION": "cinder-volumes-size",
|
||||
"USAGE": ("Cinder's volumes group size. Note that actual volume "
|
||||
"size will be extended with 3% more space for VG "
|
||||
"metadata."),
|
||||
"PROMPT": "Enter Cinder's volumes group usable size",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -125,9 +114,6 @@ def initConfig(controller):
|
|||
|
||||
"CINDERGLUSTERMOUNTS": [
|
||||
{"CMD_OPTION": "cinder-gluster-mounts",
|
||||
"USAGE": ("A single or comma separated list of gluster volume "
|
||||
"shares to mount, eg: ip-address:/vol-name, "
|
||||
"domain:/vol-name "),
|
||||
"PROMPT": ("Enter a single or comma separated list of gluster "
|
||||
"volume shares to use with Cinder"),
|
||||
"OPTION_LIST": ["^([\d]{1,3}\.){3}[\d]{1,3}:/.*",
|
||||
|
@ -145,8 +131,6 @@ def initConfig(controller):
|
|||
|
||||
"CINDERNFSMOUNTS": [
|
||||
{"CMD_OPTION": "cinder-nfs-mounts",
|
||||
"USAGE": ("A single or comma seprated list of NFS exports to "
|
||||
"mount, eg: ip-address:/export-name "),
|
||||
"PROMPT": ("Enter a single or comma seprated list of NFS exports "
|
||||
"to use with Cinder"),
|
||||
"OPTION_LIST": ["^([\d]{1,3}\.){3}[\d]{1,3}:/.*"],
|
||||
|
@ -163,8 +147,6 @@ def initConfig(controller):
|
|||
|
||||
"CINDERNETAPPMAIN": [
|
||||
{"CMD_OPTION": "cinder-netapp-login",
|
||||
"USAGE": ("(required) Administrative user account name used to "
|
||||
"access the storage system or proxy server. "),
|
||||
"PROMPT": ("Enter a NetApp login"),
|
||||
"OPTION_LIST": [""],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -177,8 +159,6 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": False,
|
||||
"CONDITION": False},
|
||||
{"CMD_OPTION": "cinder-netapp-password",
|
||||
"USAGE": ("(required) Password for the administrative user "
|
||||
"account specified in the netapp_login parameter."),
|
||||
"PROMPT": ("Enter a NetApp password"),
|
||||
"OPTION_LIST": [""],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -191,8 +171,6 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": True,
|
||||
"CONDITION": False},
|
||||
{"CMD_OPTION": "cinder-netapp-hostname",
|
||||
"USAGE": ("(required) The hostname (or IP address) for the "
|
||||
"storage system or proxy server."),
|
||||
"PROMPT": ("Enter a NetApp hostname"),
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -205,12 +183,6 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": False,
|
||||
"CONDITION": False},
|
||||
{"CMD_OPTION": "cinder-netapp-server-port",
|
||||
"USAGE": ("(optional) The TCP port to use for communication with "
|
||||
"ONTAPI on the storage system. Traditionally, port 80 "
|
||||
"is used for HTTP and port 443 is used for HTTPS; "
|
||||
"however, this value should be changed if an alternate "
|
||||
"port has been configured on the storage system or "
|
||||
"proxy server. Defaults to 80."),
|
||||
"PROMPT": ("Enter a NetApp server port"),
|
||||
"OPTION_LIST": [""],
|
||||
"VALIDATORS": [validators.validate_port],
|
||||
|
@ -223,11 +195,6 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": False,
|
||||
"CONDITION": False},
|
||||
{"CMD_OPTION": "cinder-netapp-storage-family",
|
||||
"USAGE": ("(optional) The storage family type used on the storage"
|
||||
" system; valid values are ontap_7mode for using Data "
|
||||
"ONTAP operating in 7-Mode or ontap_cluster for using "
|
||||
"clustered Data ONTAP, or eseries for NetApp E-Series. "
|
||||
"Defaults to %s." % NETAPP_DEFAULT_STORAGE_FAMILY),
|
||||
"PROMPT": ("Enter a NetApp storage family"),
|
||||
"OPTION_LIST": ["ontap_7mode", "ontap_cluster", "eseries"],
|
||||
"VALIDATORS": [validators.validate_options],
|
||||
|
@ -240,10 +207,6 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": False,
|
||||
"CONDITION": False},
|
||||
{"CMD_OPTION": "cinder-netapp-transport-type",
|
||||
"USAGE": ("(optional) The transport protocol used when "
|
||||
"communicating with ONTAPI on the storage system or "
|
||||
"proxy server. Valid values are http or https. "
|
||||
"Defaults to http."),
|
||||
"PROMPT": ("Enter a NetApp transport type"),
|
||||
"OPTION_LIST": ["http", "https"],
|
||||
"VALIDATORS": [validators.validate_options],
|
||||
|
@ -256,10 +219,6 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": False,
|
||||
"CONDITION": False},
|
||||
{"CMD_OPTION": "cinder-netapp-storage-protocol",
|
||||
"USAGE": ("(optional) The storage protocol to be used on the data"
|
||||
" path with the storage system; valid values are iscsi "
|
||||
"or nfs. "
|
||||
"Defaults to %s." % NETAPP_DEFAULT_STORAGE_PROTOCOL),
|
||||
"PROMPT": ("Enter a NetApp storage protocol"),
|
||||
"OPTION_LIST": ["iscsi", "nfs"],
|
||||
"VALIDATORS": [validators.validate_options],
|
||||
|
@ -275,11 +234,6 @@ def initConfig(controller):
|
|||
|
||||
"CINDERNETAPPONTAPISCSI": [
|
||||
{"CMD_OPTION": "cinder-netapp-size-multiplier",
|
||||
"USAGE": ("(optional) The quantity to be multiplied by the "
|
||||
"requested volume size to ensure enough space is "
|
||||
"available on the virtual storage server (Vserver)"
|
||||
" to fulfill the volume creation request. "
|
||||
"Defaults to 1.0."),
|
||||
"PROMPT": ("Enter a NetApp size multiplier"),
|
||||
"OPTION_LIST": [""],
|
||||
"VALIDATORS": [],
|
||||
|
@ -295,13 +249,6 @@ def initConfig(controller):
|
|||
|
||||
"CINDERNETAPPNFS": [
|
||||
{"CMD_OPTION": "cinder-netapp-expiry-thres-minutes",
|
||||
"USAGE": ("(optional) This parameter specifies the threshold for "
|
||||
"last access time for images in the NFS image cache. "
|
||||
"When a cache cleaning cycle begins, images in the "
|
||||
"cache that have not been accessed in the last M "
|
||||
"minutes, where M is the value of this parameter, will "
|
||||
"be deleted from the cache to create free space on the "
|
||||
"NFS share. Defaults to 720."),
|
||||
"PROMPT": ("Enter a threshold"),
|
||||
"OPTION_LIST": [""],
|
||||
"VALIDATORS": [validators.validate_integer],
|
||||
|
@ -314,10 +261,6 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": False,
|
||||
"CONDITION": False},
|
||||
{"CMD_OPTION": "cinder-netapp-thres-avl-size-perc-start",
|
||||
"USAGE": ("(optional) If the percentage of available space for an"
|
||||
" NFS share has dropped below the value specified by "
|
||||
"this parameter, the NFS image cache will be cleaned. "
|
||||
"Defaults to 20"),
|
||||
"PROMPT": ("Enter a value"),
|
||||
"OPTION_LIST": [""],
|
||||
"VALIDATORS": [validators.validate_integer],
|
||||
|
@ -330,13 +273,6 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": False,
|
||||
"CONDITION": False},
|
||||
{"CMD_OPTION": "cinder-netapp-thres-avl-size-perc-stop",
|
||||
"USAGE": ("(optional) When the percentage of available space on "
|
||||
"an NFS share has reached the percentage specified by "
|
||||
"this parameter, the driver will stop clearing files "
|
||||
"from the NFS image cache that have not been accessed "
|
||||
"in the last M minutes, where M is the value of the "
|
||||
"expiry_thres_minutes parameter. "
|
||||
"Defaults to 60."),
|
||||
"PROMPT": ("Enter a value"),
|
||||
"OPTION_LIST": [""],
|
||||
"VALIDATORS": [validators.validate_integer],
|
||||
|
@ -349,9 +285,6 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": False,
|
||||
"CONDITION": False},
|
||||
{"CMD_OPTION": "cinder-netapp-nfs-shares",
|
||||
"USAGE": ("(optional) Single or comma-separated list of NetApp NFS shares "
|
||||
"for Cinder to use. Format: ip-address:/export-name"
|
||||
" Defaults to ''."),
|
||||
"PROMPT": ("Enter a single or comma-separated list of NetApp NFS shares"),
|
||||
"OPTION_LIST": [""],
|
||||
"VALIDATORS": [],
|
||||
|
@ -364,8 +297,6 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": False,
|
||||
"CONDITION": False},
|
||||
{"CMD_OPTION": "cinder-netapp-nfs-shares-config",
|
||||
"USAGE": ("(optional) File with the list of available NFS shares."
|
||||
" Defaults to '/etc/cinder/shares.conf'."),
|
||||
"PROMPT": ("Enter a NetApp NFS share config file"),
|
||||
"OPTION_LIST": [""],
|
||||
"VALIDATORS": [],
|
||||
|
@ -381,13 +312,6 @@ def initConfig(controller):
|
|||
|
||||
"CINDERNETAPPISCSI7MODE": [
|
||||
{"CMD_OPTION": "cinder-netapp-volume-list",
|
||||
"USAGE": ("(optional) This parameter is only utilized when the "
|
||||
"storage protocol is configured to use iSCSI. This "
|
||||
"parameter is used to restrict provisioning to the "
|
||||
"specified controller volumes. Specify the value of "
|
||||
"this parameter to be a comma separated list of NetApp "
|
||||
"controller volume names to be used for provisioning. "
|
||||
"Defaults to ''."),
|
||||
"PROMPT": ("Enter a NetApp volume list"),
|
||||
"OPTION_LIST": [""],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -400,14 +324,6 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": False,
|
||||
"CONDITION": False},
|
||||
{"CMD_OPTION": "cinder-netapp-vfiler",
|
||||
"USAGE": ("(optional) The vFiler unit on which provisioning of "
|
||||
"block storage volumes will be done. This parameter is "
|
||||
"only used by the driver when connecting to an instance"
|
||||
" with a storage family of Data ONTAP operating in "
|
||||
"7-Mode and the storage protocol selected is iSCSI. "
|
||||
"Only use this parameter when utilizing the MultiStore "
|
||||
"feature on the NetApp storage system. "
|
||||
"Defaults to ''."),
|
||||
"PROMPT": ("Enter a NetApp vFiler"),
|
||||
"OPTION_LIST": [""],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -423,19 +339,6 @@ def initConfig(controller):
|
|||
|
||||
"CINDERNETAPPVSERVER": [
|
||||
{"CMD_OPTION": "cinder-netapp-vserver",
|
||||
"USAGE": ("(optional) This parameter specifies the virtual "
|
||||
"storage server (Vserver) name on the storage cluster "
|
||||
"on which provisioning of block storage volumes should "
|
||||
"occur. If using the NFS storage protocol, this "
|
||||
"parameter is mandatory for storage service catalog "
|
||||
"support (utilized by Cinder volume type extra_specs "
|
||||
"support). If this parameter is specified, the exports "
|
||||
"belonging to the Vserver will only be used for "
|
||||
"provisioning in the future. Block storage volumes on "
|
||||
"exports not belonging to the Vserver specified by this"
|
||||
" parameter will "
|
||||
"continue to function normally. "
|
||||
"Defaults to ''."),
|
||||
"PROMPT": ("Enter a NetApp Vserver"),
|
||||
"OPTION_LIST": [""],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -451,13 +354,6 @@ def initConfig(controller):
|
|||
|
||||
"CINDERNETAPPESERIES": [
|
||||
{"CMD_OPTION": "cinder-netapp-controller-ips",
|
||||
"USAGE": ("(optional) This option is only utilized when the "
|
||||
"storage family is configured to eseries. This option "
|
||||
"is used to restrict provisioning to the specified "
|
||||
"controllers. Specify the value of this option to be a "
|
||||
"comma separated list of controller hostnames or IP "
|
||||
"addresses to be used for provisioning. "
|
||||
"Defaults to ''."),
|
||||
"PROMPT": ("Enter a value"),
|
||||
"OPTION_LIST": [""],
|
||||
"VALIDATORS": [validators.validate_multi_ping],
|
||||
|
@ -470,9 +366,6 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": False,
|
||||
"CONDITION": False},
|
||||
{"CMD_OPTION": "cinder-netapp-sa-password",
|
||||
"USAGE": ("(optional) Password for the NetApp E-Series storage "
|
||||
"array. "
|
||||
"Defaults to ''."),
|
||||
"PROMPT": ("Enter a password"),
|
||||
"OPTION_LIST": [""],
|
||||
"VALIDATORS": [],
|
||||
|
@ -485,13 +378,6 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": False,
|
||||
"CONDITION": False},
|
||||
{"CMD_OPTION": "cinder-netapp-webservice-path",
|
||||
"USAGE": ("(optional) This option is used to specify the path to "
|
||||
"the E-Series proxy application on a proxy server. The "
|
||||
"value is combined with the value of the "
|
||||
"netapp_transport_type, netapp_server_hostname, and "
|
||||
"netapp_server_port options to create the URL used by "
|
||||
"the driver to connect to the proxy application. "
|
||||
"Defaults to '/devmgr/v2'."),
|
||||
"PROMPT": ("Enter a path"),
|
||||
"OPTION_LIST": ["^[/].*$"],
|
||||
"VALIDATORS": [validators.validate_regexp],
|
||||
|
@ -504,12 +390,6 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": False,
|
||||
"CONDITION": False},
|
||||
{"CMD_OPTION": "cinder-netapp-storage-pools",
|
||||
"USAGE": ("(optional) This option is used to restrict "
|
||||
"provisioning to the specified storage pools. Only "
|
||||
"dynamic disk pools are currently supported. Specify "
|
||||
"the value of this option to be a comma separated list "
|
||||
"of disk pool names to be used for provisioning. "
|
||||
"Defaults to ''."),
|
||||
"PROMPT": ("Enter a value"),
|
||||
"OPTION_LIST": [""],
|
||||
"VALIDATORS": [],
|
||||
|
@ -523,6 +403,7 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
]
|
||||
}
|
||||
update_params_usage(basedefs.PACKSTACK_DOC, conf_params)
|
||||
|
||||
conf_groups = [
|
||||
{"GROUP_NAME": "CINDER",
|
||||
|
|
|
@ -19,10 +19,12 @@ Installs and configures OpenStack Horizon
|
|||
import os
|
||||
import uuid
|
||||
|
||||
from packstack.installer import basedefs
|
||||
from packstack.installer import validators
|
||||
from packstack.installer import exceptions
|
||||
from packstack.installer import utils
|
||||
|
||||
from packstack.modules.documentation import update_params_usage
|
||||
from packstack.modules.ospluginutils import appendManifestFile
|
||||
from packstack.modules.ospluginutils import getManifestTemplate
|
||||
|
||||
|
@ -35,7 +37,6 @@ PLUGIN_NAME_COLORED = utils.color_text(PLUGIN_NAME, 'blue')
|
|||
def initConfig(controller):
|
||||
params = [
|
||||
{"CMD_OPTION": "os-horizon-ssl",
|
||||
"USAGE": "To set up Horizon communication over https set this to 'y'",
|
||||
"PROMPT": "Would you like to set up Horizon communication over https",
|
||||
"OPTION_LIST": ["y", "n"],
|
||||
"VALIDATORS": [validators.validate_options],
|
||||
|
@ -47,6 +48,7 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": False,
|
||||
"CONDITION": False},
|
||||
]
|
||||
update_params_usage(basedefs.PACKSTACK_DOC, params, sectioned=False)
|
||||
group = {"GROUP_NAME": "OSHORIZON",
|
||||
"DESCRIPTION": "OpenStack Horizon Config parameters",
|
||||
"PRE_CONDITION": "CONFIG_HORIZON_INSTALL",
|
||||
|
@ -104,6 +106,7 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": False,
|
||||
"CONDITION": False},
|
||||
]
|
||||
update_params_usage(basedefs.PACKSTACK_DOC, params, sectioned=False)
|
||||
group = {"GROUP_NAME": "OSSSL",
|
||||
"DESCRIPTION": "SSL Config parameters",
|
||||
"PRE_CONDITION": "CONFIG_HORIZON_SSL",
|
||||
|
|
|
@ -16,10 +16,12 @@
|
|||
Installs and configures Glance
|
||||
"""
|
||||
|
||||
from packstack.installer import basedefs
|
||||
from packstack.installer import validators
|
||||
from packstack.installer import processors
|
||||
from packstack.installer import utils
|
||||
|
||||
from packstack.modules.documentation import update_params_usage
|
||||
from packstack.modules.shortcuts import get_mq
|
||||
from packstack.modules.ospluginutils import appendManifestFile
|
||||
from packstack.modules.ospluginutils import createFirewallResources
|
||||
|
@ -34,7 +36,6 @@ PLUGIN_NAME_COLORED = utils.color_text(PLUGIN_NAME, 'blue')
|
|||
def initConfig(controller):
|
||||
params = [
|
||||
{"CMD_OPTION": "glance-db-passwd",
|
||||
"USAGE": "The password to use for the Glance to access DB",
|
||||
"PROMPT": "Enter the password for the Glance DB access",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -48,8 +49,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "glance-ks-passwd",
|
||||
"USAGE": ("The password to use for the Glance to authenticate "
|
||||
"with Keystone"),
|
||||
"PROMPT": "Enter the password for the Glance Keystone access",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -63,10 +62,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "glance-backend",
|
||||
"USAGE": ("Glance storage backend controls how Glance stores disk "
|
||||
"images. Supported values: file, swift. Note that Swift "
|
||||
"installation have to be enabled to have swift backend "
|
||||
"working. Otherwise Packstack will fallback to 'file'."),
|
||||
"PROMPT": "Glance storage backend",
|
||||
"OPTION_LIST": ["file", "swift"],
|
||||
"VALIDATORS": [validators.validate_options],
|
||||
|
@ -79,6 +74,7 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": False,
|
||||
"CONDITION": False},
|
||||
]
|
||||
update_params_usage(basedefs.PACKSTACK_DOC, params, sectioned=False)
|
||||
group = {"GROUP_NAME": "GLANCE",
|
||||
"DESCRIPTION": "Glance Config parameters",
|
||||
"PRE_CONDITION": "CONFIG_GLANCE_INSTALL",
|
||||
|
|
|
@ -18,10 +18,12 @@ Installs and configures Heat
|
|||
|
||||
import uuid
|
||||
|
||||
from packstack.installer import basedefs
|
||||
from packstack.installer import utils
|
||||
from packstack.installer import validators
|
||||
from packstack.installer import processors
|
||||
|
||||
from packstack.modules.documentation import update_params_usage
|
||||
from packstack.modules.shortcuts import get_mq
|
||||
from packstack.modules.ospluginutils import appendManifestFile
|
||||
from packstack.modules.ospluginutils import createFirewallResources
|
||||
|
@ -36,8 +38,6 @@ PLUGIN_NAME_COLORED = utils.color_text(PLUGIN_NAME, 'blue')
|
|||
def initConfig(controller):
|
||||
parameters = [
|
||||
{"CMD_OPTION": "os-heat-mysql-password",
|
||||
"USAGE": ('The password used by Heat user to authenticate against '
|
||||
'DB'),
|
||||
"PROMPT": "Enter the password for the Heat DB user",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -51,8 +51,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "heat-auth-encryption-key",
|
||||
"USAGE": ("The encryption key to use for authentication info "
|
||||
"in database (16, 24, or 32 chars)"),
|
||||
"PROMPT": ("Enter the authentication key for Heat to use for "
|
||||
"authenticate info in database (16, 24, or 32 chars)"),
|
||||
"OPTION_LIST": [],
|
||||
|
@ -66,8 +64,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "os-heat-ks-passwd",
|
||||
"USAGE": ("The password to use for the Heat to authenticate "
|
||||
"with Keystone"),
|
||||
"PROMPT": "Enter the password for the Heat Keystone access",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -81,8 +77,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "os-heat-cloudwatch-install",
|
||||
"USAGE": ("Set to 'y' if you would like Packstack to install Heat "
|
||||
"CloudWatch API"),
|
||||
"PROMPT": "Should Packstack install Heat CloudWatch API",
|
||||
"OPTION_LIST": ["y", "n"],
|
||||
"VALIDATORS": [validators.validate_options],
|
||||
|
@ -95,8 +89,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "os-heat-cfn-install",
|
||||
"USAGE": ("Set to 'y' if you would like Packstack to install Heat "
|
||||
"CloudFormation API"),
|
||||
"PROMPT": "Should Packstack install Heat CloudFormation API",
|
||||
"OPTION_LIST": ["y", "n"],
|
||||
"VALIDATORS": [validators.validate_options],
|
||||
|
@ -109,7 +101,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "os-heat-domain",
|
||||
"USAGE": "Name of Keystone domain for Heat",
|
||||
"PROMPT": "Enter name of Keystone domain for Heat",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -122,7 +113,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "os-heat-domain-admin",
|
||||
"USAGE": "Name of Keystone domain admin user for Heat",
|
||||
"PROMPT": "Enter name of Keystone domain admin user for Heat",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -135,7 +125,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "os-heat-domain-password",
|
||||
"USAGE": "Password for Keystone domain admin user for Heat",
|
||||
"PROMPT": "Enter password for Keystone domain admin user for Heat",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -148,6 +137,7 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": True,
|
||||
"CONDITION": False},
|
||||
]
|
||||
update_params_usage(basedefs.PACKSTACK_DOC, parameters, sectioned=False)
|
||||
group = {"GROUP_NAME": "Heat",
|
||||
"DESCRIPTION": "Heat Config parameters",
|
||||
"PRE_CONDITION": "CONFIG_HEAT_INSTALL",
|
||||
|
|
|
@ -16,10 +16,12 @@
|
|||
Installs and configures Ironic
|
||||
"""
|
||||
|
||||
from packstack.installer import basedefs
|
||||
from packstack.installer import utils
|
||||
from packstack.installer import validators
|
||||
from packstack.installer import processors
|
||||
|
||||
from packstack.modules.documentation import update_params_usage
|
||||
from packstack.modules.shortcuts import get_mq
|
||||
from packstack.modules.ospluginutils import appendManifestFile
|
||||
from packstack.modules.ospluginutils import createFirewallResources
|
||||
|
@ -36,7 +38,6 @@ def initConfig(controller):
|
|||
{"CONF_NAME": "CONFIG_IRONIC_DB_PW",
|
||||
"CMD_OPTION": "os-ironic-db-passwd",
|
||||
"PROMPT": "Enter the password for the Ironic DB user",
|
||||
"USAGE": "The password to use for the Ironic DB access",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
"DEFAULT_VALUE": "PW_PLACEHOLDER",
|
||||
|
@ -49,8 +50,6 @@ def initConfig(controller):
|
|||
|
||||
{"CONF_NAME": "CONFIG_IRONIC_KS_PW",
|
||||
"CMD_OPTION": "os-ironic-ks-passwd",
|
||||
"USAGE": ("The password to use for Ironic to authenticate "
|
||||
"with Keystone"),
|
||||
"PROMPT": "Enter the password for Ironic Keystone access",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -62,7 +61,7 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": True,
|
||||
"CONDITION": False},
|
||||
]
|
||||
|
||||
update_params_usage(basedefs.PACKSTACK_DOC, ironic_params, sectioned=False)
|
||||
ironic_group = {"GROUP_NAME": "IRONIC",
|
||||
"DESCRIPTION": "Ironic Options",
|
||||
"PRE_CONDITION": "CONFIG_IRONIC_INSTALL",
|
||||
|
|
|
@ -18,10 +18,12 @@ Installs and configures Keystone
|
|||
|
||||
import uuid
|
||||
|
||||
from packstack.installer import basedefs
|
||||
from packstack.installer import validators
|
||||
from packstack.installer import processors
|
||||
from packstack.installer import utils
|
||||
|
||||
from packstack.modules.documentation import update_params_usage
|
||||
from packstack.modules.ospluginutils import appendManifestFile
|
||||
from packstack.modules.ospluginutils import createFirewallResources
|
||||
from packstack.modules.ospluginutils import getManifestTemplate
|
||||
|
@ -36,7 +38,6 @@ def initConfig(controller):
|
|||
keystone_params = {
|
||||
"KEYSTONE": [ # base keystone options
|
||||
{"CMD_OPTION": "keystone-db-passwd",
|
||||
"USAGE": "The password to use for the Keystone to access DB",
|
||||
"PROMPT": "Enter the password for the Keystone DB access",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -50,7 +51,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-region",
|
||||
"USAGE": "Region name",
|
||||
"PROMPT": "Region name",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -63,7 +63,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-admin-token",
|
||||
"USAGE": "The token to use for the Keystone service api",
|
||||
"PROMPT": "The token to use for the Keystone service api",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -76,7 +75,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-admin-passwd",
|
||||
"USAGE": "The password to use for the Keystone admin user",
|
||||
"PROMPT": "Enter the password for the Keystone admin user",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -90,7 +88,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-demo-passwd",
|
||||
"USAGE": "The password to use for the Keystone demo user",
|
||||
"PROMPT": "Enter the password for the Keystone demo user",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -104,7 +101,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-api-version",
|
||||
"USAGE": "Keystone API version string",
|
||||
"PROMPT": "Enter the Keystone API version string.",
|
||||
"OPTION_LIST": ['v2.0', 'v3'],
|
||||
"VALIDATORS": [validators.validate_options],
|
||||
|
@ -117,7 +113,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-token-format",
|
||||
"USAGE": "Keystone token format. Use either UUID or PKI",
|
||||
"PROMPT": "Enter the Keystone token format.",
|
||||
"OPTION_LIST": ['UUID', 'PKI'],
|
||||
"VALIDATORS": [validators.validate_options],
|
||||
|
@ -130,9 +125,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-service-name",
|
||||
"USAGE": (
|
||||
"Name of service to use to run keystone (keystone or httpd)"
|
||||
),
|
||||
"PROMPT": "Enter the Keystone service name.",
|
||||
"OPTION_LIST": ['keystone', 'httpd'],
|
||||
"VALIDATORS": [validators.validate_options],
|
||||
|
@ -145,7 +137,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-identity-backend",
|
||||
"USAGE": "Type of identity backend (sql or ldap)",
|
||||
"PROMPT": "Enter the Keystone identity backend type.",
|
||||
"OPTION_LIST": ['sql', 'ldap'],
|
||||
"VALIDATORS": [validators.validate_options],
|
||||
|
@ -160,7 +151,6 @@ def initConfig(controller):
|
|||
|
||||
"KEYSTONE_LDAP": [ # keystone ldap identity backend options
|
||||
{"CMD_OPTION": "keystone-ldap-url",
|
||||
"USAGE": "Keystone LDAP backend URL",
|
||||
"PROMPT": "Enter the Keystone LDAP backend URL.",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_ldap_url],
|
||||
|
@ -173,11 +163,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-user-dn",
|
||||
"USAGE": (
|
||||
"Keystone LDAP backend user DN. Used to bind to the LDAP "
|
||||
"server when the LDAP server does not allow anonymous "
|
||||
"authentication."
|
||||
),
|
||||
"PROMPT": "Enter the Keystone LDAP user DN.",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_ldap_dn],
|
||||
|
@ -190,7 +175,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-user-password",
|
||||
"USAGE": "Keystone LDAP backend password for user DN",
|
||||
"PROMPT": "Enter the Keystone LDAP user password.",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [],
|
||||
|
@ -204,7 +188,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-suffix",
|
||||
"USAGE": "Keystone LDAP backend base suffix",
|
||||
"PROMPT": "Enter the Keystone LDAP suffix.",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty,
|
||||
|
@ -218,7 +201,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-query-scope",
|
||||
"USAGE": "Keystone LDAP backend query scope (base, one, sub)",
|
||||
"PROMPT": "Enter the Keystone LDAP query scope.",
|
||||
"OPTION_LIST": ['base', 'one', 'sub'],
|
||||
"VALIDATORS": [validators.validate_options],
|
||||
|
@ -231,7 +213,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-page-size",
|
||||
"USAGE": "Keystone LDAP backend query page size",
|
||||
"PROMPT": "Enter the Keystone LDAP query page size.",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_integer],
|
||||
|
@ -244,7 +225,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-user-subtree",
|
||||
"USAGE": "Keystone LDAP backend user subtree",
|
||||
"PROMPT": "Enter the Keystone LDAP user subtree.",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty,
|
||||
|
@ -258,7 +238,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-user-filter",
|
||||
"USAGE": "Keystone LDAP backend user query filter",
|
||||
"PROMPT": "Enter the Keystone LDAP user query filter.",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [],
|
||||
|
@ -271,7 +250,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-user-objectclass",
|
||||
"USAGE": "Keystone LDAP backend user objectclass",
|
||||
"PROMPT": "Enter the Keystone LDAP user objectclass.",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [],
|
||||
|
@ -284,7 +262,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-user-id-attribute",
|
||||
"USAGE": "Keystone LDAP backend user ID attribute",
|
||||
"PROMPT": "Enter the Keystone LDAP user ID attribute.",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [],
|
||||
|
@ -297,7 +274,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-user-name-attribute",
|
||||
"USAGE": "Keystone LDAP backend user name attribute",
|
||||
"PROMPT": "Enter the Keystone LDAP user name attribute.",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [],
|
||||
|
@ -310,7 +286,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-user-mail-attribute",
|
||||
"USAGE": "Keystone LDAP backend user email address attribute",
|
||||
"PROMPT": "Enter the Keystone LDAP user email address attribute.",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [],
|
||||
|
@ -323,7 +298,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-user-enabled-attribute",
|
||||
"USAGE": "Keystone LDAP backend user enabled attribute",
|
||||
"PROMPT": "Enter the Keystone LDAP user enabled attribute.",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [],
|
||||
|
@ -336,10 +310,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-user-enabled-mask",
|
||||
"USAGE": (
|
||||
"Keystone LDAP backend - bit mask applied to "
|
||||
"user enabled attribute"
|
||||
),
|
||||
"PROMPT": "Enter the Keystone LDAP user enabled mask.",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_integer],
|
||||
|
@ -352,10 +322,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-user-enabled-default",
|
||||
"USAGE": (
|
||||
"Keystone LDAP backend - value of enabled attribute which "
|
||||
"indicates user is enabled"
|
||||
),
|
||||
"PROMPT": "Enter the Keystone LDAP user enabled default.",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [],
|
||||
|
@ -368,7 +334,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-user-enabled-invert",
|
||||
"USAGE": "Keystone LDAP backend - users are disabled not enabled",
|
||||
"PROMPT": "Enter the Keystone LDAP user enabled invert (n or y).",
|
||||
"OPTION_LIST": ['n', 'y'],
|
||||
"VALIDATORS": [validators.validate_options],
|
||||
|
@ -381,10 +346,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-user-attribute-ignore",
|
||||
"USAGE": (
|
||||
"Comma separated list of attributes stripped "
|
||||
"from user entry upon update"
|
||||
),
|
||||
"PROMPT": (
|
||||
"Enter the comma separated Keystone LDAP user "
|
||||
"attributes to ignore."
|
||||
|
@ -399,10 +360,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-user-default-project-id-attribute",
|
||||
"USAGE": (
|
||||
"Keystone LDAP attribute mapped to default_project_id "
|
||||
"for users"
|
||||
),
|
||||
"PROMPT": (
|
||||
"Enter the Keystone LDAP user default_project_id attribute."
|
||||
),
|
||||
|
@ -417,11 +374,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-user-allow-create",
|
||||
"USAGE": (
|
||||
"Set to 'y' if you want to be able to create Keystone "
|
||||
"users through the Keystone interface. Set to 'n' if you "
|
||||
"will create directly in the LDAP backend."
|
||||
),
|
||||
"PROMPT": (
|
||||
"Do you want to allow user create through Keystone (n or y)."
|
||||
),
|
||||
|
@ -436,11 +388,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-user-allow-update",
|
||||
"USAGE": (
|
||||
"Set to 'y' if you want to be able to update Keystone "
|
||||
"users through the Keystone interface. Set to 'n' if you "
|
||||
"will update directly in the LDAP backend."
|
||||
),
|
||||
"PROMPT": (
|
||||
"Do you want to allow user update through Keystone (n or y)."
|
||||
),
|
||||
|
@ -455,11 +402,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-user-allow-delete",
|
||||
"USAGE": (
|
||||
"Set to 'y' if you want to be able to delete Keystone "
|
||||
"users through the Keystone interface. Set to 'n' if you "
|
||||
"will delete directly in the LDAP backend."
|
||||
),
|
||||
"PROMPT": (
|
||||
"Do you want to allow user delete through Keystone (n or y)."
|
||||
),
|
||||
|
@ -474,7 +416,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-user-pass-attribute",
|
||||
"USAGE": "Keystone LDAP attribute mapped to password",
|
||||
"PROMPT": "Enter the Keystone LDAP user password attribute.",
|
||||
"OPTION_LIST": [],
|
||||
"DEFAULT_VALUE": "",
|
||||
|
@ -486,10 +427,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-user-enabled-emulation-dn",
|
||||
"USAGE": (
|
||||
"DN of the group entry to hold enabled users when "
|
||||
"using enabled emulation."
|
||||
),
|
||||
"PROMPT": "Enter the Keystone LDAP enabled emulation DN.",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_ldap_dn],
|
||||
|
@ -502,13 +439,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-user-additional-attribute-mapping",
|
||||
"USAGE": (
|
||||
'List of additional LDAP attributes used for mapping '
|
||||
'additional attribute mappings for users. Attribute '
|
||||
'mapping format is <ldap_attr>:<user_attr>, where '
|
||||
'ldap_attr is the attribute in the LDAP entry and '
|
||||
'user_attr is the Identity API attribute.'
|
||||
),
|
||||
"PROMPT": (
|
||||
"Enter the comma separated Keystone LDAP user additional "
|
||||
"attribute mappings in the form "
|
||||
|
@ -525,7 +455,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-group-subtree",
|
||||
"USAGE": "Keystone LDAP backend group subtree",
|
||||
"PROMPT": "Enter the Keystone LDAP group subtree.",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty,
|
||||
|
@ -539,7 +468,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-group-filter",
|
||||
"USAGE": "Keystone LDAP backend group query filter",
|
||||
"PROMPT": "Enter the Keystone LDAP group query filter.",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [],
|
||||
|
@ -552,7 +480,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-group-objectclass",
|
||||
"USAGE": "Keystone LDAP backend group objectclass",
|
||||
"PROMPT": "Enter the Keystone LDAP group objectclass.",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [],
|
||||
|
@ -565,7 +492,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-group-id-attribute",
|
||||
"USAGE": "Keystone LDAP backend group ID attribute",
|
||||
"PROMPT": "Enter the Keystone LDAP group ID attribute.",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [],
|
||||
|
@ -578,7 +504,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-group-name-attribute",
|
||||
"USAGE": "Keystone LDAP backend group name attribute",
|
||||
"PROMPT": "Enter the Keystone LDAP group name attribute.",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [],
|
||||
|
@ -591,7 +516,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-group-member-attribute",
|
||||
"USAGE": "Keystone LDAP backend group member attribute",
|
||||
"PROMPT": "Enter the Keystone LDAP group member attribute.",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [],
|
||||
|
@ -604,7 +528,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-group-desc-attribute",
|
||||
"USAGE": "Keystone LDAP backend group description attribute",
|
||||
"PROMPT": "Enter the Keystone LDAP group description attribute.",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [],
|
||||
|
@ -617,10 +540,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-group-attribute-ignore",
|
||||
"USAGE": (
|
||||
"Comma separated list of attributes stripped from "
|
||||
"group entry upon update"
|
||||
),
|
||||
"PROMPT": (
|
||||
"Enter the comma separated Keystone LDAP group "
|
||||
"attributes to ignore."
|
||||
|
@ -635,11 +554,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-group-allow-create",
|
||||
"USAGE": (
|
||||
"Set to 'y' if you want to be able to create Keystone "
|
||||
"groups through the Keystone interface. Set to 'n' if you "
|
||||
"will create directly in the LDAP backend."
|
||||
),
|
||||
"PROMPT": (
|
||||
"Do you want to allow group create through Keystone (n or y)."
|
||||
),
|
||||
|
@ -654,11 +568,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-group-allow-update",
|
||||
"USAGE": (
|
||||
"Set to 'y' if you want to be able to update Keystone "
|
||||
"groups through the Keystone interface. Set to 'n' if you "
|
||||
"will update directly in the LDAP backend."
|
||||
),
|
||||
"PROMPT": (
|
||||
"Do you want to allow group update through Keystone (n or y)."
|
||||
),
|
||||
|
@ -673,11 +582,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-group-allow-delete",
|
||||
"USAGE": (
|
||||
"Set to 'y' if you want to be able to delete Keystone "
|
||||
"groups through the Keystone interface. Set to 'n' if you "
|
||||
"will delete directly in the LDAP backend."
|
||||
),
|
||||
"PROMPT": (
|
||||
"Do you want to allow group delete through Keystone (n or y)."
|
||||
),
|
||||
|
@ -692,13 +596,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-group-additional-attribute-mapping",
|
||||
"USAGE": (
|
||||
'List of additional LDAP attributes used for mapping '
|
||||
'additional attribute mappings for groups. Attribute '
|
||||
'mapping format is <ldap_attr>:<group_attr>, where '
|
||||
'ldap_attr is the attribute in the LDAP entry and '
|
||||
'group_attr is the Identity API attribute.'
|
||||
),
|
||||
"PROMPT": (
|
||||
"Enter the comma separated Keystone LDAP group additional "
|
||||
"attribute mappings in the form "
|
||||
|
@ -715,7 +612,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-use-tls",
|
||||
"USAGE": "Should Keystone LDAP use TLS",
|
||||
"PROMPT": (
|
||||
"Enable TLS for Keystone communicating with "
|
||||
"LDAP servers (n or y)."
|
||||
|
@ -731,7 +627,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-tls-cacertdir",
|
||||
"USAGE": "Keystone LDAP CA certificate directory",
|
||||
"PROMPT": "CA Certificate directory for Keystone LDAP.",
|
||||
"OPTION_LIST": [],
|
||||
"DEFAULT_VALUE": "",
|
||||
|
@ -743,7 +638,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-tls-cacertfile",
|
||||
"USAGE": "Keystone LDAP CA certificate file",
|
||||
"PROMPT": "CA Certificate file for Keystone LDAP.",
|
||||
"OPTION_LIST": [],
|
||||
"DEFAULT_VALUE": "",
|
||||
|
@ -755,10 +649,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "keystone-ldap-tls-req-cert",
|
||||
"USAGE": (
|
||||
"Keystone LDAP certificate checking strictness "
|
||||
"(never, allow, demand)"
|
||||
),
|
||||
"PROMPT": (
|
||||
"Keystone LDAP certificate checking strictness "
|
||||
"(never, allow, demand)"
|
||||
|
@ -774,7 +664,7 @@ def initConfig(controller):
|
|||
"CONDITION": False}
|
||||
]
|
||||
}
|
||||
|
||||
update_params_usage(basedefs.PACKSTACK_DOC, keystone_params)
|
||||
keystone_groups = [
|
||||
{"GROUP_NAME": "KEYSTONE",
|
||||
"DESCRIPTION": "Keystone Config parameters",
|
||||
|
|
|
@ -15,10 +15,13 @@
|
|||
"""
|
||||
Installs and configures Manila
|
||||
"""
|
||||
|
||||
from packstack.installer import basedefs
|
||||
from packstack.installer import processors
|
||||
from packstack.installer import validators
|
||||
from packstack.installer import utils
|
||||
|
||||
from packstack.modules.documentation import update_params_usage
|
||||
from packstack.modules.shortcuts import get_mq
|
||||
from packstack.modules.ospluginutils import getManifestTemplate
|
||||
from packstack.modules.ospluginutils import appendManifestFile
|
||||
|
@ -34,7 +37,6 @@ def initConfig(controller):
|
|||
conf_params = {
|
||||
"MANILA": [
|
||||
{"CMD_OPTION": "manila-db-passwd",
|
||||
"USAGE": "The password to use for the Manila to access DB",
|
||||
"PROMPT": "Enter the password for the Manila DB access",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -48,8 +50,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "manila-ks-passwd",
|
||||
"USAGE": ("The password to use for the Manila to authenticate "
|
||||
"with Keystone"),
|
||||
"PROMPT": "Enter the password for the Manila Keystone access",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -63,8 +63,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "manila-backend",
|
||||
"USAGE": ("The Manila backend to use, valid options are: "
|
||||
"generic, netapp"),
|
||||
"PROMPT": "Enter the Manila backend to be configured",
|
||||
"OPTION_LIST": ["generic", "netapp"],
|
||||
"VALIDATORS": [validators.validate_options],
|
||||
|
@ -79,10 +77,6 @@ def initConfig(controller):
|
|||
|
||||
"MANILANETAPP": [
|
||||
{"CMD_OPTION": "manila-netapp-nas-transport-type",
|
||||
"USAGE": ("The transport protocol used when "
|
||||
"communicating with ONTAPI on the storage system or "
|
||||
"proxy server. Valid values are http or https. "
|
||||
"Defaults to http"),
|
||||
"PROMPT": ("Enter a NetApp transport type"),
|
||||
"OPTION_LIST": ["http", "https"],
|
||||
"VALIDATORS": [validators.validate_options],
|
||||
|
@ -95,8 +89,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "manila-netapp-nas-login",
|
||||
"USAGE": ("Administrative user account name used to "
|
||||
"access the storage system or proxy server. "),
|
||||
"PROMPT": ("Enter a NetApp login"),
|
||||
"OPTION_LIST": [""],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -109,8 +101,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "manila-netapp-nas-password",
|
||||
"USAGE": ("Password for the administrative user "
|
||||
"account specified in the netapp_nas_login parameter."),
|
||||
"PROMPT": ("Enter a NetApp password"),
|
||||
"OPTION_LIST": [""],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -123,8 +113,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "manila-netapp-nas-server-hostname",
|
||||
"USAGE": ("The hostname (or IP address) for the "
|
||||
"storage system or proxy server."),
|
||||
"PROMPT": ("Enter a NetApp hostname"),
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -138,8 +126,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "manila-netapp-aggregate-name-search-pattern",
|
||||
"USAGE": ("Pattern for searching available aggregates "
|
||||
"for provisioning."),
|
||||
"PROMPT": ("Enter a NetApp aggregate name search pattern"),
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -152,8 +138,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "manila-netapp-root-volume-aggregate",
|
||||
"USAGE": ("Name of aggregate to create root volume "
|
||||
"on. "),
|
||||
"PROMPT": ("Enter a NetApp root volume aggregate"),
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -166,7 +150,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "manila-netapp-root-volume-name",
|
||||
"USAGE": ("Root volume name. "),
|
||||
"PROMPT": ("Enter a NetApp root volume name"),
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -181,8 +164,6 @@ def initConfig(controller):
|
|||
|
||||
"MANILAGENERIC": [
|
||||
{"CMD_OPTION": "manila-generic-volume-name-template",
|
||||
"USAGE": ("Volume name template. "
|
||||
"Defaults to manila-share-%s"),
|
||||
"PROMPT": ("Enter a volume name template"),
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -195,8 +176,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "manila-generic-share-mount-path",
|
||||
"USAGE": ("Share mount path. "
|
||||
"Defaults to /shares"),
|
||||
"PROMPT": ("Enter a share mount path"),
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -209,8 +188,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "manila-service-image-location",
|
||||
"USAGE": ("Location of disk image for service "
|
||||
"instance."),
|
||||
"PROMPT": ("Enter a service image location"),
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -224,7 +201,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "manila-service-instance-user",
|
||||
"USAGE": ("User in service instance."),
|
||||
"PROMPT": ("Enter a service instance user"),
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -237,7 +213,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "manila-service-instance-password",
|
||||
"USAGE": ("Password to service instance user."),
|
||||
"PROMPT": ("Enter a service instance password"),
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -250,7 +225,7 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
]
|
||||
}
|
||||
|
||||
update_params_usage(basedefs.PACKSTACK_DOC, conf_params)
|
||||
conf_groups = [
|
||||
{"GROUP_NAME": "MANILA",
|
||||
"DESCRIPTION": "Manila Config parameters",
|
||||
|
|
|
@ -16,11 +16,13 @@
|
|||
Installs and configures MariaDB
|
||||
"""
|
||||
|
||||
from packstack.installer import basedefs
|
||||
from packstack.installer import validators
|
||||
from packstack.installer import processors
|
||||
from packstack.installer import utils
|
||||
from packstack.modules.common import filtered_hosts
|
||||
|
||||
from packstack.modules.common import filtered_hosts
|
||||
from packstack.modules.documentation import update_params_usage
|
||||
from packstack.modules.ospluginutils import appendManifestFile
|
||||
from packstack.modules.ospluginutils import createFirewallResources
|
||||
from packstack.modules.ospluginutils import getManifestTemplate
|
||||
|
@ -34,9 +36,6 @@ PLUGIN_NAME_COLORED = utils.color_text(PLUGIN_NAME, 'blue')
|
|||
def initConfig(controller):
|
||||
params = [
|
||||
{"CMD_OPTION": "mariadb-host",
|
||||
"USAGE": ("The IP address of the server on which to install MariaDB "
|
||||
"or IP address of DB server to use if MariaDB "
|
||||
"installation was not selected"),
|
||||
"PROMPT": "Enter the IP address of the MariaDB server",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_ssh],
|
||||
|
@ -78,6 +77,7 @@ def initConfig(controller):
|
|||
"CONDITION": False,
|
||||
"DEPRECATES": ['CONFIG_MYSQL_PW']},
|
||||
]
|
||||
update_params_usage(basedefs.PACKSTACK_DOC, params, sectioned=False)
|
||||
group = {"GROUP_NAME": "MARIADB",
|
||||
"DESCRIPTION": "MariaDB Config parameters",
|
||||
"PRE_CONDITION": lambda x: 'yes',
|
||||
|
|
|
@ -16,10 +16,12 @@
|
|||
Installs and configures Nagios
|
||||
"""
|
||||
|
||||
from packstack.installer import basedefs
|
||||
from packstack.installer import validators
|
||||
from packstack.installer import processors
|
||||
from packstack.installer import utils
|
||||
|
||||
from packstack.modules.documentation import update_params_usage
|
||||
from packstack.modules.common import filtered_hosts
|
||||
from packstack.modules.ospluginutils import appendManifestFile
|
||||
from packstack.modules.ospluginutils import createFirewallResources
|
||||
|
@ -34,7 +36,6 @@ PLUGIN_NAME_COLORED = utils.color_text(PLUGIN_NAME, 'blue')
|
|||
def initConfig(controller):
|
||||
params = [
|
||||
{"CMD_OPTION": "nagios-passwd",
|
||||
"USAGE": "The password of the nagiosadmin user on the Nagios server",
|
||||
"PROMPT": "Enter the password for the nagiosadmin user",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -47,6 +48,7 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": False,
|
||||
"CONDITION": False},
|
||||
]
|
||||
update_params_usage(basedefs.PACKSTACK_DOC, params, sectioned=False)
|
||||
group = {"GROUP_NAME": "NAGIOS",
|
||||
"DESCRIPTION": "Nagios Config parameters",
|
||||
"PRE_CONDITION": "CONFIG_NAGIOS_INSTALL",
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
Installs and configures Neutron
|
||||
"""
|
||||
|
||||
from packstack.installer import basedefs
|
||||
from packstack.installer import utils
|
||||
from packstack.installer import validators
|
||||
from packstack.installer import processors
|
||||
|
@ -23,6 +24,7 @@ from packstack.installer import output_messages
|
|||
from packstack.installer.utils import split_hosts
|
||||
|
||||
from packstack.modules.common import filtered_hosts
|
||||
from packstack.modules.documentation import update_params_usage
|
||||
from packstack.modules.shortcuts import get_mq
|
||||
from packstack.modules.ospluginutils import appendManifestFile
|
||||
from packstack.modules.ospluginutils import createFirewallResources
|
||||
|
@ -38,8 +40,6 @@ def initConfig(controller):
|
|||
conf_params = {
|
||||
"NEUTRON": [
|
||||
{"CMD_OPTION": "os-neutron-ks-password",
|
||||
"USAGE": ("The password to use for Neutron to authenticate "
|
||||
"with Keystone"),
|
||||
"PROMPT": "Enter the password for Neutron Keystone access",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -53,7 +53,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "os-neutron-db-password",
|
||||
"USAGE": "The password to use for Neutron to access DB",
|
||||
"PROMPT": "Enter the password for Neutron DB access",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -67,9 +66,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "os-neutron-l3-ext-bridge",
|
||||
"USAGE": ("The name of the ovs bridge (or empty for linuxbridge)"
|
||||
" that the Neutron L3 agent will use for external "
|
||||
" traffic, or 'provider' using provider networks. "),
|
||||
"PROMPT": ("Enter the ovs bridge the Neutron L3 agent will use "
|
||||
"for external traffic, or 'provider' if using "
|
||||
"provider networks."),
|
||||
|
@ -84,7 +80,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "os-neutron-metadata-pw",
|
||||
"USAGE": "Neutron metadata agent password",
|
||||
"PROMPT": "Enter Neutron metadata agent password",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -98,8 +93,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "os-neutron-lbaas-install",
|
||||
"USAGE": ("Set to 'y' if you would like Packstack to install "
|
||||
"Neutron LBaaS"),
|
||||
"PROMPT": "Should Packstack install Neutron LBaaS",
|
||||
"OPTION_LIST": ["y", "n"],
|
||||
"VALIDATORS": [validators.validate_options],
|
||||
|
@ -112,8 +105,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "os-neutron-metering-agent-install",
|
||||
"USAGE": ("Set to 'y' if you would like Packstack to install "
|
||||
"Neutron L3 Metering agent"),
|
||||
"PROMPT": ("Should Packstack install Neutron L3 Metering agent"),
|
||||
"OPTION_LIST": ["y", "n"],
|
||||
"VALIDATORS": [validators.validate_options],
|
||||
|
@ -126,7 +117,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "neutron-fwaas",
|
||||
"USAGE": ("Whether to configure neutron Firewall as a Service"),
|
||||
"PROMPT": "Would you like to configure neutron FWaaS?",
|
||||
"OPTION_LIST": ["y", "n"],
|
||||
"VALIDATORS": [validators.validate_options],
|
||||
|
@ -141,9 +131,6 @@ def initConfig(controller):
|
|||
|
||||
"NEUTRON_LB_AGENT": [
|
||||
{"CMD_OPTION": "os-neutron-lb-interface-mappings",
|
||||
"USAGE": ("A comma separated list of interface mappings for the "
|
||||
"Neutron linuxbridge plugin (eg. physnet1:eth1,"
|
||||
"physnet2:eth2,physnet3:eth3)"),
|
||||
"PROMPT": ("Enter a comma separated list of interface mappings "
|
||||
"for the Neutron linuxbridge plugin"),
|
||||
"OPTION_LIST": [],
|
||||
|
@ -159,9 +146,6 @@ def initConfig(controller):
|
|||
|
||||
"NEUTRON_OVS_AGENT": [
|
||||
{"CMD_OPTION": "os-neutron-ovs-bridge-mappings",
|
||||
"USAGE": ("A comma separated list of bridge mappings for the "
|
||||
"Neutron openvswitch plugin (eg. physnet1:br-eth1,"
|
||||
"physnet2:br-eth2,physnet3:br-eth3)"),
|
||||
"PROMPT": ("Enter a comma separated list of bridge mappings for "
|
||||
"the Neutron openvswitch plugin"),
|
||||
"OPTION_LIST": [],
|
||||
|
@ -175,9 +159,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "os-neutron-ovs-bridge-interfaces",
|
||||
"USAGE": ("A comma separated list of colon-separated OVS "
|
||||
"bridge:interface pairs. The interface will be added "
|
||||
"to the associated bridge."),
|
||||
"PROMPT": ("Enter a comma separated list of OVS bridge:interface "
|
||||
"pairs for the Neutron openvswitch plugin"),
|
||||
"OPTION_LIST": [],
|
||||
|
@ -193,10 +174,6 @@ def initConfig(controller):
|
|||
|
||||
"NEUTRON_OVS_AGENT_TUNNEL": [
|
||||
{"CMD_OPTION": "os-neutron-ovs-tunnel-if",
|
||||
"USAGE": ("The interface for the OVS tunnel. Packstack will "
|
||||
"override the IP address used for tunnels on this "
|
||||
"hypervisor to the IP found on the specified interface."
|
||||
" (eg. eth1)"),
|
||||
"PROMPT": ("Enter interface with IP to override the default "
|
||||
"tunnel local_ip"),
|
||||
"OPTION_LIST": [],
|
||||
|
@ -213,7 +190,6 @@ def initConfig(controller):
|
|||
"NEUTRON_OVS_AGENT_VXLAN": [
|
||||
{"CMD_OPTION": "os-neutron-ovs-vxlan-udp-port",
|
||||
"CONF_NAME": "CONFIG_NEUTRON_OVS_VXLAN_UDP_PORT",
|
||||
"USAGE": "VXLAN UDP port",
|
||||
"PROMPT": "Enter VXLAN UDP port number",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_port],
|
||||
|
@ -228,9 +204,6 @@ def initConfig(controller):
|
|||
"NEUTRON_ML2_PLUGIN": [
|
||||
{"CMD_OPTION": "os-neutron-ml2-type-drivers",
|
||||
"CONF_NAME": "CONFIG_NEUTRON_ML2_TYPE_DRIVERS",
|
||||
"USAGE": ("A comma separated list of network type driver "
|
||||
"entrypoints to be loaded from the "
|
||||
"neutron.ml2.type_drivers namespace."),
|
||||
"PROMPT": ("Enter a comma separated list of network type driver "
|
||||
"entrypoints"),
|
||||
"OPTION_LIST": ["local", "flat", "vlan", "gre", "vxlan"],
|
||||
|
@ -244,10 +217,6 @@ def initConfig(controller):
|
|||
|
||||
{"CMD_OPTION": "os-neutron-ml2-tenant-network-types",
|
||||
"CONF_NAME": "CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES",
|
||||
"USAGE": ("A comma separated ordered list of network_types to "
|
||||
"allocate as tenant networks. The value 'local' is "
|
||||
"only useful for single-box testing but provides no "
|
||||
"connectivity between hosts."),
|
||||
"PROMPT": ("Enter a comma separated ordered list of "
|
||||
"network_types to allocate as tenant networks"),
|
||||
"OPTION_LIST": ["local", "vlan", "gre", "vxlan"],
|
||||
|
@ -261,9 +230,6 @@ def initConfig(controller):
|
|||
|
||||
{"CMD_OPTION": "os-neutron-ml2-mechanism-drivers",
|
||||
"CONF_NAME": "CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS",
|
||||
"USAGE": ("A comma separated ordered list of networking "
|
||||
"mechanism driver entrypoints to be loaded from the "
|
||||
"neutron.ml2.mechanism_drivers namespace."),
|
||||
"PROMPT": ("Enter a comma separated ordered list of networking "
|
||||
"mechanism driver entrypoints"),
|
||||
"OPTION_LIST": ["logger", "test", "linuxbridge", "openvswitch",
|
||||
|
@ -279,10 +245,6 @@ def initConfig(controller):
|
|||
|
||||
{"CMD_OPTION": "os-neutron-ml2-flat-networks",
|
||||
"CONF_NAME": "CONFIG_NEUTRON_ML2_FLAT_NETWORKS",
|
||||
"USAGE": ("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."),
|
||||
"PROMPT": ("Enter a comma separated list of physical_network "
|
||||
"names with which flat networks can be created"),
|
||||
"OPTION_LIST": [],
|
||||
|
@ -296,12 +258,6 @@ def initConfig(controller):
|
|||
|
||||
{"CMD_OPTION": "os-neutron-ml2-vlan-ranges",
|
||||
"CONF_NAME": "CONFIG_NEUTRON_ML2_VLAN_RANGES",
|
||||
"USAGE": ("A comma separated list of <physical_network>:"
|
||||
"<vlan_min>:<vlan_max> or <physical_network> "
|
||||
"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."),
|
||||
"PROMPT": ("Enter a comma separated list of physical_network "
|
||||
"names usable for VLAN"),
|
||||
"OPTION_LIST": [],
|
||||
|
@ -315,10 +271,6 @@ def initConfig(controller):
|
|||
|
||||
{"CMD_OPTION": "os-neutron-ml2-tunnel-id-ranges",
|
||||
"CONF_NAME": "CONFIG_NEUTRON_ML2_TUNNEL_ID_RANGES",
|
||||
"USAGE": ("A comma separated list of <tun_min>:<tun_max> 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"),
|
||||
"PROMPT": ("Enter a comma separated list of <tun_min>:<tun_max> "
|
||||
"tuples enumerating ranges of GRE tunnel IDs that "
|
||||
"are available for tenant network allocation"),
|
||||
|
@ -333,11 +285,6 @@ def initConfig(controller):
|
|||
|
||||
{"CMD_OPTION": "os-neutron-ml2-vxlan-group",
|
||||
"CONF_NAME": "CONFIG_NEUTRON_ML2_VXLAN_GROUP",
|
||||
"USAGE": ("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."),
|
||||
"PROMPT": "Enter a multicast group for VXLAN",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [],
|
||||
|
@ -350,10 +297,6 @@ def initConfig(controller):
|
|||
|
||||
{"CMD_OPTION": "os-neutron-ml2-vni-ranges",
|
||||
"CONF_NAME": "CONFIG_NEUTRON_ML2_VNI_RANGES",
|
||||
"USAGE": ("A comma separated list of <vni_min>:<vni_max> tuples "
|
||||
"enumerating ranges of VXLAN VNI IDs that are "
|
||||
"available for tenant network allocation. Min value "
|
||||
"is 0 and Max value is 16777215."),
|
||||
"PROMPT": ("Enter a comma separated list of <vni_min>:<vni_max> "
|
||||
"tuples enumerating ranges of VXLAN VNI IDs that are "
|
||||
"available for tenant network allocation"),
|
||||
|
@ -368,7 +311,6 @@ def initConfig(controller):
|
|||
|
||||
# We need to ask for this only in case of ML2 plugins
|
||||
{"CMD_OPTION": "os-neutron-l2-agent",
|
||||
"USAGE": "The name of the L2 agent to be used with Neutron",
|
||||
"PROMPT": ("Enter the name of the L2 agent to be used "
|
||||
"with Neutron"),
|
||||
"OPTION_LIST": ["linuxbridge", "openvswitch"],
|
||||
|
@ -382,7 +324,7 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
],
|
||||
}
|
||||
|
||||
update_params_usage(basedefs.PACKSTACK_DOC, conf_params)
|
||||
conf_groups = [
|
||||
{"GROUP_NAME": "NEUTRON",
|
||||
"DESCRIPTION": "Neutron config",
|
||||
|
|
|
@ -26,6 +26,7 @@ from packstack.installer import utils
|
|||
from packstack.installer import validators
|
||||
from packstack.installer.exceptions import ScriptRuntimeError
|
||||
|
||||
from packstack.modules.documentation import update_params_usage
|
||||
from packstack.modules.shortcuts import get_mq
|
||||
from packstack.modules.ospluginutils import appendManifestFile
|
||||
from packstack.modules.ospluginutils import createFirewallResources
|
||||
|
@ -50,7 +51,6 @@ def initConfig(controller):
|
|||
nova_params = {
|
||||
"NOVA": [
|
||||
{"CMD_OPTION": "nova-db-passwd",
|
||||
"USAGE": "The password to use for the Nova to access DB",
|
||||
"PROMPT": "Enter the password for the Nova DB access",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -64,8 +64,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "nova-ks-passwd",
|
||||
"USAGE": ("The password to use for the Nova to authenticate "
|
||||
"with Keystone"),
|
||||
"PROMPT": "Enter the password for the Nova Keystone access",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -79,8 +77,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "novasched-cpu-allocation-ratio",
|
||||
"USAGE": ("The overcommitment ratio for virtual to physical CPUs."
|
||||
" Set to 1.0 to disable CPU overcommitment"),
|
||||
"PROMPT": "Enter the CPU overcommitment ratio. Set to 1.0 to "
|
||||
"disable CPU overcommitment",
|
||||
"OPTION_LIST": [],
|
||||
|
@ -94,8 +90,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "novasched-ram-allocation-ratio",
|
||||
"USAGE": ("The overcommitment ratio for virtual to physical RAM. "
|
||||
"Set to 1.0 to disable RAM overcommitment"),
|
||||
"PROMPT": ("Enter the RAM overcommitment ratio. Set to 1.0 to "
|
||||
"disable RAM overcommitment"),
|
||||
"OPTION_LIST": [],
|
||||
|
@ -109,11 +103,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "novacompute-migrate-protocol",
|
||||
"USAGE": ("Protocol used for instance migration. Allowed values "
|
||||
"are tcp and ssh. Note that by defaul nova user is "
|
||||
"created with /sbin/nologin shell so that ssh protocol "
|
||||
"won't be working. To make ssh protocol work you have "
|
||||
"to fix nova user on compute hosts manually."),
|
||||
"PROMPT": ("Enter protocol which will be used for instance "
|
||||
"migration"),
|
||||
"OPTION_LIST": ['tcp', 'ssh'],
|
||||
|
@ -127,7 +116,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "nova-compute-manager",
|
||||
"USAGE": ("The manager that will run nova compute."),
|
||||
"PROMPT": ("Enter the compute manager for nova "
|
||||
"migration"),
|
||||
"OPTION_LIST": [],
|
||||
|
@ -144,8 +132,6 @@ def initConfig(controller):
|
|||
|
||||
"NOVA_NETWORK": [
|
||||
{"CMD_OPTION": "novacompute-privif",
|
||||
"USAGE": ("Private interface for Flat DHCP on the Nova compute "
|
||||
"servers"),
|
||||
"PROMPT": ("Enter the Private interface for Flat DHCP on the Nova"
|
||||
" compute servers"),
|
||||
"OPTION_LIST": [],
|
||||
|
@ -159,7 +145,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "novanetwork-manager",
|
||||
"USAGE": "Nova network manager",
|
||||
"PROMPT": "Enter the Nova network manager",
|
||||
"OPTION_LIST": [r'^nova\.network\.manager\.\w+Manager$'],
|
||||
"VALIDATORS": [validators.validate_regexp],
|
||||
|
@ -172,7 +157,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "novanetwork-pubif",
|
||||
"USAGE": "Public interface on the Nova network server",
|
||||
"PROMPT": "Enter the Public interface on the Nova network server",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -185,8 +169,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "novanetwork-privif",
|
||||
"USAGE": ("Private interface for network manager on the Nova "
|
||||
"network server"),
|
||||
"PROMPT": ("Enter the Private interface for network manager on "
|
||||
"the Nova network server"),
|
||||
"OPTION_LIST": [],
|
||||
|
@ -200,7 +182,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "novanetwork-fixed-range",
|
||||
"USAGE": "IP Range for network manager",
|
||||
"PROMPT": "Enter the IP Range for network manager",
|
||||
"OPTION_LIST": ["^[\:\.\da-fA-f]+(\/\d+){0,1}$"],
|
||||
"PROCESSORS": [processors.process_cidr],
|
||||
|
@ -214,7 +195,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "novanetwork-floating-range",
|
||||
"USAGE": "IP Range for Floating IP's",
|
||||
"PROMPT": "Enter the IP Range for Floating IP's",
|
||||
"OPTION_LIST": ["^[\:\.\da-fA-f]+(\/\d+){0,1}$"],
|
||||
"PROCESSORS": [processors.process_cidr],
|
||||
|
@ -228,7 +208,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "novanetwork-auto-assign-floating-ip",
|
||||
"USAGE": "Automatically assign a floating IP to new instances",
|
||||
"PROMPT": ("Should new instances automatically have a floating "
|
||||
"IP assigned?"),
|
||||
"OPTION_LIST": ["y", "n"],
|
||||
|
@ -244,7 +223,6 @@ def initConfig(controller):
|
|||
|
||||
"NOVA_NETWORK_VLAN": [
|
||||
{"CMD_OPTION": "novanetwork-vlan-start",
|
||||
"USAGE": "First VLAN for private networks",
|
||||
"PROMPT": "Enter first VLAN for private networks",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -257,7 +235,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "novanetwork-num-networks",
|
||||
"USAGE": "Number of networks to support",
|
||||
"PROMPT": "How many networks should be supported",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -270,7 +247,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "novanetwork-network-size",
|
||||
"USAGE": "Number of addresses in each private subnet",
|
||||
"PROMPT": "How many addresses should be in each private subnet",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -283,6 +259,7 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
],
|
||||
}
|
||||
update_params_usage(basedefs.PACKSTACK_DOC, nova_params)
|
||||
|
||||
def use_nova_network(config):
|
||||
return (config['CONFIG_NOVA_INSTALL'] == 'y' and
|
||||
|
|
|
@ -29,6 +29,7 @@ from packstack.installer import validators
|
|||
|
||||
from packstack.modules.common import filtered_hosts
|
||||
from packstack.modules.common import is_all_in_one
|
||||
from packstack.modules.documentation import update_params_usage
|
||||
from packstack.modules.ospluginutils import appendManifestFile
|
||||
from packstack.modules.ospluginutils import getManifestTemplate
|
||||
|
||||
|
@ -44,12 +45,6 @@ def initConfig(controller):
|
|||
params = {
|
||||
"GLOBAL": [
|
||||
{"CMD_OPTION": "ssh-public-key",
|
||||
"USAGE": (
|
||||
"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"
|
||||
),
|
||||
"PROMPT": (
|
||||
"Enter the path to your ssh Public key to install on servers"
|
||||
),
|
||||
|
@ -68,11 +63,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "default-password",
|
||||
"USAGE": (
|
||||
"Set a default password everywhere. The default password "
|
||||
"will be overriden by whatever password is set for each "
|
||||
"individual service or user."
|
||||
),
|
||||
"PROMPT": (
|
||||
"Enter a default password to be used. Leave blank for a "
|
||||
"randomly generated one."
|
||||
|
@ -87,9 +77,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "mariadb-install",
|
||||
"USAGE": (
|
||||
"Set to 'y' if you would like Packstack to install MariaDB"
|
||||
),
|
||||
"PROMPT": "Should Packstack install MariaDB",
|
||||
"OPTION_LIST": ["y", "n"],
|
||||
"VALIDATORS": [validators.validate_options],
|
||||
|
@ -103,10 +90,6 @@ def initConfig(controller):
|
|||
"DEPRECATES": ['CONFIG_MYSQL_INSTALL']},
|
||||
|
||||
{"CMD_OPTION": "os-glance-install",
|
||||
"USAGE": (
|
||||
"Set to 'y' if you would like Packstack to install "
|
||||
"OpenStack Image Service (Glance)"
|
||||
),
|
||||
"PROMPT": (
|
||||
"Should Packstack install OpenStack Image Service (Glance)"
|
||||
),
|
||||
|
@ -121,10 +104,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "os-cinder-install",
|
||||
"USAGE": (
|
||||
"Set to 'y' if you would like Packstack to install "
|
||||
"OpenStack Block Storage (Cinder)"
|
||||
),
|
||||
"PROMPT": (
|
||||
"Should Packstack install OpenStack Block Storage "
|
||||
"(Cinder) service"
|
||||
|
@ -140,10 +119,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "os-manila-install",
|
||||
"USAGE": (
|
||||
"Set to 'y' if you would like Packstack to install "
|
||||
"OpenStack Shared File System (Manila)"
|
||||
),
|
||||
"PROMPT": (
|
||||
"Should Packstack install OpenStack Shared File System "
|
||||
"(Manila) service"
|
||||
|
@ -159,10 +134,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "os-nova-install",
|
||||
"USAGE": (
|
||||
"Set to 'y' if you would like Packstack to install "
|
||||
"OpenStack Compute (Nova)"
|
||||
),
|
||||
"PROMPT": (
|
||||
"Should Packstack install OpenStack Compute (Nova) service"
|
||||
),
|
||||
|
@ -177,11 +148,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "os-neutron-install",
|
||||
"USAGE": (
|
||||
"Set to 'y' if you would like Packstack to install "
|
||||
"OpenStack Networking (Neutron). Otherwise Nova Network "
|
||||
"will be used."
|
||||
),
|
||||
"PROMPT": (
|
||||
"Should Packstack install OpenStack Networking (Neutron) "
|
||||
"service"
|
||||
|
@ -197,10 +163,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "os-horizon-install",
|
||||
"USAGE": (
|
||||
"Set to 'y' if you would like Packstack to install "
|
||||
"OpenStack Dashboard (Horizon)"
|
||||
),
|
||||
"PROMPT": (
|
||||
"Should Packstack install OpenStack Dashboard (Horizon)"
|
||||
),
|
||||
|
@ -215,10 +177,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "os-swift-install",
|
||||
"USAGE": (
|
||||
"Set to 'y' if you would like Packstack to install "
|
||||
"OpenStack Object Storage (Swift)"
|
||||
),
|
||||
"PROMPT": (
|
||||
"Should Packstack install OpenStack Object Storage (Swift)"
|
||||
),
|
||||
|
@ -233,10 +191,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "os-ceilometer-install",
|
||||
"USAGE": (
|
||||
"Set to 'y' if you would like Packstack to install "
|
||||
"OpenStack Metering (Ceilometer)"
|
||||
),
|
||||
"PROMPT": (
|
||||
"Should Packstack install OpenStack Metering (Ceilometer)"
|
||||
),
|
||||
|
@ -251,10 +205,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "os-heat-install",
|
||||
"USAGE": (
|
||||
"Set to 'y' if you would like Packstack to install "
|
||||
"OpenStack Orchestration (Heat)"
|
||||
),
|
||||
"PROMPT": (
|
||||
"Should Packstack install OpenStack Orchestration (Heat)"
|
||||
),
|
||||
|
@ -269,10 +219,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "os-sahara-install",
|
||||
"USAGE": (
|
||||
"Set to 'y' if you would like Packstack to install "
|
||||
"OpenStack Clustering (Sahara)"
|
||||
),
|
||||
"PROMPT": (
|
||||
"Should Packstack install OpenStack Clustering (Sahara)"
|
||||
),
|
||||
|
@ -287,10 +233,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "os-trove-install",
|
||||
"USAGE": (
|
||||
"Set to 'y' if you would like Packstack to install "
|
||||
"OpenStack Database (Trove)"
|
||||
),
|
||||
"PROMPT": (
|
||||
"Should Packstack install OpenStack Database (Trove)"
|
||||
),
|
||||
|
@ -305,10 +247,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "os-ironic-install",
|
||||
"USAGE": (
|
||||
"Set to 'y' if you would like Packstack to install "
|
||||
"OpenStack Bare Metal (Ironic)"
|
||||
),
|
||||
"PROMPT": (
|
||||
"Should Packstack install OpenStack Bare Metal (Ironic)"
|
||||
),
|
||||
|
@ -323,11 +261,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "os-client-install",
|
||||
"USAGE": (
|
||||
"Set to 'y' if you would like Packstack to install "
|
||||
"the OpenStack Client packages. An admin \"rc\" file will "
|
||||
"also be installed"
|
||||
),
|
||||
"PROMPT": "Should Packstack install OpenStack client tools",
|
||||
"OPTION_LIST": ["y", "n"],
|
||||
"VALIDATORS": [validators.validate_options],
|
||||
|
@ -340,8 +273,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "ntp-servers",
|
||||
"USAGE": ("Comma separated list of NTP servers. Leave plain if "
|
||||
"Packstack should not install ntpd on instances."),
|
||||
"PROMPT": ("Enter a comma separated list of NTP server(s). Leave "
|
||||
"plain if Packstack should not install ntpd "
|
||||
"on instances."),
|
||||
|
@ -355,10 +286,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "nagios-install",
|
||||
"USAGE": (
|
||||
"Set to 'y' if you would like Packstack to install Nagios "
|
||||
"to monitor OpenStack hosts"
|
||||
),
|
||||
"PROMPT": (
|
||||
"Should Packstack install Nagios to monitor OpenStack "
|
||||
"hosts"
|
||||
|
@ -374,13 +301,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "exclude-servers",
|
||||
"USAGE": (
|
||||
"Comma separated list of servers to be excluded from "
|
||||
"installation in case you are running Packstack the second "
|
||||
"time with the same answer file and don't want Packstack "
|
||||
"to touch these servers. Leave plain if you don't need to "
|
||||
"exclude any server."
|
||||
),
|
||||
"PROMPT": (
|
||||
"Enter a comma separated list of server(s) to be excluded."
|
||||
" Leave plain if you don't need to exclude any server."
|
||||
|
@ -395,10 +315,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "os-debug-mode",
|
||||
"USAGE": (
|
||||
"Set to 'y' if you want to run OpenStack services in debug "
|
||||
"mode. Otherwise set to 'n'."
|
||||
),
|
||||
"PROMPT": "Do you want to run OpenStack services in debug mode",
|
||||
"OPTION_LIST": ["y", "n"],
|
||||
"DEFAULT_VALUE": "n",
|
||||
|
@ -412,11 +328,6 @@ def initConfig(controller):
|
|||
|
||||
{"CONF_NAME": "CONFIG_CONTROLLER_HOST",
|
||||
"CMD_OPTION": "os-controller-host",
|
||||
"USAGE": (
|
||||
"The IP address of the server on which to install OpenStack"
|
||||
" services specific to controller role such as API servers,"
|
||||
" Horizon, etc."
|
||||
),
|
||||
"PROMPT": "Enter the IP address of the controller host",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_ip,
|
||||
|
@ -446,10 +357,6 @@ def initConfig(controller):
|
|||
|
||||
{"CONF_NAME": "CONFIG_COMPUTE_HOSTS",
|
||||
"CMD_OPTION": "os-compute-hosts",
|
||||
"USAGE": (
|
||||
"The list of IP addresses of the server on which to install"
|
||||
" the Nova compute service"
|
||||
),
|
||||
"PROMPT": (
|
||||
"Enter list of IP addresses on which to install compute "
|
||||
"service"
|
||||
|
@ -467,9 +374,6 @@ def initConfig(controller):
|
|||
|
||||
{"CONF_NAME": "CONFIG_NETWORK_HOSTS",
|
||||
"CMD_OPTION": "os-network-hosts",
|
||||
"USAGE": ("The list of IP addresses of the server on which "
|
||||
"to install the network service such as Nova "
|
||||
"network or Neutron"),
|
||||
"PROMPT": ("Enter list of IP addresses on which to install "
|
||||
"network service"),
|
||||
"OPTION_LIST": [],
|
||||
|
@ -487,10 +391,6 @@ def initConfig(controller):
|
|||
'CONFIG_NOVA_NETWORK_HOSTS']},
|
||||
|
||||
{"CMD_OPTION": "os-vmware",
|
||||
"USAGE": (
|
||||
"Set to 'y' if you want to use VMware vCenter as hypervisor"
|
||||
" and storage. Otherwise set to 'n'."
|
||||
),
|
||||
"PROMPT": (
|
||||
"Do you want to use VMware vCenter as hypervisor and "
|
||||
"datastore"
|
||||
|
@ -506,10 +406,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "os-vmware",
|
||||
"USAGE": (
|
||||
"Set to 'y' if you want to use VMware vCenter as hypervisor"
|
||||
" and storage. Otherwise set to 'n'."
|
||||
),
|
||||
"PROMPT": (
|
||||
"Do you want to use VMware vCenter as hypervisor and "
|
||||
"datastore"
|
||||
|
@ -525,12 +421,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "unsupported",
|
||||
"USAGE": (
|
||||
"Set to 'y' if you want to use unsupported parameters. "
|
||||
"This should be used only if you know what you are doing."
|
||||
"Issues caused by using unsupported options won't be fixed "
|
||||
"before next major release."
|
||||
),
|
||||
"PROMPT": (
|
||||
"Enable this on your own risk. Do you want to use "
|
||||
"insupported parameters"
|
||||
|
@ -548,7 +438,6 @@ def initConfig(controller):
|
|||
|
||||
"VMWARE": [
|
||||
{"CMD_OPTION": "vcenter-host",
|
||||
"USAGE": "The IP address of the VMware vCenter server",
|
||||
"PROMPT": (
|
||||
"Enter the IP address of the VMware vCenter server to use "
|
||||
"with Nova"
|
||||
|
@ -564,7 +453,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "vcenter-username",
|
||||
"USAGE": "The username to authenticate to VMware vCenter server",
|
||||
"PROMPT": ("Enter the username to authenticate on VMware "
|
||||
"vCenter server"),
|
||||
"DEFAULT_VALUE": "",
|
||||
|
@ -576,7 +464,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "vcenter-password",
|
||||
"USAGE": "The password to authenticate to VMware vCenter server",
|
||||
"PROMPT": ("Enter the password to authenticate on VMware "
|
||||
"vCenter server"),
|
||||
"DEFAULT_VALUE": "",
|
||||
|
@ -588,7 +475,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "vcenter-cluster",
|
||||
"USAGE": "The name of the vCenter cluster",
|
||||
"PROMPT": "Enter the name of the vCenter datastore",
|
||||
"DEFAULT_VALUE": "",
|
||||
"MASK_INPUT": False,
|
||||
|
@ -602,11 +488,6 @@ def initConfig(controller):
|
|||
"UNSUPPORTED": [
|
||||
{"CONF_NAME": "CONFIG_STORAGE_HOST",
|
||||
"CMD_OPTION": "os-storage-host",
|
||||
"USAGE": (
|
||||
"(Unsupported!) The IP address of the server on which "
|
||||
"to install OpenStack services specific to storage servers "
|
||||
"such as Glance and Cinder."
|
||||
),
|
||||
"PROMPT": "Enter the IP address of the storage host",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_ip,
|
||||
|
@ -620,10 +501,6 @@ def initConfig(controller):
|
|||
|
||||
{"CONF_NAME": "CONFIG_SAHARA_HOST",
|
||||
"CMD_OPTION": "os-sahara-host",
|
||||
"USAGE": (
|
||||
"(Unsupported!) The IP address of the server on which "
|
||||
"to install OpenStack services specific to Sahara"
|
||||
),
|
||||
"PROMPT": "Enter the IP address of the Sahara host",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_ip,
|
||||
|
@ -636,6 +513,7 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
]
|
||||
}
|
||||
update_params_usage(basedefs.PACKSTACK_DOC, params)
|
||||
|
||||
def use_vcenter(config):
|
||||
return (config['CONFIG_NOVA_INSTALL'] == 'y' and
|
||||
|
|
|
@ -16,11 +16,13 @@
|
|||
Installs and configures Provisioning for demo usage and testing
|
||||
"""
|
||||
|
||||
from packstack.installer import basedefs
|
||||
from packstack.installer import utils
|
||||
from packstack.installer import validators
|
||||
from packstack.installer import processors
|
||||
|
||||
from packstack.modules.common import is_all_in_one
|
||||
from packstack.modules.documentation import update_params_usage
|
||||
from packstack.modules.ospluginutils import appendManifestFile
|
||||
from packstack.modules.ospluginutils import getManifestTemplate
|
||||
|
||||
|
@ -45,9 +47,6 @@ def initConfig(controller):
|
|||
conf_params = {
|
||||
"PROVISION_INIT": [
|
||||
{"CMD_OPTION": "provision-demo",
|
||||
"USAGE": ("Whether to provision for demo usage and testing. Note "
|
||||
"that provisioning is only supported for all-in-one "
|
||||
"installations."),
|
||||
"PROMPT": ("Would you like to provision for demo usage "
|
||||
"and testing"),
|
||||
"OPTION_LIST": ["y", "n"],
|
||||
|
@ -61,7 +60,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "provision-tempest",
|
||||
"USAGE": "Whether to configure tempest for testing",
|
||||
"PROMPT": ("Would you like to configure Tempest (OpenStack test "
|
||||
"suite). Note that provisioning is only supported for "
|
||||
"all-in-one installations."),
|
||||
|
@ -78,7 +76,6 @@ def initConfig(controller):
|
|||
|
||||
"PROVISION_DEMO": [
|
||||
{"CMD_OPTION": "provision-demo-floatrange",
|
||||
"USAGE": "The CIDR network address for the floating IP subnet",
|
||||
"PROMPT": "Enter the network address for the floating IP subnet",
|
||||
"OPTION_LIST": False,
|
||||
"VALIDATORS": False,
|
||||
|
@ -91,7 +88,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "provision-image-name",
|
||||
"USAGE": "A named to be used for the demo image in Glance",
|
||||
"PROMPT": "Enter the name to be assigned to the demo image",
|
||||
"OPTION_LIST": False,
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -104,8 +100,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "provision-image-url",
|
||||
"USAGE": ("A URL or local file location for an image "
|
||||
"to be loaded into Glance"),
|
||||
"PROMPT": ("Enter the location of an image to be loaded "
|
||||
"into Glance"),
|
||||
"OPTION_LIST": False,
|
||||
|
@ -119,7 +113,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "provision-image-format",
|
||||
"USAGE": ("Disk format (qcow2, raw, etc) of demo image"),
|
||||
"PROMPT": ("Enter the format of the demo image"),
|
||||
"OPTION_LIST": False,
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -132,8 +125,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "provision-image-ssh-user",
|
||||
"USAGE": ("Name of a user to use when connecting via ssh to "
|
||||
"instances booted from the demo image"),
|
||||
"PROMPT": ("Enter the name of a user to use when connecting "
|
||||
"to the demo image via ssh"),
|
||||
"OPTION_LIST": False,
|
||||
|
@ -149,9 +140,6 @@ def initConfig(controller):
|
|||
|
||||
"PROVISION_TEMPEST": [
|
||||
{"CMD_OPTION": "provision-tempest-user",
|
||||
"USAGE": "The name of the Tempest Provisioning user. If you "
|
||||
"don't provide a user name, Tempest will be configured "
|
||||
"in a standalone mode",
|
||||
"PROMPT": ("Enter the name of the Tempest Provisioning user "
|
||||
"(if blank, Tempest will be configured in a "
|
||||
"standalone mode) "),
|
||||
|
@ -166,7 +154,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "provision-tempest-user-passwd",
|
||||
"USAGE": "The password to use for the Tempest Provisioning user",
|
||||
"PROMPT": "Enter the password for the Tempest Provisioning user",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -180,7 +167,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "provision-tempest-floatrange",
|
||||
"USAGE": "The CIDR network address for the floating IP subnet",
|
||||
"PROMPT": "Enter the network address for the floating IP subnet",
|
||||
"OPTION_LIST": False,
|
||||
"VALIDATORS": False,
|
||||
|
@ -193,7 +179,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "provision-tempest-repo-uri",
|
||||
"USAGE": "The uri of the tempest git repository to use",
|
||||
"PROMPT": "What is the uri of the Tempest git repository?",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -206,7 +191,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "provision-tempest-repo-revision",
|
||||
"USAGE": "The revision of the tempest git repository to use",
|
||||
"PROMPT": ("What revision, branch, or tag of the Tempest git "
|
||||
"repository should be used"),
|
||||
"OPTION_LIST": [],
|
||||
|
@ -222,8 +206,6 @@ def initConfig(controller):
|
|||
|
||||
"PROVISION_ALL_IN_ONE_OVS_BRIDGE": [
|
||||
{"CMD_OPTION": "provision-all-in-one-ovs-bridge",
|
||||
"USAGE": ("Whether to configure the ovs external bridge in an "
|
||||
"all-in-one deployment"),
|
||||
"PROMPT": "Would you like to configure the external ovs bridge",
|
||||
"OPTION_LIST": ["y", "n"],
|
||||
"VALIDATORS": [validators.validate_options],
|
||||
|
@ -236,6 +218,7 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
],
|
||||
}
|
||||
update_params_usage(basedefs.PACKSTACK_DOC, conf_params)
|
||||
|
||||
def check_provisioning_demo(config):
|
||||
return (config.get('CONFIG_PROVISION_DEMO', 'n') == 'y')
|
||||
|
|
|
@ -16,9 +16,12 @@
|
|||
Installs and configures Sahara
|
||||
"""
|
||||
|
||||
from packstack.installer import basedefs
|
||||
from packstack.installer import utils
|
||||
from packstack.installer import validators
|
||||
from packstack.installer import processors
|
||||
|
||||
from packstack.modules.documentation import update_params_usage
|
||||
from packstack.modules.shortcuts import get_mq
|
||||
from packstack.modules.ospluginutils import appendManifestFile
|
||||
from packstack.modules.ospluginutils import createFirewallResources
|
||||
|
@ -35,7 +38,6 @@ def initConfig(controller):
|
|||
{"CONF_NAME": "CONFIG_SAHARA_DB_PW",
|
||||
"CMD_OPTION": "sahara-db-passwd",
|
||||
"PROMPT": "Enter the password to use for Sahara to access the DB",
|
||||
"USAGE": "The password to use for the Sahara DB access",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
"DEFAULT_VALUE": "PW_PLACEHOLDER",
|
||||
|
@ -48,8 +50,6 @@ def initConfig(controller):
|
|||
|
||||
{"CONF_NAME": "CONFIG_SAHARA_KS_PW",
|
||||
"CMD_OPTION": "sahara-ks-passwd",
|
||||
"USAGE": ("The password to use for Sahara to authenticate "
|
||||
"with Keystone"),
|
||||
"PROMPT": "Enter the password for Sahara Keystone access",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -61,6 +61,7 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": True,
|
||||
"CONDITION": False},
|
||||
]
|
||||
update_params_usage(basedefs.PACKSTACK_DOC, params, sectioned=False)
|
||||
group = {"GROUP_NAME": "SAHARA",
|
||||
"DESCRIPTION": "Sahara Config parameters",
|
||||
"PRE_CONDITION": "CONFIG_SAHARA_INSTALL",
|
||||
|
|
|
@ -21,12 +21,14 @@ import re
|
|||
import logging
|
||||
import platform
|
||||
|
||||
from packstack.installer import basedefs
|
||||
from packstack.installer import exceptions
|
||||
from packstack.installer import utils
|
||||
from packstack.installer import validators
|
||||
|
||||
from packstack.modules.common import filtered_hosts
|
||||
from packstack.modules.common import is_all_in_one
|
||||
from packstack.modules.documentation import update_params_usage
|
||||
|
||||
# ------------ Server Preparation Packstack Plugin Initialization -------------
|
||||
|
||||
|
@ -38,7 +40,6 @@ def initConfig(controller):
|
|||
conf_params = {
|
||||
"SERVERPREPARE": [
|
||||
{"CMD_OPTION": "use-epel",
|
||||
"USAGE": "To subscribe each server to EPEL enter \"y\"",
|
||||
"PROMPT": "To subscribe each server to EPEL enter \"y\"",
|
||||
"OPTION_LIST": ["y", "n"],
|
||||
"VALIDATORS": [validators.validate_options],
|
||||
|
@ -51,8 +52,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "additional-repo",
|
||||
"USAGE": ("A comma separated list of URLs to any additional yum "
|
||||
"repositories to install"),
|
||||
"PROMPT": ("Enter a comma separated list of URLs to any "
|
||||
"additional yum repositories to install"),
|
||||
"OPTION_LIST": [],
|
||||
|
@ -67,8 +66,6 @@ def initConfig(controller):
|
|||
|
||||
"RHEL": [
|
||||
{"CMD_OPTION": "rh-username",
|
||||
"USAGE": ("To subscribe each server with Red Hat subscription "
|
||||
"manager, include this with CONFIG_RH_PW"),
|
||||
"PROMPT": "To subscribe each server to Red Hat enter a username ",
|
||||
"OPTION_LIST": [],
|
||||
"DEFAULT_VALUE": "",
|
||||
|
@ -80,10 +77,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "rhn-satellite-server",
|
||||
"USAGE": ("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"),
|
||||
"PROMPT": ("To subscribe each server with RHN Satellite enter "
|
||||
"RHN Satellite server URL"),
|
||||
"OPTION_LIST": [],
|
||||
|
@ -98,8 +91,6 @@ def initConfig(controller):
|
|||
|
||||
"RHSM": [
|
||||
{"CMD_OPTION": "rh-password",
|
||||
"USAGE": ("To subscribe each server with Red Hat subscription "
|
||||
"manager, include this with CONFIG_RH_USER"),
|
||||
"PROMPT": ("To subscribe each server to Red Hat enter your "
|
||||
"password"),
|
||||
"OPTION_LIST": [],
|
||||
|
@ -112,7 +103,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "rh-enable-optional",
|
||||
"USAGE": "To enable RHEL optional repos use value \"y\"",
|
||||
"PROMPT": "To enable RHEL optional repos use value \"y\"",
|
||||
"OPTION_LIST": ["y", "n"],
|
||||
"VALIDATORS": [validators.validate_options],
|
||||
|
@ -125,8 +115,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "rh-proxy-host",
|
||||
"USAGE": ("Specify a HTTP proxy to use with Red Hat subscription "
|
||||
"manager"),
|
||||
"PROMPT": ("Specify a HTTP proxy to use with Red Hat subscription"
|
||||
" manager"),
|
||||
"OPTION_LIST": [],
|
||||
|
@ -141,8 +129,6 @@ def initConfig(controller):
|
|||
|
||||
"RHSM_PROXY": [
|
||||
{"CMD_OPTION": "rh-proxy-port",
|
||||
"USAGE": ("Specify port of Red Hat subscription manager HTTP "
|
||||
"proxy"),
|
||||
"PROMPT": ("Specify port of Red Hat subscription manager HTTP "
|
||||
"proxy"),
|
||||
"OPTION_LIST": [],
|
||||
|
@ -155,8 +141,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "rh-proxy-user",
|
||||
"USAGE": ("Specify a username to use with Red Hat subscription "
|
||||
"manager HTTP proxy"),
|
||||
"PROMPT": ("Specify a username to use with Red Hat subscription "
|
||||
"manager HTTP proxy"),
|
||||
"OPTION_LIST": [],
|
||||
|
@ -169,8 +153,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "rh-proxy-password",
|
||||
"USAGE": ("Specify a password to use with Red Hat subscription "
|
||||
"manager HTTP proxy"),
|
||||
"PROMPT": ("Specify a password to use with Red Hat subscription "
|
||||
"manager HTTP proxy"),
|
||||
"OPTION_LIST": [],
|
||||
|
@ -185,7 +167,6 @@ def initConfig(controller):
|
|||
|
||||
"SATELLITE": [
|
||||
{"CMD_OPTION": "rhn-satellite-username",
|
||||
"USAGE": "Username to access RHN Satellite",
|
||||
"PROMPT": ("Enter RHN Satellite username or leave plain if you "
|
||||
"will use activation key instead"),
|
||||
"OPTION_LIST": [],
|
||||
|
@ -198,7 +179,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "rhn-satellite-password",
|
||||
"USAGE": "Password to access RHN Satellite",
|
||||
"PROMPT": ("Enter RHN Satellite password or leave plain if you "
|
||||
"will use activation key instead"),
|
||||
"OPTION_LIST": [],
|
||||
|
@ -211,7 +191,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "rhn-satellite-activation-key",
|
||||
"USAGE": "Activation key for subscription to RHN Satellite",
|
||||
"PROMPT": ("Enter RHN Satellite activation key or leave plain if "
|
||||
"you used username/password instead"),
|
||||
"OPTION_LIST": [],
|
||||
|
@ -224,7 +203,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "rhn-satellite-cacert",
|
||||
"USAGE": "Specify a path or URL to a SSL CA certificate to use",
|
||||
"PROMPT": "Specify a path or URL to a SSL CA certificate to use",
|
||||
"OPTION_LIST": [],
|
||||
"DEFAULT_VALUE": "",
|
||||
|
@ -236,9 +214,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "rhn-satellite-profile",
|
||||
"USAGE": ("If required specify the profile name that should be "
|
||||
"used as an identifier for the system "
|
||||
"in RHN Satellite"),
|
||||
"PROMPT": ("If required specify the profile name that should be "
|
||||
"used as an identifier for the system "
|
||||
"in RHN Satellite"),
|
||||
|
@ -252,8 +227,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "rhn-satellite-flags",
|
||||
"USAGE": ("Comma separated list of flags passed to rhnreg_ks. "
|
||||
"Valid flags are: novirtinfo, norhnsd, nopackages"),
|
||||
"PROMPT": ("Enter comma separated list of flags passed "
|
||||
"to rhnreg_ks"),
|
||||
"OPTION_LIST": ['novirtinfo', 'norhnsd', 'nopackages'],
|
||||
|
@ -267,7 +240,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "rhn-satellite-proxy-host",
|
||||
"USAGE": "Specify a HTTP proxy to use with RHN Satellite",
|
||||
"PROMPT": "Specify a HTTP proxy to use with RHN Satellite",
|
||||
"OPTION_LIST": [],
|
||||
"DEFAULT_VALUE": "",
|
||||
|
@ -281,8 +253,6 @@ def initConfig(controller):
|
|||
|
||||
"SATELLITE_PROXY": [
|
||||
{"CMD_OPTION": "rhn-satellite-proxy-username",
|
||||
"USAGE": ("Specify a username to use with an authenticated "
|
||||
"HTTP proxy"),
|
||||
"PROMPT": ("Specify a username to use with an authenticated "
|
||||
"HTTP proxy"),
|
||||
"OPTION_LIST": [],
|
||||
|
@ -295,8 +265,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "rhn-satellite-proxy-password",
|
||||
"USAGE": ("Specify a password to use with an authenticated "
|
||||
"HTTP proxy."),
|
||||
"PROMPT": ("Specify a password to use with an authenticated "
|
||||
"HTTP proxy."),
|
||||
"OPTION_LIST": [],
|
||||
|
@ -309,6 +277,7 @@ def initConfig(controller):
|
|||
"CONDITION": False}
|
||||
]
|
||||
}
|
||||
update_params_usage(basedefs.PACKSTACK_DOC, conf_params)
|
||||
|
||||
def filled_rhsm(config):
|
||||
return bool(config.get('CONFIG_RH_USER'))
|
||||
|
|
|
@ -21,12 +21,14 @@ import re
|
|||
import uuid
|
||||
import netaddr
|
||||
|
||||
from packstack.installer import basedefs
|
||||
from packstack.installer import validators
|
||||
from packstack.installer import processors
|
||||
from packstack.installer.exceptions import ParamValidationError
|
||||
from packstack.installer import utils
|
||||
from packstack.installer.utils import split_hosts
|
||||
|
||||
from packstack.modules.documentation import update_params_usage
|
||||
from packstack.modules.ospluginutils import appendManifestFile
|
||||
from packstack.modules.ospluginutils import createFirewallResources
|
||||
from packstack.modules.ospluginutils import getManifestTemplate
|
||||
|
@ -41,8 +43,6 @@ PLUGIN_NAME_COLORED = utils.color_text(PLUGIN_NAME, 'blue')
|
|||
def initConfig(controller):
|
||||
params = [
|
||||
{"CMD_OPTION": "os-swift-ks-passwd",
|
||||
"USAGE": ("The password to use for the Swift to authenticate "
|
||||
"with Keystone"),
|
||||
"PROMPT": "Enter the password for the Swift Keystone access",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -56,13 +56,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "os-swift-storages",
|
||||
"USAGE": ("A comma separated list of devices which to use as Swift "
|
||||
"Storage device. Each entry should take the format "
|
||||
"/path/to/dev, for example /dev/vdb will install /dev/vdb "
|
||||
"as Swift storage device (packstack does not create "
|
||||
"the filesystem, you must do this first). If value is "
|
||||
"omitted Packstack will create a loopback device for test "
|
||||
"setup"),
|
||||
"PROMPT": "Enter the Swift Storage devices e.g. /path/to/dev",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validate_storage],
|
||||
|
@ -76,8 +69,6 @@ def initConfig(controller):
|
|||
"DEPRECATES": ['CONFIG_SWIFT_STORAGE_HOSTS']},
|
||||
|
||||
{"CMD_OPTION": "os-swift-storage-zones",
|
||||
"USAGE": ("Number of swift storage zones, this number MUST be "
|
||||
"no bigger than the number of storage devices configured"),
|
||||
"PROMPT": ("Enter the number of swift storage zones, MUST be no "
|
||||
"bigger than the number of storage devices configured"),
|
||||
"OPTION_LIST": [],
|
||||
|
@ -91,8 +82,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "os-swift-storage-replicas",
|
||||
"USAGE": ("Number of swift storage replicas, this number MUST be "
|
||||
"no bigger than the number of storage zones configured"),
|
||||
"PROMPT": ("Enter the number of swift storage replicas, MUST be no "
|
||||
"bigger than the number of storage zones configured"),
|
||||
"OPTION_LIST": [],
|
||||
|
@ -106,7 +95,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "os-swift-storage-fstype",
|
||||
"USAGE": "FileSystem type for storage nodes",
|
||||
"PROMPT": "Enter FileSystem type for storage nodes",
|
||||
"OPTION_LIST": ['xfs', 'ext4'],
|
||||
"VALIDATORS": [validators.validate_options],
|
||||
|
@ -119,7 +107,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "os-swift-hash",
|
||||
"USAGE": "Shared secret for Swift",
|
||||
"PROMPT": "Enter hash for Swift shared secret",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -132,7 +119,6 @@ def initConfig(controller):
|
|||
"CONDITION": False},
|
||||
|
||||
{"CMD_OPTION": "os-swift-storage-size",
|
||||
"USAGE": "Size of the swift loopback file storage device",
|
||||
"PROMPT": ("Enter the size of the storage device (eg. 2G, 2000M, "
|
||||
"2000000K)"),
|
||||
"OPTION_LIST": [],
|
||||
|
@ -145,6 +131,7 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": False,
|
||||
"CONDITION": False},
|
||||
]
|
||||
update_params_usage(basedefs.PACKSTACK_DOC, params, sectioned=False)
|
||||
group = {"GROUP_NAME": "OSSWIFT",
|
||||
"DESCRIPTION": "OpenStack Swift Config parameters",
|
||||
"PRE_CONDITION": "CONFIG_SWIFT_INSTALL",
|
||||
|
|
|
@ -16,9 +16,12 @@
|
|||
Installs and configures Trove
|
||||
"""
|
||||
|
||||
from packstack.installer import basedefs
|
||||
from packstack.installer import utils
|
||||
from packstack.installer import validators
|
||||
from packstack.installer import processors
|
||||
|
||||
from packstack.modules.documentation import update_params_usage
|
||||
from packstack.modules.shortcuts import get_mq
|
||||
from packstack.modules.ospluginutils import appendManifestFile
|
||||
from packstack.modules.ospluginutils import createFirewallResources
|
||||
|
@ -45,7 +48,6 @@ def initConfig(controller):
|
|||
{"CONF_NAME": "CONFIG_TROVE_DB_PW",
|
||||
"CMD_OPTION": "trove-db-passwd",
|
||||
"PROMPT": "Enter the password to use for Trove to access the DB",
|
||||
"USAGE": "The password to use for the Trove DB access",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
"DEFAULT_VALUE": "PW_PLACEHOLDER",
|
||||
|
@ -58,8 +60,6 @@ def initConfig(controller):
|
|||
|
||||
{"CONF_NAME": "CONFIG_TROVE_KS_PW",
|
||||
"CMD_OPTION": "trove-ks-passwd",
|
||||
"USAGE": ("The password to use for Trove to authenticate "
|
||||
"with Keystone"),
|
||||
"PROMPT": "Enter the password for Trove Keystone access",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -73,7 +73,6 @@ def initConfig(controller):
|
|||
|
||||
{"CONF_NAME": "CONFIG_TROVE_NOVA_USER",
|
||||
"CMD_OPTION": "trove-nova-user",
|
||||
"USAGE": "The user to use when Trove connects to Nova",
|
||||
"PROMPT": "Enter the user for Trove to use to connect to Nova",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -86,7 +85,6 @@ def initConfig(controller):
|
|||
|
||||
{"CONF_NAME": "CONFIG_TROVE_NOVA_TENANT",
|
||||
"CMD_OPTION": "trove-nova-tenant",
|
||||
"USAGE": "The tenant to use when Trove connects to Nova",
|
||||
"PROMPT": "Enter the tenant for Trove to use to connect to Nova",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -99,7 +97,6 @@ def initConfig(controller):
|
|||
|
||||
{"CONF_NAME": "CONFIG_TROVE_NOVA_PW",
|
||||
"CMD_OPTION": "trove-nova-passwd",
|
||||
"USAGE": "The password to use when Trove connects to Nova",
|
||||
"PROMPT": "Enter the password for Trove to use to connect to Nova",
|
||||
"OPTION_LIST": [],
|
||||
"VALIDATORS": [validators.validate_not_empty],
|
||||
|
@ -111,7 +108,7 @@ def initConfig(controller):
|
|||
"NEED_CONFIRM": True,
|
||||
"CONDITION": False},
|
||||
]
|
||||
|
||||
update_params_usage(basedefs.PACKSTACK_DOC, parameters, sectioned=False)
|
||||
group = {"GROUP_NAME": "Trove",
|
||||
"DESCRIPTION": "Trove config parameters",
|
||||
"PRE_CONDITION": "CONFIG_TROVE_INSTALL",
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
netaddr>=0.7.6
|
||||
PyYAML>=3.10
|
||||
docutils>=0.11
|
||||
|
|
5
setup.py
5
setup.py
|
@ -99,11 +99,12 @@ setup(
|
|||
license="ASL 2.0",
|
||||
keywords="openstack",
|
||||
url="https://github.com/stackforge/packstack",
|
||||
packages=find_packages('.'),
|
||||
packages=find_packages('.') + ['docs'],
|
||||
package_data={'docs': ['docs/packstack.rst']},
|
||||
include_package_data=True,
|
||||
long_description=read('README.md'),
|
||||
zip_safe=False,
|
||||
install_requires=['netaddr', 'PyYAML'],
|
||||
install_requires=['netaddr', 'PyYAML', 'docutils'],
|
||||
classifiers=[
|
||||
"Development Status :: 3 - Alpha",
|
||||
"Topic :: Utilities",
|
||||
|
|
Loading…
Reference in New Issue