Package io.deephaven.config
Class ClusterMap
java.lang.Object
io.deephaven.config.ClusterMap
This class is a configuration object populated from the /etc/deephaven/cluster.cnf file.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final StringIs Python installed for Core+ workers, and if so which version should be set.static final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final StringDeprecated.static final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final StringThe version of Python to install for Legacy workers.static final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final StringShould Python be installed for Legacy workers? This also serves as a default for DH_COREPLUS_PYTHON.static final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringstatic final Stringprotected final booleanstatic final String -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcomputeJavaPackage(String jp, String jv) booleanbooleangetJava()intgetOs()booleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanisLaxSsh()booleanbooleanbooleanbooleanisPython()booleanisRoot()booleanbooleanbooleanbooleanbooleanisStrict()booleanbooleanbooleanstatic ClusterMapstatic ClusterMapvoidvoidsetCaCertificate(String caCertificate) Used only by internal tooling.voidsetClusterName(String clusterName) voidsetCorePlusVersions(List<String> coreplusVersions) voidsetEtcdToken(String etcdToken) voidsetLaxSsh(boolean laxSsh) voidsetNodeGoogleZone(DhNode node, String googleZone) voidsetSshConfig(String sshConfig) voidvoidsetSshUser(String sshUser) voidsetVersion(String version) TODO: what does 'toSource' mean?
-
Field Details
-
DEFAULT_VALUE_COMMENT
- See Also:
-
EMPTY_LINE
- See Also:
-
DH_OS
- See Also:
-
DH_VERSION
- See Also:
-
DH_DND_VERSIONS
- See Also:
-
DH_COREPLUS_VERSIONS
- See Also:
-
DH_CLUSTER_NAME
- See Also:
-
DH_CLUSTER_NAME_SUFFIX
- See Also:
-
DH_JAVA
- See Also:
-
DH_JAVA_VERSION
- See Also:
-
DH_JAVA_PACKAGE
- See Also:
-
DH_JAVA_FORCE_INSTALL
- See Also:
-
DH_JAVA_REPO
- See Also:
-
DH_JAVA_GPG_KEY
- See Also:
-
DH_REPO_KEY
- See Also:
-
DH_REPO_KEY_FILE
- See Also:
-
DH_REPO_NAME
- See Also:
-
DH_REPO_URL
- See Also:
-
DH_REPO_SEGMENT
- See Also:
-
DH_RELEASE
- See Also:
-
DH_DOMAIN_ROOT
- See Also:
-
DH_LOCAL_DIR
- See Also:
-
DH_REMOTE_DIR
- See Also:
-
DH_BACKUP_OLD_CERTS
- See Also:
-
DH_CERT_EXPIRY_SECONDS
- See Also:
-
DH_GENERATE_CERTIFICATES
- See Also:
-
DH_SKIP_CERT_VALIDATION
- See Also:
-
DH_LOCAL_CERT_DIR
- See Also:
-
DH_CA_CERTIFICATE
- See Also:
-
DH_ARCHIVE_CLASSIFIER
- See Also:
-
DH_ETCD_IMPORT_NODE
- See Also:
-
DH_ETCD_TOKEN
- See Also:
-
DH_LIGHTTPD_PEM
- See Also:
-
DH_ENVOY_PEM_PATH
- See Also:
-
DH_SSH_USER
- See Also:
-
DH_SSH_KEY
- See Also:
-
DH_SSH_CONFIG
- See Also:
-
DH_LAX_SSH
- See Also:
-
DH_FORCE_NEW_CERTS
- See Also:
-
DH_ERROR_FILE
- See Also:
-
DH_NODE_NAME
- See Also:
-
DH_CLUSTER_DIR
- See Also:
-
DH_MYSQL_VERSION
- See Also:
-
DH_SKIP_MONIT_CHECK
- See Also:
-
DH_SKIP_ACL_INIT
- See Also:
-
DH_SKIP_ETCD_IMPORT
- See Also:
-
DH_CLEANUP
- See Also:
-
DH_WORLD_READABLE_LOGS
- See Also:
-
DH_SYSADMIN_USER
- See Also:
-
DH_ADMIN_SSH_KEY
- See Also:
-
DH_STRICT
- See Also:
-
DH_STRICT_KEYS
- See Also:
-
DH_ENVOY_LB_ADDR
Deprecated.- See Also:
-
DH_PYTHON
Should Python be installed for Legacy workers? This also serves as a default for DH_COREPLUS_PYTHON.- See Also:
-
DH_COREPLUS_PYTHON
Is Python installed for Core+ workers, and if so which version should be set. If DH_PYTHON is false, and this is empty; then Core+ virtual environments are not crated. If this is a value that contains the string "python", then it is interpreted as an executable to use for creating the venv. If this is a numeric value (with dots), then this is interpreted as a Python version. You must have previously installed the desired executable or Python version on all query servers.- See Also:
-
DH_LEGACY_PYTHON_VERSION
The version of Python to install for Legacy workers.- See Also:
-
DH_LEGACY_PYTHON_PATCH_VERSION
- See Also:
-
DH_OFFLINE
- See Also:
-
DH_ALLOW_ETCD_OFFLINE
- See Also:
-
DH_ACLS_USE_ETCD
- See Also:
-
DH_DIR_ETCD_BIN
- See Also:
-
DH_CONFIGURE_ENVOY
- See Also:
-
DH_ENVOY_INSTALL_MODE
- See Also:
-
DH_ENVOY_FQDN
- See Also:
-
DH_ENVOY_LOCAL_CERT
- See Also:
-
DH_ENVOY_REMOTE_CERT
- See Also:
-
DH_WEB_FQDN
- See Also:
-
DH_CONFIG_SERVER_FQDN
- See Also:
-
DH_CUS_FQDN
- See Also:
-
DH_ENVOY_PORT
- See Also:
-
DH_ENVOY_ENABLE_ADMIN
- See Also:
-
DH_ENVOY_ADMIN_PORT
- See Also:
-
DH_ENVOY_CLUSTER_TYPE
- See Also:
-
DH_ENVOY_COPY_YAML
- See Also:
-
DH_AUTH_SERVER_WEB_SOCKET
- See Also:
-
DH_CONTROLLER_WEB_SOCKET
- See Also:
-
DH_ACL_WRITER_WEB_SOCKET
- See Also:
-
DH_CONFIG_SERVER_WEB_SOCKET
- See Also:
-
DH_QUERY_SERVER_WEB_SOCKET
- See Also:
-
DH_MERGE_SERVER_WEB_SOCKET
- See Also:
-
DH_STATUS_DASHBOARD_WEB_SOCKET
- See Also:
-
ALLOW_INTERNAL_PROPS
- See Also:
-
DH_PARALLEL
- See Also:
-
DH_NO_PRIV_VALIDATE
- See Also:
-
DH_ADMIN_USER
- See Also:
-
DH_ADMIN_GROUP
- See Also:
-
DH_MERGE_USER
- See Also:
-
DH_MERGE_GROUP
- See Also:
-
DH_QUERY_USER
- See Also:
-
DH_QUERY_GROUP
- See Also:
-
DH_SHARED_GROUP
- See Also:
-
DH_SHARED_QUERY_GROUP
- See Also:
-
DH_MONIT_USER
- See Also:
-
DH_MONIT_GROUP
- See Also:
-
DH_USER_HOME
- See Also:
-
DH_ETCD_USER
- See Also:
-
DH_BRANCH
- See Also:
-
USE_GSUTIL
- See Also:
-
NODE
- See Also:
-
NODE_COUNT
- See Also:
-
NODE_NAME
- See Also:
-
HOST_NAME
- See Also:
-
DOMAIN_NAME
- See Also:
-
INSTALLER_ROUTE
- See Also:
-
DISK_TYPE
- See Also:
-
DISK_SIZE
- See Also:
-
MACHINE_TYPE
- See Also:
-
IP
- See Also:
-
ETCD_IP
- See Also:
-
GOOGLE_ZONE
- See Also:
-
DH_MODIFY_ETC_SUDOERS
- See Also:
-
DH_ALLOW_SYSTEMCTL_ENABLE
- See Also:
-
DH_ROOT
- See Also:
-
DH_MONIT_ROOT
- See Also:
-
DH_ETCD_ROOT
- See Also:
-
DH_MONIT_RC
- See Also:
-
DH_MONIT_LOG_DIR
- See Also:
-
DH_MYSQL_CNF
- See Also:
-
DH_SKIP_DB_OWNERSHIP
- See Also:
-
DH_SKIP_ALL_MONIT
- See Also:
-
DH_GOOGLE_PROJECT
- See Also:
-
DH_GOOGLE_NETWORK
- See Also:
-
DH_GOOGLE_SUBNET
- See Also:
-
DH_GOOGLE_DNS_ZONE
- See Also:
-
DH_GOOGLE_ZONE
- See Also:
-
DH_GOOGLE_SERVICE_ACCOUNT
- See Also:
-
DH_LINK_RESOURCES
- See Also:
-
DH_LINK_HOSTCONFIG
- See Also:
-
DH_LINK_OVERRIDE
- See Also:
-
DH_LINK_HOTFIXES
- See Also:
-
DH_USE_EPEL
- See Also:
-
DH_LOG_DIR
- See Also:
-
DH_DEBUG
- See Also:
-
DH_QUIET
- See Also:
-
DH_ALLOW_OVERRIDES
- See Also:
-
DEFAULT_MYSQL_VERSION
- See Also:
-
DEFAULT_ETCD_VERSION
- See Also:
-
DEFAULT_JAVA_REPO
- See Also:
-
DEFAULT_JAVA_GPG_KEY
- See Also:
-
MIN_SUPPORTED_JAVA_VERSION
- See Also:
-
removeSudo
protected final boolean removeSudo -
DEFAULT_PYTHON_VERSION
- See Also:
-
DEFAULT_COREPLUS_PYTHON_VERSION
- See Also:
-
-
Constructor Details
-
ClusterMap
- Throws:
ConfigurationException
-
-
Method Details
-
computeJavaPackage
-
loadMap
- Throws:
IOExceptionConfigurationException
-
loadMap
public static ClusterMap loadMap(File sourceFile, CnfData data) throws IOException, ConfigurationException - Throws:
IOExceptionConfigurationException
-
getIgnoredKeys
-
getSourceFile
-
getAllNodes
-
getNodeCount
public int getNodeCount() -
getRelease
-
getClusterName
-
setClusterName
-
setCaCertificate
Used only by internal tooling. Overwrite the DH_CA_CERTIFICATE at runtime.- Parameters:
caCertificate- The path to the certificate; typically DH_LOCAL_DIR/certs/ca/ca.crt
-
getDomainRoot
-
getBranch
-
getVersion
-
setVersion
-
setBranch
-
getJava
-
getJavaVersion
-
getJavaPackage
-
getJavaRepo
-
getJavaGpgKey
-
getEtcdNodes
-
getMysqlNodes
-
getConfigNodes
-
getAuthNodes
-
getMergeNodes
-
getQueryNodes
-
getAllDhNodes
-
getWebNodes
-
getEnvoyNode
-
getNodesNeedingTls
-
getSqlNode
-
getAclWriteNode
-
getDisNode
-
getControllerNodes
-
getDefaultQueryNode
-
getDefaultMergeNode
-
getSchemaEditorNode
-
getConsoleDispatcherNode
-
getKeygenNode
-
getRepoKeyBash
-
getRepoKeyJvm
- Throws:
IOException
-
getRepoKey
-
getRepoKeyFile
-
getRepoUrl
-
getRepoSegment
-
getArchiveClassifier
-
getEtcdToken
-
getEtcdImportNode
-
setEtcdToken
-
getSshConfig
-
setSshConfig
-
getSshKey
-
setSshKey
-
getSshUser
-
setSshUser
-
isLaxSsh
public boolean isLaxSsh() -
setLaxSsh
public void setLaxSsh(boolean laxSsh) -
isSkipMonitCheck
public boolean isSkipMonitCheck() -
isAllowEtcdOffline
public boolean isAllowEtcdOffline() -
isSkipAclInit
public boolean isSkipAclInit() -
isSkipAllMonit
public boolean isSkipAllMonit() -
isSkipCertValidation
public boolean isSkipCertValidation() -
isCleanup
public boolean isCleanup() -
isUseGsutil
public boolean isUseGsutil() -
isModifyEtcSudoers
public boolean isModifyEtcSudoers() -
isAllowSystemctlEnable
public boolean isAllowSystemctlEnable() -
isWorldReadableLogs
public boolean isWorldReadableLogs() -
isStrict
public boolean isStrict() -
isGenerateCerts
public boolean isGenerateCerts() -
getLocalDir
-
getMysqlVersion
-
getOs
-
isUseEpel
public boolean isUseEpel() -
isRoot
public boolean isRoot() -
isMonitRoot
public boolean isMonitRoot() -
getMonitLogDir
-
isEtcdRoot
public boolean isEtcdRoot() -
isEtcdAclsEnabled
public boolean isEtcdAclsEnabled() -
isJavaForceInstall
public boolean isJavaForceInstall() -
isOffline
public boolean isOffline() -
getMonitConfigFile
-
getMysqlCnfFile
-
isPython
public boolean isPython() -
getCorePlusPython
-
getCorePlusPythonExec
-
getPythonVersion
-
getPythonPatchVersion
-
getRemoteDir
-
getSysadminUser
-
getAdminUser
-
getAdminGroup
-
getMergeUser
-
getMergeGroup
-
getQueryUser
-
getQueryGroup
-
getMonitUser
-
getMonitGroup
-
getEtcdUser
-
getUserHome
-
getLinkResources
-
getLinkHostconfig
-
getLinkOverride
-
getLinkHotfixes
-
isConfigureEnvoy
public boolean isConfigureEnvoy() -
getEnvoyInstallMode
-
getEnvoyCopyYaml
public boolean getEnvoyCopyYaml() -
getEnvoyClusterType
-
getEnvoyHost
-
getEnvoyPort
-
getEnvoyAdminEnabled
public boolean getEnvoyAdminEnabled() -
getEnvoyAdminPort
-
getEnvoyPemPath
-
getEnvoyLocalCert
-
getEnvoyRemoteCert
-
getCaCertificate
-
getLocalCertDir
-
toSource
TODO: what does 'toSource' mean?- Parameters:
existingSource-- Returns:
-
getFilenameTar
-
isCoreplusEnabled
public boolean isCoreplusEnabled()- Returns:
- true unless DH_COREPLUS_VERSIONS= or DH_COREPLUS_VERSION=none
-
getFilenamesDnd
-
getGoogleProject
-
getGoogleZone
-
setNodeGoogleZone
-
getCorePlusVersions
-
setCorePlusVersions
-
getDirEtcdBin
-
addNode
-
getBuildUuid
-
getValidCorePlusPythonVersions
-