Skip to content

Commit 6e8cbf4

Browse files
authored
Merge branch 'enterprise-3.11-release' into enterprise-3.11-backport-revert-cluster-changes
2 parents 01f42a9 + 58b2db1 commit 6e8cbf4

File tree

6 files changed

+76
-13
lines changed

6 files changed

+76
-13
lines changed

bin/ghe-host-check

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ fi
137137

138138
# backup-utils 2.13 onwards limits support to the current and previous two releases
139139
# of GitHub Enterprise Server.
140-
supported_minimum_version="3.7.0"
140+
supported_minimum_version="3.9.0"
141141

142142
if [ "$(version $version)" -ge "$(version $supported_minimum_version)" ]; then
143143
supported=1

debian/changelog

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,49 @@
1+
github-backup-utils (3.11.0) UNRELEASED; urgency=medium
2+
3+
* `ghe-backup-myql` and `ghe-restore-mysql` will now exit 1 on errors.
4+
* On an instance with Actions enabled, incorrect backup and restore settings prevented the storage container name from being restored. This made the logs from that container inaccessible, and caused Actions to create a new storage container in a different location.
5+
* When backups are run for HA instances in both primary and replica nodes a `.sync-in-progress` file will be created. This will disable `NetworkMaintenance` jobs from running and queueing up when backups are running from the primary node.
6+
* Estimated transfer sizes will be calculated on appropriate nodes for clustered environments.
7+
* Added support for finding the `parallel` command from the `moreutils` tool suite on more Linux distributions, including Arch Linux and Alpine Linux.
8+
* `ghe-restore` avoids unnecessary `rsync` operations when restoring to non-clustered environments.
9+
* `ghe-backup` and `ghe-restore` output their total runtime
10+
* `rsync` compression is now disabled by default. The `-z` flag has been removed from the `ghe-rsync` command in multiple files to improve transfer speed and reduce CPU usage. To enable `rsync` compression globally, add `GHE_RSYNC_COMPRESSION_ENABLED=yes` to the `backup.config` file.
11+
* Updates the Host OS version output to use `/etc/os-release` for better compatibility with other Linux distributions.
12+
* When a NFS mount is detected for snapshots on backup hosts, backup logs will show a warning to notify the user that such a setup may incur performance issues as highlighted in [storage requirements](https://github.com/github/backup-utils-private/blob/master/docs/requirements.md#storage-requirements) documentation.
13+
14+
-- Andrew Mildahl <[email protected]> Thu, 30 Nov 2023 01:57:12 +0000
15+
16+
github-backup-utils (3.10.0) UNRELEASED; urgency=medium
17+
18+
-- Balwinder Sohi <[email protected]> Wed, 30 Aug 2023 17:39:31 +0000
19+
20+
github-backup-utils (3.10.0) UNRELEASED; urgency=medium
21+
22+
* Remove -o option from ps use #341
23+
* Switch to TMPDIR before initiating SSH multiplexing workaround to prevent locking the destination filesystem #348
24+
* Move check for git for ssh muxing into ghe-ssh #378
25+
* Check filesystem supports hardlinks #388
26+
* Remove check for git from ghe-ssh #393
27+
* Clean up stale HA nodes on restore #396
28+
29+
-- Balwinder Sohi <[email protected]> Wed, 09 Aug 2023 19:37:10 +0000
30+
31+
github-backup-utils (3.9.0) UNRELEASED; urgency=medium
32+
33+
* Set restore status on all cluster nodes #274
34+
* Fix pages backups and restores in GitHub Enterprise 11.10 #275
35+
* Backup and restore custom CA certificates #281
36+
* Set the benchmark file path consistently #283
37+
* Suppress dd output noise #289
38+
* Track completeness of Elasticsearch JSON dumps #298
39+
* Use existing Elasticsearch indices to speed up transfer during a restore #310
40+
* Include the user data directory in the benchmark name #311
41+
* Use calculated routes when backing up storage data from a cluster #318
42+
* Refresh the existing indices when restoring Elasticsearch indices to cluster #328
43+
* Use git to generate short name for SSH multiplex control path #335
44+
45+
-- Junior Eluhu <[email protected]> Mon, 12 Jun 2023 20:46:10 +0000
46+
147
github-backup-utils (3.8.0) focal; urgency=medium
248

349
-- Daniel Johnson <[email protected]> Tue, 07 Feb 2023 21:43:26 +0000

release-notes/3.11.0.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
### Bug Fixes
2+
3+
* `ghe-backup-myql` and `ghe-restore-mysql` will now exit 1 on errors.
4+
* On an instance with Actions enabled, incorrect backup and restore settings prevented the storage container name from being restored. This made the logs from that container inaccessible, and caused Actions to create a new storage container in a different location.
5+
* When backups are run for HA instances in both primary and replica nodes a `.sync-in-progress` file will be created. This will disable `NetworkMaintenance` jobs from running and queueing up when backups are running from the primary node.
6+
7+
### Changes
8+
9+
* Estimated transfer sizes will be calculated on appropriate nodes for clustered environments.
10+
* Added support for finding the `parallel` command from the `moreutils` tool suite on more Linux distributions, including Arch Linux and Alpine Linux.
11+
* `ghe-restore` avoids unnecessary `rsync` operations when restoring to non-clustered environments.
12+
* `ghe-backup` and `ghe-restore` output their total runtime
13+
* `rsync` compression is now disabled by default. The `-z` flag has been removed from the `ghe-rsync` command in multiple files to improve transfer speed and reduce CPU usage. To enable `rsync` compression globally, add `GHE_RSYNC_COMPRESSION_ENABLED=yes` to the `backup.config` file.
14+
* Updates the Host OS version output to use `/etc/os-release` for better compatibility with other Linux distributions.
15+
16+
### Backups and Disaster Recovery
17+
18+
* When a NFS mount is detected for snapshots on backup hosts, backup logs will show a warning to notify the user that such a setup may incur performance issues as highlighted in [storage requirements](https://github.com/github/backup-utils-private/blob/master/docs/requirements.md#storage-requirements) documentation.

share/github-backup-utils/version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
3.10.0
1+
3.11.0

test/test-ghe-host-check.sh

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -63,32 +63,31 @@ begin_test "ghe-host-check detects unsupported GitHub Enterprise Server versions
6363
# Use the modified releases string as needed
6464
supported=$(echo "$releases_with_replacement" | jq -r 'select(."'${bu_major_minor}'")')
6565
# shellcheck disable=SC2207 # Command required as alternatives fail
66-
keys=($(echo "$releases_with_replacement" | jq -r 'keys[]'))
66+
keys=($(echo "$releases_with_replacement" | jq -r '. | keys_unsorted | sort_by( split(".") | map(tonumber) )[]'))
6767

6868
if [ -z "$supported" ]
6969
then
7070
#BACKUP_UTILS_VERSION WAS NOT FOUND IN LATEST.JSON, CHECK IF ITS GREATER THAN LAST VERSION
71-
if [ "$(version $bu_major_minor)" -ge "$(version ${keys[$((${#keys[@]} - 2 ))]})" ]; then
71+
if [ "$(version $bu_major_minor)" -ge "$(version ${keys[-1]})" ]; then
7272
GHE_TEST_REMOTE_VERSION="$bu_major_minor.0" ghe-host-check
73-
GHE_TEST_REMOTE_VERSION="${keys[$(( ${#keys[@]} - 2 ))]}.0" ghe-host-check
74-
GHE_TEST_REMOTE_VERSION="${keys[$(( ${#keys[@]} - 3 ))]}.0" ghe-host-check
73+
# Test most recent version
74+
# Don't test 2 versions back because it fails when we bump the version on
75+
# master after branching for a feature release, before it's released
76+
GHE_TEST_REMOTE_VERSION="${keys[-1]}.0" ghe-host-check
7577
fi
7678
else
7779
#BACKUP_UTILS_VERSION WAS FOUND IN LATEST.JSON
7880
ix=0
79-
for i in "${keys[@]}";do
81+
for i in "${keys[@]}";do
8082
if [ "$i" == "$bu_major_minor" ];then
8183
break
8284
fi
8385
ix=$(( $ix + 1 ))
8486
done
8587
GHE_TEST_REMOTE_VERSION="${keys[$ix]}.0" ghe-host-check
86-
# sometimes when the latest.json is updated during a release this test gets broken.
87-
if [ "${keys[$(( $ix - 1 ))]}" != "latest" ]; then
88-
GHE_TEST_REMOTE_VERSION="${keys[$(( $ix - 1 ))]}.0" ghe-host-check
89-
fi
88+
# Test previous 2 supported versions
89+
GHE_TEST_REMOTE_VERSION="${keys[$(( $ix - 1 ))]}.0" ghe-host-check
9090
GHE_TEST_REMOTE_VERSION="${keys[$(( $ix - 2 ))]}.0" ghe-host-check
91-
9291
fi
9392
! GHE_TEST_REMOTE_VERSION=11.340.36 ghe-host-check
9493
GHE_TEST_REMOTE_VERSION=$bu_version_major.$bu_version_minor.999 ghe-host-check

test/testlib.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ export GHE_BACKUP_CONFIG GHE_DATA_DIR GHE_REMOTE_DATA_DIR GHE_REMOTE_ROOT_DIR
4848

4949
# The default remote appliance version. This may be set in the environment prior
5050
# to invoking tests to emulate a different remote vm version.
51-
: ${GHE_TEST_REMOTE_VERSION:=3.8.0.rc1}
51+
: ${GHE_TEST_REMOTE_VERSION:=3.11.0.rc1}
5252
export GHE_TEST_REMOTE_VERSION
5353

5454
# Source in the backup config and set GHE_REMOTE_XXX variables based on the

0 commit comments

Comments
 (0)