Skip to content

Commit ec53d6f

Browse files
committed
address comments
1 parent 425d8c7 commit ec53d6f

9 files changed

Lines changed: 19 additions & 11 deletions

File tree

api/src/main/java/com/cloud/event/EventTypes.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -380,6 +380,7 @@ public class EventTypes {
380380

381381
// Disk Offerings
382382
public static final String EVENT_DISK_OFFERING_CREATE = "DISK.OFFERING.CREATE";
383+
public static final String EVENT_DISK_OFFERING_CLONE = "DISK.OFFERING.CLONE";
383384
public static final String EVENT_DISK_OFFERING_EDIT = "DISK.OFFERING.EDIT";
384385
public static final String EVENT_DISK_OFFERING_DELETE = "DISK.OFFERING.DELETE";
385386

@@ -400,6 +401,7 @@ public class EventTypes {
400401

401402
// Network offerings
402403
public static final String EVENT_NETWORK_OFFERING_CREATE = "NETWORK.OFFERING.CREATE";
404+
public static final String EVENT_NETWORK_OFFERING_CLONE = "NETWORK.OFFERING.CLONE";
403405
public static final String EVENT_NETWORK_OFFERING_ASSIGN = "NETWORK.OFFERING.ASSIGN";
404406
public static final String EVENT_NETWORK_OFFERING_EDIT = "NETWORK.OFFERING.EDIT";
405407
public static final String EVENT_NETWORK_OFFERING_REMOVE = "NETWORK.OFFERING.REMOVE";
@@ -599,6 +601,7 @@ public class EventTypes {
599601

600602
// VPC offerings
601603
public static final String EVENT_VPC_OFFERING_CREATE = "VPC.OFFERING.CREATE";
604+
public static final String EVENT_VPC_OFFERING_CLONE = "VPC.OFFERING.CLONE";
602605
public static final String EVENT_VPC_OFFERING_UPDATE = "VPC.OFFERING.UPDATE";
603606
public static final String EVENT_VPC_OFFERING_DELETE = "VPC.OFFERING.DELETE";
604607

@@ -631,7 +634,7 @@ public class EventTypes {
631634

632635
// Backup and Recovery events
633636
public static final String EVENT_VM_BACKUP_IMPORT_OFFERING = "BACKUP.IMPORT.OFFERING";
634-
public static final String EVENT_VM_BACKUP_CLONE_OFFERING = "BACKUP.CLONE.OFFERING";
637+
public static final String EVENT_VM_BACKUP_OFFERING_CLONE = "BACKUP.OFFERING.CLONE";
635638
public static final String EVENT_VM_BACKUP_OFFERING_ASSIGN = "BACKUP.OFFERING.ASSIGN";
636639
public static final String EVENT_VM_BACKUP_OFFERING_REMOVE = "BACKUP.OFFERING.REMOVE";
637640
public static final String EVENT_VM_BACKUP_CREATE = "BACKUP.CREATE";
@@ -1047,11 +1050,13 @@ public class EventTypes {
10471050

10481051
// Service Offerings
10491052
entityEventDetails.put(EVENT_SERVICE_OFFERING_CREATE, ServiceOffering.class);
1053+
entityEventDetails.put(EVENT_SERVICE_OFFERING_CLONE, ServiceOffering.class);
10501054
entityEventDetails.put(EVENT_SERVICE_OFFERING_EDIT, ServiceOffering.class);
10511055
entityEventDetails.put(EVENT_SERVICE_OFFERING_DELETE, ServiceOffering.class);
10521056

10531057
// Disk Offerings
10541058
entityEventDetails.put(EVENT_DISK_OFFERING_CREATE, DiskOffering.class);
1059+
entityEventDetails.put(EVENT_DISK_OFFERING_CLONE, DiskOffering.class);
10551060
entityEventDetails.put(EVENT_DISK_OFFERING_EDIT, DiskOffering.class);
10561061
entityEventDetails.put(EVENT_DISK_OFFERING_DELETE, DiskOffering.class);
10571062

@@ -1072,6 +1077,7 @@ public class EventTypes {
10721077

10731078
// Network offerings
10741079
entityEventDetails.put(EVENT_NETWORK_OFFERING_CREATE, NetworkOffering.class);
1080+
entityEventDetails.put(EVENT_NETWORK_OFFERING_CLONE, NetworkOffering.class);
10751081
entityEventDetails.put(EVENT_NETWORK_OFFERING_ASSIGN, NetworkOffering.class);
10761082
entityEventDetails.put(EVENT_NETWORK_OFFERING_EDIT, NetworkOffering.class);
10771083
entityEventDetails.put(EVENT_NETWORK_OFFERING_REMOVE, NetworkOffering.class);

api/src/main/java/org/apache/cloudstack/api/command/admin/backup/CloneBackupOfferingCmd.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,6 @@ public class CloneBackupOfferingCmd extends BaseAsyncCmd implements DomainAndZon
8282
@Parameter(name = ApiConstants.DOMAIN_ID,
8383
type = CommandType.STRING,
8484
description = "the ID of the containing domain(s) as comma separated string, public for public offerings",
85-
since = "4.23.0",
8685
length = 4096)
8786
private String domainIds;
8887

api/src/main/java/org/apache/cloudstack/api/command/admin/network/CloneNetworkOfferingCmd.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public class CloneNetworkOfferingCmd extends NetworkOfferingBaseCmd {
4545
type = BaseCmd.CommandType.UUID,
4646
entityType = NetworkOfferingResponse.class,
4747
required = true,
48-
description = "The ID of the network offering to clone")
48+
description = "The ID of the source network offering to clone from")
4949
private Long sourceOfferingId;
5050

5151
@Parameter(name = "addservices",

api/src/main/java/org/apache/cloudstack/api/command/admin/offering/CloneDiskOfferingCmd.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public class CloneDiskOfferingCmd extends CreateDiskOfferingCmd {
4242
type = BaseCmd.CommandType.UUID,
4343
entityType = DiskOfferingResponse.class,
4444
required = true,
45-
description = "The ID of the disk offering to clone")
45+
description = "The ID of the source disk offering to clone from")
4646
private Long sourceOfferingId;
4747

4848
/////////////////////////////////////////////////////

api/src/main/java/org/apache/cloudstack/api/command/admin/offering/CloneServiceOfferingCmd.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public class CloneServiceOfferingCmd extends CreateServiceOfferingCmd {
4141
type = CommandType.UUID,
4242
entityType = ServiceOfferingResponse.class,
4343
required = true,
44-
description = "The ID of the service offering to clone")
44+
description = "The ID of the source service offering to clone from")
4545
private Long sourceOfferingId;
4646

4747
/////////////////////////////////////////////////////

api/src/main/java/org/apache/cloudstack/api/command/admin/vpc/CloneVPCOfferingCmd.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public class CloneVPCOfferingCmd extends CreateVPCOfferingCmd {
4545
type = BaseCmd.CommandType.UUID,
4646
entityType = VpcOfferingResponse.class,
4747
required = true,
48-
description = "The ID of the VPC offering to clone")
48+
description = "The ID of the source VPC offering to clone from")
4949
private Long sourceOfferingId;
5050

5151
@Parameter(name = "addservices",

server/src/main/java/com/cloud/configuration/ConfigurationManagerImpl.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4134,6 +4134,7 @@ private static class LeaseParams {
41344134
}
41354135

41364136
@Override
4137+
@ActionEvent(eventType = EventTypes.EVENT_DISK_OFFERING_CLONE, eventDescription = "cloning disk offering")
41374138
public DiskOffering cloneDiskOffering(final CloneDiskOfferingCmd cmd) {
41384139
final long userId = CallContext.current().getCallingUserId();
41394140
final DiskOfferingVO sourceOffering = getAndValidateSourceDiskOffering(cmd.getSourceOfferingId());
@@ -8276,7 +8277,7 @@ public boolean deleteNetworkOffering(final DeleteNetworkOfferingCmd cmd) {
82768277
}
82778278

82788279
@Override
8279-
@ActionEvent(eventType = EventTypes.EVENT_NETWORK_OFFERING_CREATE, eventDescription = "cloning network offering")
8280+
@ActionEvent(eventType = EventTypes.EVENT_NETWORK_OFFERING_CLONE, eventDescription = "cloning network offering")
82808281
public NetworkOffering cloneNetworkOffering(final CloneNetworkOfferingCmd cmd) {
82818282
final Long sourceOfferingId = cmd.getSourceOfferingId();
82828283

server/src/main/java/com/cloud/network/vpc/VpcManagerImpl.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -819,6 +819,7 @@ protected void checkCapabilityPerServiceProvider(final Set<Provider> providers,
819819
}
820820

821821
@Override
822+
@ActionEvent(eventType = EventTypes.EVENT_VPC_OFFERING_CLONE, eventDescription = "cloning VPC offering")
822823
public VpcOffering cloneVPCOffering(CloneVPCOfferingCmd cmd) {
823824
Long sourceVpcOfferingId = cmd.getSourceOfferingId();
824825

server/src/main/java/org/apache/cloudstack/backup/BackupManagerImpl.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,7 @@ public BackupOffering importBackupOffering(final ImportBackupOfferingCmd cmd) {
327327
}
328328

329329
@Override
330-
@ActionEvent(eventType = EventTypes.EVENT_VM_BACKUP_CLONE_OFFERING, eventDescription = "cloning backup offering", create = true)
330+
@ActionEvent(eventType = EventTypes.EVENT_VM_BACKUP_OFFERING_CLONE, eventDescription = "cloning backup offering")
331331
public BackupOffering cloneBackupOffering(final CloneBackupOfferingCmd cmd) {
332332
final BackupOfferingVO sourceOffering = backupOfferingDao.findById(cmd.getSourceOfferingId());
333333
if (sourceOffering == null) {
@@ -343,23 +343,24 @@ public BackupOffering cloneBackupOffering(final CloneBackupOfferingCmd cmd) {
343343
final String description = cmd.getDescription() != null ? cmd.getDescription() : sourceOffering.getDescription();
344344
final String externalId = cmd.getExternalId() != null ? cmd.getExternalId() : sourceOffering.getExternalId();
345345
final boolean userDrivenBackups = cmd.getUserDrivenBackups() != null ? cmd.getUserDrivenBackups() : sourceOffering.isUserDrivenBackupAllowed();
346+
final Long zoneId = cmd.getZoneId() != null ? cmd.getZoneId() : sourceOffering.getZoneId();
346347

347-
if (!externalId.equals(sourceOffering.getExternalId())) {
348+
if (!Objects.equals(sourceOffering.getExternalId(), externalId)) {
348349
final BackupProvider provider = getBackupProvider(sourceOffering.getZoneId());
349350
if (!provider.isValidProviderOffering(sourceOffering.getZoneId(), externalId)) {
350351
throw new CloudRuntimeException("Backup offering '" + externalId + "' does not exist on provider " + provider.getName() + " on zone " + sourceOffering.getZoneId());
351352
}
352353
}
353354

354-
if (!externalId.equals(sourceOffering.getExternalId())) {
355+
if (!Objects.equals(sourceOffering.getExternalId(), externalId)) {
355356
final BackupOffering existingOffering = backupOfferingDao.findByExternalId(externalId, sourceOffering.getZoneId());
356357
if (existingOffering != null) {
357358
throw new CloudRuntimeException("A backup offering with external ID '" + externalId + "' already exists in this zone");
358359
}
359360
}
360361

361362
final BackupOfferingVO clonedOffering = new BackupOfferingVO(
362-
sourceOffering.getZoneId(),
363+
zoneId,
363364
externalId,
364365
sourceOffering.getProvider(),
365366
cmd.getName(),

0 commit comments

Comments
 (0)