Skip to content

Commit 2860ef4

Browse files
committed
Add support for new replicate features
1 parent 0817da4 commit 2860ef4

4 files changed

Lines changed: 28 additions & 3 deletions

File tree

CHANGES/+replicate-policy.feature

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Added support for the replicate policy options added in pulpcore 3.73.0.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Added support for the replicate q-select option added in pulpcore 3.62.0.

pulpcore/cli/core/upstream_pulp.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
from pulp_glue.core.context import PulpUpstreamPulpContext
55

66
from pulp_cli.generic import (
7+
PluginRequirement,
78
PulpCLIContext,
89
create_command,
910
destroy_command,
@@ -12,6 +13,7 @@
1213
pass_entity_context,
1314
pass_pulp_context,
1415
pulp_group,
16+
pulp_option,
1517
resource_lookup_option,
1618
show_command,
1719
update_command,
@@ -52,7 +54,16 @@
5254
help=_("a PEM encode private key or @file containing same"),
5355
callback=load_string_callback,
5456
),
55-
click.option("--pulp-label-select"),
57+
pulp_option(
58+
"--pulp-label-select",
59+
needs_plugins=[PluginRequirement("core", specifier="<3.62.0")],
60+
),
61+
pulp_option("--q-select", needs_plugins=[PluginRequirement("core", specifier=">=3.62.0")]),
62+
pulp_option(
63+
"--policy",
64+
type=click.Choice(["all", "labeled", "nodelete"], case_sensitive=False),
65+
needs_plugins=[PluginRequirement("core", specifier=">=3.73.0")],
66+
),
5667
]
5768
create_options = [
5869
click.option("--name", required=True, help=_("Name of the upstream pulp")),

tests/scripts/pulpcore/test_upstream_pulp.sh

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,20 @@ trap cleanup EXIT
1414
expect_succ pulp upstream-pulp create --name "cli_test_upstream_pulp" --base-url "$PULP_BASE_URL" --api-root "/123/"
1515
expect_succ pulp upstream-pulp show --upstream-pulp "cli_test_upstream_pulp"
1616
expect_succ pulp upstream-pulp list
17-
# TODO: Add version check for this test
18-
# expect_succ pulp upstream-pulp update --id "cli_test_upstream_pulp" --pulp-label-select "doesnotexist"
17+
18+
if pulp debug has-plugin --name "core" --specifier "<=3.62.0"
19+
then
20+
expect_succ pulp upstream-pulp update --id "cli_test_upstream_pulp" --pulp-label-select "doesnotexist"
21+
else
22+
expect_succ pulp upstream-pulp update --id "cli_test_upstream_pulp" --q-select "pulp_label_select=doesnotexist"
23+
fi
24+
25+
if pulp debug has-plugin --name "core" --specifier ">=3.73.0"
26+
then
27+
expect_succ pulp upstream-pulp update --id "cli_test_upstream_pulp" --policy "nodelete"
28+
expect_succ pulp upstream-pulp update --id "cli_test_upstream_pulp" --policy "labeled"
29+
expect_fail pulp upstream-pulp update --id "cli_test_upstream_pulp" --policy "not_a_policy"
30+
fi
1931

2032
# Without credentials and a wrong API root, there is not much we can do...
2133
# Also this is a real dangerous command, deleting all existing repositories.

0 commit comments

Comments
 (0)