Re: [Discussion] Versioning

2025-05-13 Thread João Jandre

Hello Rohit,

> I think we need to break out the topics and discuss them separately. 
Personally I wouldn't be able to work & vote this weekend, but I can try 
to participate during work days next week. We can vote again if 
required, but I think voting isn't required if consensus is achieved.


These topics are intertwined, I believe that discussing them separately 
will hinder the discussions. Also, as we are changing a process that has 
been followed for many years, voting is an important step to formalize 
the changes.


> On #1: I don't think we follow semver [1] strictly anymore. Our 
versioning scheme is currently A.B.C.D (where D is for security, C is 
maintenance/path; but B is considered a major release, A relates to API 
backward compatibility). To give some historical context - the original 
authors started with semver because they needed something to base 
versioning scheme on and followed it b/w 4.0 and 4.5; then starting 
security releases I think around 2016-2017 we introduced the security 
patch created our own versioning scheme & DB upgrade paths mechanisms 
around it. With LTS [1] guidelines adopted a few years back, we created 
a way for us to support new hypervisor support delivered in 
maintenance/minor releases which often have DB changes (adding guest os 
mappings, capabilities etc.) and any core infra blockers. For the most 
part - for marketing purposes, in events, conferences, announcements etc 
we consider "A.B" as a major ACS release (for example, we say 4.21 is 
the next major LTS release...), and we refer to A.B.C as a 
maintenance/minor release. (for example 4.20.1.0, or 4.19.3.0).


We do not follow strictly semver, as per the link you mentioned, 
however, the same link specifies that the only change is the following:


---
... where NON-SECURITY 
PATCH is incremented for all bug fix releases except those addressing a 
CVE.  The SECURITY PATCH is only incremented for security releases that 
fix one or more CVEs.

---

The rest should be semver. Also regarding the page you mentioned, it 
specifies that the MAJOR would be our 4, as it is the first number; 
therefore, we cannot consider "A.B" the MAJOR, as it is a MINOR. Again, 
the community has not been following its own guidelines and it seems 
that there are confusions regarding the versioning. **This is why we 
must discuss and solidify our process**.


> My view is, it's not in our community's best interest to introduce 
severely disruptive changes (APIs for example) as we've built a momentum 
of users, sub-projects and sister-projects that depend on CloudStack 
(APIs). So, if we can accept that there will be never a major release 
(from a semver PoV) disrupting the APIs, we can drop the "4." and call 
the next set of releases 22, 23 etc. forking our version of "semver" 
even further. If that's the extent of the proposal, I'm supportive of that.


> On a pedantic note, the proposed voting thread's subject is about 
versioning process but it suggest that the proposer "will start another 
thread regarding our version naming" - making it harder for community to 
vote on something that's not well defined or proposed.


It seems that two different topics are being mixed here, on one hand we 
have the versiong process, on the other we have the naming. They do go 
hand in hand, but they can be discussed separately, I see that you have 
an interest in changing our version naming, I do not oppose that; 
however, I'm interested in the versioning process, this is what this 
thread is about and why I want to create a new thread for version naming 
discussion.


Regarding the disruptive changes, we have already been introducing these 
types of changes, but as we have not been following a proper process, 
these changes have been made to the MINOR release, and what is worse, a 
lot of times users are not informed of such changes in advance.


Here are a few example of disruptive changes:
- https://github.com/apache/cloudstack/pull/9518. Changed the default 
connection pool library. This was not communicated to the community and 
we have caught problems caused by this change, where we had to revert to 
the old library.
- https://github.com/apache/cloudstack/pull/7131. Updated the log 
library. This change was announced in the MLs (see 
https://lists.apache.org/thread/wnh2d0r3dyphzmc0c6rytj2mbd21z2gs) and 
was explicit on release notes for example, but I still feel like we 
could've communicated a bit better about the change, for example 
notifying the deprecation of log4j 1.29 in the previous version. In any 
case, this is a disruptive change that was not made in a MAJOR version 
as defined by semver.
- https://github.com/apache/cloudstack/pull/8609. JRE Upgrade, removed 
support for EL7. Again, this was communicated in the release notes, but 
as far as I know we did not notify the users of the deprecation EL7 in 
the previous versions.


> On #2: we already have a deprecation policy [1] which was led by 
Rafael and we've used it alrea

[PR] Update network offering usage record (inline with the response) [cloudstack-documentation]

2025-05-13 Thread via GitHub


sureshanaparti opened a new pull request, #505:
URL: https://github.com/apache/cloudstack-documentation/pull/505

   Update network offering usage record (inline with the response).
   
   ```
   (usageenv) 🐱 > list usagerecords startdate=2025-05-11 enddate=2025-05-13 
type=13 usageid=bfcb52bf-cb33-4c7d-bd9d-9b4b57d65a77
   {
 "count": 110,
 "usagerecord": [
   {
 "account": "admin",
 "accountid": "a5f9d055-1ea1-11f0-8a38-1e00b50002f5",
 "description": "Network offering 
DefaultIsolatedNetworkOfferingWithSourceNatService 
(bfcb52bf-cb33-4c7d-bd9d-9b4b57d65a77) usage for VM testvm01 
(0c74f18a-2f1b-4bbe-b17e-bd16f4e55d86) ",
 "domain": "ROOT",
 "domainid": "676c3952-1ea1-11f0-8a38-1e00b50002f5",
 "domainpath": "/",
 "enddate": "2025-05-11'T'00:59:59+00:00",
 "isdefault": true,
 "offeringid": "bfcb52bf-cb33-4c7d-bd9d-9b4b57d65a77",
 "rawusage": "1",
 "startdate": "2025-05-11'T'00:00:00+00:00",
 "tags": [],
 "usage": "1 Hrs",
 "usagetype": 13,
 "virtualmachineid": "0c74f18a-2f1b-4bbe-b17e-bd16f4e55d86",
 "zoneid": "cd989e1a-0024-439d-8164-7db39e046c6f"
   },
   {
 "account": "admin",
 "accountid": "a5f9d055-1ea1-11f0-8a38-1e00b50002f5",
 "description": "Network offering 
DefaultIsolatedNetworkOfferingWithSourceNatService 
(bfcb52bf-cb33-4c7d-bd9d-9b4b57d65a77) usage for VM testvm02 
(617f7798-7a5f-4eb7-9d13-40a3eab641df) ",
 "domain": "ROOT",
 "domainid": "676c3952-1ea1-11f0-8a38-1e00b50002f5",
 "domainpath": "/",
 "enddate": "2025-05-11'T'00:59:59+00:00",
 "isdefault": true,
 "offeringid": "bfcb52bf-cb33-4c7d-bd9d-9b4b57d65a77",
 "rawusage": "1",
 "startdate": "2025-05-11'T'00:00:00+00:00",
 "tags": [],
 "usage": "1 Hrs",
 "usagetype": 13,
 "virtualmachineid": "617f7798-7a5f-4eb7-9d13-40a3eab641df",
 "zoneid": "cd989e1a-0024-439d-8164-7db39e046c6f"
   },
   {
 "account": "admin",
 "accountid": "a5f9d055-1ea1-11f0-8a38-1e00b50002f5",
 "description": "Network offering 
DefaultIsolatedNetworkOfferingWithSourceNatService 
(bfcb52bf-cb33-4c7d-bd9d-9b4b57d65a77) usage for VM testvm01 
(0c74f18a-2f1b-4bbe-b17e-bd16f4e55d86) ",
 "domain": "ROOT",
 "domainid": "676c3952-1ea1-11f0-8a38-1e00b50002f5",
 "domainpath": "/",
 "enddate": "2025-05-11'T'01:59:59+00:00",
 "isdefault": true,
 "offeringid": "bfcb52bf-cb33-4c7d-bd9d-9b4b57d65a77",
 "rawusage": "1",
 "startdate": "2025-05-11'T'01:00:00+00:00",
 "tags": [],
 "usage": "1 Hrs",
 "usagetype": 13,
 "virtualmachineid": "0c74f18a-2f1b-4bbe-b17e-bd16f4e55d86",
 "zoneid": "cd989e1a-0024-439d-8164-7db39e046c6f"
   },
   ...
   ```
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@cloudstack.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] Update network offering usage record (inline with the response) [cloudstack-documentation]

2025-05-13 Thread via GitHub


sureshanaparti commented on PR #505:
URL: 
https://github.com/apache/cloudstack-documentation/pull/505#issuecomment-2875647076

   @blueorangutan docbuild


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@cloudstack.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] Update network offering usage record (inline with the response) [cloudstack-documentation]

2025-05-13 Thread via GitHub


blueorangutan commented on PR #505:
URL: 
https://github.com/apache/cloudstack-documentation/pull/505#issuecomment-2875655160

   QA-Doc build preview: https://qa.cloudstack.cloud/builds/docs-build/pr/505. 
(QA-JID 340)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@cloudstack.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] Update network offering usage record (inline with the response) [cloudstack-documentation]

2025-05-13 Thread via GitHub


sureshanaparti commented on PR #505:
URL: 
https://github.com/apache/cloudstack-documentation/pull/505#issuecomment-2875659081

   @blueorangutan docbuild


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@cloudstack.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] Update usage types in the docs [cloudstack-documentation]

2025-05-13 Thread via GitHub


sureshanaparti commented on PR #504:
URL: 
https://github.com/apache/cloudstack-documentation/pull/504#issuecomment-2875662632

   @rajujith Update the usage types (still the record formats for these to be 
updated)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@cloudstack.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] Update network offering usage record (inline with the response) [cloudstack-documentation]

2025-05-13 Thread via GitHub


blueorangutan commented on PR #505:
URL: 
https://github.com/apache/cloudstack-documentation/pull/505#issuecomment-2875651849

   @sureshanaparti a Jenkins job has been kicked to build the document. I'll 
keep you posted as I make progress.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@cloudstack.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] Update network offering usage record (inline with the response) [cloudstack-documentation]

2025-05-13 Thread via GitHub


blueorangutan commented on PR #505:
URL: 
https://github.com/apache/cloudstack-documentation/pull/505#issuecomment-2875691766

   QA-Doc build preview: https://qa.cloudstack.cloud/builds/docs-build/pr/505. 
(QA-JID 341)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@cloudstack.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] Update network offering usage record (inline with the response) [cloudstack-documentation]

2025-05-13 Thread via GitHub


blueorangutan commented on PR #505:
URL: 
https://github.com/apache/cloudstack-documentation/pull/505#issuecomment-2875688239

   @sureshanaparti a Jenkins job has been kicked to build the document. I'll 
keep you posted as I make progress.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@cloudstack.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] Update network offering usage record (inline with the response) [cloudstack-documentation]

2025-05-13 Thread via GitHub


sureshanaparti commented on PR #505:
URL: 
https://github.com/apache/cloudstack-documentation/pull/505#issuecomment-2875686274

   @blueorangutan docbuild


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@cloudstack.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] Storage Access Groups documentation [cloudstack-documentation]

2025-05-13 Thread via GitHub


sureshanaparti commented on code in PR #503:
URL: 
https://github.com/apache/cloudstack-documentation/pull/503#discussion_r2086363440


##
source/adminguide/storage.rst:
##
@@ -252,6 +252,38 @@ same set of tags on the primary storage for all clusters 
in a pod. Even
 if different devices are used to present those tags, the set of exposed
 tags can be the same.
 
+Storage Access Groups
+~
+
+When a primary storage is added in CloudStack, either at the Zone or Cluster 
scope,
+it gets connected to all the hosts within that scope. Using Storage Access 
Groups,
+this behavior can be controlled by defining groups on both primary storage and 
hosts,
+ensuring connections are established only within those groups. When a Storage 
Access
+Group is set on a primary storage (a text string attribute similar to tag),
+and the same group is assigned to a host, the primary storage will connect 
only to that host.
+A Storage Access Group can also be applied at the Cluster, Pod, or Zone level, 
allowing
+all hosts in that entity to inherit the group automatically.
+
+For example, if there are 50 hosts across 10 clusters, with 5 hosts per 
cluster,
+and a zone-wide primary storage is added, it will connect to all 50 hosts. If 
the
+operator wants to limit the connection to a few hosts in just the first 2 
clusters,
+Storage Access Groups can be set on the primary storage and those specific 
hosts —
+or directly on the two clusters to achieve the same effect.
+
+Adding Storage Access Group on a primary storage.
+
+|adding-storage-access-group-on-primary-storage.png|
+
+Adding Storage Access Group on a host. Similarly it can be applied 
Cluster/Pod/Zone.
+
+|adding-storage-access-group-on-host.png|
+
+A primary storage with a Storage Access Group will connect only to hosts that 
have the
+same Storage Access Group. A storage pool without a Storage Access Group will 
connect to all hosts,
+including those with or without any Storage Access Group.
+
+Note: Storage Access Groups are not applicable for local primary storages. 
Currently this is tested with NFS
+and Dell Powerflex storages.

Review Comment:
   ```suggestion
   and Dell PowerFlex storages.
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@cloudstack.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



[PR] Update usage types in the docs [cloudstack-documentation]

2025-05-13 Thread via GitHub


sureshanaparti opened a new pull request, #504:
URL: https://github.com/apache/cloudstack-documentation/pull/504

   This PR updates/sync the usage types in docs with the API response and code.
   
   Current doc: 
https://docs.cloudstack.apache.org/en/latest/adminguide/usage.html#usage-types.
   
   list usagetypes API response =>
   ```
   (usageenv) 🐱 > list usagetypes 
   {
 "count": 25,
 "usagetype": [
   {
 "description": "Running Vm Usage",
 "usagetypeid": 1
   },
   {
 "description": "Allocated Vm Usage",
 "usagetypeid": 2
   },
   {
 "description": "IP Address Usage",
 "usagetypeid": 3
   },
   {
 "description": "Network Usage (Bytes Sent)",
 "usagetypeid": 4
   },
   {
 "description": "Network Usage (Bytes Received)",
 "usagetypeid": 5
   },
   {
 "description": "Volume Usage",
 "usagetypeid": 6
   },
   {
 "description": "Template Usage",
 "usagetypeid": 7
   },
   {
 "description": "ISO Usage",
 "usagetypeid": 8
   },
   {
 "description": "Snapshot Usage",
 "usagetypeid": 9
   },
   {
 "description": "Security Group Usage",
 "usagetypeid": 10
   },
   {
 "description": "Load Balancer Usage",
 "usagetypeid": 11
   },
   {
 "description": "Port Forwarding Usage",
 "usagetypeid": 12
   },
   {
 "description": "Network Offering Usage",
 "usagetypeid": 13
   },
   {
 "description": "VPN users usage",
 "usagetypeid": 14
   },
   {
 "description": "VM Disk usage(I/O Read)",
 "usagetypeid": 21
   },
   {
 "description": "VM Disk usage(I/O Write)",
 "usagetypeid": 22
   },
   {
 "description": "VM Disk usage(Bytes Read)",
 "usagetypeid": 23
   },
   {
 "description": "VM Disk usage(Bytes Write)",
 "usagetypeid": 24
   },
   {
 "description": "VM Snapshot storage usage",
 "usagetypeid": 25
   },
   {
 "description": "Volume on secondary storage usage",
 "usagetypeid": 26
   },
   {
 "description": "VM Snapshot on primary storage usage",
 "usagetypeid": 27
   },
   {
 "description": "Backup storage usage",
 "usagetypeid": 28
   },
   {
 "description": "Bucket storage usage",
 "usagetypeid": 29
   },
   {
 "description": "Network usage",
 "usagetypeid": 30
   },
   {
 "description": "VPC usage",
 "usagetypeid": 31
   }
 ]
   }
   (usageenv) 🐱 > 
   ```
   
   code =>
   
   
https://github.com/apache/cloudstack/blob/39c5641cbe674b19bc77082b850565f634a7cb84/api/src/main/java/org/apache/cloudstack/usage/UsageTypes.java#L24-L50


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@cloudstack.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] Update usage types in the docs [cloudstack-documentation]

2025-05-13 Thread via GitHub


sureshanaparti commented on PR #504:
URL: 
https://github.com/apache/cloudstack-documentation/pull/504#issuecomment-2875603420

   @blueorangutan docbuild


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@cloudstack.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] Update usage types in the docs [cloudstack-documentation]

2025-05-13 Thread via GitHub


blueorangutan commented on PR #504:
URL: 
https://github.com/apache/cloudstack-documentation/pull/504#issuecomment-2875609874

   QA-Doc build preview: https://qa.cloudstack.cloud/builds/docs-build/pr/504. 
(QA-JID 339)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@cloudstack.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] Update usage types in the docs [cloudstack-documentation]

2025-05-13 Thread via GitHub


blueorangutan commented on PR #504:
URL: 
https://github.com/apache/cloudstack-documentation/pull/504#issuecomment-2875607106

   @sureshanaparti a Jenkins job has been kicked to build the document. I'll 
keep you posted as I make progress.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@cloudstack.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [PR] Update XenServer supported versions [cloudstack-documentation]

2025-05-13 Thread via GitHub


DaanHoogland merged PR #502:
URL: https://github.com/apache/cloudstack-documentation/pull/502


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@cloudstack.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org



Re: [Discussion] Versioning

2025-05-13 Thread Rohit Yadav
I've made my position clear, if there's no scope for further discussion I'll 
add my vote.

Thanks.

From: João Jandre 
Sent: Tuesday, May 13, 2025 19:08
To: dev@cloudstack.apache.org 
Subject: Re: [Discussion] Versioning

Hello Rohit,

 > I think we need to break out the topics and discuss them separately.
Personally I wouldn't be able to work & vote this weekend, but I can try
to participate during work days next week. We can vote again if
required, but I think voting isn't required if consensus is achieved.

These topics are intertwined, I believe that discussing them separately
will hinder the discussions. Also, as we are changing a process that has
been followed for many years, voting is an important step to formalize
the changes.

 > On #1: I don't think we follow semver [1] strictly anymore. Our
versioning scheme is currently A.B.C.D (where D is for security, C is
maintenance/path; but B is considered a major release, A relates to API
backward compatibility). To give some historical context - the original
authors started with semver because they needed something to base
versioning scheme on and followed it b/w 4.0 and 4.5; then starting
security releases I think around 2016-2017 we introduced the security
patch created our own versioning scheme & DB upgrade paths mechanisms
around it. With LTS [1] guidelines adopted a few years back, we created
a way for us to support new hypervisor support delivered in
maintenance/minor releases which often have DB changes (adding guest os
mappings, capabilities etc.) and any core infra blockers. For the most
part - for marketing purposes, in events, conferences, announcements etc
we consider "A.B" as a major ACS release (for example, we say 4.21 is
the next major LTS release...), and we refer to A.B.C as a
maintenance/minor release. (for example 4.20.1.0, or 4.19.3.0).

We do not follow strictly semver, as per the link you mentioned,
however, the same link specifies that the only change is the following:

---
... where NON-SECURITY
PATCH is incremented for all bug fix releases except those addressing a
CVE.  The SECURITY PATCH is only incremented for security releases that
fix one or more CVEs.
---

The rest should be semver. Also regarding the page you mentioned, it
specifies that the MAJOR would be our 4, as it is the first number;
therefore, we cannot consider "A.B" the MAJOR, as it is a MINOR. Again,
the community has not been following its own guidelines and it seems
that there are confusions regarding the versioning. **This is why we
must discuss and solidify our process**.

 > My view is, it's not in our community's best interest to introduce
severely disruptive changes (APIs for example) as we've built a momentum
of users, sub-projects and sister-projects that depend on CloudStack
(APIs). So, if we can accept that there will be never a major release
(from a semver PoV) disrupting the APIs, we can drop the "4." and call
the next set of releases 22, 23 etc. forking our version of "semver"
even further. If that's the extent of the proposal, I'm supportive of that.

 > On a pedantic note, the proposed voting thread's subject is about
versioning process but it suggest that the proposer "will start another
thread regarding our version naming" - making it harder for community to
vote on something that's not well defined or proposed.

It seems that two different topics are being mixed here, on one hand we
have the versiong process, on the other we have the naming. They do go
hand in hand, but they can be discussed separately, I see that you have
an interest in changing our version naming, I do not oppose that;
however, I'm interested in the versioning process, this is what this
thread is about and why I want to create a new thread for version naming
discussion.

Regarding the disruptive changes, we have already been introducing these
types of changes, but as we have not been following a proper process,
these changes have been made to the MINOR release, and what is worse, a
lot of times users are not informed of such changes in advance.

Here are a few example of disruptive changes:
- https://github.com/apache/cloudstack/pull/9518. Changed the default
connection pool library. This was not communicated to the community and
we have caught problems caused by this change, where we had to revert to
the old library.
- https://github.com/apache/cloudstack/pull/7131. Updated the log
library. This change was announced in the MLs (see
https://lists.apache.org/thread/wnh2d0r3dyphzmc0c6rytj2mbd21z2gs) and
was explicit on release notes for example, but I still feel like we
could've communicated a bit better about the change, for example
notifying the deprecation of log4j 1.29 in the previous version. In any
case, this is a disruptive change that was not made in a MAJOR version
as defined by semver.
- https://github.com/apache/cloudstack/pull/8609. JRE Upgrade, removed
support for EL7. Again, this was communicated in the release notes, but
as far