1
0
mirror of https://github.com/pgbackrest/pgbackrest.git synced 2025-09-16 09:06:18 +02:00

Disable control master for older OS versions where it is less stable.

This commit is contained in:
David Steele
2016-07-30 08:43:38 -04:00
parent 1b6b26956a
commit 94a4cb4123
3 changed files with 33 additions and 11 deletions

View File

@@ -227,6 +227,10 @@
<release-item>
<p>Reduce the frequency that certain tests are run to save time in regression.</p>
</release-item>
<release-item>
<p>Disable control master for older OS versions where it is less stable.</p>
</release-item>
</release-refactor-list>
</release-test-list>
</release>

View File

@@ -168,20 +168,30 @@ sub sshSetup
my $strOS = shift;
my $strUser = shift;
my $strGroup = shift;
my $bControlMaster = shift;
return
my $strScript =
"# Setup SSH\n" .
"RUN mkdir /home/${strUser}/.ssh\n" .
"COPY id_rsa /home/${strUser}/.ssh/id_rsa\n" .
"COPY id_rsa.pub /home/${strUser}/.ssh/authorized_keys\n" .
"RUN echo 'Host *' > /home/${strUser}/.ssh/config\n" .
"RUN echo ' StrictHostKeyChecking no' >> /home/${strUser}/.ssh/config\n" .
"RUN echo ' StrictHostKeyChecking no' >> /home/${strUser}/.ssh/config\n";
if ($bControlMaster)
{
$strScript .=
"RUN echo ' ControlMaster auto' >> /home/${strUser}/.ssh/config\n" .
"RUN echo ' ControlPath /tmp/\%r\@\%h:\%p' >> /home/${strUser}/.ssh/config\n" .
"RUN echo ' ControlPersist 30' >> /home/${strUser}/.ssh/config\n" .
"RUN echo ' ControlPersist 30' >> /home/${strUser}/.ssh/config\n";
}
$strScript .=
"RUN chown -R ${strUser}:${strGroup} /home/${strUser}/.ssh\n" .
"RUN chmod 700 /home/${strUser}/.ssh\n" .
"RUN chmod 600 /home/${strUser}/.ssh/*";
return $strScript;
}
####################################################################################################################################
@@ -502,7 +512,7 @@ sub containerBuild
$strImage = "${strOS}-db-${strDbVersion}-doc";
# Install SSH key
$strScript = sshSetup($strOS, POSTGRES_USER, POSTGRES_GROUP);
$strScript = sshSetup($strOS, POSTGRES_USER, POSTGRES_GROUP, $$oVm{$strOS}{&VM_CONTROL_MASTER});
# Setup sudo
$strScript .= "\n\n" . sudoSetup($strOS, TEST_GROUP);
@@ -517,7 +527,7 @@ sub containerBuild
$strImage = "${strOS}-db-${strDbVersion}-test";
# Install SSH key
$strScript = sshSetup($strOS, TEST_USER, TEST_GROUP);
$strScript = sshSetup($strOS, TEST_USER, TEST_GROUP, $$oVm{$strOS}{&VM_CONTROL_MASTER});
# Write the image
containerWrite($strTempPath, $strOS, "${strTitle} Test", $strImageParent, $strImage, $strScript, $bVmForce, true, true);
@@ -529,7 +539,7 @@ sub containerBuild
$strImage = "${strOS}-db-test";
# Install SSH key
$strScript = sshSetup($strOS, TEST_USER, TEST_GROUP);
$strScript = sshSetup($strOS, TEST_USER, TEST_GROUP, $$oVm{$strOS}{&VM_CONTROL_MASTER});
# Write the image
containerWrite($strTempPath, $strOS, 'Db Synthetic Test', $strImageParent, $strImage, $strScript, $bVmForce, true, true);
@@ -544,11 +554,11 @@ sub containerBuild
# Install SSH key
$strScript .=
"\n\n" . sshSetup($strOS, BACKREST_USER, BACKREST_GROUP);
"\n\n" . sshSetup($strOS, BACKREST_USER, BACKREST_GROUP, $$oVm{$strOS}{&VM_CONTROL_MASTER});
# Install SSH key
$strScript .=
"\n\n" . sshSetup($strOS, TEST_USER, TEST_GROUP);
"\n\n" . sshSetup($strOS, TEST_USER, TEST_GROUP, $$oVm{$strOS}{&VM_CONTROL_MASTER});
# Make test user home readable
$strScript .=
@@ -569,7 +579,7 @@ sub containerBuild
# Install SSH key
$strScript .=
"\n\n" . sshSetup($strOS, BACKREST_USER, BACKREST_GROUP);
"\n\n" . sshSetup($strOS, BACKREST_USER, BACKREST_GROUP, $$oVm{$strOS}{&VM_CONTROL_MASTER});
# Write the image
containerWrite($strTempPath, $strOS, $strTitle, $strImageParent, $strImage, $strScript, $bVmForce,

View File

@@ -13,6 +13,7 @@ use Carp qw(confess);
use Exporter qw(import);
our @EXPORT = qw();
use pgBackRest::Common::Log;
use pgBackRest::Db;
####################################################################################################################################
@@ -24,6 +25,8 @@ use constant VM_DB_DOC => 'db-doc';
push @EXPORT, qw(VM_DB_DOC);
use constant VM_DB_MINIMAL => 'db-minimal';
push @EXPORT, qw(VM_DB_MINIMAL);
use constant VM_CONTROL_MASTER => 'control-master';
push @EXPORT, qw(VM_CONTROL_MASTER);
use constant VM_IMAGE => 'image';
push @EXPORT, qw(VM_IMAGE);
use constant VM_OS => 'os';
@@ -77,6 +80,7 @@ my $oyVm =
&VM_OS_BASE => VM_OS_BASE_RHEL,
&VM_OS => VM_OS_CENTOS,
&VM_IMAGE => 'centos:6',
&VM_CONTROL_MASTER => false,
&VMDEF_PGSQL_BIN => '/usr/pgsql-{[version]}/bin',
&VM_DB =>
@@ -108,6 +112,7 @@ my $oyVm =
&VM_OS_BASE => VM_OS_BASE_RHEL,
&VM_OS => VM_OS_CENTOS,
&VM_IMAGE => 'centos:7',
&VM_CONTROL_MASTER => true,
&VMDEF_PGSQL_BIN => '/usr/pgsql-{[version]}/bin',
&VM_DB =>
@@ -132,6 +137,7 @@ my $oyVm =
&VM_OS => VM_OS_DEBIAN,
&VM_OS_REPO => 'jessie',
&VM_IMAGE => 'debian:8',
&VM_CONTROL_MASTER => true,
&VMDEF_PGSQL_BIN => '/usr/lib/postgresql/{[version]}/bin',
&VM_DB =>
@@ -188,6 +194,7 @@ my $oyVm =
&VM_OS => VM_OS_UBUNTU,
&VM_OS_REPO => 'trusty',
&VM_IMAGE => 'ubuntu:14.04',
&VM_CONTROL_MASTER => true,
&VMDEF_PGSQL_BIN => '/usr/lib/postgresql/{[version]}/bin',
&VM_DB =>
@@ -219,6 +226,7 @@ my $oyVm =
&VM_OS => VM_OS_UBUNTU,
&VM_OS_REPO => 'xenial',
&VM_IMAGE => 'ubuntu:16.04',
&VM_CONTROL_MASTER => true,
&VMDEF_PGSQL_BIN => '/usr/lib/postgresql/{[version]}/bin',
&VM_DB =>