Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
90294a6
ui,api,server: template categorization based on os
shwstppr Apr 10, 2025
7fc3865
reorganize os categories
shwstppr Apr 28, 2025
6d2c124
fixes for isoid as queryparam
shwstppr Apr 28, 2025
eda7679
tests
shwstppr Apr 30, 2025
f2e1b57
allow updating category for multiple os
shwstppr Apr 30, 2025
14cf02a
fix user template listing
shwstppr Apr 30, 2025
3ad581e
cosistent
shwstppr Apr 30, 2025
bcc64cc
ui fixes
shwstppr Apr 30, 2025
138c704
filter catedories for vnf templates
shwstppr Apr 30, 2025
d9f37ce
add review comments
shwstppr May 5, 2025
6dbc2cc
address ui comments
shwstppr May 5, 2025
01a66bd
fix issue with all category
shwstppr May 5, 2025
ce3402e
ui fix for tmplt pagination
shwstppr May 6, 2025
b25984c
fix reinstall form
shwstppr May 6, 2025
050d2f0
add tooltip, fix title overflow
shwstppr May 7, 2025
bff3d61
add userdata icon
shwstppr May 7, 2025
f23a32e
remove log
shwstppr May 7, 2025
ec23bf5
backend fixes
shwstppr May 7, 2025
fdc4cce
oscategoryid condition fix
shwstppr May 7, 2025
dac8d73
template/iso oscategoryid filter
shwstppr May 7, 2025
69e6627
fix icons
shwstppr May 7, 2025
e200b9e
fix for non-featured category
shwstppr May 8, 2025
3e7a9a1
refactor image search bar
shwstppr May 8, 2025
52a9908
add deploy button on infocard for images
shwstppr May 8, 2025
15bd888
category filter for guestos and fix bulk update
shwstppr May 8, 2025
7428baa
add showicon param for listOsCategories
shwstppr May 8, 2025
707b0ea
ui: show deploy button only if allowed
shwstppr May 8, 2025
9434391
Merge remote-tracking branch 'apache/4.20' into deployvm-improvements
shwstppr May 9, 2025
d7d970d
update help doc
shwstppr May 21, 2025
8e1786f
ui: fix guestos userdefined
shwstppr May 21, 2025
6ab7123
template type filter
shwstppr May 21, 2025
d96afd6
ui: show icon/label for more properties
shwstppr May 21, 2025
551ec47
events for os category
shwstppr May 21, 2025
52778c1
Merge remote-tracking branch 'apache/main' into deployvm-improvements
shwstppr Jun 3, 2025
b252f41
move changes to 4.21
shwstppr Jun 3, 2025
90c2ed5
fix
shwstppr Jun 3, 2025
cf522b0
fix schema
shwstppr Jun 3, 2025
75ecb4d
fix fetchdata imagedeploybtn
shwstppr Jun 3, 2025
c9aec4a
schema fix
shwstppr Jun 3, 2025
039e1ec
refactor
shwstppr Jun 4, 2025
3139ece
vm, template resource icons from category
shwstppr Jun 4, 2025
fceb522
donot pass category icons in ui
shwstppr Jun 4, 2025
e3e8ea3
fix icons
shwstppr Jun 4, 2025
a9c00ca
tests
shwstppr Jun 4, 2025
5e56234
tests
shwstppr Jun 4, 2025
ed5239f
fix
shwstppr Jun 4, 2025
c5c2f37
fix lint eof
shwstppr Jun 10, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
fix
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
  • Loading branch information
shwstppr committed Jun 4, 2025
commit ed5239f19a165a2710c095d727fc49264f5842d8
Original file line number Diff line number Diff line change
Expand Up @@ -578,5 +578,5 @@ List<TemplateResponse> createTemplateResponses(ResponseView view, VirtualMachine

SharedFSResponse createSharedFSResponse(ResponseView view, SharedFS sharedFS);

void updateTemplateIsoResponsesForIcons(List<TemplateResponse> responses);
void updateTemplateIsoResponsesForIcons(List<TemplateResponse> responses, ResourceTag.ResourceObjectType type);
}
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
import org.apache.commons.lang3.StringUtils;

import com.cloud.cpu.CPU;
import com.cloud.server.ResourceTag;
import com.cloud.template.VirtualMachineTemplate.TemplateFilter;
import com.cloud.user.Account;

Expand Down Expand Up @@ -173,9 +174,9 @@
return CPU.CPUArch.fromType(arch);
}

public Long getOsCategoryId() {
return osCategoryId;
}

Check warning on line 179 in api/src/main/java/org/apache/cloudstack/api/command/user/iso/ListIsosCmd.java

View check run for this annotation

Codecov / codecov/patch

api/src/main/java/org/apache/cloudstack/api/command/user/iso/ListIsosCmd.java#L177-L179

Added lines #L177 - L179 were not covered by tests

/////////////////////////////////////////////////////
/////////////// API Implementation///////////////////
Expand All @@ -195,7 +196,8 @@
public void execute() {
ListResponse<TemplateResponse> response = _queryService.listIsos(this);
if (response != null && getShowIcon()) {
_responseGenerator.updateTemplateIsoResponsesForIcons(response.getResponses());
_responseGenerator.updateTemplateIsoResponsesForIcons(response.getResponses(),

Check warning on line 199 in api/src/main/java/org/apache/cloudstack/api/command/user/iso/ListIsosCmd.java

View check run for this annotation

Codecov / codecov/patch

api/src/main/java/org/apache/cloudstack/api/command/user/iso/ListIsosCmd.java#L199

Added line #L199 was not covered by tests
ResourceTag.ResourceObjectType.ISO);
}
response.setResponseName(getCommandName());
setResponseObject(response);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@

import com.cloud.cpu.CPU;
import com.cloud.exception.InvalidParameterValueException;
import com.cloud.server.ResourceTag;
import com.cloud.template.VirtualMachineTemplate;
import com.cloud.template.VirtualMachineTemplate.TemplateFilter;
import com.cloud.user.Account;
Expand Down Expand Up @@ -208,9 +209,9 @@
return CPU.CPUArch.fromType(arch);
}

public Long getOsCategoryId() {
return osCategoryId;
}

Check warning on line 214 in api/src/main/java/org/apache/cloudstack/api/command/user/template/ListTemplatesCmd.java

View check run for this annotation

Codecov / codecov/patch

api/src/main/java/org/apache/cloudstack/api/command/user/template/ListTemplatesCmd.java#L212-L214

Added lines #L212 - L214 were not covered by tests

@Override
public String getCommandName() {
Expand All @@ -226,7 +227,8 @@
public void execute() {
ListResponse<TemplateResponse> response = _queryService.listTemplates(this);
if (response != null && getShowIcon()) {
_responseGenerator.updateTemplateIsoResponsesForIcons(response.getResponses());
_responseGenerator.updateTemplateIsoResponsesForIcons(response.getResponses(),

Check warning on line 230 in api/src/main/java/org/apache/cloudstack/api/command/user/template/ListTemplatesCmd.java

View check run for this annotation

Codecov / codecov/patch

api/src/main/java/org/apache/cloudstack/api/command/user/template/ListTemplatesCmd.java#L230

Added line #L230 was not covered by tests
ResourceTag.ResourceObjectType.Template);
}
response.setResponseName(getCommandName());
setResponseObject(response);
Expand Down
5 changes: 3 additions & 2 deletions server/src/main/java/com/cloud/api/ApiResponseHelper.java
Original file line number Diff line number Diff line change
Expand Up @@ -5525,12 +5525,13 @@
}

@Override
public void updateTemplateIsoResponsesForIcons(List<TemplateResponse> responses) {
public void updateTemplateIsoResponsesForIcons(List<TemplateResponse> responses,
ResourceTag.ResourceObjectType type) {
if (CollectionUtils.isEmpty(responses)) {
return;
}
Set<String> uuids = responses.stream().map(TemplateResponse::getId).collect(Collectors.toSet());
Map<String, ResourceIcon> templateIcons = resourceIconManager.getByResourceTypeAndUuids(ResourceTag.ResourceObjectType.ISO, uuids);
Map<String, ResourceIcon> templateIcons = resourceIconManager.getByResourceTypeAndUuids(type, uuids);
List<TemplateResponse> noTemplateIconResponses = responses
.stream()
.filter(r -> !templateIcons.containsKey(r.getId()))
Expand All @@ -5539,7 +5540,7 @@
for (TemplateResponse response : responses) {
ResourceIcon icon = templateIcons.get(response.getId());
if (icon == null) {
continue;

Check warning on line 5543 in server/src/main/java/com/cloud/api/ApiResponseHelper.java

View check run for this annotation

Codecov / codecov/patch

server/src/main/java/com/cloud/api/ApiResponseHelper.java#L5543

Added line #L5543 was not covered by tests
}
ResourceIconResponse iconResponse = createResourceIconResponse(icon);
response.setResourceIconResponse(iconResponse);
Expand Down
8 changes: 5 additions & 3 deletions server/src/test/java/com/cloud/api/ApiResponseHelperTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -619,14 +619,16 @@ public void testUpdateTemplateIsoResponsesForIcons_withMixedIcons() {
ResourceIconResponse iconResponse2 = new ResourceIconResponse();
Mockito.doReturn(iconResponse1).when(apiResponseHelper).createResourceIconResponse(isoIcons.get("t1"));
Mockito.doReturn(iconResponse2).when(apiResponseHelper).createResourceIconResponse(fallbackIcons.get("t2"));
apiResponseHelper.updateTemplateIsoResponsesForIcons(responses);
apiResponseHelper.updateTemplateIsoResponsesForIcons(responses, ResourceTag.ResourceObjectType.ISO);
verify(template1).setResourceIconResponse(iconResponse1);
verify(template2).setResourceIconResponse(iconResponse2);
}

@Test
public void testUpdateTemplateIsoResponsesForIcons_emptyInput() {
apiResponseHelper.updateTemplateIsoResponsesForIcons(Collections.emptyList());
Mockito.verify(resourceIconManager, Mockito.never()).getByResourceTypeAndUuids(Mockito.any(), Mockito.anyCollection());
apiResponseHelper.updateTemplateIsoResponsesForIcons(Collections.emptyList(),
ResourceTag.ResourceObjectType.Template);
Mockito.verify(resourceIconManager, Mockito.never()).getByResourceTypeAndUuids(Mockito.any(),
Mockito.anyCollection());
}
}
Loading