def allow_provisioning(config): # Provisioning is currently supported only for all-in-one (due # to a limitation with how the custom types for OpenStack # resources are implemented) and neutron with namespaces (due # to the provisioning manifest assuming this configuration). return is_all_in_one(config) and \ config['CONFIG_NEUTRON_INSTALL'] == 'y'
def install_keys(config, messages): with open(config["CONFIG_SSH_KEY"]) as fp: sshkeydata = fp.read().strip() # If this is a --allinone install *and* we are running as root, # we can configure the authorized_keys file locally, avoid problems # if PasswordAuthentication is disabled. if is_all_in_one(config) and os.getuid() == 0: install_keys_on_host(None, sshkeydata) else: for hostname in filtered_hosts(config): if '/' in hostname: hostname = hostname.split('/')[0] install_keys_on_host(hostname, sshkeydata)
def initSequences(controller): provisioning_required = ( is_all_in_one(controller.CONF) and ( controller.CONF['CONFIG_PROVISION_DEMO'] == 'y' or controller.CONF['CONFIG_PROVISION_TEMPEST'] == 'y') ) if not provisioning_required: return marshall_conf_bool(controller.CONF, 'CONFIG_PROVISION_TEMPEST') marshall_conf_bool(controller.CONF, 'CONFIG_PROVISION_ALL_IN_ONE_OVS_BRIDGE') provision_steps = [ { 'title': 'Adding Provisioning manifest entries', 'functions': [create_manifest], } ] controller.addSequence("Provisioning for Demo and Testing Usage", [], [], provision_steps)
def initConfig(controllerObject): global controller controller = controllerObject logging.debug("Adding SERVERPREPARE KEY configuration") 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], "DEFAULT_VALUE" : "n", "MASK_INPUT" : False, "LOOSE_VALIDATION": True, "CONF_NAME" : "CONFIG_USE_EPEL", "USE_DEFAULT" : False, "NEED_CONFIRM" : False, "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" : [], "DEFAULT_VALUE" : "", "MASK_INPUT" : False, "LOOSE_VALIDATION": True, "CONF_NAME" : "CONFIG_REPO", "USE_DEFAULT" : False, "NEED_CONFIRM" : False, "CONDITION" : False }], "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 here", "OPTION_LIST" : [], "DEFAULT_VALUE" : "", "MASK_INPUT" : False, "LOOSE_VALIDATION": True, "CONF_NAME" : "CONFIG_RH_USER", "USE_DEFAULT" : False, "NEED_CONFIRM" : False, "CONDITION" : False }, {"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 here", "OPTION_LIST" : [], "DEFAULT_VALUE" : "", "MASK_INPUT" : True, "LOOSE_VALIDATION": True, "CONF_NAME" : "CONFIG_RH_PW", "USE_DEFAULT" : False, "NEED_CONFIRM" : False, "CONDITION" : False }, {"CMD_OPTION" : "rh-beta-repo", "USAGE" : "To subscribe each server to Red Hat Enterprise Linux 6 Server Beta channel (only needed for Preview versions of RHOS) enter \"y\"", "PROMPT" : "To subscribe each server to Red Hat Enterprise Linux 6 Server Beta channel (only needed for Preview versions of RHOS) enter \"y\"", "OPTION_LIST" : ["y", "n"], "VALIDATORS" : [validators.validate_options], "DEFAULT_VALUE" : "n", "MASK_INPUT" : False, "LOOSE_VALIDATION": True, "CONF_NAME" : "CONFIG_RH_BETA_REPO", "USE_DEFAULT" : False, "NEED_CONFIRM" : False, "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" : [], "DEFAULT_VALUE" : "", "MASK_INPUT" : False, "LOOSE_VALIDATION": False, "CONF_NAME" : "CONFIG_SATELLITE_URL", "USE_DEFAULT" : False, "NEED_CONFIRM" : False, "CONDITION" : False }], "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" : [], "DEFAULT_VALUE" : "", "MASK_INPUT" : False, "LOOSE_VALIDATION": True, "CONF_NAME" : "CONFIG_SATELLITE_USER", "USE_DEFAULT" : False, "NEED_CONFIRM" : False, "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" : [], "DEFAULT_VALUE" : "", "MASK_INPUT" : True, "LOOSE_VALIDATION": False, "CONF_NAME" : "CONFIG_SATELLITE_PW", "USE_DEFAULT" : False, "NEED_CONFIRM" : False, "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" : [], "DEFAULT_VALUE" : "", "MASK_INPUT" : True, "LOOSE_VALIDATION": False, "CONF_NAME" : "CONFIG_SATELLITE_AKEY", "USE_DEFAULT" : False, "NEED_CONFIRM" : False, "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" : "", "MASK_INPUT" : True, "LOOSE_VALIDATION": False, "CONF_NAME" : "CONFIG_SATELLITE_CACERT", "USE_DEFAULT" : False, "NEED_CONFIRM" : False, "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"), "OPTION_LIST" : [], "DEFAULT_VALUE" : "", "MASK_INPUT" : True, "LOOSE_VALIDATION": False, "CONF_NAME" : "CONFIG_SATELLITE_PROFILE", "USE_DEFAULT" : False, "NEED_CONFIRM" : False, "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'], "VALIDATORS" : [validators.validate_multi_options], "DEFAULT_VALUE" : "", "MASK_INPUT" : True, "LOOSE_VALIDATION": False, "CONF_NAME" : "CONFIG_SATELLITE_FLAGS", "USE_DEFAULT" : False, "NEED_CONFIRM" : False, "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" : "", "MASK_INPUT" : True, "LOOSE_VALIDATION": False, "CONF_NAME" : "CONFIG_SATELLITE_PROXY", "USE_DEFAULT" : False, "NEED_CONFIRM" : False, "CONDITION" : False }], "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" : [], "DEFAULT_VALUE" : "", "MASK_INPUT" : True, "LOOSE_VALIDATION": False, "CONF_NAME" : "CONFIG_SATELLITE_PROXY_USER", "USE_DEFAULT" : False, "NEED_CONFIRM" : False, "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" : [], "DEFAULT_VALUE" : "", "MASK_INPUT" : True, "LOOSE_VALIDATION": False, "CONF_NAME" : "CONFIG_SATELLITE_PROXY_PW", "USE_DEFAULT" : False, "NEED_CONFIRM" : False, "CONDITION" : False }]} def filled_satellite(config): return bool(config.get('CONFIG_SATELLITE_URL')) def filled_satellite_proxy(config): return bool(config.get('CONFIG_SATELLITE_PROXY')) conf_groups = [ {"GROUP_NAME" : "SERVERPREPARE", "DESCRIPTION" : "Server Prepare Configs ", "PRE_CONDITION" : lambda x: 'yes', "PRE_CONDITION_MATCH" : "yes", "POST_CONDITION" : False, "POST_CONDITION_MATCH" : True}, ] if ((is_all_in_one(controller.CONF) and is_rhel()) or not is_all_in_one(controller.CONF)): conf_groups.append({"GROUP_NAME" : "RHEL", "DESCRIPTION" : "RHEL config", "PRE_CONDITION" : lambda x: 'yes', "PRE_CONDITION_MATCH" : "yes", "POST_CONDITION" : False, "POST_CONDITION_MATCH" : True}) conf_groups.append({"GROUP_NAME" : "SATELLITE", "DESCRIPTION" : "RHN Satellite config", "PRE_CONDITION" : filled_satellite, "PRE_CONDITION_MATCH" : True, "POST_CONDITION" : False, "POST_CONDITION_MATCH" : True}) conf_groups.append({"GROUP_NAME" : "SATELLITE_PROXY", "DESCRIPTION" : "RHN Satellite proxy config", "PRE_CONDITION" : filled_satellite_proxy, "PRE_CONDITION_MATCH" : True, "POST_CONDITION" : False, "POST_CONDITION_MATCH" : True}) for group in conf_groups: paramList = conf_params[group["GROUP_NAME"]] controller.addGroup(group, paramList)
def allow_provisioning(config): # Provisioning is currently supported only for all-in-one (due # to a limitation with how the custom types for OpenStack # resources are implemented). return is_all_in_one(config)
def process_provision(param, process_args=None): return param if is_all_in_one(controller.CONF) else "n"
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], "DEFAULT_VALUE": "n", "MASK_INPUT": False, "LOOSE_VALIDATION": True, "CONF_NAME": "CONFIG_USE_EPEL", "USE_DEFAULT": False, "NEED_CONFIRM": False, "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": [], "DEFAULT_VALUE": "", "MASK_INPUT": False, "LOOSE_VALIDATION": True, "CONF_NAME": "CONFIG_REPO", "USE_DEFAULT": False, "NEED_CONFIRM": False, "CONDITION": False} ], "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": "", "MASK_INPUT": False, "LOOSE_VALIDATION": True, "CONF_NAME": "CONFIG_RH_USER", "USE_DEFAULT": False, "NEED_CONFIRM": False, "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": [], "DEFAULT_VALUE": "", "MASK_INPUT": False, "LOOSE_VALIDATION": False, "CONF_NAME": "CONFIG_SATELLITE_URL", "USE_DEFAULT": False, "NEED_CONFIRM": False, "CONDITION": False} ], "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": [], "DEFAULT_VALUE": "", "MASK_INPUT": True, "LOOSE_VALIDATION": True, "CONF_NAME": "CONFIG_RH_PW", "USE_DEFAULT": False, "NEED_CONFIRM": False, "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], "DEFAULT_VALUE": "y", "MASK_INPUT": False, "LOOSE_VALIDATION": True, "CONF_NAME": "CONFIG_RH_OPTIONAL", "USE_DEFAULT": False, "NEED_CONFIRM": False, "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": [], "DEFAULT_VALUE": "", "MASK_INPUT": True, "LOOSE_VALIDATION": False, "CONF_NAME": "CONFIG_RH_PROXY", "USE_DEFAULT": False, "NEED_CONFIRM": False, "CONDITION": False} ], "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": [], "DEFAULT_VALUE": "", "MASK_INPUT": False, "LOOSE_VALIDATION": False, "CONF_NAME": "CONFIG_RH_PROXY_PORT", "USE_DEFAULT": False, "NEED_CONFIRM": False, "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": [], "DEFAULT_VALUE": "", "MASK_INPUT": True, "LOOSE_VALIDATION": False, "CONF_NAME": "CONFIG_RH_PROXY_USER", "USE_DEFAULT": False, "NEED_CONFIRM": False, "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": [], "DEFAULT_VALUE": "", "MASK_INPUT": True, "LOOSE_VALIDATION": False, "CONF_NAME": "CONFIG_RH_PROXY_PW", "USE_DEFAULT": False, "NEED_CONFIRM": False, "CONDITION": False} ], "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": [], "DEFAULT_VALUE": "", "MASK_INPUT": False, "LOOSE_VALIDATION": True, "CONF_NAME": "CONFIG_SATELLITE_USER", "USE_DEFAULT": False, "NEED_CONFIRM": False, "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": [], "DEFAULT_VALUE": "", "MASK_INPUT": True, "LOOSE_VALIDATION": False, "CONF_NAME": "CONFIG_SATELLITE_PW", "USE_DEFAULT": False, "NEED_CONFIRM": False, "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": [], "DEFAULT_VALUE": "", "MASK_INPUT": True, "LOOSE_VALIDATION": False, "CONF_NAME": "CONFIG_SATELLITE_AKEY", "USE_DEFAULT": False, "NEED_CONFIRM": False, "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": "", "MASK_INPUT": True, "LOOSE_VALIDATION": False, "CONF_NAME": "CONFIG_SATELLITE_CACERT", "USE_DEFAULT": False, "NEED_CONFIRM": False, "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"), "OPTION_LIST": [], "DEFAULT_VALUE": "", "MASK_INPUT": True, "LOOSE_VALIDATION": False, "CONF_NAME": "CONFIG_SATELLITE_PROFILE", "USE_DEFAULT": False, "NEED_CONFIRM": False, "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'], "VALIDATORS": [validators.validate_multi_options], "DEFAULT_VALUE": "", "MASK_INPUT": True, "LOOSE_VALIDATION": False, "CONF_NAME": "CONFIG_SATELLITE_FLAGS", "USE_DEFAULT": False, "NEED_CONFIRM": False, "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": "", "MASK_INPUT": True, "LOOSE_VALIDATION": False, "CONF_NAME": "CONFIG_SATELLITE_PROXY", "USE_DEFAULT": False, "NEED_CONFIRM": False, "CONDITION": False} ], "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": [], "DEFAULT_VALUE": "", "MASK_INPUT": True, "LOOSE_VALIDATION": False, "CONF_NAME": "CONFIG_SATELLITE_PROXY_USER", "USE_DEFAULT": False, "NEED_CONFIRM": False, "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": [], "DEFAULT_VALUE": "", "MASK_INPUT": True, "LOOSE_VALIDATION": False, "CONF_NAME": "CONFIG_SATELLITE_PROXY_PW", "USE_DEFAULT": False, "NEED_CONFIRM": False, "CONDITION": False} ] } def filled_rhsm(config): return bool(config.get('CONFIG_RH_USER')) def filled_rhsm_proxy(config): return bool(config.get('CONFIG_RH_PROXY')) def filled_satellite(config): return bool(config.get('CONFIG_SATELLITE_URL')) def filled_satellite_proxy(config): return bool(config.get('CONFIG_SATELLITE_PROXY')) conf_groups = [ {"GROUP_NAME": "SERVERPREPARE", "DESCRIPTION": "Server Prepare Configs ", "PRE_CONDITION": lambda x: 'yes', "PRE_CONDITION_MATCH": "yes", "POST_CONDITION": False, "POST_CONDITION_MATCH": True}, ] config = controller.CONF if (is_all_in_one(config) and is_rhel()) or not is_all_in_one(config): conf_groups.extend([ {"GROUP_NAME": "RHEL", "DESCRIPTION": "RHEL config", "PRE_CONDITION": lambda x: 'yes', "PRE_CONDITION_MATCH": "yes", "POST_CONDITION": False, "POST_CONDITION_MATCH": True}, {"GROUP_NAME": "RHSM", "DESCRIPTION": "RH subscription manager config", "PRE_CONDITION": filled_rhsm, "PRE_CONDITION_MATCH": True, "POST_CONDITION": False, "POST_CONDITION_MATCH": True}, {"GROUP_NAME": "RHSM_PROXY", "DESCRIPTION": "RH subscription manager proxy config", "PRE_CONDITION": filled_rhsm_proxy, "PRE_CONDITION_MATCH": True, "POST_CONDITION": False, "POST_CONDITION_MATCH": True}, {"GROUP_NAME": "SATELLITE", "DESCRIPTION": "RHN Satellite config", "PRE_CONDITION": filled_satellite, "PRE_CONDITION_MATCH": True, "POST_CONDITION": False, "POST_CONDITION_MATCH": True}, {"GROUP_NAME": "SATELLITE_PROXY", "DESCRIPTION": "RHN Satellite proxy config", "PRE_CONDITION": filled_satellite_proxy, "PRE_CONDITION_MATCH": True, "POST_CONDITION": False, "POST_CONDITION_MATCH": True} ]) for group in conf_groups: params = conf_params[group["GROUP_NAME"]] controller.addGroup(group, params)
def process_provision(param, process_args=None): return param if is_all_in_one(controller.CONF) else 'n'
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], "DEFAULT_VALUE": "n", "MASK_INPUT": False, "LOOSE_VALIDATION": True, "CONF_NAME": "CONFIG_USE_EPEL", "USE_DEFAULT": False, "NEED_CONFIRM": False, "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": [], "DEFAULT_VALUE": "", "MASK_INPUT": False, "LOOSE_VALIDATION": True, "CONF_NAME": "CONFIG_REPO", "USE_DEFAULT": False, "NEED_CONFIRM": False, "CONDITION": False }], "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": "", "MASK_INPUT": False, "LOOSE_VALIDATION": True, "CONF_NAME": "CONFIG_RH_USER", "USE_DEFAULT": False, "NEED_CONFIRM": False, "CONDITION": False }, { "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": [], "DEFAULT_VALUE": "", "MASK_INPUT": True, "LOOSE_VALIDATION": True, "CONF_NAME": "CONFIG_RH_PW", "USE_DEFAULT": False, "NEED_CONFIRM": False, "CONDITION": False }, { "CMD_OPTION": "rhn-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], "DEFAULT_VALUE": "y", "MASK_INPUT": False, "LOOSE_VALIDATION": True, "CONF_NAME": "CONFIG_RH_OPTIONAL", "USE_DEFAULT": False, "NEED_CONFIRM": False, "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": [], "DEFAULT_VALUE": "", "MASK_INPUT": False, "LOOSE_VALIDATION": False, "CONF_NAME": "CONFIG_SATELLITE_URL", "USE_DEFAULT": False, "NEED_CONFIRM": False, "CONDITION": False }], "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": [], "DEFAULT_VALUE": "", "MASK_INPUT": False, "LOOSE_VALIDATION": True, "CONF_NAME": "CONFIG_SATELLITE_USER", "USE_DEFAULT": False, "NEED_CONFIRM": False, "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": [], "DEFAULT_VALUE": "", "MASK_INPUT": True, "LOOSE_VALIDATION": False, "CONF_NAME": "CONFIG_SATELLITE_PW", "USE_DEFAULT": False, "NEED_CONFIRM": False, "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": [], "DEFAULT_VALUE": "", "MASK_INPUT": True, "LOOSE_VALIDATION": False, "CONF_NAME": "CONFIG_SATELLITE_AKEY", "USE_DEFAULT": False, "NEED_CONFIRM": False, "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": "", "MASK_INPUT": True, "LOOSE_VALIDATION": False, "CONF_NAME": "CONFIG_SATELLITE_CACERT", "USE_DEFAULT": False, "NEED_CONFIRM": False, "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"), "OPTION_LIST": [], "DEFAULT_VALUE": "", "MASK_INPUT": True, "LOOSE_VALIDATION": False, "CONF_NAME": "CONFIG_SATELLITE_PROFILE", "USE_DEFAULT": False, "NEED_CONFIRM": False, "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'], "VALIDATORS": [validators.validate_multi_options], "DEFAULT_VALUE": "", "MASK_INPUT": True, "LOOSE_VALIDATION": False, "CONF_NAME": "CONFIG_SATELLITE_FLAGS", "USE_DEFAULT": False, "NEED_CONFIRM": False, "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": "", "MASK_INPUT": True, "LOOSE_VALIDATION": False, "CONF_NAME": "CONFIG_SATELLITE_PROXY", "USE_DEFAULT": False, "NEED_CONFIRM": False, "CONDITION": False }], "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": [], "DEFAULT_VALUE": "", "MASK_INPUT": True, "LOOSE_VALIDATION": False, "CONF_NAME": "CONFIG_SATELLITE_PROXY_USER", "USE_DEFAULT": False, "NEED_CONFIRM": False, "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": [], "DEFAULT_VALUE": "", "MASK_INPUT": True, "LOOSE_VALIDATION": False, "CONF_NAME": "CONFIG_SATELLITE_PROXY_PW", "USE_DEFAULT": False, "NEED_CONFIRM": False, "CONDITION": False }] } def filled_satellite(config): return bool(config.get('CONFIG_SATELLITE_URL')) def filled_satellite_proxy(config): return bool(config.get('CONFIG_SATELLITE_PROXY')) conf_groups = [ { "GROUP_NAME": "SERVERPREPARE", "DESCRIPTION": "Server Prepare Configs ", "PRE_CONDITION": lambda x: 'yes', "PRE_CONDITION_MATCH": "yes", "POST_CONDITION": False, "POST_CONDITION_MATCH": True }, ] config = controller.CONF if (is_all_in_one(config) and is_rhel()) or not is_all_in_one(config): conf_groups.append({ "GROUP_NAME": "RHEL", "DESCRIPTION": "RHEL config", "PRE_CONDITION": lambda x: 'yes', "PRE_CONDITION_MATCH": "yes", "POST_CONDITION": False, "POST_CONDITION_MATCH": True }) conf_groups.append({ "GROUP_NAME": "SATELLITE", "DESCRIPTION": "RHN Satellite config", "PRE_CONDITION": filled_satellite, "PRE_CONDITION_MATCH": True, "POST_CONDITION": False, "POST_CONDITION_MATCH": True }) conf_groups.append({ "GROUP_NAME": "SATELLITE_PROXY", "DESCRIPTION": "RHN Satellite proxy config", "PRE_CONDITION": filled_satellite_proxy, "PRE_CONDITION_MATCH": True, "POST_CONDITION": False, "POST_CONDITION_MATCH": True }) for group in conf_groups: params = conf_params[group["GROUP_NAME"]] controller.addGroup(group, params)