Skip to content

Commit 5696366

Browse files
committed
Merge branch 'main' into oauth-per-domain
2 parents 18cf904 + 7e84850 commit 5696366

200 files changed

Lines changed: 13888 additions & 543 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/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: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@
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;
@@ -272,6 +274,20 @@ public class EventTypes {
272274
public static final String EVENT_CA_CERTIFICATE_REVOKE = "CA.CERTIFICATE.REVOKE";
273275
public static final String EVENT_CA_CERTIFICATE_PROVISION = "CA.CERTIFICATE.PROVISION";
274276

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+
275291
// Account events
276292
public static final String EVENT_ACCOUNT_ENABLE = "ACCOUNT.ENABLE";
277293
public static final String EVENT_ACCOUNT_DISABLE = "ACCOUNT.DISABLE";
@@ -1020,6 +1036,20 @@ public class EventTypes {
10201036
entityEventDetails.put(EVENT_VOLUME_RECOVER, Volume.class);
10211037
entityEventDetails.put(EVENT_VOLUME_CHANGE_DISK_OFFERING, Volume.class);
10221038

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+
10231053
// Domains
10241054
entityEventDetails.put(EVENT_DOMAIN_CREATE, Domain.class);
10251055
entityEventDetails.put(EVENT_DOMAIN_DELETE, Domain.class);

api/src/main/java/com/cloud/offering/DiskOfferingInfo.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ public class DiskOfferingInfo {
2323
private Long _size;
2424
private Long _minIops;
2525
private Long _maxIops;
26+
private Long _kmsKeyId;
2627

2728
public DiskOfferingInfo() {
2829
}
@@ -38,6 +39,14 @@ public DiskOfferingInfo(DiskOffering diskOffering, Long size, Long minIops, Long
3839
_maxIops = maxIops;
3940
}
4041

42+
public DiskOfferingInfo(DiskOffering diskOffering, Long size, Long minIops, Long maxIops, Long kmsKeyId) {
43+
_diskOffering = diskOffering;
44+
_size = size;
45+
_minIops = minIops;
46+
_maxIops = maxIops;
47+
_kmsKeyId = kmsKeyId;
48+
}
49+
4150
public void setDiskOffering(DiskOffering diskOffering) {
4251
_diskOffering = diskOffering;
4352
}
@@ -69,4 +78,12 @@ public void setMaxIops(Long maxIops) {
6978
public Long getMaxIops() {
7079
return _maxIops;
7180
}
81+
82+
public void setKmsKeyId(Long kmsKeyId) {
83+
_kmsKeyId = kmsKeyId;
84+
}
85+
86+
public Long getKmsKeyId() {
87+
return _kmsKeyId;
88+
}
7289
}

0 commit comments

Comments
 (0)