Skip to content

Commit af73fc0

Browse files
committed
Added endpoints to install/activate the newest version
Pure convenience commit. It's annoying to always have to look up the version when testing something on the CLI. The implementation on the backend was trivial - the logic was already coded to do handle a null-tag in this way. Unfortunately, the tag is part of the path of the old endpoints, so setting that to null is not allowed. Therefore, new endpoints were needed. Request: MO Change-Id: Ic6fa8a14a6d701f65d6f46afccfee5264ce1b4c6
1 parent 6f22fd5 commit af73fc0

3 files changed

Lines changed: 37 additions & 5 deletions

File tree

ui/src/main/java/io/bdeploy/ui/api/InstanceResource.java

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,16 +119,27 @@ public Map<String, MinionStatusDto> getMinionState(@Scope @PathParam("instance")
119119
@RequiredPermission(permission = Permission.WRITE)
120120
public void uninstall(@Scope @PathParam("instance") String instanceId, @Scope @PathParam("tag") String tag);
121121

122+
@GET
123+
@Path("/{instance}/installNewest")
124+
@RequiredPermission(permission = Permission.WRITE)
125+
public void installNewest(@Scope @PathParam("instance") String instanceId);
126+
122127
@GET
123128
@Path("/{instance}/{tag}/pre-activate")
124-
public InstanceActivateCheckDto preActivate(@Scope @PathParam("instance") String instanceId, @Scope @PathParam("tag") String tag);
129+
public InstanceActivateCheckDto preActivate(@Scope @PathParam("instance") String instanceId,
130+
@Scope @PathParam("tag") String tag);
125131

126132
@GET
127133
@Path("/{instance}/{tag}/activate")
128134
@RequiredPermission(permission = Permission.WRITE)
129135
public void activate(@Scope @PathParam("instance") String instanceId, @Scope @PathParam("tag") String tag,
130136
@QueryParam("force") boolean force);
131137

138+
@GET
139+
@Path("/{instance}/activateNewest")
140+
@RequiredPermission(permission = Permission.WRITE)
141+
public void activateNewest(@Scope @PathParam("instance") String instanceId, @QueryParam("force") boolean force);
142+
132143
@POST
133144
@Path("/{instance}/updateProductVersion/{target}")
134145
@RequiredPermission(permission = Permission.WRITE)

ui/src/main/java/io/bdeploy/ui/api/impl/InstanceResourceImpl.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -630,6 +630,11 @@ private void gatherNodeConfigurations(InstanceNodeConfigurationListDto result, I
630630
}
631631
}
632632

633+
@Override
634+
public void installNewest(String instanceId) {
635+
install(instanceId, null);
636+
}
637+
633638
@Override
634639
public void install(String instanceId, String tag) {
635640
InstanceManifest instance = InstanceManifest.load(hive, instanceId, tag);
@@ -718,6 +723,11 @@ public InstanceActivateCheckDto preActivate(String instanceId, String tag) {
718723
}
719724
}
720725

726+
@Override
727+
public void activateNewest(String instanceId, boolean force) {
728+
activate(instanceId, null, force);
729+
}
730+
721731
@Override
722732
public void activate(String instanceId, String tag, boolean force) {
723733
InstanceManifest instance = InstanceManifest.load(hive, instanceId, tag);

ui/src/main/java/io/bdeploy/ui/cli/RemoteDeploymentTool.java

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,17 +47,28 @@ public RemoteDeploymentTool() {
4747
protected RenderableResult run(RemoteDeployConfig config, RemoteService svc) {
4848
helpAndFailIfMissing(config.instanceGroup(), "Missing --instanceGroup");
4949
helpAndFailIfMissing(config.uuid(), "Missing --uuid");
50-
helpAndFailIfMissing(config.version(), "Missing --version");
5150

5251
InstanceResource ir = ResourceProvider.getResource(svc, InstanceGroupResource.class, getLocalContext())
5352
.getInstanceResource(config.instanceGroup());
5453

54+
String uuid = config.uuid();
55+
String version = config.version();
56+
5557
if (config.install()) {
56-
ir.install(config.uuid(), config.version());
58+
if (version == null) {
59+
ir.installNewest(uuid);
60+
} else {
61+
ir.install(uuid, version);
62+
}
5763
} else if (config.activate()) {
58-
ir.activate(config.uuid(), config.version(), false);
64+
if (version == null) {
65+
ir.activateNewest(uuid, false);
66+
} else {
67+
ir.activate(uuid, version, false);
68+
}
5969
} else if (config.uninstall()) {
60-
ir.uninstall(config.uuid(), config.version());
70+
helpAndFailIfMissing(version, "Missing --version");
71+
ir.uninstall(uuid, version);
6172
} else {
6273
helpAndFail("ERROR: Missing --install, --activate or --uninstall");
6374
}

0 commit comments

Comments
 (0)