diff --git a/source/_global.rst b/source/_global.rst index 98a4083f6a..ea5a78a8f8 100644 --- a/source/_global.rst +++ b/source/_global.rst @@ -25,20 +25,20 @@ .. Latest version systemvm template name -.. |sysvm64-version| replace:: 4.20.1 -.. |sysvm64-name-xen| replace:: systemvm-xenserver-4.20.1-x86_64 -.. |sysvm64-name-kvm| replace:: systemvm-kvm-4.20.1-x86_64 -.. |sysvm64-name-vmware| replace:: systemvm-vmware-4.20.1-x86_64 -.. |sysvm64-name-hyperv| replace:: systemvm-hyperv-4.20.1-x86_64 -.. |sysvm64-name-ovm| replace:: systemvm-ovm-4.20.1-x86_64 +.. |sysvm64-version| replace:: 4.20.2 +.. |sysvm64-name-xen| replace:: systemvm-xenserver-4.20.2-x86_64 +.. |sysvm64-name-kvm| replace:: systemvm-kvm-4.20.2-x86_64 +.. |sysvm64-name-vmware| replace:: systemvm-vmware-4.20.2-x86_64 +.. |sysvm64-name-hyperv| replace:: systemvm-hyperv-4.20.2-x86_64 +.. |sysvm64-name-ovm| replace:: systemvm-ovm-4.20.2-x86_64 .. Latest version systemvm template URL -.. |sysvm64-url-xen| replace:: http://download.cloudstack.org/systemvm/4.20/systemvmtemplate-4.20.1-x86_64-xen.vhd.bz2 -.. |sysvm64-url-kvm| replace:: http://download.cloudstack.org/systemvm/4.20/systemvmtemplate-4.20.1-x86_64-kvm.qcow2.bz2 -.. |sysvm64-url-kvm-aarch64| replace:: http://download.cloudstack.org/systemvm/4.20/systemvmtemplate-4.20.1-aarch64-kvm.qcow2.bz2 -.. |sysvm64-url-vmware| replace:: http://download.cloudstack.org/systemvm/4.20/systemvmtemplate-4.20.1-x86_64-vmware.ova -.. |sysvm64-url-hyperv| replace:: http://download.cloudstack.org/systemvm/4.20/systemvmtemplate-4.20.1-x86_64-hyperv.vhd.zip -.. |sysvm64-url-ovm| replace:: http://download.cloudstack.org/systemvm/4.20/systemvmtemplate-4.20.1-x86_64-ovm.raw.bz2 +.. |sysvm64-url-xen| replace:: http://download.cloudstack.org/systemvm/4.20/systemvmtemplate-4.20.2-x86_64-xen.vhd.bz2 +.. |sysvm64-url-kvm| replace:: http://download.cloudstack.org/systemvm/4.20/systemvmtemplate-4.20.2-x86_64-kvm.qcow2.bz2 +.. |sysvm64-url-kvm-aarch64| replace:: http://download.cloudstack.org/systemvm/4.20/systemvmtemplate-4.20.2-aarch64-kvm.qcow2.bz2 +.. |sysvm64-url-vmware| replace:: http://download.cloudstack.org/systemvm/4.20/systemvmtemplate-4.20.2-x86_64-vmware.ova +.. |sysvm64-url-hyperv| replace:: http://download.cloudstack.org/systemvm/4.20/systemvmtemplate-4.20.2-x86_64-hyperv.vhd.zip +.. |sysvm64-url-ovm| replace:: http://download.cloudstack.org/systemvm/4.20/systemvmtemplate-4.20.2-x86_64-ovm.raw.bz2 .. Images diff --git a/source/_static/images/resize-volume.png b/source/_static/images/resize-volume.png index 75c63ab7a9..17b21d1995 100644 Binary files a/source/_static/images/resize-volume.png and b/source/_static/images/resize-volume.png differ diff --git a/source/adminguide/index.rst b/source/adminguide/index.rst index a3aad694ed..9bfe226b8d 100644 --- a/source/adminguide/index.rst +++ b/source/adminguide/index.rst @@ -176,7 +176,7 @@ Tuning .. toctree:: :maxdepth: 4 - tuning + tuning/tuning Events and Troubleshooting diff --git a/source/adminguide/networking/security_groups.rst b/source/adminguide/networking/security_groups.rst index 241ef1c1ff..e17a878f91 100644 --- a/source/adminguide/networking/security_groups.rst +++ b/source/adminguide/networking/security_groups.rst @@ -216,6 +216,11 @@ Adding Ingress and Egress Rules to a Security Group #. Click Add. +.. note:: +- If there is no Egress rule in a Security Group, all the outgoing traffic will be allowed +- If there are Egress rules in a Security Group, only the outgoing traffic which match a Egress rule will be allowed +- Only the incoming traffic which match a Ingress rule will be allowed + .. |httpaccess.png| image:: /_static/images/http-access.png :alt: allows inbound HTTP access from anywhere. diff --git a/source/adminguide/networking/virtual_private_cloud_config.rst b/source/adminguide/networking/virtual_private_cloud_config.rst index 9edcc5c591..c656128bd8 100644 --- a/source/adminguide/networking/virtual_private_cloud_config.rst +++ b/source/adminguide/networking/virtual_private_cloud_config.rst @@ -355,6 +355,8 @@ Afterwards traffic can be white- or blacklisted. - ACL rules for ingress and egress are not correlating. For example a egress "deny all" won't affect traffic in response to an allowed ingress connection +- The incoming traffic which does not match any ACL rules will be denied +- The outgoing traffic which does not match any ACL rules will be allowed Creating ACLs diff --git a/source/adminguide/service_offerings.rst b/source/adminguide/service_offerings.rst index c84de4ec1e..23064910bf 100644 --- a/source/adminguide/service_offerings.rst +++ b/source/adminguide/service_offerings.rst @@ -249,6 +249,14 @@ To create a new compute offering: - **CPU cap**: Whether to limit the level of CPU usage even if spare capacity is available. + .. note:: + On KVM hypervisor, to allow CloudStack to relinquish CPU usage control + entirely, set this option to false and set CPU speed to zero. Note that Instances + with zero CPU speed offerings should not be co-hosted with Instances using + non-zero CPU speed offerings, as the CPU speed value is used as a relative + weight (share) in the ``cputune`` section of the domain XML, and mixing zero + and non-zero values would skew the weighting. + - **Volatile**: If checked, Instances created from this service offering will have their root disks reset upon reboot. This is useful for secure environments that need a fresh start on every boot and for diff --git a/source/adminguide/storage.rst b/source/adminguide/storage.rst index e6fd6c3ebf..8cfc02a6d1 100644 --- a/source/adminguide/storage.rst +++ b/source/adminguide/storage.rst @@ -259,6 +259,10 @@ The CloudStack will bring the device back online and attempt to start all guests that were running at the time of the entry into maintenance mode. +.. note:: + HA-Enabled Instances will also be stopped when the primary storage is put into maintenance mode. + It is recommended to migrate any business-critical Instances to alternate primary storage before initiating maintenance. + Browsing files on a primary storage ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -897,6 +901,13 @@ Before you try to resize a volume, consider the following: Therefore, resize any partitions or file systems before you shrink a data disk so that all the data is moved off from that disk. +- In Apache CloudStack 4.20 and before, resizing volume will fail if + the current storage pool does not have enough capacity for new volume size. + Since Apache CloudStack 4.21, it becomes possible if zone setting + volume.resize.allowed.beyond.allocation is set to true, and the new volume size + does not cross the resize threshold (pool.storage.allocated.resize.capacity.disablethreshold) of storage pool. + These two zone settings are configurable by ROOT admin. + To resize a volume: #. Log in to the CloudStack UI as a user or admin. @@ -913,7 +924,7 @@ To resize a volume: |resize-volume.png| - #. If you select Custom Disk, specify a custom size. + #. Specify a custom size. #. Click Shrink OK to confirm that you are reducing the size of a volume. @@ -922,6 +933,8 @@ To resize a volume: which might lead to the risk of data loss. You must sign off that you know what you are doing. + #. Check if you wish to auto migrate volume to another storage pool if required. + #. Click OK. Root Volume size defined via Service Offering diff --git a/source/adminguide/tuning/disable_omit_stack_trace.rst b/source/adminguide/tuning/disable_omit_stack_trace.rst new file mode 100644 index 0000000000..79e7b88725 --- /dev/null +++ b/source/adminguide/tuning/disable_omit_stack_trace.rst @@ -0,0 +1,55 @@ +.. Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information# + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + + +Disable Omit Stack Trace +------------------------ + +The JVM, by default stops printing some stack traces in the logs. To enable printing full stack traces at all times: + +#. Edit the following configuration file for the respective service to disable there and restart it: + + - For cloudstack-management.service in the Management Server: + + .. code:: bash + + /etc/default/cloudstack-management + + - For cloudstack-usage.service in the Usage Server: + + .. code:: bash + + /etc/default/cloudstack-usage + + - For cloudstack-agent.service in the KVM Host: + + .. code:: bash + + /etc/default/cloudstack-agent + + - For cloud.service in the SSVM: + + .. code:: bash + + /usr/local/cloud/systemvm/_run.sh + +#. Add the command-line parameter -XX:-OmitStackTraceInFastThrow to disable the omit stack trace flag in the JVM so that all + the stack traces are always printed on the logs. This flag is enabled by default in the JVM to omit the stack traces + for certain exceptions that are thrown frequently. Printing of the stack traces might impact performance, and is not + recommended for production, so it's better to disable this flag for troubleshooting or debugging purposes when required. + + .. code:: bash + + JAVA_OPTS="... -XX:-OmitStackTraceInFastThrow" diff --git a/source/adminguide/tuning.rst b/source/adminguide/tuning/tuning.rst similarity index 99% rename from source/adminguide/tuning.rst rename to source/adminguide/tuning/tuning.rst index bb214602ee..bc8cb35dcb 100644 --- a/source/adminguide/tuning.rst +++ b/source/adminguide/tuning/tuning.rst @@ -57,6 +57,9 @@ For more information about memory issues, see "FAQ: Memory" at `Tomcat Wiki. `_ +.. include:: disable_omit_stack_trace.rst + + Set Database Buffer Pool Size ----------------------------- diff --git a/source/adminguide/virtual_machines.rst b/source/adminguide/virtual_machines.rst index 49ab2b6fbc..3e67dd8279 100644 --- a/source/adminguide/virtual_machines.rst +++ b/source/adminguide/virtual_machines.rst @@ -175,6 +175,18 @@ To create an Instance from a Template: specified at the Instance or Template level. For an existing Instance its settings can be updated while it is in stopped state by admin. + **KVM** + + Instances running on the KVM hypervisor with UEFI Secure Boot have disk controllers automatically enforced as following: + + - Windows OS instances use SATA + - Non-Windows OS instances use VirtIO + + Starting with 4.20.3 and later, this behavior can be overridden by setting the following template or instance detail to true: + + ``skip.force.disk.controller = true`` + + When set to true, disk controller enforcement is skipped, and the controllers defined by template/instance details are used. If the detail is added at both template and instance level, the instance detail takes precedence. Install Required Tools and Drivers ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/source/conf.py b/source/conf.py index 5bf1867ea2..1e188cef84 100644 --- a/source/conf.py +++ b/source/conf.py @@ -20,13 +20,13 @@ # -- Project information ----------------------------------------------------- project = 'Apache CloudStack' -copyright = '2012-2025, Apache Foundation' +copyright = '2012-2026, Apache Foundation' author = 'Apache CloudStack Project' # The short X.Y version version = '4.20' # The full version, including alpha/beta/rc tags -release = '4.20.1.0' +release = '4.20.3.0' rst_epilog = """ .. include:: /_global.rst diff --git a/source/installguide/configuration.rst b/source/installguide/configuration.rst index 5d1a3e878e..b065965b2d 100644 --- a/source/installguide/configuration.rst +++ b/source/installguide/configuration.rst @@ -353,6 +353,18 @@ Basic Zone Configuration drag and drop traffic types onto the network. You can also change the network name if desired. + .. note:: + Starting with CloudStack version 4.21.0 and 4.20.2, the behavior of + VLAN and networking configuration for the storage traffic type in KVM + zones has changed. When a VLAN tag is specified for storage traffic, + a new vNet interface will be created on the storage bridge. + + This change in behavior may require administrators to review their + existing configurations. For environments where a dedicated storage + bridge is used and the creation of an additional vNet interface is not + desired, the traffic type configuration must be updated to clear the + VLAN tag. + #. Assign a network traffic label to each traffic type on the physical network. These labels must match the labels you have already defined on the hypervisor host. To assign each label, click the Edit button @@ -1635,9 +1647,9 @@ System Requirements for Secondary Storage Adding Secondary Storage ~~~~~~~~~~~~~~~~~~~~~~~~ -When you create a new zone, the first secondary storage is added as part -of that procedure. You can add secondary storage servers at any time to -add more servers to an existing zone. +When you create a new Zone, the first Secondary Storage is added as part +of that procedure. You can add Secondary Storage servers at any time to +add more servers to an existing Zone. .. warning:: Ensure that nothing is stored on the server. Adding the server to @@ -1664,29 +1676,29 @@ add more servers to an existing zone. #. Fill in the following fields: - - Name. Give the storage a descriptive name. + - **Name**: Give the storage a descriptive name. - - Provider. Choose S3, Swift, NFS, or CIFS then fill in the related + - **Provider**: Choose S3, Swift, NFS, or CIFS then fill in the related fields which appear. The fields will vary depending on the storage provider; for more information, consult the provider's documentation (such as the S3 or Swift website). NFS can be used - for zone-based storage, and the others for region-wide storage. + for Zone-based storage, and the others for region-wide storage. For Hyper-V, select SMB/CIFS. .. warning:: Heterogeneous Secondary Storage is not supported in Regions. You can use only a single NFS, S3, or Swift account per region. - - Create NFS Secondary Staging Store. This box must always be + - **Create NFS Secondary Staging Store**: This box must always be checked. .. warning:: Even if the UI allows you to uncheck this box, do not do so. This checkbox and the three fields below it must be filled in. Even when - Swift or S3 is used as the secondary storage provider, an NFS staging + Swift or S3 is used as the Secondary Storage provider, an NFS staging storage in each zone is still required. - - Zone. The zone where the NFS Secondary Staging Store is to be + - **Zone**: The Zone where the NFS Secondary Staging Store is to be located. - **SMB Username**: Applicable only if you select SMB/CIFS provider. @@ -1700,10 +1712,34 @@ add more servers to an existing zone. - **SMB Domain**: Applicable only if you select SMB/CIFS provider. The Active Directory domain that the SMB share is a part of. - - NFS server. The name of the zone's Secondary Staging Store. + - **NFS server**: The name of the Zone's Secondary Staging Store. - - Path. The path to the zone's Secondary Staging Store. + - **Path**: The path to the Zone's Secondary Staging Store. + + - **Copy Templates from other storages**: This switch can be used to automatically + copy existing Templates from Secondary Storages in other Zones instead of + fetching from their URLs, more details are as below. + + +When a new Secondary Storage is added, the Management Server attempts to make +existing Templates available on the new Secondary Storage. + +CloudStack improves Template availability using the configuration: + ++----------------------------------------------+-------------------------------------------------------------------------------------------------------------+-----------+ +| Name | Description | Default | ++==============================================+=============================================================================================================+===========+ +| copy.templates.from.other.secondary.storages | Allow Templates to be copied from existing Secondary Storages (within the same Zone or across Zones) | true | +| | when adding a new Secondary Storage, instead of downloading them from the source URL. | | ++----------------------------------------------+-------------------------------------------------------------------------------------------------------------+-----------+ + +This setting is enabled by default and can be configured globally or at Zone level. + +CloudStack applies the following order of steps while trying to make a Template available in the new Secondary Storage: +1. Attempt to copy the Template from another Secondary Storage in the same Zone. +2. If not found, attempt to copy the Template from a Secondary Storage in a different Zone. +3. If the copy operation fails, CloudStack falls back to downloading the Template using its URL as registered. Adding an NFS Secondary Staging Store for Each Zone ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/source/installguide/hypervisor/kvm.rst b/source/installguide/hypervisor/kvm.rst index e8181481b4..5097b2f92d 100644 --- a/source/installguide/hypervisor/kvm.rst +++ b/source/installguide/hypervisor/kvm.rst @@ -24,13 +24,11 @@ KVM is included with a variety of Linux-based operating systems. Although you are not required to run these distributions, the following are recommended: -- CentOS / RHEL: 7.X +- CentOS / RHEL / Binary-compatible variants: 8.X or 9.X -- CentOS / RHEL / Binary-compatible variants: 8.X +- Ubuntu: 22.04 + -- Ubuntu: 18.04 + - -- openSUSE / SLES: 15.2 + +- openSUSE / SLES: 15.6 + The main requirement for KVM hypervisors is the libvirt and Qemu version. No matter what Linux distribution you are using, make sure the @@ -312,6 +310,53 @@ sudoers file: cloudstack ALL=NOPASSWD: /usr/bin/cloudstack-setup-agent Defaults:cloudstack !requiretty +Limit Resources For the Agent Service +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +#. Edit the cloudstack-agent.service file at: + + .. code:: bash + + /usr/lib/systemd/system/cloudstack-agent.service + +#. You can set the following resource controls in the cloudstack-agent service: + + - Limit the number of file descriptors + + The default configuration is usually higher, set to a lower number explicitly when required. It is observed + that the average FDs for a host with 40 VMs was 380, we can reserve +20% based on the requirement. Example + shown below. + + .. code:: bash + + LimitNOFILE=1500 + + - Limit the memory usage + + You can limit the memory usage. For example, set to 2500MB (2500 * 1024 * 1024 bytes) as shown below. + + .. code:: bash + + MemoryMax=2500M + + - Limit the CPU quota + + You can control the CPU allocation. For example, set to allow 2 full cores worth of CPU time as shown below. + + .. code:: bash + + CPUQuota=200% + +#. Reload and restart the cloudstack-agent service after changing any of the resource controls: + + .. code:: bash + + sudo systemctl daemon-reload + sudo systemctl restart cloudstack-agent + + +.. include:: ../../adminguide/tuning/disable_omit_stack_trace.rst + Configure CPU model for KVM guest (Optional) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -878,6 +923,38 @@ although a reboot is recommended to see if everything works properly. in case you made a configuration error and the network stops functioning! +Configure Oracle Linux for Basic Networks using nmcli +''''''''''''''''''''''''''''''''''''''''''''''''''''' +All the required packages were installed when you installed libvirt, so +we only have to configure the network. + +Disable IP settings on physical NIC first + +.. parsed-literal:: + nmcli con mod eth0 ipv4.method disabled ipv6.method ignore + +Configure cloudbr0 and include the Management IP of the hypervisor. + +.. parsed-literal:: + nmcli con add type bridge ifname cloudbr0 con-name cloudbr0 + nmcli con add type ethernet ifname eth0 master cloudbr0 slave-type bridge con-name cloudbr0-eth0 + nmcli con modify cloudbr0 ipv4.addresses 192.168.42.11/24 ipv4.gateway 192.168.42.1 ipv4.method manual ipv6.method ignore + + +Configure cloudbr1 as a plain bridge without an IP address + +.. parsed-literal:: + nmcli con add type bridge ifname cloudbr1 con-name cloudbr1 ipv4.method disabled ipv6.method ignore + nmcli con add type vlan ifname eth0.20 dev eth0 id 20 master cloudbr1 con-name vlan20 + +With this configuration you should be able to restart the network, +although a reboot is recommended to see if everything works properly. + +.. warning:: + Make sure you have an alternative way like IPMI or ILO to reach the machine + in case you made a configuration error and the network stops functioning! + + Network Example for Advanced Networks ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1184,6 +1261,38 @@ although a reboot is recommended to see if everything works properly. in case you made a configuration error and the network stops functioning! +Configure Oracle Linux for Advance Networks using nmcli +''''''''''''''''''''''''''''''''''''''''''''''''''''' +All the required packages were installed when you installed libvirt, so +we only have to configure the network. + +Disable IP settings on physical NICs first + +.. parsed-literal:: + nmcli con mod eth0 ipv4.method disabled ipv6.method ignore + nmcli con mod eth1 ipv4.method disabled ipv6.method ignore + +Configure cloudbr0 and include the Management IP of the hypervisor. + +.. parsed-literal:: + nmcli con add type bridge ifname cloudbr0 con-name cloudbr0 ipv4.addresses 192.168.42.11/24 ipv4.gateway 192.168.42.1 ipv4.method manual ipv6.method ignore + nmcli con add type ethernet ifname eth0 master cloudbr0 slave-type bridge con-name cloudbr0-eth0 + +Configure cloudbr1 as a plain bridge without an IP address + +.. parsed-literal:: + nmcli con add type bridge ifname cloudbr1 con-name cloudbr1 ipv4.method disabled ipv6.method ignore + nmcli con add type ethernet ifname eth1 master cloudbr1 slave-type bridge con-name cloudbr1-eth1 + +With this configuration you should be able to restart the network, +although a reboot is recommended to see if everything works properly. + +.. warning:: + Make sure you have an alternative way like IPMI or ILO to reach the machine + in case you made a configuration error and the network stops functioning! + + + Configure the network using OpenVswitch ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1582,6 +1691,9 @@ In order to be able to perform Volume Snapshots on CentOS 6.x (greater than 6.4) replace your version of qemu-img with one which has been patched to include the '-s' switch. +CloudStack uses the rbd command to get the physical size of the snapshots for the volumes on ceph +primary storage. This requires ceph-common package to be installed on the KVM hosts. If it +is not installed, the allocated size is used as the physical size of the snapshots. Live Migration ^^^^^^^^^^^^^^ diff --git a/source/installguide/management-server/_pkg_install.rst b/source/installguide/management-server/_pkg_install.rst index ad8aed59cd..e44ddcaac3 100644 --- a/source/installguide/management-server/_pkg_install.rst +++ b/source/installguide/management-server/_pkg_install.rst @@ -53,3 +53,19 @@ Install on Ubuntu sudo apt install cloudstack-management +Install on Debian +^^^^^^^^^^^^^^^^^ + +.. note:: + The MySQL Python connector is not available in Debian's package repository sources, please add MySQL's own package repository: + + .. code:: bash + + wget https://dev.mysql.com/get/mysql-apt-config_0.8.36-1_all.deb -O /tmp/mysql-apt-config_0.8.36-1_all.deb + sudo apt install -y /tmp/mysql-apt-config_0.8.36-1_all.deb + sudo apt update + +.. parsed-literal:: + + sudo apt install cloudstack-management + diff --git a/source/installguide/overview/_overview.rst b/source/installguide/overview/_overview.rst index 376cbc1481..91d6b1f9f4 100644 --- a/source/installguide/overview/_overview.rst +++ b/source/installguide/overview/_overview.rst @@ -50,7 +50,7 @@ recommended that you read the following: #. Configure your cloud. See :ref:`Configuring_your_CloudStack_Installation` - #. Using CloudStack UI. See `*User Interface* :ref:`log-in-to-ui` + #. Using CloudStack UI. See *User Interface* :ref:`log-in-to-ui` #. Add a zone. Includes the first pod, cluster, and host. See :ref:`adding-a-zone` diff --git a/source/plugins/cloudstack-kubernetes-service.rst b/source/plugins/cloudstack-kubernetes-service.rst index d8f59ed558..f60f1cb953 100644 --- a/source/plugins/cloudstack-kubernetes-service.rst +++ b/source/plugins/cloudstack-kubernetes-service.rst @@ -61,26 +61,37 @@ Eg: To generate the latest kubernetes iso .. parsed-literal:: - 1.27.2, kubernetes version, see https://github.com/kubernetes/kubernetes/releases - 1.3.0, CNI version, see https://github.com/containernetworking/plugins/releases - 1.27.0, cri-tools version, see https://github.com/kubernetes-sigs/cri-tools/releases - 1.11, weave addon for kubernetes, see https://github.com/weaveworks/weave/tree/master/prog/weave-kube - 2.7.0, kubernetes dashboard version, see https://github.com/kubernetes/dashboard/release + 1.30.1, kubernetes version, see https://github.com/kubernetes/kubernetes/releases + 1.5.0, CNI version, see https://github.com/containernetworking/plugins/releases + 1.30.0, cri-tools version, see https://github.com/kubernetes-sigs/cri-tools/releases + 3.28.0, CNI addon for kubernetes, see https://raw.githubusercontent.com/projectcalico/calico/v3.28.0/manifests/calico.yaml + 2.7.0, kubernetes dashboard version, see https://github.com/kubernetes/dashboard/releases Usage: -.. parsed-literal:: +:: - # ./create-kubernetes-binaries-iso.sh OUTPUT_PATH KUBERNETES_VERSION CNI_VERSION CRICTL_VERSION WEAVENET_NETWORK_YAML_CONFIG DASHBOARD_YAML_CONFIG [OPTIONAL_OUTPUT_FILENAME] + # ./create-kubernetes-binaries-iso.sh OUTPUT_PATH \ + KUBERNETES_VERSION CNI_VERSION CRICTL_VERSION \ + CNI_NETWORK_YAML_CONFIG \ + DASHBOARD_YAML_CONFIG \ + [OPTIONAL_OUTPUT_FILENAME] Eg: -.. parsed-literal:: +:: - # ./create-kubernetes-binaries-iso.sh ./ 1.27.2 1.3.0 1.27.0 https://raw.githubusercontent.com/weaveworks/weave/master/prog/weave-kube/weave-daemonset-k8s-1.11.yaml https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml setup-v1.27.2 + # ./create-kubernetes-binaries-iso.sh ./ \ + 1.30.1 1.5.0 1.30.0 \ + https://raw.githubusercontent.com/projectcalico/calico/v3.28.0/manifests/calico.yaml \ + https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml \ + setup-1.30.1-calico-3.28.0 + +.. note:: + From ACS 4.16 onwards, Kubernetes versions >= 1.20.x are only supported (https://endoflife.date/kubernetes). +.. note:: + Kubernetes dashboard versions >= 7.0.0 are not supported, as they support only Helm-based installation. -**NOTE:** -From ACS 4.16 onwards, Kubernetes versions >= 1.20.x are only supported (https://endoflife.date/kubernetes). Working with Kubernetes supported version ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/source/releasenotes/about.rst b/source/releasenotes/about.rst index bc86fad7b8..6e970f9f75 100644 --- a/source/releasenotes/about.rst +++ b/source/releasenotes/about.rst @@ -17,7 +17,50 @@ What's New in |release| ======================= -Apache CloudStack |release| is a 4.20 LTS minor release with over 150 fixes +Apache CloudStack |release| is a 4.20 LTS minor release with around 150 fixes +and improvements since the 4.20.2.0 release. Some of the highlights include: + +• Support for Mysql 8.4 +• Copy templates from other secondary storage instead of downloading them +• New Prometheus metric to track host certificate expiry +• KVM DRS optimizations +• Support for custom SSH port for KVM hosts +• Support for configurable IP ranges per remote access VPN +• Support live migration to Linstor from other primary storages +• Support for deploy-as-is template as VNF template +• Some improvements related to secondary storage selectors +• CKS cluster scaling and resource limits fixes +• Several Usage server related fixes +• Some fixes related to Snapshot physical size reporting +• Several UI fixes and improvements + + +The full list of new features can be found in the project release notes at :ref:`4.20.3.0 changes ` + +What's New in 4.20.2.0 +======================= + +Apache CloudStack 4.20.2.0 is a 4.20 LTS minor release with around 150 fixes +and improvements since the 4.20.1.0 release. Some of the highlights include: + +• Improvements for Vmware to KVM Migration +• Fix: Potential remote code execution on Javascript engine defined rules +• Fix: Lack of user permission validation leading to data leak for few APIs +• Optimise VNC console performance +• Some network related fixes and improvements +• ScaleIO/PowerFlex smoke tests improvements and fixes +• Some CloudStack Kubernetes Service (CKS) related fixes and improvements +• Several UI fixes and improvements +• Systemvm templates now built on Debian 12.12.0 + + +The full list of new features can be found in the project release notes at +https://docs.cloudstack.apache.org/en/4.20.2.0/releasenotes/changes.html + +What's New in 4.20.1.0 +======================= + +Apache CloudStack 4.20.1.0 is a 4.20 LTS minor release with over 150 fixes and improvements since the 4.20.0.0 release. Some of the highlights include: • Improvements to multi-architecture support in CloudStack diff --git a/source/releasenotes/api-changes.rst b/source/releasenotes/api-changes.rst index be62c99603..c88f153d8e 100644 --- a/source/releasenotes/api-changes.rst +++ b/source/releasenotes/api-changes.rst @@ -13,6 +13,135 @@ specific language governing permissions and limitations under the License. +API Changes Introduced in 4.20.3.0 +================================== + +For the complete list of API commands and params consult the `CloudStack Apidocs`_. + +Parameters Changed API Commands +------------------------------- + +.. cssclass:: table-striped table-bordered table-hover + ++---------------------------------------------+--------------------------------------------------------------------------------+ +| Name | Description | ++=============================================+================================================================================+ +| ``createBackupSchedule`` | **Response:** | +| | | +| | *New Parameters:* | +| | | +| | - ``intervaltype`` | +| | - ``schedule`` | +| | - ``timezone`` | +| | | +| | *Removed Parameters:* | +| | | +| | - ``id`` | +| | - ``account`` | +| | - ``accountid`` | +| | - ``backupofferingid`` | +| | - ``backupofferingname`` | +| | - ``created`` | +| | - ``domain`` | +| | - ``domainid`` | +| | - ``externalid`` | +| | - ``size`` | +| | - ``status`` | +| | - ``type`` | +| | - ``virtualsize`` | +| | - ``volumes`` | +| | - ``zone`` | +| | - ``zoneid`` | +| | | ++---------------------------------------------+--------------------------------------------------------------------------------+ +| ``listManagementServersMetrics`` | **Request:** | +| | | +| | *New Parameters:* | +| | | +| | - ``version`` (optional) | +| | | ++---------------------------------------------+--------------------------------------------------------------------------------+ +| ``listHosts`` | **Request:** | +| | | +| | *New Parameters:* | +| | | +| | - ``version`` (optional) | +| | | ++---------------------------------------------+--------------------------------------------------------------------------------+ +| ``listHostsMetrics`` | **Request:** | +| | | +| | *New Parameters:* | +| | | +| | - ``version`` (optional) | +| | | ++---------------------------------------------+--------------------------------------------------------------------------------+ +| ``listManagementServers`` | **Request:** | +| | | +| | *New Parameters:* | +| | | +| | - ``version`` (optional) | +| | | ++---------------------------------------------+--------------------------------------------------------------------------------+ +| ``addSecondaryStorage`` | **Request:** | +| | | +| | *New Parameters:* | +| | | +| | - ``details`` (optional) | +| | | ++---------------------------------------------+--------------------------------------------------------------------------------+ +| ``addKubernetesSupportedVersion`` | **Response:** | +| | | +| | *New Parameters:* | +| | | +| | - ``isourl`` | +| | | ++---------------------------------------------+--------------------------------------------------------------------------------+ +| ``updateKubernetesSupportedVersion`` | **Response:** | +| | | +| | *New Parameters:* | +| | | +| | - ``isourl`` | +| | | ++---------------------------------------------+--------------------------------------------------------------------------------+ +| ``listKubernetesSupportedVersions`` | **Response:** | +| | | +| | *New Parameters:* | +| | | +| | - ``isourl`` | +| | | ++---------------------------------------------+--------------------------------------------------------------------------------+ + + +API Changes Introduced in 4.20.2.0 +================================== + +For the complete list of API commands and params consult the `CloudStack Apidocs`_. + +Parameters Changed API Commands +------------------------------- + +.. cssclass:: table-striped table-bordered table-hover + ++---------------------------------------------+--------------------------------------------------------------------------------+ +| Name | Description | ++=============================================+================================================================================+ +| ``createTemplate`` | **Request:** | +| | | +| | *New Parameters:* | +| | | +| | - ``arch`` | +| | | ++---------------------------------------------+--------------------------------------------------------------------------------+ +| ``listCapabilities`` | **Response:** | +| | | +| | *New Parameters:* | +| | | +| | - ``dynamicscalingenabled`` | +| | - ``additionalconfigenabled`` | +| | | ++---------------------------------------------+--------------------------------------------------------------------------------+ + + API Changes Introduced in 4.20.1.0 ================================== diff --git a/source/releasenotes/changes.rst b/source/releasenotes/changes.rst index 56bb2e1505..9668a42b01 100644 --- a/source/releasenotes/changes.rst +++ b/source/releasenotes/changes.rst @@ -13,7 +13,1065 @@ specific language governing permissions and limitations under the License. -Changes in |release| since 4.20.0.0 +.. _changes-4.20.3.0: +Changes in 4.20.3.0 since 4.20.2.0 +=================================== + +Apache CloudStack uses GitHub https://github.com/apache/cloudstack/milestone/43?closed=1 +to track its issues. + + +.. cssclass:: table-striped table-bordered table-hover + + ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| Version | Github | Type | Priority | Description | ++=========================+===========+===============+==========+============================================================+ +| 4.20.3.0 | `#12952`_ | | | engine/schema: fix new systemvm template is not registered | +| | | | | during upgrade if hypervisor is not KVM | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12935`_ | | | backport: default system vm template update implementation | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12767`_ | | | Fix error message while creating local storage pool | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12884`_ | | | Fix NPE on external/unmanaged instance import using custom | +| | | | | offerings | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12885`_ | | | Fix Revert Instance to Snapshot with custom service | +| | | | | offering | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12881`_ | | | upgrade: skip the upgrade paths which are not needed | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12806`_ | | | Fix K8s scaling and deletion issue if firewall rule is for | +| | | | | ALL ports | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12812`_ | | | Fix xcpng test failures | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12689`_ | | | test_accounts.py failure fix - keep the camelCase | +| | | | | parameter "domainId" | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12694`_ | | | Fix primary storage maintenance on xcpng | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12372`_ | | | Fix NPE during public IP listing when a removed network or | +| | | | | VPC ID is informed for associatenetworkid parameter | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12584`_ | | | [UI] Allow change password for native users only. | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12373`_ | | | Changes to the error message displayed during the removal | +| | | | | of public templates that are used | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12632`_ | | | prevent user.uuid from being regenerated on each operation | +| | | | | by reading it from the DB | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12675`_ | | | Fix github action workflow | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12602`_ | | | Add volumes in 'Expunging' state to storage cleanup thread | +| | | | | and during delete storage pool | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12635`_ | | | Fix NPE while stopping the RabbitMQEventBus bean when | +| | | | | there is no connection established with RabbitMQ Event Bus | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12571`_ | | | Support for custom SSH port for KVM hosts from the host | +| | | | | url on add host and the configuration | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12585`_ | | | Fix NPE during reset password | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12549`_ | | | Fix issue when restoring backup after migration of volume | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12616`_ | | | Usage: Heartbeat should not schedule usage job when a job | +| | | | | is already running | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12598`_ | | | Allow limit queries without random ordering | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12626`_ | | | engine/schema: fix cluster/zone settings with encrypted | +| | | | | values | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12515`_ | | | Fix injection of preset variables into the JS interpreter | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12589`_ | | | Fix issue with multiple KVM Host entries in host table | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12613`_ | | | Add a Prometheus metric to track host certificate expiry | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12562`_ | | | ssvm: delete temp directory while deleting entity download | +| | | | | url | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12550`_ | | | Fixes issue with loading Capacity dashboard when mulitple | +| | | | | backup providers configured | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12380`_ | | | UI: Add comprehensive domain deletion confirmation dialog | +| | | | | (Feature Request #11497) | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12575`_ | | | Mvn updates | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12555`_ | | | Preserve VM settings on Instance Snapshot revert for | +| | | | | Custom Service Offering | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12559`_ | | | Fix template details deletion while updating template from | +| | | | | UI | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12539`_ | | | Update storage usage / size in backup usage response | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12465`_ | | | Update physical size for the snapshots of the volumes on | +| | | | | ceph primary storage | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12553`_ | | | UI: Prevent extra API calls in search filter on scrolling | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#9719`_ | | | set `displayName` to `name` by default | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12552`_ | | | Update search filter size dynamically | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12452`_ | | | kvm: honour disk controller for vm during attach volume | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#9520`_ | | | UI: Show applied search filters | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12518`_ | | | Fix calculation of the next time that Usage will execute | +| | | | | in `removeRawUsageRecords` | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#11846`_ | | | server: pass network label of physical network when plug | +| | | | | nic for private gateway on hypervisor | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#10776`_ | | | Fix logs mismatch between Network GC wait and interval | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12532`_ | | | Linstor: support live migration from other primary storage | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12062`_ | | | Deployment plan fixes for VM with last host, and last host | +| | | | | in maintenance | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12533`_ | | | Fix KvmSshToAgentEnabled setting description and make it | +| | | | | dynamic | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12522`_ | | | Add batch deletion support to `removeRawUsageRecords` | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#11991`_ | | | Use infinite scroll select | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12540`_ | | | [4.20] Fix keyword parameter filtering in | +| | | | | listBackupOfferings API | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12507`_ | | | Fix Usage server takeover after clean shutdown of one of | +| | | | | the Usage servers | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12024`_ | | | fix that log sensitive infomation in cmd of script | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12481`_ | | | Update the snapshot physical size for the primary storage | +| | | | | resource after snapshot creation and during resource count | +| | | | | recalculation | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12527`_ | | | Update alert id for VR public and private interface | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12296`_ | | | Allow copy of templates from secondary storages of other | +| | | | | zone when adding a new secondary storage | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12026`_ | | | Fix that Sensitive information logged in | +| | | | | SshHelper.sshExecute method | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#10957`_ | | | Consider secondary storage selectors during cold volume | +| | | | | migration | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12018`_ | | | sensitive information leak to log | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12016`_ | | | fix Host Password Exposed in Command-Line Logging | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#11970`_ | | | Initialize template status='Processing' | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12228`_ | | | CKS: Use Zone MTUs when network is created at the time of | +| | | | | CKS cluster creation | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12272`_ | | | server: do not run dhcp and dns check if VR is not | +| | | | | provider | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#10956`_ | | | Consider secondary storage selectors during template | +| | | | | synchronization | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12463`_ | | | VM Power state optimization | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12472`_ | | | Add ability to filter by version for listHosts and | +| | | | | listMgmtServers APIs | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#10868`_ | | | Fix saml bug unable to login | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12520`_ | | | 4.20: Fix unit test failure | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12248`_ | | | kvm: do not add disk cache mode from an empty string | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12499`_ | | | api/server: support deploy-as-is template as VNF template | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12511`_ | | | UI: add missing label text for label.aclname | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#11605`_ | | | Fix the stored system VMs paths when introducing the first | +| | | | | secondary storage of a new zone | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12032`_ | | | fix Sensitive Data Exposure Through Exception Logging in | +| | | | | OVM Hypervis… | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12166`_ | | | Fix volume snapshot physical size after migration between | +| | | | | secondary storages | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#11623`_ | | | ConfigDrive: use file absolute path instead of canonical | +| | | | | path to create ISO | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12406`_ | | | Throw runtime exception when null templateVO is found | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12483`_ | | | Notify user if template upgrade is not required | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12098`_ | | | Fix: proper permissions for systemvm template | +| | | | | registrations on hardened systems | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#10456`_ | | | Allow modification of user vm details if | +| | | | | user.vm.readonly.details is empty | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12451`_ | | | NPE fix while deleting storage pool when pool has detached | +| | | | | volumes | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12430`_ | | | limit iso filename to have 251 chars at max | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12412`_ | | | UI: Improve error handling for template upload | +| | | | | notifications | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12440`_ | | | Fix for zoneids parameters length on update offerings APIs | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12431`_ | | | Fix update network offering domainids size limitation | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12428`_ | | | Remove redundant Exceptions from logs for VM schedules | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12478`_ | | | Fix potential leaks in executePipedCommands | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12436`_ | | | UI: fix issues when deploy VNF applicance on network with | +| | | | | SG | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12464`_ | | | Fix NPE on adding new columns in the tables | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12398`_ | | | Storage pool monitor disconnect improvements | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12331`_ | | | Fix: Condition for aborting migration, resume paused VMs | +| | | | | on destination | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12445`_ | | | Set nfsVersion in ssvm agent.properties only if it is not | +| | | | | null | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12418`_ | | | CKS: Add image store validation for Kubernetes version | +| | | | | registration | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#11817`_ | | | Fix primary storage removal logs with detached volumes | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#10862`_ | | | Adds url kubernetes iso | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12404`_ | | | Mask vncPasswd being logged in agent.log | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12448`_ | | | ui: fix 404 on login after forgot password | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#11705`_ | | | ui: fix form data double fetch/reset form data by | +| | | | | ownership selection | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12347`_ | | | Cleanup snapshot files in datastores for Error-ed | +| | | | | snapshots, and some code improvements | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12420`_ | | | [Usage] Include accounts uuid on the cloud_usage accounts | +| | | | | initial saving | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12421`_ | | | Fix for listCapacity with fetchlatest parameter causing | +| | | | | RuntimeException | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12349`_ | | | MAC address assignment improvements | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12355`_ | | | Fix hang in cloudstack-sysvmadm script | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#11703`_ | | | ui: option to migrate vm with volumes to same pool | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12047`_ | | | Linstor fix host picking | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12307`_ | | | [UI] Fix primary storage details display when the uuid has | +| | | | | divergent pattern | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12285`_ | | | Ceph Object Store: Use "us-east-1" as the default signing | +| | | | | region to avoid setting location constraint | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#11704`_ | | | ui: prevent calling listConfigurations when not allowed | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12389`_ | | | Updated protobuf version to 3.25.5, and protobuf & jackson | +| | | | | maven dependencies | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#11750`_ | | | kvm: allow skip forcing disk controller | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12181`_ | | | List capacity double counts allocated storage pool | +| | | | | capacity for datastore clusters | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12387`_ | | | Fix Linstor shrink QCOW2 volumes | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12232`_ | | | Prevent NPE when removing NIC from a stopped VM using | +| | | | | service offering with CPU cap set | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#11780`_ | | | Skip removal of offerings if in use during domain removal | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12335`_ | | | Fix for Clone VM issue (Unable to access file...since it | +| | | | | is locked) with VMware 80u3 | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12021`_ | | | fix HMAC Signatures and API Keys Logged in Plaintext | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12351`_ | | | UI: fix date picker for custom time range | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12129`_ | | | Refactor XML parsing to use safer document builders in | +| | | | | multiple classes | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12350`_ | | | Event typo fix | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12300`_ | | | linstor: Provide /dev/drbd/by-res/ resource paths to | +| | | | | CloudStack | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12318`_ | | | ui: fix test delivery params in create webhook form | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12334`_ | | | Add 'dataDiskController' VM setting/detail for KVM | +| | | | | hypervisor | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#11950`_ | | | api: fix response annotation for createBackupSchedule | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#7857`_ | | | Fix terms, typos and grammar mistakes in the API, error | +| | | | | messages, events, etc. | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#10898`_ | | | Update templateConfig.sh to not break with directorys with | +| | | | | space on t… | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12284`_ | | | Fix VM and volume metrics listing regressions | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#11429`_ | | | packaging: use latest cmk release link directly | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#10363`_ | | | Prioritize copying templates from other secondary storages | +| | | | | instead of downloading them | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12234`_ | | | api: create/register/upload template with empty template | +| | | | | tag | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12000`_ | | | UI: Option to choose the isolation method when creating | +| | | | | the public IP range | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12140`_ | | | check for active MSses before starting DB upgrade | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#11761`_ | | | server,ui: prevent role change for default accounts | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#11789`_ | | | refactor storepool automation | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12014`_ | | | Optimize drs plan generation | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12145`_ | | | ui: allow macaddress input for add nic to vm | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12063`_ | | | Support iprange while creating remote access vpn | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12153`_ | | | Fix agent wait before reconnect | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#11572`_ | | | refactor: add null check for BroadcastDomainType | +| | | | | retrievals | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12148`_ | | | ui: fix display for managementservermetricsresponse - | +| | | | | agentcount | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12146`_ | | | ui: fix section view filter | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12028`_ | | | fixed Password Exposure in IPMI Tool Command Execution | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12003`_ | | | server: fix volume offering not updated after offering | +| | | | | change | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#12020`_ | | | fix API Request Parameters Logged Credential Masking in | +| | | | | ApiServer | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#10715`_ | | | Veeam: use pre-defined object mapper | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#10705`_ | | | Veeam: get templateId from vm instance if vm is created | +| | | | | from ISO | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#11845`_ | | | Consider Instance in Starting state for | +| | | | | UserConcentratedPod | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#11847`_ | | | CKS: update cloud.kubernetes.cluster.network.offering to | +| | | | | dynamic | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#11897`_ | | | api/test: fix storage pool update with only id | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#11906`_ | | | UI: Enable listall (for Affinity Groups, SSH Keypairs, | +| | | | | User Data) in deploy instance wizard for admin, and lists | +| | | | | SSH Keypairs, User Data by domain/account | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#11907`_ | | | Fix VMScheduler unit test for daylight saving time | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#11887`_ | | | Fix OOB test failures in ci.yml github actions | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ +| 4.20.3.0 | `#11873`_ | | | Update CI workflow to use Ubuntu 24.04 and comply to PEP | +| | | | | 625 | ++-------------------------+-----------+---------------+----------+------------------------------------------------------------+ + +148 Issues listed + +.. _`#12952`: https://github.com/apache/cloudstack/pull/12952 +.. _`#12935`: https://github.com/apache/cloudstack/pull/12935 +.. _`#12767`: https://github.com/apache/cloudstack/pull/12767 +.. _`#12884`: https://github.com/apache/cloudstack/pull/12884 +.. _`#12885`: https://github.com/apache/cloudstack/pull/12885 +.. _`#12881`: https://github.com/apache/cloudstack/pull/12881 +.. _`#12806`: https://github.com/apache/cloudstack/pull/12806 +.. _`#12812`: https://github.com/apache/cloudstack/pull/12812 +.. _`#12689`: https://github.com/apache/cloudstack/pull/12689 +.. _`#12694`: https://github.com/apache/cloudstack/pull/12694 +.. _`#12372`: https://github.com/apache/cloudstack/pull/12372 +.. _`#12584`: https://github.com/apache/cloudstack/pull/12584 +.. _`#12373`: https://github.com/apache/cloudstack/pull/12373 +.. _`#12632`: https://github.com/apache/cloudstack/pull/12632 +.. _`#12675`: https://github.com/apache/cloudstack/pull/12675 +.. _`#12602`: https://github.com/apache/cloudstack/pull/12602 +.. _`#12635`: https://github.com/apache/cloudstack/pull/12635 +.. _`#12571`: https://github.com/apache/cloudstack/pull/12571 +.. _`#12585`: https://github.com/apache/cloudstack/pull/12585 +.. _`#12549`: https://github.com/apache/cloudstack/pull/12549 +.. _`#12616`: https://github.com/apache/cloudstack/pull/12616 +.. _`#12598`: https://github.com/apache/cloudstack/pull/12598 +.. _`#12626`: https://github.com/apache/cloudstack/pull/12626 +.. _`#12515`: https://github.com/apache/cloudstack/pull/12515 +.. _`#12589`: https://github.com/apache/cloudstack/pull/12589 +.. _`#12613`: https://github.com/apache/cloudstack/pull/12613 +.. _`#12562`: https://github.com/apache/cloudstack/pull/12562 +.. _`#12550`: https://github.com/apache/cloudstack/pull/12550 +.. _`#12380`: https://github.com/apache/cloudstack/pull/12380 +.. _`#12575`: https://github.com/apache/cloudstack/pull/12575 +.. _`#12555`: https://github.com/apache/cloudstack/pull/12555 +.. _`#12559`: https://github.com/apache/cloudstack/pull/12559 +.. _`#12539`: https://github.com/apache/cloudstack/pull/12539 +.. _`#12465`: https://github.com/apache/cloudstack/pull/12465 +.. _`#12553`: https://github.com/apache/cloudstack/pull/12553 +.. _`#9719`: https://github.com/apache/cloudstack/pull/9719 +.. _`#12552`: https://github.com/apache/cloudstack/pull/12552 +.. _`#12452`: https://github.com/apache/cloudstack/pull/12452 +.. _`#9520`: https://github.com/apache/cloudstack/pull/9520 +.. _`#12518`: https://github.com/apache/cloudstack/pull/12518 +.. _`#11846`: https://github.com/apache/cloudstack/pull/11846 +.. _`#10776`: https://github.com/apache/cloudstack/pull/10776 +.. _`#12532`: https://github.com/apache/cloudstack/pull/12532 +.. _`#12062`: https://github.com/apache/cloudstack/pull/12062 +.. _`#12533`: https://github.com/apache/cloudstack/pull/12533 +.. _`#12522`: https://github.com/apache/cloudstack/pull/12522 +.. _`#11991`: https://github.com/apache/cloudstack/pull/11991 +.. _`#12540`: https://github.com/apache/cloudstack/pull/12540 +.. _`#12507`: https://github.com/apache/cloudstack/pull/12507 +.. _`#12024`: https://github.com/apache/cloudstack/pull/12024 +.. _`#12481`: https://github.com/apache/cloudstack/pull/12481 +.. _`#12527`: https://github.com/apache/cloudstack/pull/12527 +.. _`#12296`: https://github.com/apache/cloudstack/pull/12296 +.. _`#12026`: https://github.com/apache/cloudstack/pull/12026 +.. _`#10957`: https://github.com/apache/cloudstack/pull/10957 +.. _`#12018`: https://github.com/apache/cloudstack/pull/12018 +.. _`#12016`: https://github.com/apache/cloudstack/pull/12016 +.. _`#11970`: https://github.com/apache/cloudstack/pull/11970 +.. _`#12228`: https://github.com/apache/cloudstack/pull/12228 +.. _`#12272`: https://github.com/apache/cloudstack/pull/12272 +.. _`#10956`: https://github.com/apache/cloudstack/pull/10956 +.. _`#12463`: https://github.com/apache/cloudstack/pull/12463 +.. _`#12472`: https://github.com/apache/cloudstack/pull/12472 +.. _`#10868`: https://github.com/apache/cloudstack/pull/10868 +.. _`#12520`: https://github.com/apache/cloudstack/pull/12520 +.. _`#12248`: https://github.com/apache/cloudstack/pull/12248 +.. _`#12499`: https://github.com/apache/cloudstack/pull/12499 +.. _`#12511`: https://github.com/apache/cloudstack/pull/12511 +.. _`#11605`: https://github.com/apache/cloudstack/pull/11605 +.. _`#12032`: https://github.com/apache/cloudstack/pull/12032 +.. _`#12166`: https://github.com/apache/cloudstack/pull/12166 +.. _`#11623`: https://github.com/apache/cloudstack/pull/11623 +.. _`#12406`: https://github.com/apache/cloudstack/pull/12406 +.. _`#12483`: https://github.com/apache/cloudstack/pull/12483 +.. _`#12098`: https://github.com/apache/cloudstack/pull/12098 +.. _`#10456`: https://github.com/apache/cloudstack/pull/10456 +.. _`#12451`: https://github.com/apache/cloudstack/pull/12451 +.. _`#12430`: https://github.com/apache/cloudstack/pull/12430 +.. _`#12412`: https://github.com/apache/cloudstack/pull/12412 +.. _`#12440`: https://github.com/apache/cloudstack/pull/12440 +.. _`#12431`: https://github.com/apache/cloudstack/pull/12431 +.. _`#12428`: https://github.com/apache/cloudstack/pull/12428 +.. _`#12478`: https://github.com/apache/cloudstack/pull/12478 +.. _`#12436`: https://github.com/apache/cloudstack/pull/12436 +.. _`#12464`: https://github.com/apache/cloudstack/pull/12464 +.. _`#12398`: https://github.com/apache/cloudstack/pull/12398 +.. _`#12331`: https://github.com/apache/cloudstack/pull/12331 +.. _`#12445`: https://github.com/apache/cloudstack/pull/12445 +.. _`#12418`: https://github.com/apache/cloudstack/pull/12418 +.. _`#11817`: https://github.com/apache/cloudstack/pull/11817 +.. _`#10862`: https://github.com/apache/cloudstack/pull/10862 +.. _`#12404`: https://github.com/apache/cloudstack/pull/12404 +.. _`#12448`: https://github.com/apache/cloudstack/pull/12448 +.. _`#11705`: https://github.com/apache/cloudstack/pull/11705 +.. _`#12347`: https://github.com/apache/cloudstack/pull/12347 +.. _`#12420`: https://github.com/apache/cloudstack/pull/12420 +.. _`#12421`: https://github.com/apache/cloudstack/pull/12421 +.. _`#12349`: https://github.com/apache/cloudstack/pull/12349 +.. _`#12355`: https://github.com/apache/cloudstack/pull/12355 +.. _`#11703`: https://github.com/apache/cloudstack/pull/11703 +.. _`#12047`: https://github.com/apache/cloudstack/pull/12047 +.. _`#12307`: https://github.com/apache/cloudstack/pull/12307 +.. _`#12285`: https://github.com/apache/cloudstack/pull/12285 +.. _`#11704`: https://github.com/apache/cloudstack/pull/11704 +.. _`#12389`: https://github.com/apache/cloudstack/pull/12389 +.. _`#11750`: https://github.com/apache/cloudstack/pull/11750 +.. _`#12181`: https://github.com/apache/cloudstack/pull/12181 +.. _`#12387`: https://github.com/apache/cloudstack/pull/12387 +.. _`#12232`: https://github.com/apache/cloudstack/pull/12232 +.. _`#11780`: https://github.com/apache/cloudstack/pull/11780 +.. _`#12335`: https://github.com/apache/cloudstack/pull/12335 +.. _`#12021`: https://github.com/apache/cloudstack/pull/12021 +.. _`#12351`: https://github.com/apache/cloudstack/pull/12351 +.. _`#12129`: https://github.com/apache/cloudstack/pull/12129 +.. _`#12350`: https://github.com/apache/cloudstack/pull/12350 +.. _`#12300`: https://github.com/apache/cloudstack/pull/12300 +.. _`#12318`: https://github.com/apache/cloudstack/pull/12318 +.. _`#12334`: https://github.com/apache/cloudstack/pull/12334 +.. _`#11950`: https://github.com/apache/cloudstack/pull/11950 +.. _`#7857`: https://github.com/apache/cloudstack/pull/7857 +.. _`#10898`: https://github.com/apache/cloudstack/pull/10898 +.. _`#12284`: https://github.com/apache/cloudstack/pull/12284 +.. _`#11429`: https://github.com/apache/cloudstack/pull/11429 +.. _`#10363`: https://github.com/apache/cloudstack/pull/10363 +.. _`#12234`: https://github.com/apache/cloudstack/pull/12234 +.. _`#12000`: https://github.com/apache/cloudstack/pull/12000 +.. _`#12140`: https://github.com/apache/cloudstack/pull/12140 +.. _`#11761`: https://github.com/apache/cloudstack/pull/11761 +.. _`#11789`: https://github.com/apache/cloudstack/pull/11789 +.. _`#12014`: https://github.com/apache/cloudstack/pull/12014 +.. _`#12145`: https://github.com/apache/cloudstack/pull/12145 +.. _`#12063`: https://github.com/apache/cloudstack/pull/12063 +.. _`#12153`: https://github.com/apache/cloudstack/pull/12153 +.. _`#11572`: https://github.com/apache/cloudstack/pull/11572 +.. _`#12148`: https://github.com/apache/cloudstack/pull/12148 +.. _`#12146`: https://github.com/apache/cloudstack/pull/12146 +.. _`#12028`: https://github.com/apache/cloudstack/pull/12028 +.. _`#12003`: https://github.com/apache/cloudstack/pull/12003 +.. _`#12020`: https://github.com/apache/cloudstack/pull/12020 +.. _`#10715`: https://github.com/apache/cloudstack/pull/10715 +.. _`#10705`: https://github.com/apache/cloudstack/pull/10705 +.. _`#11845`: https://github.com/apache/cloudstack/pull/11845 +.. _`#11847`: https://github.com/apache/cloudstack/pull/11847 +.. _`#11897`: https://github.com/apache/cloudstack/pull/11897 +.. _`#11906`: https://github.com/apache/cloudstack/pull/11906 +.. _`#11907`: https://github.com/apache/cloudstack/pull/11907 +.. _`#11887`: https://github.com/apache/cloudstack/pull/11887 +.. _`#11873`: https://github.com/apache/cloudstack/pull/11873 + + +Changes in 4.20.2.0 since 4.20.1.0 +=================================== + +Apache CloudStack uses GitHub https://github.com/apache/cloudstack/milestone/39?closed=1 +to track its issues. + + + +.. cssclass:: table-striped table-bordered table-hover + + ++-------------------------+--------------------+------------------------------------------------------------+ +| Version | Github | Description | ++=========================+====================+============================================================+ ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11318`_ | cloudutils: fix warning, error during kvm agent | +| | | installation | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11823`_ | systemvm: fix duplicated "en_US.UTF-8 UTF-8" in | +| | | /etc/locale.gen | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11624`_ | Routed: fix create network exception when auto-allocation | +| | | is disabled | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11822`_ | agent: increase timeout for host arch retrieval | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11811`_ | importvm: fix IP address allocation on Shared networks | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11782`_ | Delete template from storage pool instantly if no volume | +| | | is using it | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11793`_ | update jetty | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11773`_ | storage: change storage pool to Up state when cancel | +| | | storage migration | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11801`_ | Sanitize the rbd file cmd parameter logs during qemu-img | +| | | convert (through Script) | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11760`_ | UI: Fix primary storage for datastore cluster and retain | +| | | traffic labels during zone deployment | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#10533`_ | Deal with crosssite api call after login. | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11778`_ | systemvmtemplate: Bump Debian version to 12.12.0 | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11722`_ | Fix to not enable the disabled local storage(s) on host | +| | | connection | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11228`_ | server: add user.password.reset.smtp.useStartTLS and | +| | | enabledSecurityProtocols for password reset | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11787`_ | linstor: use sparse/discard qemu-img convert on thin | +| | | devices | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#10641`_ | VMware: match nic mac for ip address fetch | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11735`_ | CKS: fix CKS creation on an existing Shared or Routed | +| | | network | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11751`_ | Consider Instance in Starting state as well for allocation | +| | | algorithm | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11639`_ | CKS: generate a random UUID as password of CKS user in | +| | | project | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11719`_ | UI support for extraconfig in deploy and update instance | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11753`_ | Fix importing unmanaged instances due to incorrect | +| | | internal name | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#10962`_ | systemvm: fix failed to get script version when patch | +| | | system vm or router | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11198`_ | server: set download volume format to qcow2 for KVM | +| | | volumes | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11687`_ | KVM: fix delete vm snapshot if it does not exist with a | +| | | Stopped vm | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11696`_ | LDAP: honour nested groups for MSAD | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11686`_ | Fix vpclimit count for listAcccount API response | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11530`_ | server: set VirtualMachineTO arch from template if present | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11640`_ | honor templateId passed in importVM API | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11666`_ | Mount the disabled storage pools by default | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11659`_ | Fix VM import DB sequence issue on import failure | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#8452`_ | Cleanup allocated snapshots / vm snapshots, and update | +| | | pending ones to Error on MS start | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11506`_ | Update gson date format for serializing/deserializing Date | +| | | in MS stats | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11681`_ | VR: consider NICs for remote access VPN when apply dhcp | +| | | entry | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11670`_ | use /prod/stat to get uptime instead of the uptime command | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11632`_ | Fix for No VMs start after Renew Host Security Keys due to | +| | | wrong qemu group reading | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11602`_ | [UI] Fix group disable action for compute and disk | +| | | offering | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11590`_ | ui: fix tab name in query params | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11389`_ | Fix NPE during VM IP fetch for shared networks | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11576`_ | ui: searchview change should only remove related query | +| | | params | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11558`_ | server: check limit on correct store during snapshot | +| | | allocation | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11554`_ | ScaleIO/PowerFlex smoke tests improvements, and some fixes | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11614`_ | fix qemu-img path in cloudstack sudoers | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#10735`_ | ssvm: use mgmt network if no storage network | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11598`_ | Fix transition exception when scaling Stopped k8s clusters | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11610`_ | Fix NPE in case host UEFI detail is not set on agent | +| | | connection | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11507`_ | Import KVM VM: Autodetect vlan id from bridge name | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#10970`_ | IPv6 firewall: accept packets from related and established | +| | | connections | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#9305`_ | server: allow migration of vm with snapshots for vmware | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#10869`_ | Change log level of AgentHandler#processRequest() | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11556`_ | server: allow adding non-overlapping ipv6 ranges in same | +| | | vlan | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11528`_ | CKS: Validate network offering from network if provided | +| | | rather than global setting | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11575`_ | ui: donot remove account, domain from query on public ip | +| | | filter change | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11314`_ | server: prevent vm schedule update failure for time when | +| | | not changed | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11218`_ | server,kvm: detect boot options for vm import | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#10734`_ | 2fa: log error on totp mismatch | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11487`_ | Delete session after key expiration | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11361`_ | Make logout function more robust to prevent session issues | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11553`_ | [UI] Fix display of disk size and IOPS fields in the scale | +| | | VM form | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11557`_ | kvm: add ssvm storage nic null uri check during plug | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11543`_ | systemvm template: update URLs of debian ISOs | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11536`_ | ui: show multiple domains as links in list view | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11329`_ | server: remove extra chars when template status is error | +| | | string | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#10865`_ | ui: do not filter edge zones while registering | +| | | directdownload iso | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11230`_ | Added events for snapshots, vmsnapshots, internalLB | +| | | operations | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11542`_ | test: fix test_04_rvpc_network_garbage_collector_nics | +| | | failure | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11550`_ | [UI] Use update offering APIs to disable compute and disk | +| | | offerings | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11537`_ | api: use single quote instead of double quote in | +| | | StatsResponse | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11532`_ | kvm: fix vm deployment with direct-download iso | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#10152`_ | Add response object required by go SDK for parsing | +| | | response | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11243`_ | SG: Apply rules for both ipv4/ipv6 of VMs with associated | +| | | account/SG | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11518`_ | VPC VR: return UNKNOWN redundant state if no guest nics | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11466`_ | UI: Prevent restriction of changeOfferingForVolume API to | +| | | Admin role | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11516`_ | Fix for live migration of VM with config drive, on KVM | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11457`_ | Fix deployment of CKS clusters in Basic zone | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11463`_ | Remove non-existent network service provider from UI | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11448`_ | Fix snapshot physical size listing | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11397`_ | linstor: fix getVolumeStats if multiple Linstor primary | +| | | storages are used | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11401`_ | UI: fix addHost error in zone creation wizard | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11393`_ | ui: make vpc cidr required when not showing cidrsize | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11062`_ | api: fix scale or upgrade systemvm | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11242`_ | server: fix vm deployment without networkid in a zone with | +| | | shared networks | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11388`_ | Fix create statement for safer upgrades | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11373`_ | juniper-contrail: publish events only for the module | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11366`_ | fix storage pool capacity threshold flag | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11197`_ | Handle project delete in details view | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11315`_ | ui: pass validated storagepolicy for swift store | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11380`_ | plugin-swift: handle null cache store | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11372`_ | cloud.spec: provide option between tzdata-java and | +| | | timezone-java | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11369`_ | ui: update project menu on projects change | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11291`_ | Update System VM template Guest OS version | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#10946`_ | Find system VM templates for CKS clusters and SharedFS | +| | | honouring the preferred architecture | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11337`_ | ui: fix delete traffic type | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11352`_ | API: Set Object name when expunging VM | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11142`_ | UI: Display NSX Provider only when NSX is the selected | +| | | Isolation method | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11316`_ | Fix listCapacity sort by usage | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11342`_ | kvm: fix regression | +| | | 5a52ca78ae5e165211c618525613c3d62cfd1b28 | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11245`_ | kvm, ui: fix interface when using vlan subnet for storage | +| | | traffic type | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11306`_ | ui: fix advance setting behaviour in autoscale form | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11310`_ | server: fix IllegalMonitorStateException on cluster | +| | | managedstate change | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11328`_ | ui: fix volume size not showing | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11068`_ | [Multi-Arch] Select Template Arch when creating template | +| | | from volume | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11244`_ | Prevent infinite autoscaling | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11237`_ | Prevent multi-select dropdown menu from floating on | +| | | scrolling through the form | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11195`_ | [UI] Add dedicated account field dropdown on zone creation | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11220`_ | Mark LDAP user query timeout as incorrect login instead of | +| | | disabling user immediately | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11210`_ | Allow custom NTP servers for CPVM | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11053`_ | linstor: Use template's uuid if pool's downloadPath is | +| | | null as resour… | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11264`_ | Validate qcow2 file during import operation | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#10975`_ | [Vmware to KVM Migration] Preserve boot type and boot mode | +| | | of instances to be migrated | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#10856`_ | polish: Fix some inconsistencies in object names and | +| | | messages | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11221`_ | console: optimise buffer sizes for faster console | +| | | performance | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11102`_ | UI: Fix missing labels | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11087`_ | list only own zones for resource admin | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11086`_ | Fix for dynamic scaling toggle for instance | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11258`_ | Fix restore from NAS backup when datadisk is older than | +| | | the root disk. | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11204`_ | NAS backup provider: Support backup and restore with | +| | | Shared mount point primary storage. | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#10857`_ | Add special Icon to Shared FileSystem Instances | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11211`_ | Fix to create instances with smaller templates (< 1 GB) on | +| | | PowerFlex/ScaleIO storage | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11214`_ | Add format and physicalsize in listIsoOs api response | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#10879`_ | Handle exception for decoder while uploading ISO from | +| | | local | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11138`_ | Fix update resource count failure for domains | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11054`_ | npe guard for get host info on vmware | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#10917`_ | kvm: consider Debian same as Ubuntu | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11179`_ | List templates and ISOs by domain | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11099`_ | PowerFlex/ScaleIO - Wait after SDC service | +| | | start/restart/stop, and retry to fetch SDC id/guid | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11128`_ | systemvm: build 4.20.2 template with 'depmod -a' | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#10848`_ | Remove unfinished usage job entries of the host on start | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11171`_ | schema: fix missing columns index | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11170`_ | Improve error when a template to owned by non root-admin | +| | | is registered for all zones. | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11158`_ | .github: restrict codecov in UI build to apache/cloudstack | +| | | repo | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11168`_ | UI: Fix volumes `SearchView` | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11091`_ | [Vmware to KVM Migration] Fix issue with vCenter | +| | | Standalone hosts for VM listing | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11113`_ | directdownload: fix keytool importcert | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#10778`_ | Normalize naming of Kubernetes clusters | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11003`_ | [VMware to KVM Migration] Fix for converted instance NPE | +| | | issue when source VMware instance OVF is exported from | +| | | management server | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11116`_ | ui: fix handler for deploy button menu | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11095`_ | server: fix orphan db transaction issue | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11085`_ | Corrected quota type indexes | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11106`_ | Do not rely on Memory engine in DB setup scripts | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11004`_ | Block volume shrink on Xen | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11019`_ | [Vmware to KVM Migration] Display virt-v2v and ovftool | +| | | versions for supported hosts for migration | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11035`_ | [Vmware to KVM Migration] Improve the Force MS option text | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#11055`_ | Add check for ldap truststore password | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#10663`_ | Accept case insensitive values in boolean settings | ++-------------------------+--------------------+------------------------------------------------------------+ +| 4.20.2.0 | `#10814`_ | ui: show deploy/create button on right info pane | ++-------------------------+--------------------+------------------------------------------------------------+ + +145 Issues listed + +.. _`#11318`: https://github.com/apache/cloudstack/pull/11318 +.. _`#11823`: https://github.com/apache/cloudstack/pull/11823 +.. _`#11624`: https://github.com/apache/cloudstack/pull/11624 +.. _`#11822`: https://github.com/apache/cloudstack/pull/11822 +.. _`#11811`: https://github.com/apache/cloudstack/pull/11811 +.. _`#11782`: https://github.com/apache/cloudstack/pull/11782 +.. _`#11793`: https://github.com/apache/cloudstack/pull/11793 +.. _`#11773`: https://github.com/apache/cloudstack/pull/11773 +.. _`#11801`: https://github.com/apache/cloudstack/pull/11801 +.. _`#11760`: https://github.com/apache/cloudstack/pull/11760 +.. _`#10533`: https://github.com/apache/cloudstack/pull/10533 +.. _`#11778`: https://github.com/apache/cloudstack/pull/11778 +.. _`#11722`: https://github.com/apache/cloudstack/pull/11722 +.. _`#11228`: https://github.com/apache/cloudstack/pull/11228 +.. _`#11787`: https://github.com/apache/cloudstack/pull/11787 +.. _`#10641`: https://github.com/apache/cloudstack/pull/10641 +.. _`#11735`: https://github.com/apache/cloudstack/pull/11735 +.. _`#11751`: https://github.com/apache/cloudstack/pull/11751 +.. _`#11639`: https://github.com/apache/cloudstack/pull/11639 +.. _`#11719`: https://github.com/apache/cloudstack/pull/11719 +.. _`#11753`: https://github.com/apache/cloudstack/pull/11753 +.. _`#10962`: https://github.com/apache/cloudstack/pull/10962 +.. _`#11198`: https://github.com/apache/cloudstack/pull/11198 +.. _`#11687`: https://github.com/apache/cloudstack/pull/11687 +.. _`#11696`: https://github.com/apache/cloudstack/pull/11696 +.. _`#11686`: https://github.com/apache/cloudstack/pull/11686 +.. _`#11530`: https://github.com/apache/cloudstack/pull/11530 +.. _`#11640`: https://github.com/apache/cloudstack/pull/11640 +.. _`#11666`: https://github.com/apache/cloudstack/pull/11666 +.. _`#11659`: https://github.com/apache/cloudstack/pull/11659 +.. _`#8452`: https://github.com/apache/cloudstack/pull/8452 +.. _`#11506`: https://github.com/apache/cloudstack/pull/11506 +.. _`#11681`: https://github.com/apache/cloudstack/pull/11681 +.. _`#11670`: https://github.com/apache/cloudstack/pull/11670 +.. _`#11632`: https://github.com/apache/cloudstack/pull/11632 +.. _`#11602`: https://github.com/apache/cloudstack/pull/11602 +.. _`#11590`: https://github.com/apache/cloudstack/pull/11590 +.. _`#11389`: https://github.com/apache/cloudstack/pull/11389 +.. _`#11576`: https://github.com/apache/cloudstack/pull/11576 +.. _`#11558`: https://github.com/apache/cloudstack/pull/11558 +.. _`#11554`: https://github.com/apache/cloudstack/pull/11554 +.. _`#11614`: https://github.com/apache/cloudstack/pull/11614 +.. _`#10735`: https://github.com/apache/cloudstack/pull/10735 +.. _`#11598`: https://github.com/apache/cloudstack/pull/11598 +.. _`#11610`: https://github.com/apache/cloudstack/pull/11610 +.. _`#11507`: https://github.com/apache/cloudstack/pull/11507 +.. _`#10970`: https://github.com/apache/cloudstack/pull/10970 +.. _`#9305`: https://github.com/apache/cloudstack/pull/9305 +.. _`#10869`: https://github.com/apache/cloudstack/pull/10869 +.. _`#11556`: https://github.com/apache/cloudstack/pull/11556 +.. _`#11528`: https://github.com/apache/cloudstack/pull/11528 +.. _`#11575`: https://github.com/apache/cloudstack/pull/11575 +.. _`#11314`: https://github.com/apache/cloudstack/pull/11314 +.. _`#11218`: https://github.com/apache/cloudstack/pull/11218 +.. _`#10734`: https://github.com/apache/cloudstack/pull/10734 +.. _`#11487`: https://github.com/apache/cloudstack/pull/11487 +.. _`#11361`: https://github.com/apache/cloudstack/pull/11361 +.. _`#11553`: https://github.com/apache/cloudstack/pull/11553 +.. _`#11557`: https://github.com/apache/cloudstack/pull/11557 +.. _`#11543`: https://github.com/apache/cloudstack/pull/11543 +.. _`#11536`: https://github.com/apache/cloudstack/pull/11536 +.. _`#11329`: https://github.com/apache/cloudstack/pull/11329 +.. _`#10865`: https://github.com/apache/cloudstack/pull/10865 +.. _`#11230`: https://github.com/apache/cloudstack/pull/11230 +.. _`#11542`: https://github.com/apache/cloudstack/pull/11542 +.. _`#11550`: https://github.com/apache/cloudstack/pull/11550 +.. _`#11537`: https://github.com/apache/cloudstack/pull/11537 +.. _`#11532`: https://github.com/apache/cloudstack/pull/11532 +.. _`#10152`: https://github.com/apache/cloudstack/pull/10152 +.. _`#11243`: https://github.com/apache/cloudstack/pull/11243 +.. _`#11518`: https://github.com/apache/cloudstack/pull/11518 +.. _`#11466`: https://github.com/apache/cloudstack/pull/11466 +.. _`#11516`: https://github.com/apache/cloudstack/pull/11516 +.. _`#11457`: https://github.com/apache/cloudstack/pull/11457 +.. _`#11463`: https://github.com/apache/cloudstack/pull/11463 +.. _`#11448`: https://github.com/apache/cloudstack/pull/11448 +.. _`#11397`: https://github.com/apache/cloudstack/pull/11397 +.. _`#11401`: https://github.com/apache/cloudstack/pull/11401 +.. _`#11393`: https://github.com/apache/cloudstack/pull/11393 +.. _`#11062`: https://github.com/apache/cloudstack/pull/11062 +.. _`#11242`: https://github.com/apache/cloudstack/pull/11242 +.. _`#11388`: https://github.com/apache/cloudstack/pull/11388 +.. _`#11373`: https://github.com/apache/cloudstack/pull/11373 +.. _`#11366`: https://github.com/apache/cloudstack/pull/11366 +.. _`#11197`: https://github.com/apache/cloudstack/pull/11197 +.. _`#11315`: https://github.com/apache/cloudstack/pull/11315 +.. _`#11380`: https://github.com/apache/cloudstack/pull/11380 +.. _`#11372`: https://github.com/apache/cloudstack/pull/11372 +.. _`#11369`: https://github.com/apache/cloudstack/pull/11369 +.. _`#11291`: https://github.com/apache/cloudstack/pull/11291 +.. _`#10946`: https://github.com/apache/cloudstack/pull/10946 +.. _`#11337`: https://github.com/apache/cloudstack/pull/11337 +.. _`#11352`: https://github.com/apache/cloudstack/pull/11352 +.. _`#11142`: https://github.com/apache/cloudstack/pull/11142 +.. _`#11316`: https://github.com/apache/cloudstack/pull/11316 +.. _`#11342`: https://github.com/apache/cloudstack/pull/11342 +.. _`#11245`: https://github.com/apache/cloudstack/pull/11245 +.. _`#11306`: https://github.com/apache/cloudstack/pull/11306 +.. _`#11310`: https://github.com/apache/cloudstack/pull/11310 +.. _`#11328`: https://github.com/apache/cloudstack/pull/11328 +.. _`#11068`: https://github.com/apache/cloudstack/pull/11068 +.. _`#11244`: https://github.com/apache/cloudstack/pull/11244 +.. _`#11237`: https://github.com/apache/cloudstack/pull/11237 +.. _`#11195`: https://github.com/apache/cloudstack/pull/11195 +.. _`#11220`: https://github.com/apache/cloudstack/pull/11220 +.. _`#11210`: https://github.com/apache/cloudstack/pull/11210 +.. _`#11053`: https://github.com/apache/cloudstack/pull/11053 +.. _`#11264`: https://github.com/apache/cloudstack/pull/11264 +.. _`#10975`: https://github.com/apache/cloudstack/pull/10975 +.. _`#10856`: https://github.com/apache/cloudstack/pull/10856 +.. _`#11221`: https://github.com/apache/cloudstack/pull/11221 +.. _`#11102`: https://github.com/apache/cloudstack/pull/11102 +.. _`#11087`: https://github.com/apache/cloudstack/pull/11087 +.. _`#11086`: https://github.com/apache/cloudstack/pull/11086 +.. _`#11258`: https://github.com/apache/cloudstack/pull/11258 +.. _`#11204`: https://github.com/apache/cloudstack/pull/11204 +.. _`#10857`: https://github.com/apache/cloudstack/pull/10857 +.. _`#11211`: https://github.com/apache/cloudstack/pull/11211 +.. _`#11214`: https://github.com/apache/cloudstack/pull/11214 +.. _`#10879`: https://github.com/apache/cloudstack/pull/10879 +.. _`#11138`: https://github.com/apache/cloudstack/pull/11138 +.. _`#11054`: https://github.com/apache/cloudstack/pull/11054 +.. _`#10917`: https://github.com/apache/cloudstack/pull/10917 +.. _`#11179`: https://github.com/apache/cloudstack/pull/11179 +.. _`#11099`: https://github.com/apache/cloudstack/pull/11099 +.. _`#11128`: https://github.com/apache/cloudstack/pull/11128 +.. _`#10848`: https://github.com/apache/cloudstack/pull/10848 +.. _`#11171`: https://github.com/apache/cloudstack/pull/11171 +.. _`#11170`: https://github.com/apache/cloudstack/pull/11170 +.. _`#11158`: https://github.com/apache/cloudstack/pull/11158 +.. _`#11168`: https://github.com/apache/cloudstack/pull/11168 +.. _`#11091`: https://github.com/apache/cloudstack/pull/11091 +.. _`#11113`: https://github.com/apache/cloudstack/pull/11113 +.. _`#10778`: https://github.com/apache/cloudstack/pull/10778 +.. _`#11003`: https://github.com/apache/cloudstack/pull/11003 +.. _`#11116`: https://github.com/apache/cloudstack/pull/11116 +.. _`#11095`: https://github.com/apache/cloudstack/pull/11095 +.. _`#11085`: https://github.com/apache/cloudstack/pull/11085 +.. _`#11106`: https://github.com/apache/cloudstack/pull/11106 +.. _`#11004`: https://github.com/apache/cloudstack/pull/11004 +.. _`#11019`: https://github.com/apache/cloudstack/pull/11019 +.. _`#11035`: https://github.com/apache/cloudstack/pull/11035 +.. _`#11055`: https://github.com/apache/cloudstack/pull/11055 +.. _`#10663`: https://github.com/apache/cloudstack/pull/10663 +.. _`#10814`: https://github.com/apache/cloudstack/pull/10814 + + +Changes in 4.20.1.0 since 4.20.0.0 =================================== Apache CloudStack uses GitHub https://github.com/apache/cloudstack/milestone/36?closed=1 @@ -545,7 +1603,7 @@ to track its issues. .. _`#10418`: https://github.com/apache/cloudstack/pull/10418 -Changes in |release| since 4.19.1.0 +Changes in 4.20.0.0 since 4.19.1.0 =================================== Apache CloudStack uses GitHub https://github.com/apache/cloudstack/milestone/30?closed=1 diff --git a/source/releasenotes/compat.rst b/source/releasenotes/compat.rst index 7e601a23ea..b4e5af8314 100644 --- a/source/releasenotes/compat.rst +++ b/source/releasenotes/compat.rst @@ -28,7 +28,7 @@ CloudStack Management Server. - Alma Linux 8, 9 - RHEL versions 8, 9 - Experimental support for RHEL 10 -- openSUSE Leap 15 (not widely tested and used by the community, tested to work in past CloudStack versions) +- openSUSE Leap 15 (not widely tested and used by the community, tested to work openSUSE Leap 15.6) - SUSE Linux Enterprise Server 15 (not tested, but expected to work same as with openSUSE 15 but likely require workarounds) - Debian 12, 13 (not tested, but expected to work same as Ubuntu) @@ -38,7 +38,7 @@ Software Requirements ~~~~~~~~~~~~~~~~~~~~~ - Java JRE 17 -- MySQL 8.0 (or equivalent compatible DBMS) +- MySQL 8.4 (or equivalent compatible DBMS) Supported Hypervisor Versions ----------------------------- @@ -52,7 +52,7 @@ and VMware with vSphere. - Alma Linux 8, 9 with KVM - RHEL 8, 9 with KVM - Experimental support for RHEL 10 with KVM -- openSUSE Leap 15 with KVM (not widely tested and used by the community, tested to work in past CloudStack versions) +- openSUSE Leap 15 with KVM (not widely tested and used by the community, tested to work openSUSE Leap 15.6) - SUSE Linux Enterprise Server 15 with KVM (not tested, but expected to work same as with openSUSE 15 but likely require workarounds) - XCP-ng 8.2.0 - XCP-ng 8.3.0 diff --git a/source/upgrading/index.rst b/source/upgrading/index.rst index 11631b56b0..29b1812e40 100644 --- a/source/upgrading/index.rst +++ b/source/upgrading/index.rst @@ -34,6 +34,17 @@ The `cloudstack-management` package will now include the systemVM Templates for either prior upgrade or during fresh installation, ACS will handle the Template registration automatically, by mounting the secondary store onto the management server, copying the respective Templates to the store and then creating the `template.properties` file. +From ACS 4.20.3 and 4.22.1 onwards, a starting Management Server that detects an +upgrade is needed will abort if it also finds mshost entries for other Management Servers that are up. +If as an operator starting a Management Server you get the error +`Database upgrade is required but the management server is running in +a clustered environment.` during upgrade, check if you have stopped +all other Management Servers in your environment and retry. If it still fails, it might be +that a Management Server has stopped un-gracefully and you need to fix the DB-entry +for it. For example, make sure all Management Servers are stopped by checking the +hosts in the output of `select name from mshost where state <> ‘Down’` +and then, when all is safe, run `update mshost set state = ‘Down'` + .. note:: For information on the API changes and issues fixed in this release, please see the Release Notes section of the documentation diff --git a/source/upgrading/upgrade/_log4j_file_check.rst b/source/upgrading/upgrade/_log4j_file_check.rst new file mode 100644 index 0000000000..c8aa002165 --- /dev/null +++ b/source/upgrading/upgrade/_log4j_file_check.rst @@ -0,0 +1,26 @@ +.. Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information# + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + +.. sub-section included in upgrade notes. + +.. note:: + + During upgrades from versions prior to 4.20, the logging configuration file may not be migrated automatically to the new Log4j2 format - especially if the original log4j configuration file was manually customized or modified. + + It is strongly recommended to verify **before starting the Management Server and the Usage Server** that the configuration file (e.g. `log4j-cloud.xml`) under `/etc/cloudstack/management` and `/etc/cloudstack/usage` respectively uses the Log4j2 format. + + If the file still uses legacy Log4j (version 1) syntax or structure, **manually replace or update** the configuration using the default Log4j2 configuration supplied with the latest package. + + Failure to update may result in missing or incomplete log generation after upgrade. \ No newline at end of file diff --git a/source/upgrading/upgrade/_sysvm_restart.rst b/source/upgrading/upgrade/_sysvm_restart.rst index 30f32282fb..3df02b3f64 100644 --- a/source/upgrading/upgrade/_sysvm_restart.rst +++ b/source/upgrading/upgrade/_sysvm_restart.rst @@ -35,6 +35,12 @@ This will update the software packages, which were previously bundled in the sys agent.zip and cloud-scripts.tgz and restart the services that are present in the /var/cache/cloud/enabled_svcs file in the System VMs. +.. note:: + The System VM template has been upgrade to Debian 12.x in Apache CloudStack 4.20.0.0. + Due to it, the memory size of default system offerings has been changed to 512 MiB. + If you use custom system offerings, please check the memory size of the offerings. + If memory size is small (for example 256 MiB), the System VMs and virtual routers might have the "kernel panic" issue on boot. + .. note:: The following services will be restarted once a system VM is live patched: @@ -47,7 +53,23 @@ in the System VMs. | CPVM | cloud | +---------------------+-------------------------------+ | VRs | haproxy, apache2, dnsmasq | + | | | +---------------------+-------------------------------+ + + **NOTE**: Before live patching Virtual Routers (VRs), administrators must ensure that + the global configuration parameter ``minreq.sysvmtemplate.version`` is set + to the minimum supported VR template version. + + For example, if the deployed Virtual Router template version is ``4.20.1``, + set: + + :: + + minreq.sysvmtemplate.version = 4.20.1 + + This ensures that live patching is only performed on Virtual Routers running + template version ``4.20.1`` or later. Virtual Routers using older template + versions must be upgraded before live patching is attempted. With respect to VRs, a Network restart without cleanup is initiated to during live patching to ensure all rules are re-applied. @@ -64,12 +86,12 @@ Following matrix lists the versions of CloudStack that support live patching. +---------------------+-------------------------+--------------------------------+------------------------------------------+ | **ACS Version** | **Upgrade Version** | **Live Patching Support** | **Reason / Comment** | +---------------------+-------------------------+--------------------------------+------------------------------------------+ - | <=4.13 | 4.17+ | No | Update in the openJDK version | + | <=4.15 | 4.20+ | No | Debian 10 (buster) is EOL on 2024-06-30 | +---------------------+-------------------------+--------------------------------+------------------------------------------+ - | 4.14 | 4.17+ |Yes | May notice some issue with remove access | - | | | | VPN due to older version of Strongswan | + | >=4.16 | 4.19 | Yes | N/A | +---------------------+-------------------------+--------------------------------+------------------------------------------+ - | >=4.15 | 4.17+ |Yes | N/A | + | >=4.16 | 4.20 | Yes | May notice some issues due to Debian | + | | | | upgrade from 11(bullseye) to 12(bookworm)| +---------------------+-------------------------+--------------------------------+------------------------------------------+ In addition to the support for live patching, users still have the facility to follow the legacy workflow diff --git a/source/upgrading/upgrade/mysql.rst b/source/upgrading/upgrade/mysql.rst index ea9e88497a..a0e611f41e 100644 --- a/source/upgrading/upgrade/mysql.rst +++ b/source/upgrading/upgrade/mysql.rst @@ -13,8 +13,109 @@ specific language governing permissions and limitations under the License. +MySQL upgrade +============= + +Explicit JDBC driver declaration +-------------------------------- + +While upgrading, on some environments the following may be required to be +added in CloudStack's db.properties file: + + # Add these to your db.properties file + + db.cloud.driver=jdbc:mysql + + db.usage.driver=jdbc:mysql + +MySQL support updated to 8.4 +---------------------------- + +As of Apache CloudStack 4.20.3, support for MySQL 8.4 has been added. + +Existing deployments upgraded to version 4.20.3 can still continue using MySQL 8.0 +without any changes. + +If you are running MySQL 8.0 and would like to upgrade to MySQL 8.4, +you may follow the standard MySQL upgrade process to migrate safely to version 8.4, +and then update the authentication method for the root and CloudStack (cloud) users with +caching_sha2_password plugin using the below steps as the mysql_native_password plugin +is deprecated as of MySQL 8.0.34, and disabled by default in MySQL 8.4. For more details, +refer to MySQL documentation here: https://dev.mysql.com/doc/refman/8.4/en/caching-sha2-pluggable-authentication.html + +#. Stop MySQL server if already running + + .. code-block:: bash + + sudo systemctl stop mysqld + +#. Start MySQL server in safe mode without auth + + .. code-block:: bash + + sudo mysqld --skip-grant-tables --skip-networking & + +#. Login to MySQL without password + + .. code-block:: bash + + mysql -u root + +#. Reset passwords for root and CloudStack (cloud) users. + + .. code-block:: mysql + + ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'ROOT_PASSWORD'; + ALTER USER 'root'@'%' IDENTIFIED WITH caching_sha2_password BY 'ROOT_PASSWORD'; + ALTER USER 'cloud'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'CLOUD_PASSWORD'; + ALTER USER 'cloud'@'%' IDENTIFIED WITH caching_sha2_password BY 'CLOUD_PASSWORD'; + FLUSH PRIVILEGES; + + Note: Please ensure that the password used for the cloud database user matches the value + configured in /etc/cloudstack/management/db.properties. If the password in db.properties + is encrypted, you can retrieve it using the below command. + + .. code-block:: bash + + java -classpath /usr/share/cloudstack-common/lib/cloudstack-utils.jar \ + com.cloud.utils.crypt.EncryptionCLI -d \ + -i "$(grep -oP 'db.cloud.password=ENC\(\K[^\)]+(?=\))' /etc/cloudstack/management/db.properties)" \ + -p "$(cat /etc/cloudstack/management/key)" + +#. Remove deprecated authentication plugin 'mysql_native_password' from the MySQL configuration. Either comment or remove the below line from /etc/my.cnf + + .. parsed-literal:: + + default_authentication_plugin=mysql_native_password + +#. Restart MySQL server + + .. code-block:: bash + + killall mysqld + systemctl start mysqld + +MySQL 8.0+ sql mode change +-------------------------- + +MySQL mode (sql_mode) has changed in CloudStack db.properties to +"STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE, +ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION". + +This gets automatically applies to the MySQL session used by CloudStack management server. + +If the admin uses MySQL directly and wants to query tables it is advised to change the sql_mode in the corresponding session or globally. + +Eg. mysql> set global sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE, + "> ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"; + Query OK, 0 rows affected (0.00 sec) + + mysql> set sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE, + "> ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"; + Query OK, 0 rows affected (0.00 sec) + MySQL upgrade problems -====================== +---------------------- With certain MySQL versions (see below), issues have been seen with "cloud.nics" table's column type (which was not updated properly during CloudStack upgrades, due to MySQL limitations), diff --git a/source/upgrading/upgrade/upgrade-4.20.rst b/source/upgrading/upgrade/upgrade-4.20.rst index 8a1073fc04..c55bafd036 100644 --- a/source/upgrading/upgrade/upgrade-4.20.rst +++ b/source/upgrading/upgrade/upgrade-4.20.rst @@ -207,6 +207,8 @@ Setup the GPG public key if you wish to enable ``gpgcheck=1``: $ sudo yum upgrade cloudstack-usage +.. include:: _log4j_file_check.rst + .. _upg_hyp_414: Upgrade Hypervisors diff --git a/source/upgrading/upgrade/upgrade_notes.rst b/source/upgrading/upgrade/upgrade_notes.rst index 4493589159..c433e87290 100644 --- a/source/upgrading/upgrade/upgrade_notes.rst +++ b/source/upgrading/upgrade/upgrade_notes.rst @@ -108,34 +108,4 @@ SystemVM 32bit deprecated 32bit versions of System VM Templates are in the process of being deprecated. Upgrade instructions from this Release Notes use 64bit Templates. -Explicit JDBC driver declaration --------------------------------- - -While upgrading, on some environments the following may be required to be -added in CloudStack's db.properties file: - - # Add these to your db.properties file - - db.cloud.driver=jdbc:mysql - - db.usage.driver=jdbc:mysql - - -MySQL 8.0 sql mode change -------------------------- - -MySQL mode (sql_mode) has changed in CloudStack db.properties to -"STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE, -ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION". - -This gets automatically applies to the MySQL session used by CloudStack management server. - -If the admin uses MySQL directly and wants to query tables it is advised to change the sql_mode in the corresponding session or globally. - -Eg. mysql> set global sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE, - "> ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"; - Query OK, 0 rows affected (0.00 sec) - - mysql> set sql_mode="STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE, - "> ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION"; - Query OK, 0 rows affected (0.00 sec) \ No newline at end of file +.. include:: mysql.rst