10.7. tpm Validation Checks

During configuration and installation, tpm runs a number of configuration, operating system, datasource, and other validation checks to ensure that the correct environment, prerequisites and other settings will produce a valid, working, configuration.

All relevant checks are executed automatically unless specifically ignored (warnings) or disabled (checks) using the corresponding --skip-validation-warnings or --skip-validation-check options.

Table 10.8. tpm Validation Checks

OptionDescription
BackupDirectoryWriteableCheckChecks that the configured backup directory is writeable
BackupDumpDirectoryWriteableCheckChecks the backup temp directory is writeable
BackupScriptAvailableCheckChecks that the configured backup script exists and can be executed
ClusterDiagnosticCheck
ClusterStatusCheck
CommitDirectoryCheck
ConfigurationStorageDirectoryCheck
ConfigureValidationCheck
ConfiguredDirectoryCheck
ConflictingReplicationServiceTHLPortsCheck
ConnectorChecksEnsures that the configured connector selection is valid
ConnectorDBVersionCheck
ConnectorListenerAddressCheck
ConnectorRWROAddressesCheckEnsure the RW and RO addresses are different
ConnectorSmartScaleAllowedCheckConfirms whether SmartScale is valid within the current configured parameters
ConnectorUserCheck
ConsistentReplicationCredentialsCheck
CurrentCommandCoordinatorCheck
CurrentConnectorCheck
CurrentReleaseDirectoryIsSymlink
CurrentTopologyCheck
CurrentVersionCheck
DatasourceBootScriptCheck
DifferentMasterSlaveCheck
DirectOracleServiceSIDCheck
EncryptionCheck
EncryptionKeystoreCheck
FileValidationCheck
FirewallCheck
GlobalHostAddressesCheck
GlobalHostOracleLibrariesFoundCheck
GlobalMatchingPingMethodCheck
GlobalRestartComponentsCheck
GroupValidationCheck
HdfsValidationCheck
HostLicensesCheck
HostOracleLibrariesFoundCheck
HostReplicatorServiceRunningCheck
HostSkippedChecks
HostnameCheck
HostsFileCheck
InstallServicesCheck
InstallationScriptCheck
InstallerMasterSlaveCheckChecks whether a Primary host has been defined for the configured service.
InstallingOverExistingInstallation
JavaUserTimezoneCheck
JavaVersionCheck
KeystoresCheck
KeystoresToCommitCheck
ManagerActiveWitnessConversionCheck
ManagerChecks
ManagerHeapThresholdCheck
ManagerListenerAddressCheck
ManagerPingMethodCheck
ManagerWitnessAvailableCheck
ManagerWitnessNeededCheck
MatchingHomeDirectoryCheck
MissingReplicationServiceConfigurationCheck
ModifiedConfigurationFilesCheck
MySQLAllowIntensiveChecksEnables searching MySQL INFORMATION_SCHEMA for validation checks
MySQLApplierLogsCheck
MySQLApplierPortCheck
MySQLApplierServerIDCheck
MySQLAvailableCheckChecks if MySQL is installed
MySQLBinaryLogsEnabledCheckChecks that binary logging has been enabled on MySQL
MySQLBinlogDoDbCheck
MySQLClientCheckChecks whether the MySQL client command tool is available
MySQLConfigFileCheckChecks the existence of a MySQL configuration file
MySQLConnectorBridgeModePermissionsCheck
MySQLConnectorPermissionsCheck
MySQLDefaultTableTypeCheckChecks the default table type for MySQL
MySQLDumpCheckChecks that the mysqldump command version matches the installed MySQL
MySQLGeneratedColumnCheckChecks whether MySQL virtual/generated columns are defined
MySQLInnoDBEnabledCheck
MySQLJsonDataTypeCheck
MySQLLoadDataInfilePermissionsCheck
MySQLLoginCheckChecks whether Tungsten Cluster can connect to MySQL using the configured credentials
MySQLMyISAMCheckChecks for the existence of MyISAM tables
MySQLNoMySQLReplicationCheck
MySQLPasswordSettingCheck
MySQLPermissionsCheck
MySQLReadableLogsCheck
MySQLSettingsCheck
MySQLSuperReadOnlyCheckChecks whether super_read_only has been enabled on MySQL
MySQLTriggerCheck
MySQLUnsupportedDataTypesCheck
MysqlConnectorCheck
MysqldumpAvailableCheck
MysqldumpSettingsCheck
NewDirectoryRequiredCheck
NtpdRunningCheck
OSCheck
OldServicesRunningCheck
OpenFilesLimitCheck
OpensslLibraryCheck
OracleLoginCheck
OraclePermissionsCheck
OracleRedoReaderMinerDirectoryCheck
OracleServiceSIDCheck
OracleVersionCheck
PGAvailableCheck
ParallelReplicationCheck
ParallelReplicationCountCheck
PgControlAvailableCheck
PgStandbyAvailableCheck
PgdumpAvailableCheck
PgdumpallAvailableCheck
PingSyntaxCheck
PortAvailabilityCheck
ProfileScriptCheck
RMIListenerAddressCheck
RelayDirectoryWriteableCheckChecks that the relay log directory can be written to
ReplicatorChecks
RestartComponentsCheck
RouterAffinityCheck
RouterBridgeModeDefaultCheck
RouterDelayBeforeOfflineCheck
RouterKeepAliveTimeoutCheck
RowBasedBinaryLoggingCheckChecks that Row-based binary logging has been enabled for heterogeneous deployments
RsyncAvailableCheck
RubyVersionCheck
SSHLoginCheckChecks connectivity to other hosts over SSH
ServiceTransferredLogStorageCheck
StartingStoppedServices
SudoCheck
SwappinessCheckChecks the swappiness OS configuration is within a recommended range
THLDirectoryWriteableCheck
THLListenerAddressCheck
THLSchemaChangeCheckEnsures that the existing THL format is compatible with the new release
THLStorageCheckConfirms the THL storage directory exists, is empty and writeable
THLStorageChecksum
TargetDirectoryDoesNotExist
TransferredLogStorageCheck
UpgradeSameProductCheckEnsures that the same product is being updated
VIPEnabledHostAllowsRootCommands
VIPEnabledHostArpPath
VIPEnabledHostIfconfigPath
VerticaUserGroupsCheckChecks that the Vertica user has the correct OS group membership
WhichAvailableCheckChecks the existence of a working which command
WriteableHomeDirectoryCheckEnsures the home directory can be written to
WriteableTempDirectoryCheckEnsures the temporary directory can be written to
XtrabackupAvailableCheck
XtrabackupDirectoryWriteableCheck
XtrabackupSettingsCheck

BackupDirectoryWriteableCheck

OptionBackupDirectoryWriteableCheck
DescriptionChecks that the configured backup directory is writeable

Confirms that the directory defined in --backup-dir directory exists and can be written to.

BackupDumpDirectoryWriteableCheck

OptionBackupDumpDirectoryWriteableCheck
DescriptionChecks the backup temp directory is writeable

Confirms that the directory defined in --backup-dump-dir directory exists and can be written to.

BackupScriptAvailableCheck

OptionBackupScriptAvailableCheck
DescriptionChecks that the configured backup script exists and can be executed

Confirms that the script defined in --backup-script exists and is executable.

ClusterDiagnosticCheck

OptionClusterDiagnosticCheck
Description 

ClusterStatusCheck

OptionClusterStatusCheck
Description 

CommitDirectoryCheck

OptionCommitDirectoryCheck
Description 

ConfigurationStorageDirectoryCheck

ConfigureValidationCheck

OptionConfigureValidationCheck
Description 

ConfiguredDirectoryCheck

OptionConfiguredDirectoryCheck
Description 

ConflictingReplicationServiceTHLPortsCheck

ConnectorChecks

OptionConnectorChecks
DescriptionEnsures that the configured connector selection is valid

Checks that the list of connectors and the corresponding list of data services is valid.

ConnectorDBVersionCheck

OptionConnectorDBVersionCheck
Description 

ConnectorListenerAddressCheck

ConnectorRWROAddressesCheck

OptionConnectorRWROAddressesCheck
DescriptionEnsure the RW and RO addresses are different

For environments where the connector has been configured to use different hosts and ports for RW and RO operations, ensure that the settings are in fact different.

ConnectorSmartScaleAllowedCheck

OptionConnectorSmartScaleAllowedCheck
DescriptionConfirms whether SmartScale is valid within the current configured parameters

Checks that both SmartScale and Read/Write splitting have been enabled.

ConnectorUserCheck

OptionConnectorUserCheck
Description 

ConsistentReplicationCredentialsCheck

CurrentCommandCoordinatorCheck

CurrentConnectorCheck

OptionCurrentConnectorCheck
Description 

CurrentReleaseDirectoryIsSymlink

CurrentTopologyCheck

OptionCurrentTopologyCheck
Description 

CurrentVersionCheck

OptionCurrentVersionCheck
Description 

DatasourceBootScriptCheck

OptionDatasourceBootScriptCheck
Description 

DifferentMasterSlaveCheck

OptionDifferentMasterSlaveCheck
Description 

DirectOracleServiceSIDCheck

OptionDirectOracleServiceSIDCheck
Description 

EncryptionCheck

OptionEncryptionCheck
Description 

EncryptionKeystoreCheck

OptionEncryptionKeystoreCheck
Description 

FileValidationCheck

OptionFileValidationCheck
Description 

FirewallCheck

OptionFirewallCheck
Description 

GlobalHostAddressesCheck

OptionGlobalHostAddressesCheck
Description 

GlobalHostOracleLibrariesFoundCheck

GlobalMatchingPingMethodCheck

GlobalRestartComponentsCheck

OptionGlobalRestartComponentsCheck
Description 

GroupValidationCheck

OptionGroupValidationCheck
Description 

HdfsValidationCheck

OptionHdfsValidationCheck
Description 

HostLicensesCheck

OptionHostLicensesCheck
Description 

HostOracleLibrariesFoundCheck

HostReplicatorServiceRunningCheck

HostSkippedChecks

OptionHostSkippedChecks
Description 

HostnameCheck

OptionHostnameCheck
Description 

HostsFileCheck

OptionHostsFileCheck
Description 

InstallServicesCheck

OptionInstallServicesCheck
Description 

InstallationScriptCheck

OptionInstallationScriptCheck
Description 

InstallerMasterSlaveCheck

OptionInstallerMasterSlaveCheck
DescriptionChecks whether a Primary host has been defined for the configured service.

InstallingOverExistingInstallation

JavaUserTimezoneCheck

OptionJavaUserTimezoneCheck
Description 

JavaVersionCheck

OptionJavaVersionCheck
Description 

KeystoresCheck

OptionKeystoresCheck
Description 

KeystoresToCommitCheck

OptionKeystoresToCommitCheck
Description 

ManagerActiveWitnessConversionCheck

ManagerChecks

OptionManagerChecks
Description 

ManagerHeapThresholdCheck

OptionManagerHeapThresholdCheck
Description 

ManagerListenerAddressCheck

OptionManagerListenerAddressCheck
Description 

ManagerPingMethodCheck

OptionManagerPingMethodCheck
Description 

ManagerWitnessAvailableCheck

OptionManagerWitnessAvailableCheck
Description 

ManagerWitnessNeededCheck

OptionManagerWitnessNeededCheck
Description 

MatchingHomeDirectoryCheck

OptionMatchingHomeDirectoryCheck
Description 

MissingReplicationServiceConfigurationCheck

ModifiedConfigurationFilesCheck

MySQLAllowIntensiveChecks

OptionMySQLAllowIntensiveChecks
DescriptionEnables searching MySQL INFORMATION_SCHEMA for validation checks

Enables tpm to make use of the MySQL INFORMATION_SCHEMA to perform various validation checks. These include, but are not limited to:

  • Tables not configured to use transactional tables

  • Unsupported datatypes in MySQL tables

MySQLApplierLogsCheck

OptionMySQLApplierLogsCheck
Description 

MySQLApplierPortCheck

OptionMySQLApplierPortCheck
Description 

MySQLApplierServerIDCheck

OptionMySQLApplierServerIDCheck
Description 

MySQLAvailableCheck

OptionMySQLAvailableCheck
DescriptionChecks if MySQL is installed

MySQLBinaryLogsEnabledCheck

OptionMySQLBinaryLogsEnabledCheck
DescriptionChecks that binary logging has been enabled on MySQL

Examines the log_bin variable has been defined within the running MySQL server. Binary logging must be enabled for replication to work.

MySQLBinlogDoDbCheck

OptionMySQLBinlogDoDbCheck
Description 

MySQLClientCheck

OptionMySQLClientCheck
DescriptionChecks whether the MySQL client command tool is available

MySQLConfigFileCheck

OptionMySQLConfigFileCheck
DescriptionChecks the existence of a MySQL configuration file

MySQLConnectorBridgeModePermissionsCheck

MySQLConnectorPermissionsCheck

MySQLDefaultTableTypeCheck

OptionMySQLDefaultTableTypeCheck
DescriptionChecks the default table type for MySQL

Checks that the default table type configured for MySQL is a compatible transactional storage engine such as InnoDB

MySQLDumpCheck

OptionMySQLDumpCheck
DescriptionChecks that the mysqldump command version matches the installed MySQL

Checks whether the mysqldump command within the configured PATH matches the version of MySQL being configured as a source or target. A mismatch could indicate that multiple MySQL versions are installed.

A mismatch could create invalid or corrupt backups. Either correct your PATH or use --preferred-path to point to the correct MySQL installation.

MySQLGeneratedColumnCheck

OptionMySQLGeneratedColumnCheck
DescriptionChecks whether MySQL virtual/generated columns are defined

Checks, whether any tables contain generated or virtual columns. The test is only executed on MySQL 5.7 and only if --mysql-allow-intensive-checks has been enabled.

MySQLInnoDBEnabledCheck

OptionMySQLInnoDBEnabledCheck
Description 

MySQLJsonDataTypeCheck

OptionMySQLJsonDataTypeCheck
Description 

Checks, whether any tables contain JSON columns. The test is only executed on MySQL 5.7 and only if --mysql-allow-intensive-checks has been enabled.

MySQLLoadDataInfilePermissionsCheck

MySQLLoginCheck

OptionMySQLLoginCheck
DescriptionChecks whether Tungsten Cluster can connect to MySQL using the configured credentials

MySQLMyISAMCheck

OptionMySQLMyISAMCheck
DescriptionChecks for the existence of MyISAM tables

Checks for the existence of MyISAM tables within the database. Use of MyISAM tables is not supported since MyISAM is not transactionally consistent. This can cause problems for both extraction and applying data.

In order to check for the existence of MyISAM tables, tpm uses two techniques:

  • Looking for .MYD files within the MySQL directory, which are the files which contains MyISAM data. tpm must be able to read and see the contents of the MySQL data directory. If the configured user does not already have access, you can use the --root-command-prefix=true option to grant root access to access the filesystem.

  • Using the MySQL INFORMATION_SCHEMA to look for tables defined with the MyISAM engine. For this option to work, intensive checks must have been enabled using --mysql-allow-intensive-checks.

If neither of these methods is available, the check will fail and installation will stop.

MySQLNoMySQLReplicationCheck

OptionMySQLNoMySQLReplicationCheck
Description 

MySQLPasswordSettingCheck

OptionMySQLPasswordSettingCheck
Description 

MySQLPermissionsCheck

OptionMySQLPermissionsCheck
Description 

MySQLReadableLogsCheck

OptionMySQLReadableLogsCheck
Description 

MySQLSettingsCheck

OptionMySQLSettingsCheck
Description 

MySQLSuperReadOnlyCheck

OptionMySQLSuperReadOnlyCheck
DescriptionChecks whether super_read_only has been enabled on MySQL

Checks whether the super_read_only variable within MySQL has been enabled. If enabled, replication will not work. The check will test both the running server and the configuration file to determine whether the value has been enabled.

MySQLTriggerCheck

OptionMySQLTriggerCheck
Description 

MySQLUnsupportedDataTypesCheck

MysqlConnectorCheck

OptionMysqlConnectorCheck
Description 

MysqldumpAvailableCheck

OptionMysqldumpAvailableCheck
Description 

MysqldumpSettingsCheck

OptionMysqldumpSettingsCheck
Description 

NewDirectoryRequiredCheck

OptionNewDirectoryRequiredCheck
Description 

NtpdRunningCheck

OptionNtpdRunningCheck
Description 

OSCheck

OptionOSCheck
Description 

OldServicesRunningCheck

OptionOldServicesRunningCheck
Description 

OpenFilesLimitCheck

OptionOpenFilesLimitCheck
Description 

OpensslLibraryCheck

OptionOpensslLibraryCheck
Description 

OracleLoginCheck

OptionOracleLoginCheck
Description 

OraclePermissionsCheck

OptionOraclePermissionsCheck
Description 

OracleRedoReaderMinerDirectoryCheck

OracleServiceSIDCheck

OptionOracleServiceSIDCheck
Description 

OracleVersionCheck

OptionOracleVersionCheck
Description 

PGAvailableCheck

OptionPGAvailableCheck
Description 

ParallelReplicationCheck

OptionParallelReplicationCheck
Description 

ParallelReplicationCountCheck

PgControlAvailableCheck

OptionPgControlAvailableCheck
Description 

PgStandbyAvailableCheck

OptionPgStandbyAvailableCheck
Description 

PgdumpAvailableCheck

OptionPgdumpAvailableCheck
Description 

PgdumpallAvailableCheck

OptionPgdumpallAvailableCheck
Description 

PingSyntaxCheck

OptionPingSyntaxCheck
Description 

PortAvailabilityCheck

OptionPortAvailabilityCheck
Description 

ProfileScriptCheck

OptionProfileScriptCheck
Description 

RMIListenerAddressCheck

OptionRMIListenerAddressCheck
Description 

RelayDirectoryWriteableCheck

OptionRelayDirectoryWriteableCheck
DescriptionChecks that the relay log directory can be written to

Confirms that the directory defined in --relay-log-dir directory exists and can be written to.

ReplicatorChecks

OptionReplicatorChecks
Description 

RestartComponentsCheck

OptionRestartComponentsCheck
Description 

RouterAffinityCheck

OptionRouterAffinityCheck
Description 

RouterBridgeModeDefaultCheck

OptionRouterBridgeModeDefaultCheck
Description 

RouterDelayBeforeOfflineCheck

RouterKeepAliveTimeoutCheck

OptionRouterKeepAliveTimeoutCheck
Description 

RowBasedBinaryLoggingCheck

OptionRowBasedBinaryLoggingCheck
DescriptionChecks that Row-based binary logging has been enabled for heterogeneous deployments

For heterogeneous deployments, row-based binary logging must have been enabled. For all services where heterogeneous support has been enabled, for example due to --enable-heterogeneous-service or --enable-batch-service, row-based logging within MySQL must have been switched on. The test looks for the value of binlog_format=ROW.

RsyncAvailableCheck

OptionRsyncAvailableCheck
Description 

RubyVersionCheck

OptionRubyVersionCheck
Description 

SSHLoginCheck

OptionSSHLoginCheck
DescriptionChecks connectivity to other hosts over SSH

Checks to confirm the SSH logins to other hosts in the cluster work, without requiring a password, and without returning additional rows of information when directly, remotely, running a command.

In the event of the check failing, the following items should be checked:

  • Confirm that it is possible to SSH to the remote site using the username provided, and without requiring a password. For example:

    host1-shell> ssh tungsten@host2
    Last login: Wed Aug 9 09:55:23 2017 from fe80::1042:8aee:61da:a20%en0
    host2-shell>
  • Remove any remote messages returned when the user logs in. This includes the output from the Banner argument within /etc/ssh/sshd_config, or text or files output by the users shell login script or profile.

  • Ensure that your remote shell has not been configured to output text or a message when a logout is attempted, for example by using:

    shell> trap "echo logout" 0

ServiceTransferredLogStorageCheck

StartingStoppedServices

OptionStartingStoppedServices
Description 

SudoCheck

OptionSudoCheck
Description 

SwappinessCheck

OptionSwappinessCheck
DescriptionChecks the swappiness OS configuration is within a recommended range

Checks whether the Linux swappiness parameter has been set to a value of 10 or less, both in the current setting and when the system reboots. A value greater than 10 may allow for running programs to be swapped out, which will affect the performance of the Tungsten Cluster when running. Change the value in sysctl.conf.

THLDirectoryWriteableCheck

OptionTHLDirectoryWriteableCheck
Description 

THLListenerAddressCheck

OptionTHLListenerAddressCheck
Description 

THLSchemaChangeCheck

OptionTHLSchemaChangeCheck
DescriptionEnsures that the existing THL format is compatible with the new release

Checks that the format of the current THL is compatible with the schema and format of the new software. A difference may mean that the THL needs to be reset before installation can continue.

THLStorageCheck

OptionTHLStorageCheck
DescriptionConfirms the THL storage directory exists, is empty and writeable

Confirms that the directory configured for THL storage using --log-dir directory exists, is writeable, and is empty.

THLStorageChecksum

OptionTHLStorageChecksum
Description 

TargetDirectoryDoesNotExist

OptionTargetDirectoryDoesNotExist
Description 

TransferredLogStorageCheck

OptionTransferredLogStorageCheck
Description 

UpgradeSameProductCheck

OptionUpgradeSameProductCheck
DescriptionEnsures that the same product is being updated

Updates must occur with the same product, for example, Tungsten Replicator to Tungsten Replicator. It is not possible to update replicator to cluster, or cluster to replicator.

VIPEnabledHostAllowsRootCommands

VIPEnabledHostArpPath

OptionVIPEnabledHostArpPath
Description 

VIPEnabledHostIfconfigPath

OptionVIPEnabledHostIfconfigPath
Description 

VerticaUserGroupsCheck

OptionVerticaUserGroupsCheck
DescriptionChecks that the Vertica user has the correct OS group membership

Checks whether the user running Vertica is a member of the tungsten user's primary group. Without this setting, the CSV files generated by the replicator would not be readable by Vertica when importing them into the database during batchloading.

WhichAvailableCheck

OptionWhichAvailableCheck
DescriptionChecks the existence of a working which command

Checks the existence of a working which command.

WriteableHomeDirectoryCheck

OptionWriteableHomeDirectoryCheck
DescriptionEnsures the home directory can be written to

Checks that the home directory for the configured user can be written to.

WriteableTempDirectoryCheck

OptionWriteableTempDirectoryCheck
DescriptionEnsures the temporary directory can be written to

The temporary directory is used during installation to store a variety of information. This check ensures that the directory is writeable, and that files can be created and deleted correctly.

XtrabackupAvailableCheck

OptionXtrabackupAvailableCheck
Description 

XtrabackupDirectoryWriteableCheck

XtrabackupSettingsCheck

OptionXtrabackupSettingsCheck
Description