From e5387cec0acbb701912acb1e852d1f3fa98deca1 Mon Sep 17 00:00:00 2001 From: Ali Dowair Date: Mon, 23 Jan 2023 12:23:05 +0300 Subject: [PATCH] docs(cli): minor improvements to upgrade CLI usage/documentation (#2686) * feat(cli): print upgrade owner in repository status To help users understand the state of their repository better, this one line change also prints out the upgrade owner's ID in the output of `kopia repository status`. * Upgrade `create --format-version` help message To show that there is now a format version 3 that can be set. --- cli/command_repository_create.go | 2 +- cli/command_repository_status.go | 1 + cli/command_repository_upgrade_test.go | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/cli/command_repository_create.go b/cli/command_repository_create.go index 100caae06..297971001 100644 --- a/cli/command_repository_create.go +++ b/cli/command_repository_create.go @@ -48,7 +48,7 @@ func (c *commandRepositoryCreate) setup(svc advancedAppServices, parent commandP cmd.Flag("ecc-overhead-percent", "[EXPERIMENTAL] How much space overhead can be used for error correction, in percentage. Use 0 to disable ECC.").Default("0").IntVar(&c.createBlockECCOverheadPercent) cmd.Flag("object-splitter", "The splitter to use for new objects in the repository").Default(splitter.DefaultAlgorithm).EnumVar(&c.createSplitter, splitter.SupportedAlgorithms()...) cmd.Flag("create-only", "Create repository, but don't connect to it.").Short('c').BoolVar(&c.createOnly) - cmd.Flag("format-version", "Force a particular repository format version (1 or 2, 0==default)").IntVar(&c.createFormatVersion) + cmd.Flag("format-version", "Force a particular repository format version (1, 2 or 3, 0==default)").IntVar(&c.createFormatVersion) cmd.Flag("retention-mode", "Set the blob retention-mode for supported storage backends.").EnumVar(&c.retentionMode, blob.Governance.String(), blob.Compliance.String()) cmd.Flag("retention-period", "Set the blob retention-period for supported storage backends.").DurationVar(&c.retentionPeriod) diff --git a/cli/command_repository_status.go b/cli/command_repository_status.go index 645ab7c40..91aa8f9e6 100644 --- a/cli/command_repository_status.go +++ b/cli/command_repository_status.go @@ -103,6 +103,7 @@ func (c *commandRepositoryStatus) dumpUpgradeStatus(ctx context.Context, dr repo c.out.printStdout("\n") c.out.printStdout("Ongoing upgrade: %s\n", l.Message) c.out.printStdout("Upgrade Time: %s\n", upgradeTime.Local()) + c.out.printStdout("Upgrade Owner: %s\n", l.OwnerID) if locked { c.out.printStdout("Upgrade lock: Locked\n") diff --git a/cli/command_repository_upgrade_test.go b/cli/command_repository_upgrade_test.go index cd19bb6f2..432faaf41 100644 --- a/cli/command_repository_upgrade_test.go +++ b/cli/command_repository_upgrade_test.go @@ -228,6 +228,7 @@ func (s *formatSpecificTestSuite) TestRepositoryUpgradeStatusWhileLocked(t *test // "Draining" out = env.RunAndExpectSuccess(t, "repository", "status", "--upgrade-no-block", "--upgrade-owner-id", "owner") require.Contains(t, out, "Ongoing upgrade: Upgrading from format version 1 -> 3") + require.Contains(t, out, "Upgrade Owner: owner") require.Contains(t, out, "Upgrade lock: Locked") require.Contains(t, out, "Lock status: Draining") @@ -246,6 +247,7 @@ func (s *formatSpecificTestSuite) TestRepositoryUpgradeStatusWhileLocked(t *test // verify that owner clients can check status out = env.RunAndExpectSuccess(t, "repository", "status", "--upgrade-owner-id", "owner") require.Contains(t, out, "Ongoing upgrade: Upgrading from format version 1 -> 3") + require.Contains(t, out, "Upgrade Owner: owner") require.Contains(t, out, "Upgrade lock: Locked") require.Contains(t, out, "Lock status: Fully Established")