mirror of
https://github.com/pgbackrest/pgbackrest.git
synced 2025-04-17 11:46:39 +02:00
Revert removal of Ubuntu 12.04 and PostgreSQL 8.3.
This commit is contained in:
parent
001cff9eb9
commit
fdabf33604
@ -17,7 +17,7 @@ env:
|
||||
- PGB_CI="--vm=co6 test"
|
||||
- PGB_CI="--vm=u16 test"
|
||||
- PGB_CI="--vm=co7 test"
|
||||
- PGB_CI="--vm=u14 test"
|
||||
- PGB_CI="--vm=u12 test"
|
||||
- PGB_CI="doc"
|
||||
|
||||
before_install:
|
||||
|
@ -76,9 +76,9 @@ File and directory links are supported for any file or directory in the PostgreS
|
||||
|
||||
pgBackRest repositories can be stored on Amazon S3 to allow for virtually unlimited capacity and retention.
|
||||
|
||||
### Compatibility with PostgreSQL >= 8.4
|
||||
### Compatibility with PostgreSQL >= 8.3
|
||||
|
||||
pgBackRest includes support for versions down to 8.4, since older versions of PostgreSQL are still regularly utilized.
|
||||
pgBackRest includes support for versions down to 8.3, since older versions of PostgreSQL are still regularly utilized.
|
||||
|
||||
## Getting Started
|
||||
|
||||
|
@ -131,9 +131,9 @@
|
||||
</section>
|
||||
|
||||
<section id="postgres-compatibility">
|
||||
<title>Compatibility with <postgres/> >= 8.4</title>
|
||||
<title>Compatibility with <postgres/> >= 8.3</title>
|
||||
|
||||
<p><backrest/> includes support for versions down to 8.4, since older versions of PostgreSQL are still regularly utilized.</p>
|
||||
<p><backrest/> includes support for versions down to 8.3, since older versions of PostgreSQL are still regularly utilized.</p>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
@ -165,8 +165,6 @@
|
||||
<release-list>
|
||||
<release date="XXXX-XX-XX" version="1.20dev" title="UNDER DEVELOPMENT">
|
||||
<release-core-list>
|
||||
<p><b>IMPORTANT NOTE</b>: Support for <postgres/> 8.3 has been removed in this release as no currently supported systems include it.</p>
|
||||
|
||||
<release-bug-list>
|
||||
<release-item>
|
||||
<release-item-contributor-list>
|
||||
@ -204,10 +202,6 @@
|
||||
<p>Rename <code>Archive</code> modules to remove redundancy.</p>
|
||||
</release-item>
|
||||
|
||||
<release-item>
|
||||
<p>Remove support for <postgres/> 8.3.</p>
|
||||
</release-item>
|
||||
|
||||
<release-item>
|
||||
<p>Improve <proper>S3</proper> error reporting.</p>
|
||||
</release-item>
|
||||
@ -279,11 +273,7 @@
|
||||
</release-item>
|
||||
|
||||
<release-item>
|
||||
<p>Deprecate <proper>Ubuntu 12.04</proper> now that it is EOL.</p>
|
||||
</release-item>
|
||||
|
||||
<release-item>
|
||||
<p>Remove <proper>Debian 8</proper> from CI because it does not provide additional coverage over <proper>Ubuntu 14.04</proper> and <proper>Ubuntu 16.04</proper>.</p>
|
||||
<p>Remove <proper>Debian 8</proper> from CI because it does not provide additional coverage over <proper>Ubuntu 12.04, 14.04, 16.04</proper>.</p>
|
||||
</release-item>
|
||||
|
||||
<release-item>
|
||||
|
@ -48,6 +48,7 @@ use constant PG_WAL_SEGMENT_SIZE => 16777216;
|
||||
####################################################################################################################################
|
||||
my $oWalMagicHash =
|
||||
{
|
||||
hex('0xD062') => PG_VERSION_83,
|
||||
hex('0xD063') => PG_VERSION_84,
|
||||
hex('0xD064') => PG_VERSION_90,
|
||||
hex('0xD066') => PG_VERSION_91,
|
||||
|
@ -41,6 +41,7 @@ use constant DB_BACKUP_ADVISORY_LOCK => '12340078
|
||||
my $oPgControlVersionHash =
|
||||
{
|
||||
# iControlVersion => {iCatalogVersion => strDbVersion}
|
||||
833 => {200711281 => PG_VERSION_83},
|
||||
843 => {200904091 => PG_VERSION_84},
|
||||
903 =>
|
||||
{
|
||||
|
@ -27,6 +27,8 @@ use constant PG_WAL_SIZE => 16777216;
|
||||
####################################################################################################################################
|
||||
# PostgreSQL version numbers
|
||||
####################################################################################################################################
|
||||
use constant PG_VERSION_83 => '8.3';
|
||||
push @EXPORT, qw(PG_VERSION_83);
|
||||
use constant PG_VERSION_84 => '8.4';
|
||||
push @EXPORT, qw(PG_VERSION_84);
|
||||
use constant PG_VERSION_90 => '9.0';
|
||||
@ -61,8 +63,8 @@ sub versionSupport
|
||||
# Assign function parameters, defaults, and log debug info
|
||||
my ($strOperation) = logDebugParam(__PACKAGE__ . '->versionSupport');
|
||||
|
||||
my @strySupportVersion = (
|
||||
PG_VERSION_84, PG_VERSION_90, PG_VERSION_91, PG_VERSION_92, PG_VERSION_93, PG_VERSION_94, PG_VERSION_95, PG_VERSION_96);
|
||||
my @strySupportVersion = (PG_VERSION_83, PG_VERSION_84, PG_VERSION_90, PG_VERSION_91, PG_VERSION_92, PG_VERSION_93,
|
||||
PG_VERSION_94, PG_VERSION_95, PG_VERSION_96);
|
||||
|
||||
# Return from function and log return values if any
|
||||
return logDebugReturn
|
||||
|
@ -481,7 +481,7 @@ sub containerBuild
|
||||
}
|
||||
|
||||
#---------------------------------------------------------------------------------------------------------------------------
|
||||
if (!$bDeprecated && $strOS ne VM_CO6)
|
||||
if (!$bDeprecated && $strOS ne VM_CO6 && $strOS ne VM_U12)
|
||||
{
|
||||
$strScript .= s3ServerSetup($strOS);
|
||||
}
|
||||
@ -566,7 +566,7 @@ sub containerBuild
|
||||
$strImage = "${strOS}-s3-server";
|
||||
$strCopy = undef;
|
||||
|
||||
if ($strOS ne VM_CO6)
|
||||
if ($strOS ne VM_CO6 && $strOS ne VM_U12)
|
||||
{
|
||||
$strImageParent = containerRepo() . ":${strOS}-base";
|
||||
$strScript = '';
|
||||
|
@ -82,7 +82,7 @@ use constant VM_HOST_DEFAULT => VM_U16;
|
||||
push @EXPORT, qw(VM_HOST_DEFAULT);
|
||||
|
||||
# Lists valid VMs
|
||||
use constant VM_LIST => (VM_CO6, VM_U16, VM_CO7, VM_U14);
|
||||
use constant VM_LIST => (VM_CO6, VM_U16, VM_CO7, VM_U12);
|
||||
push @EXPORT, qw(VM_LIST);
|
||||
|
||||
my $oyVm =
|
||||
@ -138,16 +138,22 @@ my $oyVm =
|
||||
&VMDEF_PERL_ARCH_PATH => '/usr/local/lib/x86_64-linux-gnu/perl/5.20.2',
|
||||
},
|
||||
|
||||
# Ubuntu 12.04 (DEPRECATED)
|
||||
# Ubuntu 12.04
|
||||
&VM_U12 =>
|
||||
{
|
||||
&VM_DEPRECATED => true,
|
||||
&VM_OS_BASE => VM_OS_BASE_DEBIAN,
|
||||
&VM_OS => VM_OS_UBUNTU,
|
||||
&VM_OS_REPO => 'precise',
|
||||
&VM_IMAGE => 'ubuntu:12.04',
|
||||
&VMDEF_PGSQL_BIN => '/usr/lib/postgresql/{[version]}/bin',
|
||||
&VMDEF_PERL_ARCH_PATH => '/usr/local/lib/perl/5.14.2',
|
||||
|
||||
&VM_DB =>
|
||||
[
|
||||
PG_VERSION_83,
|
||||
PG_VERSION_84,
|
||||
PG_VERSION_92,
|
||||
],
|
||||
},
|
||||
|
||||
# Ubuntu 14.04
|
||||
@ -162,7 +168,6 @@ my $oyVm =
|
||||
|
||||
&VM_DB =>
|
||||
[
|
||||
PG_VERSION_84,
|
||||
PG_VERSION_94,
|
||||
],
|
||||
},
|
||||
@ -179,8 +184,8 @@ my $oyVm =
|
||||
|
||||
&VM_DB =>
|
||||
[
|
||||
PG_VERSION_92,
|
||||
PG_VERSION_93,
|
||||
PG_VERSION_94,
|
||||
],
|
||||
},
|
||||
};
|
||||
|
@ -51,52 +51,59 @@ sub run
|
||||
################################################################################################################################
|
||||
if ($self->begin('validation'))
|
||||
{
|
||||
#---------------------------------------------------------------------------------------------------------------------------
|
||||
if ($self->vm() eq VM_CO7)
|
||||
if ($self->vm eq VM_U12)
|
||||
{
|
||||
# Tests fails on co7 because by default certs cannot be located. This logic may need to be changed in the future if
|
||||
# this bug gets fixed by Red Hat.
|
||||
$self->testResult(sub {$self->configLoadExpect(dclone($oOptionGlobal), CMD_ARCHIVE_PUSH)}, '', 'config load');
|
||||
&log(INFO, 'cannot test - certificates are no longer maintained for ' . $self->vm());
|
||||
}
|
||||
else
|
||||
{
|
||||
#-----------------------------------------------------------------------------------------------------------------------
|
||||
if ($self->vm() eq VM_CO7)
|
||||
{
|
||||
# Tests fails on co7 because by default certs cannot be located. This logic may need to be changed in the future if
|
||||
# this bug gets fixed by Red Hat.
|
||||
$self->testResult(sub {$self->configLoadExpect(dclone($oOptionGlobal), CMD_ARCHIVE_PUSH)}, '', 'config load');
|
||||
|
||||
$self->testException(
|
||||
sub {storageRepo({strStanza => 'test1'})->list('/')}, ERROR_HOST_CONNECT,
|
||||
'IO::Socket::IP configuration failed SSL connect attempt failed.*certificate verify failed',
|
||||
'cert verify fails on ' . VM_CO7);
|
||||
$self->testException(
|
||||
sub {storageRepo({strStanza => 'test1'})->list('/')}, ERROR_HOST_CONNECT,
|
||||
'IO::Socket::IP configuration failed SSL connect attempt failed.*certificate verify failed',
|
||||
'cert verify fails on ' . VM_CO7);
|
||||
|
||||
# It should work when verification is disabled
|
||||
# It should work when verification is disabled
|
||||
my $oOptionLocal = dclone($oOptionGlobal);
|
||||
$self->optionBoolSetTest($oOptionLocal, OPTION_REPO_S3_VERIFY_SSL, false);
|
||||
$self->testResult(sub {$self->configLoadExpect($oOptionLocal, CMD_ARCHIVE_PUSH)}, '', 'config load');
|
||||
|
||||
$self->testException(
|
||||
sub {storageRepo({strStanza => 'test2'})->list('/')}, ERROR_PROTOCOL, 'S3 request error \[403\] Forbidden.*',
|
||||
'connection succeeds with verification disabled, (expected) error on invalid access key');
|
||||
}
|
||||
|
||||
#-----------------------------------------------------------------------------------------------------------------------
|
||||
my $oOptionLocal = dclone($oOptionGlobal);
|
||||
$self->optionBoolSetTest($oOptionLocal, OPTION_REPO_S3_VERIFY_SSL, false);
|
||||
|
||||
# CO7 doesn't locate certs automatically so specify the path
|
||||
if ($self->vm() eq VM_CO7)
|
||||
{
|
||||
$self->optionSetTest($oOptionLocal, OPTION_REPO_S3_CA_FILE, '/etc/pki/tls/certs/ca-bundle.crt');
|
||||
}
|
||||
|
||||
$self->testResult(sub {$self->configLoadExpect($oOptionLocal, CMD_ARCHIVE_PUSH)}, '', 'config load');
|
||||
|
||||
$self->testException(
|
||||
sub {storageRepo({strStanza => 'test2'})->list('/')}, ERROR_PROTOCOL, 'S3 request error \[403\] Forbidden.*',
|
||||
'connection succeeds with verification disabled, (expected) error on invalid access key');
|
||||
sub {storageRepo({strStanza => 'test3'})->list('/')}, ERROR_PROTOCOL, 'S3 request error \[403\] Forbidden.*',
|
||||
'connection succeeds, (expected) error on invalid access key');
|
||||
|
||||
#-----------------------------------------------------------------------------------------------------------------------
|
||||
$oOptionLocal = dclone($oOptionGlobal);
|
||||
$self->optionSetTest($oOptionLocal, OPTION_REPO_S3_CA_PATH, '/bogus');
|
||||
$self->testResult(sub {$self->configLoadExpect($oOptionLocal, CMD_ARCHIVE_PUSH)}, '', 'config load');
|
||||
|
||||
$self->testException(
|
||||
sub {storageRepo({strStanza => 'test4'})->list('/')}, ERROR_HOST_CONNECT,
|
||||
$self->vm() eq VM_CO6 ? 'IO::Socket::INET configuration failed' : 'SSL_ca_path /bogus does not exist',
|
||||
'invalid ca path');
|
||||
}
|
||||
|
||||
#---------------------------------------------------------------------------------------------------------------------------
|
||||
my $oOptionLocal = dclone($oOptionGlobal);
|
||||
|
||||
# CO7 doesn't locate certs automatically so specify the path
|
||||
if ($self->vm() eq VM_CO7)
|
||||
{
|
||||
$self->optionSetTest($oOptionLocal, OPTION_REPO_S3_CA_FILE, '/etc/pki/tls/certs/ca-bundle.crt');
|
||||
}
|
||||
|
||||
$self->testResult(sub {$self->configLoadExpect($oOptionLocal, CMD_ARCHIVE_PUSH)}, '', 'config load');
|
||||
|
||||
$self->testException(
|
||||
sub {storageRepo({strStanza => 'test3'})->list('/')}, ERROR_PROTOCOL, 'S3 request error \[403\] Forbidden.*',
|
||||
'connection succeeds, (expected) error on invalid access key');
|
||||
|
||||
#---------------------------------------------------------------------------------------------------------------------------
|
||||
$oOptionLocal = dclone($oOptionGlobal);
|
||||
$self->optionSetTest($oOptionLocal, OPTION_REPO_S3_CA_PATH, '/bogus');
|
||||
$self->testResult(sub {$self->configLoadExpect($oOptionLocal, CMD_ARCHIVE_PUSH)}, '', 'config load');
|
||||
|
||||
$self->testException(
|
||||
sub {storageRepo({strStanza => 'test4'})->list('/')}, ERROR_HOST_CONNECT,
|
||||
$self->vm() eq VM_CO6 ? 'IO::Socket::INET configuration failed' : 'SSL_ca_path /bogus does not exist',
|
||||
'invalid ca path');
|
||||
}
|
||||
}
|
||||
|
||||
|
BIN
test/package/u12-libdevel-cover-perl_1.23-2_amd64.deb
Normal file
BIN
test/package/u12-libdevel-cover-perl_1.23-2_amd64.deb
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user