Skip to content

Commit 691649a

Browse files
authored
Merge branch 'main' into feat/flasharray-nvme-tcp-support
2 parents e503a14 + e63b7da commit 691649a

333 files changed

Lines changed: 29428 additions & 3253 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.asf.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,6 @@ github:
5858
- GaOrtiga
5959
- bhouse-nexthop
6060

61-
protected_branches:
62-
6361
rulesets:
6462
- name: "Default Branch Protection"
6563
type: branch

.github/CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
/plugins/storage/volume/linstor @rp-
1919
/plugins/storage/volume/storpool @slavkap
20-
/plugins/storage/volume/ontap @rajiv1 @sandeeplocharla @piyush5 @suryag
20+
/plugins/storage/volume/ontap @rajiv-jain-netapp @sandeeplocharla @piyush5netapp @suryag1201
2121

2222
.pre-commit-config.yaml @jbampton
2323
/.github/linters/ @jbampton

.github/workflows/build.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,12 @@
1717

1818
name: Build
1919
on:
20-
- push
21-
- pull_request
20+
push:
21+
branches:
22+
- main
23+
- 4.22
24+
- 4.20
25+
pull_request:
2226
concurrency:
2327
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
2428
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}

.github/workflows/ci.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,12 @@
1717

1818
name: Simulator CI
1919
on:
20-
- push
21-
- pull_request
20+
push:
21+
branches:
22+
- main
23+
- 4.22
24+
- 4.20
25+
pull_request:
2226
concurrency:
2327
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
2428
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}

.github/workflows/rat.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,12 @@
1717

1818
name: License Check
1919
on:
20-
- push
21-
- pull_request
20+
push:
21+
branches:
22+
- main
23+
- 4.22
24+
- 4.20
25+
pull_request:
2226
concurrency:
2327
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
2428
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}

.github/workflows/ui.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,13 @@
1717

1818
name: UI Build
1919

20-
on: [push, pull_request]
20+
on:
21+
push:
22+
branches:
23+
- main
24+
- 4.22
25+
- 4.20
26+
pull_request:
2127

2228
concurrency:
2329
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}

agent/conf/agent.properties

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -372,6 +372,14 @@ iscsi.session.cleanup.enabled=false
372372
# to the directory "/usr/share/cloudstack-common/".
373373
#network.scripts.dir=scripts/vm/network/vnet
374374

375+
# Sets the VXLAN networking mode used, either 'multicast' (default) or 'evpn'.
376+
# The different modes lead to different scripts being executed by the Agent.
377+
# multicast: modifyvxlan.sh
378+
# evpn: modifyvxlan-evpn.sh
379+
# Existing environments using VXLAN can safely switch to the 'evpn' mode as this
380+
# will not break existing functionality.
381+
#network.vxlan.mode=multicast
382+
375383
# Defines the location for storage scripts.
376384
# The path defined in this property is relative.
377385
# To locate the script, ACS first tries to concatenate

agent/src/main/java/com/cloud/agent/properties/AgentProperties.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -318,6 +318,15 @@ public class AgentProperties{
318318
*/
319319
public static final Property<String> NETWORK_BRIDGE_TYPE = new Property<>("network.bridge.type", "native");
320320

321+
/**
322+
* Sets the VXLAN networking mode used by the BridgeVifDriver.<br>
323+
* Possible values: multicast | evpn <br>
324+
* When set to <code>evpn</code>, the driver will use modifyvxlan-evpn.sh instead of modifyvxlan.sh.<br>
325+
* Data type: String.<br>
326+
* Default value: <code>multicast</code>
327+
*/
328+
public static final Property<String> NETWORK_VXLAN_MODE = new Property<>("network.vxlan.mode", "multicast");
329+
321330
/**
322331
* Sets the driver used to plug and unplug NICs from the bridges.<br>
323332
* A sensible default value will be selected based on the network.bridge.type but can be overridden here.<br>

api/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,11 @@
7171
<artifactId>cloud-framework-direct-download</artifactId>
7272
<version>${project.version}</version>
7373
</dependency>
74+
<dependency>
75+
<groupId>org.apache.cloudstack</groupId>
76+
<artifactId>cloud-framework-kms</artifactId>
77+
<version>${project.version}</version>
78+
</dependency>
7479
</dependencies>
7580
<build>
7681
<plugins>

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

Lines changed: 50 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,16 @@
3636
import org.apache.cloudstack.gpu.GpuDevice;
3737
import org.apache.cloudstack.gpu.VgpuProfile;
3838
import org.apache.cloudstack.ha.HAConfig;
39+
import org.apache.cloudstack.kms.HSMProfile;
40+
import org.apache.cloudstack.kms.KMSKey;
3941
import org.apache.cloudstack.network.BgpPeer;
4042
import org.apache.cloudstack.network.Ipv4GuestSubnetNetworkMap;
4143
import org.apache.cloudstack.quota.QuotaTariff;
4244
import org.apache.cloudstack.storage.object.Bucket;
4345
import org.apache.cloudstack.storage.object.ObjectStore;
4446
import org.apache.cloudstack.storage.sharedfs.SharedFS;
4547
import org.apache.cloudstack.usage.Usage;
46-
import org.apache.cloudstack.vm.schedule.VMSchedule;
48+
import org.apache.cloudstack.schedule.ResourceSchedule;
4749

4850
import com.cloud.dc.DataCenter;
4951
import com.cloud.dc.DataCenterGuestIpv6Prefix;
@@ -125,17 +127,18 @@ public class EventTypes {
125127
public static final String EVENT_VM_UNMANAGE = "VM.UNMANAGE";
126128
public static final String EVENT_VM_RECOVER = "VM.RECOVER";
127129

128-
// VM Schedule
129-
public static final String EVENT_VM_SCHEDULE_CREATE = "VM.SCHEDULE.CREATE";
130-
public static final String EVENT_VM_SCHEDULE_UPDATE = "VM.SCHEDULE.UPDATE";
131-
public static final String EVENT_VM_SCHEDULE_DELETE = "VM.SCHEDULE.DELETE";
132-
130+
// VM Schedule action-execution events (fired when a scheduled action runs).
133131
public static final String EVENT_VM_SCHEDULE_START = "VM.SCHEDULE.START";
134132
public static final String EVENT_VM_SCHEDULE_STOP = "VM.SCHEDULE.STOP";
135133
public static final String EVENT_VM_SCHEDULE_REBOOT = "VM.SCHEDULE.REBOOT";
136134
public static final String EVENT_VM_SCHEDULE_FORCE_STOP = "VM.SCHEDULE.FORCE.STOP";
137135
public static final String EVENT_VM_SCHEDULE_FORCE_REBOOT = "VM.SCHEDULE.FORCE.REBOOT";
138136

137+
// Generic Resource Schedule CRUD events (apply to all resource types).
138+
public static final String EVENT_SCHEDULE_CREATE = "SCHEDULE.CREATE";
139+
public static final String EVENT_SCHEDULE_UPDATE = "SCHEDULE.UPDATE";
140+
public static final String EVENT_SCHEDULE_DELETE = "SCHEDULE.DELETE";
141+
139142
// Domain Router
140143
public static final String EVENT_ROUTER_CREATE = "ROUTER.CREATE";
141144
public static final String EVENT_ROUTER_DESTROY = "ROUTER.DESTROY";
@@ -271,6 +274,20 @@ public class EventTypes {
271274
public static final String EVENT_CA_CERTIFICATE_REVOKE = "CA.CERTIFICATE.REVOKE";
272275
public static final String EVENT_CA_CERTIFICATE_PROVISION = "CA.CERTIFICATE.PROVISION";
273276

277+
// KMS (Key Management Service) events
278+
public static final String EVENT_KMS_KEY_WRAP = "KMS.KEY.WRAP";
279+
public static final String EVENT_KMS_KEY_UNWRAP = "KMS.KEY.UNWRAP";
280+
public static final String EVENT_KMS_KEY_CREATE = "KMS.KEY.CREATE";
281+
public static final String EVENT_KMS_KEY_UPDATE = "KMS.KEY.UPDATE";
282+
public static final String EVENT_KMS_KEY_ROTATE = "KMS.KEY.ROTATE";
283+
public static final String EVENT_KMS_KEY_DELETE = "KMS.KEY.DELETE";
284+
public static final String EVENT_VOLUME_MIGRATE_TO_KMS = "VOLUME.MIGRATE.TO.KMS";
285+
286+
// HSM Profile events
287+
public static final String EVENT_HSM_PROFILE_CREATE = "HSM.PROFILE.CREATE";
288+
public static final String EVENT_HSM_PROFILE_UPDATE = "HSM.PROFILE.UPDATE";
289+
public static final String EVENT_HSM_PROFILE_DELETE = "HSM.PROFILE.DELETE";
290+
274291
// Account events
275292
public static final String EVENT_ACCOUNT_ENABLE = "ACCOUNT.ENABLE";
276293
public static final String EVENT_ACCOUNT_DISABLE = "ACCOUNT.DISABLE";
@@ -676,6 +693,7 @@ public class EventTypes {
676693
public static final String EVENT_AUTOSCALEVMGROUP_DISABLE = "AUTOSCALEVMGROUP.DISABLE";
677694
public static final String EVENT_AUTOSCALEVMGROUP_SCALEDOWN = "AUTOSCALEVMGROUP.SCALEDOWN";
678695
public static final String EVENT_AUTOSCALEVMGROUP_SCALEUP = "AUTOSCALEVMGROUP.SCALEUP";
696+
public static final String EVENT_AUTOSCALEVMGROUP_SCHEDULE_UPDATE = "AUTOSCALEVMGROUP.SCHEDULE.UPDATE";
679697

680698
public static final String EVENT_BAREMETAL_DHCP_SERVER_ADD = "PHYSICAL.DHCP.ADD";
681699
public static final String EVENT_BAREMETAL_DHCP_SERVER_DELETE = "PHYSICAL.DHCP.DELETE";
@@ -888,15 +906,18 @@ public class EventTypes {
888906
entityEventDetails.put(EVENT_VM_IMPORT, VirtualMachine.class);
889907
entityEventDetails.put(EVENT_VM_UNMANAGE, VirtualMachine.class);
890908

891-
// VMSchedule
892-
entityEventDetails.put(EVENT_VM_SCHEDULE_CREATE, VMSchedule.class);
893-
entityEventDetails.put(EVENT_VM_SCHEDULE_DELETE, VMSchedule.class);
894-
entityEventDetails.put(EVENT_VM_SCHEDULE_UPDATE, VMSchedule.class);
895-
entityEventDetails.put(EVENT_VM_SCHEDULE_START, VMSchedule.class);
896-
entityEventDetails.put(EVENT_VM_SCHEDULE_STOP, VMSchedule.class);
897-
entityEventDetails.put(EVENT_VM_SCHEDULE_REBOOT, VMSchedule.class);
898-
entityEventDetails.put(EVENT_VM_SCHEDULE_FORCE_STOP, VMSchedule.class);
899-
entityEventDetails.put(EVENT_VM_SCHEDULE_FORCE_REBOOT, VMSchedule.class);
909+
// VMSchedule action-execution events
910+
entityEventDetails.put(EVENT_VM_SCHEDULE_START, ResourceSchedule.class);
911+
entityEventDetails.put(EVENT_VM_SCHEDULE_STOP, ResourceSchedule.class);
912+
entityEventDetails.put(EVENT_VM_SCHEDULE_REBOOT, ResourceSchedule.class);
913+
entityEventDetails.put(EVENT_VM_SCHEDULE_FORCE_STOP, ResourceSchedule.class);
914+
entityEventDetails.put(EVENT_VM_SCHEDULE_FORCE_REBOOT, ResourceSchedule.class);
915+
entityEventDetails.put(EVENT_AUTOSCALEVMGROUP_SCHEDULE_UPDATE, ResourceSchedule.class);
916+
917+
// Generic Resource Schedule
918+
entityEventDetails.put(EVENT_SCHEDULE_CREATE, ResourceSchedule.class);
919+
entityEventDetails.put(EVENT_SCHEDULE_UPDATE, ResourceSchedule.class);
920+
entityEventDetails.put(EVENT_SCHEDULE_DELETE, ResourceSchedule.class);
900921

901922
entityEventDetails.put(EVENT_ROUTER_CREATE, VirtualRouter.class);
902923
entityEventDetails.put(EVENT_ROUTER_DESTROY, VirtualRouter.class);
@@ -1015,6 +1036,20 @@ public class EventTypes {
10151036
entityEventDetails.put(EVENT_VOLUME_RECOVER, Volume.class);
10161037
entityEventDetails.put(EVENT_VOLUME_CHANGE_DISK_OFFERING, Volume.class);
10171038

1039+
// KMS Key Events
1040+
entityEventDetails.put(EVENT_KMS_KEY_CREATE, KMSKey.class);
1041+
entityEventDetails.put(EVENT_KMS_KEY_UPDATE, KMSKey.class);
1042+
entityEventDetails.put(EVENT_KMS_KEY_UNWRAP, KMSKey.class);
1043+
entityEventDetails.put(EVENT_KMS_KEY_WRAP, KMSKey.class);
1044+
entityEventDetails.put(EVENT_KMS_KEY_DELETE, KMSKey.class);
1045+
entityEventDetails.put(EVENT_KMS_KEY_ROTATE, KMSKey.class);
1046+
entityEventDetails.put(EVENT_VOLUME_MIGRATE_TO_KMS, KMSKey.class);
1047+
1048+
// HSM Profile Events
1049+
entityEventDetails.put(EVENT_HSM_PROFILE_CREATE, HSMProfile.class);
1050+
entityEventDetails.put(EVENT_HSM_PROFILE_UPDATE, HSMProfile.class);
1051+
entityEventDetails.put(EVENT_HSM_PROFILE_DELETE, HSMProfile.class);
1052+
10181053
// Domains
10191054
entityEventDetails.put(EVENT_DOMAIN_CREATE, Domain.class);
10201055
entityEventDetails.put(EVENT_DOMAIN_DELETE, Domain.class);

0 commit comments

Comments
 (0)