in assets/scripts/SilentInstaller.py [0:0]
def make_cmd_line_parser():
''' Creates a parser for the arguments passed on this script's command line '''
parser = argparse.ArgumentParser(
description='Tableau Server silent installation script',
add_help=False,
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
optional_flags = parser.add_argument_group('optional flags')
optional_flags.add_argument('-h', '--help', action='help', help='display this message and exit')
optional_flags.add_argument('--bootstrapFile', help='A json file containing all options listed here. When using this option, no other options can be specified on the command line.')
# Required arguments
subparsers = parser.add_subparsers(help='Install Server, Install Worker or Update Topology')
### INSTALL ARGS
install_parser = subparsers.add_parser('install')
install_parser.set_defaults(type='install')
# Optional flags (have reasonable defaults)
optional_flags = install_parser.add_argument_group('optional flags')
optional_flags.add_argument('--installDir', help='Installation directory', default=Options.defaults['installDir'])
optional_flags.add_argument('--dataDir', help='Data directory', default=Options.defaults['dataDir'])
optional_flags.add_argument('--controllerPort', help='TSM conroller port', default=Options.defaults['controllerPort'])
optional_flags.add_argument('--coordinationserviceClientPort', help='ZooKeeper client port', default=Options.defaults['coordinationserviceClientPort'])
optional_flags.add_argument('--coordinationservicePeerPort', help='ZooKeeper peer port', default=Options.defaults['coordinationservicePeerPort'])
optional_flags.add_argument('--coordinationserviceLeaderPort', help='ZooKeeper leader port', default=Options.defaults['coordinationserviceLeaderPort'])
optional_flags.add_argument('--licenseserviceVendorDaemonPort', help='License Service vendor daemon port', default=Options.defaults['licenseserviceVendorDaemonPort'])
optional_flags.add_argument('--agentFileTransferPort', help='Tabadmin Agent file transfer port', default=Options.defaults['agentFileTransferPort'])
optional_flags.add_argument('--portRangeMin', help='Port range min', default=Options.defaults['portRangeMin'])
optional_flags.add_argument('--portRangeMax', help='Port range max', default=Options.defaults['portRangeMax'])
optional_flags.add_argument('--portRemappingEnabled', help='Whether port remapping is enabled', default=Options.defaults['portRemappingEnabled'])
optional_flags.add_argument('--start', help='Should Tableau Server start at the end of the installation?', choices=['yes', 'no'], default=Options.defaults['start'])
optional_flags.add_argument('--saveNodeConfiguration', help='Should Tableau Server save the node configuration file for worker installation?', choices=['yes', 'no'], default=Options.defaults['saveNodeConfiguration'])
optional_flags.add_argument('--nodeConfigurationDirectory', help='Directory to save the node setup file for worker installation if you choose YES for --saveNodeConfigurationFile option', default=Options.defaults['nodeConfigurationDirectory'])
# Required flags (no reasonable defaults)
required_flags = install_parser.add_argument_group('required flags')
required_flags.add_argument('--secretsFile', required=True, help='User credentials json file')
required_flags.add_argument('--configFile', help='Configuration and topology json file')
required_flags.add_argument('--registrationFile', help='User registration file')
required_flags.add_argument('installer', help='Installer path, e.g: Tableau-Server-64bit-9-3-1.exe')
### INSTALL WORKER ARGS
install_worker_parser = subparsers.add_parser('installWorker')
install_worker_parser.set_defaults(type='installWorker')
# Optional flags (no reasonable defaults)
optional_flags = install_worker_parser.add_argument_group('optional flags')
optional_flags.add_argument('--installDir', help='Installation directory', default=Options.defaults['installDir'])
optional_flags.add_argument('--dataDir', help='Data directory', default=Options.defaults['dataDir'])
# Required flags (no reasonable defaults)
required_flags = install_worker_parser.add_argument_group('required flags')
required_flags.add_argument('--nodeConfigurationFile', help='Node configuration json file')
required_flags.add_argument('--secretsFile', required=True, help='User credentials json file')
required_flags.add_argument('installer', help='Worker Installer path, e.g: Tableau-Worker-64bit-9-3-1.exe')
### UPDATE Topology ARGS
update_topology_parser = subparsers.add_parser('updateTopology')
update_topology_parser.set_defaults(type='updateTopology')
# Optional flags (have reasonable defaults)
optional_flags = update_topology_parser.add_argument_group('optional flags')
optional_flags.add_argument('--installDir', help='Installation directory', default=Options.defaults['installDir'])
optional_flags.add_argument('--controllerPort', help='TSM conroller port', default=Options.defaults['controllerPort'])
# Required flags (no reasonable defaults)
required_flags = update_topology_parser.add_argument_group('required flags')
required_flags.add_argument('--secretsFile', required=True, help='User credentials json file')
required_flags.add_argument('--configFile', help='Topology json file')
return parser