diff --git a/source/_global.rst b/source/_global.rst index 92bdf8ed8e..4b2c84d235 100644 --- a/source/_global.rst +++ b/source/_global.rst @@ -19,7 +19,7 @@ .. _CloudStack Installation Guide: https://docs.cloudstack.apache.org/en/latest/installguide/index.html .. _CloudStack Administrator's Guide: https://docs.cloudstack.apache.org/en/latest/adminguide/index.html -.. _CloudStack Apidocs: https://cloudstack.apache.org/api.html +.. _CloudStack API Documentation: https://cloudstack.apache.org/api.html .. |documentation_home| replace:: https://docs.cloudstack.apache.org/ diff --git a/source/_static/images/deployment-planner-diagram.png b/source/_static/images/deployment-planner-diagram.png new file mode 100644 index 0000000000..a041ff0b26 Binary files /dev/null and b/source/_static/images/deployment-planner-diagram.png differ diff --git a/source/_static/images/import-vm-from-vmware-to-kvm-options.png b/source/_static/images/import-vm-from-vmware-to-kvm-options.png index dd54249dc1..17578263bb 100644 Binary files a/source/_static/images/import-vm-from-vmware-to-kvm-options.png and b/source/_static/images/import-vm-from-vmware-to-kvm-options.png differ diff --git a/source/_static/images/import-vm-from-vmware-to-kvm-tasks.png b/source/_static/images/import-vm-from-vmware-to-kvm-tasks.png new file mode 100644 index 0000000000..2e14b9e2a0 Binary files /dev/null and b/source/_static/images/import-vm-from-vmware-to-kvm-tasks.png differ diff --git a/source/_static/images/proxmox-deploy-instance.png b/source/_static/images/proxmox-deploy-instance.png index 78a067bb0e..d91eed80f1 100644 Binary files a/source/_static/images/proxmox-deploy-instance.png and b/source/_static/images/proxmox-deploy-instance.png differ 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/_static/theme_overrides.css b/source/_static/theme_overrides.css index 6e508351c9..f8e561cc16 100644 --- a/source/_static/theme_overrides.css +++ b/source/_static/theme_overrides.css @@ -15,6 +15,22 @@ padding-top: 4px; } +.github-changes-table { + table-layout: auto; +} + +.github-changes-table th:nth-child(1), +.github-changes-table td:nth-child(1) { + white-space: nowrap; + width: 1%; +} + +.github-changes-table td:nth-child(2), +.github-changes-table th:nth-child(2) { + white-space: nowrap; + word-break: normal; +} + /* div[class^="highlight"] pre { font-size:10px diff --git a/source/adminguide/accounts.rst b/source/adminguide/accounts.rst index e23d9fe6e1..f57f67064b 100644 --- a/source/adminguide/accounts.rst +++ b/source/adminguide/accounts.rst @@ -868,7 +868,7 @@ global settings are available to configure SMTP for password recovery. `You have requested to reset your password. Please click the following link to reset your password:`` - `http://{{{resetLink}}}` + `{{{resetLink}}}` `If you did not request a password reset, please ignore this email.` @@ -879,6 +879,12 @@ global settings are available to configure SMTP for password recovery. - Template of mail sent to the user to reset ACS user's password. This uses mustache template engine. Available variables are: `username`, `firstName`, `lastName`, `resetLink`, `token`. + * - ``user.password.reset.mail.domain.url`` + - `null` + - Domain URL (along with scheme - `http://` or `https://` and port as applicable) + for reset password links sent to the user via email. If this is not set, CloudStack + would determine the domain url based on the first management server from 'host' setting + and http scheme based on the https.enabled flag from server.properties file in the management server. Once the global settings are configured, follow the below steps to reset the diff --git a/source/adminguide/deployment_planners.rst b/source/adminguide/deployment_planners.rst new file mode 100644 index 0000000000..64cee50d90 --- /dev/null +++ b/source/adminguide/deployment_planners.rst @@ -0,0 +1,99 @@ +.. 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. + + +Deployment Planners +====================== + + +Deployment planners determine *how and where instances* are placed across clusters within a zone. +A planner builds and orders a *list of candidate clusters* based on a placement strategy such as available capacity, user dispersion, or pod concentration. +This ordered list is then passed to the *host allocator*, which attempts to deploy the instance following the planner’s priority order. + +Administrators can configure the global setting ``vm.deployment.planner`` to define the default deployment planner for the environment. +This can also be overridden per *Compute Offering*, allowing flexible control over how instances are distributed across the infrastructure. + +Available Planners +------------------ + +FirstFitPlanner +~~~~~~~~~~~~~~~ + +The ``FirstFitPlanner`` ranks all clusters in a zone by their *available (free) capacity*, placing clusters with the most available resources at the top of the list. +This approach prioritizes capacity-driven placement, ensuring efficient utilization of resources across the zone. + +UserDispersingPlanner +~~~~~~~~~~~~~~~~~~~~~ + +The ``UserDispersingPlanner`` aims to *spread a user’s instances across multiple clusters*, reducing the impact of any single cluster failure on that user. + +#. The planner counts the number of instances in the *Running* or *Starting* state for the user’s account in each cluster. +#. Clusters are sorted in **ascending order** based on this count, so clusters with fewer instances from the user are preferred. +#. The global setting ``vm.user.dispersion.weight`` (default: ``1``) controls how strongly dispersion affects ordering: + * ``1``: Ranking is based entirely on dispersion. + * ``< 1``: Available capacity has more influence in placement decisions. + +Lowering the dispersion weight allows a balance between *even distribution* and *efficient capacity usage*. + +UserConcentratedPodPlanner +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The ``UserConcentratedPodPlanner`` focuses on *pod-level affinity*, preferring pods where the user already has active instances. + +#. The planner identifies all pods in the zone that contain *Running* instances for the user’s account. +#. Pods are sorted in **descending order** by the number of user instances — pods with more user instances come first. +#. Clusters from these pods are then added to the top of the list in that order, so deployment is biased toward pods where the user is already active. +#. Clusters within each pod are *not* further sorted by capacity or instance count. +#. If no pods contain user instances, the cluster order remains unchanged. + +Summary of Planner Behavior +--------------------------- + +.. list-table:: + :header-rows: 1 + + * - Planner + - Placement Focus + - Ordering Criteria + - Typical Use Case + * - FirstFitPlanner + - Capacity + - Descending by available resources + - Capacity-optimized or general-purpose placement + * - UserDispersingPlanner + - Dispersion + - Ascending by user instance count (optionally weighted with capacity) + - Distribute user instances evenly across clusters + * - UserConcentratedPodPlanner + - Pod Affinity + - Descending by user instance count per pod + - Keep user instances within the same pod for locality or data proximity + +Pod-Level vs Cluster-Level Allocation +------------------------------------ + +When ``apply.allocation.algorithm.to.pods = true``: +The allocation algorithm (for example, *FirstFit*) is applied at *pod granularity* first. +The planner will evaluate or rank pods according to the allocation heuristics — for *FirstFit*, that means prioritizing pods with more available capacity according to the FirstFit capacity checks. +After pods are ordered, the planner then considers clusters *inside each pod* — typically evaluating clusters within the selected pod in order (or applying cluster-level heuristics only within that pod). +In other words, *pod-level ordering happens before cluster selection*. + +When ``apply.allocation.algorithm.to.pods = false`` (the default in many deployments): +The allocation algorithm operates at the *cluster level* across the entire zone. + +|deployment-planner-diagram.png| + +.. |deployment-planner-diagram.png| image:: /_static/images/deployment-planner-diagram.png + :alt: Deployment Planner Diagram diff --git a/source/adminguide/extensions/inbuilt_extensions.rst b/source/adminguide/extensions/inbuilt_extensions.rst index d0641e2932..c744701e9c 100644 --- a/source/adminguide/extensions/inbuilt_extensions.rst +++ b/source/adminguide/extensions/inbuilt_extensions.rst @@ -127,16 +127,27 @@ To set up the Proxmox Extension, follow these steps in CloudStack: * **iso_path**: Full path to the ISO in Proxmox (if `template_type` is `iso`) |proxmox-add-iso.png| - Note: Templates and ISOs should be stored on shared storage when using multiple Proxmox nodes. Or copy the template/iso to each host's local storage at the same location. + **Note**: Templates and ISOs should be stored on shared storage when using multiple Proxmox nodes. Or copy the template/iso to each host's local storage at the same location. #. **Deploy Instance** - Deploy an Instance using the Template created above. Optionally, provide the detail `vm_name` to specify the name of the VM in Proxmox. - Otherwise, the CloudStack Instance's internal name is used. The VM Id in Proxmox is mapped to the CloudStack Instance and stored as a detail in CloudStack DB. - The Instance will be provisioned on a randomly selected Proxmox host. The VM will be configured with the MAC address and VLAN ID as defined in CloudStack. + Deploy an Instance using the Template/ISO created above. + + The VM Id in Proxmox is mapped to the CloudStack Instance and stored as a detail in CloudStack DB. + The Instance is provisioned on a randomly selected Proxmox host. The VM is configured with the MAC address and VLAN ID as defined in CloudStack. + + The following external details can be provided optionally, while deploying the Instance: + + * **vm_name**: Name of the VM in Proxmox. Default: *CloudStack Instance's internal name*. + * **storage**: Name of the storage in Proxmox to use for the VM's disk. Default: *local-lvm*. + * **is_full_clone**: Whether to create a full clone of the template (true) or a linked clone (false). Default: *false*. + * **iso_os_type**: Specify guest operating system if deploying from ISO. This is used to enable special optimization/features for specific operating systems. Valid values are: other | wxp | w2k | w2k3 | w2k8 | wvista | win7 | win8 | win10 | win11 | l24 | l26 | solarisOS. Default: *l26* + * **disk_size_gb**: Size of the disk in GB if deploying from ISO. Default: *64*. |proxmox-deploy-instance.png| + **Note**: Make sure that **is_full_clone** is set to **true** if the **storage** specified is different from the template's storage when deploying from template. + #. **Lifecycle Operations** Operations **Start**, **Stop**, **Reboot**, and **Delete** can be performed on the Instance from CloudStack. diff --git a/source/adminguide/index.rst b/source/adminguide/index.rst index 040ad1cd67..3d629076f6 100644 --- a/source/adminguide/index.rst +++ b/source/adminguide/index.rst @@ -138,6 +138,7 @@ Managing VM and Volume Allocation .. toctree:: :maxdepth: 4 + deployment_planners host_and_storage_tags arch_types vm_volume_allocators @@ -177,7 +178,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 219f4ea7f4..356e90626c 100644 --- a/source/adminguide/networking/virtual_private_cloud_config.rst +++ b/source/adminguide/networking/virtual_private_cloud_config.rst @@ -347,14 +347,16 @@ destination" and / or "allow all ingress source" rule to the ACL. Afterwards traffic can be white- or blacklisted. .. note:: - - ACL Rules in Cloudstack are stateful - - Source / Destination CIDRs are always external Networks - - ACL rules can also been seen on the virtual router of the VPC. Ingress - rules are listed in the table iptables table "filter" while egress rules - are placed in the "mangle" table - - 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 +- ACL Rules in Cloudstack are stateful +- Source / Destination CIDRs are always external Networks +- ACL rules can also been seen on the virtual router of the VPC. Ingress + rules are listed in the table iptables table "filter" while egress rules + are placed in the "mangle" table +- 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 bd76e31ceb..4a324ffaa8 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 dc3dd7b3e5..e9f9548753 100644 --- a/source/adminguide/storage.rst +++ b/source/adminguide/storage.rst @@ -300,6 +300,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 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -941,6 +945,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. @@ -957,7 +968,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. @@ -966,6 +977,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 0e463b9661..53a023dbad 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 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1191,6 +1203,22 @@ UEFI setting - On KVM, it is recommended to set boot type to UEFI, and boot mode to SECURE. - UEFI is required for some Windows versions. +.. note:: + + **Recommendations for UEFI-based instances on KVM (volumes and NICs)** + + UEFI-based instances on KVM may encounter PCI slot exhaustion when attaching additional + volumes or network interfaces, due to high PCI device usage from the default + disk bus and NIC adapter selections. To avoid these issues: + + - **Disk bus**: For Linux-based UEFI guests, it is recommended to use **SCSI** as + the guest disk bus instead of VIRTIO. This reduces PCI device usage and improves + support for attaching additional volumes. + - **NIC adapter**: Set the NIC adapter type to **e1000** for UEFI instances to avoid + NIC attachment issues caused by PCI slot exhaustion. + + Both of these settings can be configured in the **VM Settings** for an instance. + |vm-settings-virtual-tpm-model-kvm.png| TPM model for KVM. There are two options: diff --git a/source/adminguide/virtual_machines/importing_unmanaging_vms.rst b/source/adminguide/virtual_machines/importing_unmanaging_vms.rst index bc197da889..7c3444b95f 100644 --- a/source/adminguide/virtual_machines/importing_unmanaging_vms.rst +++ b/source/adminguide/virtual_machines/importing_unmanaging_vms.rst @@ -360,6 +360,10 @@ The API has the following preconditions: - The Instance state must be 'Running’ or ‘Stopped’ - The Instance must be a VMware Instance (as of CloudStack 4.19, it's also possible to unmanage a KVM-based Instances) +.. warning:: + Starting with the 4.22.1 release, when a KVM instance is unmanaged, the infrastructure metadata (zone, pod, cluster, and host details) is preserved in the libvirt VM XML. + This information is left for the user’s discretion—allowing them to either retain it or remove it manually or through scripts. + The API execution will perform the following pre-checks, failing if they are not met: - There are no Volume Snapshots associated with any of the Instance volumes diff --git a/source/adminguide/virtual_machines/importing_vmware_vms_into_kvm.rst b/source/adminguide/virtual_machines/importing_vmware_vms_into_kvm.rst index 84848fed26..655b8e0629 100644 --- a/source/adminguide/virtual_machines/importing_vmware_vms_into_kvm.rst +++ b/source/adminguide/virtual_machines/importing_vmware_vms_into_kvm.rst @@ -117,6 +117,196 @@ If you are hitting the following error when running ovftool, install the depende dnf install libnsl +VDDK-based Optimized Conversion +------------------------------- + +CloudStack supports an optimized VMware-to-KVM migration path using virt-v2v in vpx input mode combined with +VMware's Virtual Disk Development Kit (VDDK). This method eliminates the OVF export phase entirely and streams +disk blocks directly from the source hypervisor into the conversion pipeline, resulting in significantly faster +migration times. + +The traditional OVF-based workflow operates in two sequential phases: + +1. Export the entire VM as OVF/VMDK files to temporary storage (full disk copy). +2. Convert the local VMDK files using virt-v2v (second full disk read and write). + +The VDDK-based workflow replaces both phases with a single streaming pipeline: + +- virt-v2v connects directly to vCenter via ``vpx://`` +- Disk blocks are read on demand via VDDK (using nbdkit internally as the translation layer between the + VDDK API and virt-v2v's NBD block device interface) +- Conversion and disk transfer happen concurrently +- Only allocated blocks are transferred; zero-filled and sparse extents are skipped +- No intermediate OVF or VMDK files are created + +This reduces disk I/O amplification, eliminates temporary staging storage, and shortens end-to-end migration time. + +.. note:: + + CloudStack does not distribute VDDK, operators must download it separately. + Along with the new VDDK-based conversion method the traditional OVF-based method remains supported for environments. + Operators can choose the conversion method on a per-migration basis in the UI import wizard. +Host Prerequisites for VDDK-based Conversion +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +To use VDDK-based migration, operators must prepare each KVM host that will run the conversion: install the conversion +tools, install VDDK manually, configure libguestfs, and verify host connectivity to vCenter/ESXi. + +Example: prepare one KVM conversion host + +**Step 1: Install the conversion stack** + +Install the required conversion tools on the KVM host. Choose the appropriate command for your distribution: + +RHEL / Rocky / Alma Linux: + +:: + + dnf install -y epel-release + dnf config-manager --set-enabled crb + dnf install -y virt-v2v libguestfs-tools libguestfs-xfs qemu-img nbdkit + +Ubuntu: + +:: + + apt install -y \ + virt-v2v \ + libguestfs-tools \ + libguestfs-xfs \ + qemu-utils \ + qemu-system-x86 \ + libvirt-clients \ + nbdkit + +**Step 2: Download and install VDDK** + +Download the VDDK tarball and extract it on the KVM host. The CloudStack agent will detect the VDDK library +directory from the extracted package layout or it can also be configured explicitly via the ``vddk.lib.dir`` +property in ``/etc/cloudstack/agent/agent.properties``. + +:: + + mkdir -p /opt/vmware-vddk + tar -xf VMware-vix-disklib-9*.tar.gz -C /opt/vmware-vddk + +Expected layout after extraction:: + + /opt/vmware-vddk/vmware-vix-disklib-distrib/ + lib64/ + include/ + bin64/ + +**Step 3: Add EL9 compatibility symlink (when using VDDK 9)** + +On EL9 distributions, virt-v2v may expect ``libvixDiskLib.so.8``. Create this compatibility symlink: + +:: + + cd /opt/vmware-vddk/vmware-vix-disklib-distrib/lib64 + ln -s libvixDiskLib.so.9 libvixDiskLib.so.8 + +.. note:: This compatibility symlink is commonly required on RHEL 9, Rocky Linux 9, and Alma Linux 9. + +**Step 4: Verify host setup** + +:: + + ls /opt/vmware-vddk/vmware-vix-disklib-distrib/lib64/libvixDiskLib.so.8 + virt-v2v --version + nbdkit --version + +**Step 5: Restart the CloudStack agent** + +Restart the CloudStack agent service so it detects the installed VDDK library and makes it available in the UI: + +:: + + systemctl restart cloudstack-agent + +After the agent restarts, verify that VDDK installation was detected by checking the host details in the CloudStack UI. + +**Step 6: Verify required network and firewall access** + +Allow the following ports through any firewall or network security controls between the KVM conversion host and the +VMware endpoints: + +.. cssclass:: table-striped table-bordered table-hover + +============================== ====== ============================== +Target Port Purpose +============================== ====== ============================== +vCenter 443 API / authentication +ESXi hosts 902 VDDK NFC disk transfer +ESXi hosts 443 VM metadata +============================== ====== ============================== + +Agent Properties for VDDK-based Conversion +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The following properties can be configured in ``/etc/cloudstack/agent/agent.properties`` on each KVM host to enable and tune the VDDK-based conversion. +After editing this file, restart the CloudStack agent (``systemctl restart cloudstack-agent``). +These values can also be passed in details parameters in importVm API as key-value pairs. + +.. cssclass:: table-striped table-bordered table-hover + ++------------------------+----------------------------------------------------------------------+-------------------------------------------------------+ +| Property | Description | Default / Example | ++========================+======================================================================+=======================================================+ +| ``vddk.lib.dir`` | Path to the VDDK library directory on the KVM host. | ``/opt/vmware-vddk/vmware-vix-disklib-distrib`` | +| | Passed to virt-v2v as ``-io vddk-libdir=``. | | ++------------------------+----------------------------------------------------------------------+-------------------------------------------------------+ +| ``vddk.transports`` | Ordered VDDK transport preference. | Example: ``nbd:nbdssl`` | +| | Passed as ``-io vddk-transports=`` to virt-v2v. | | ++------------------------+----------------------------------------------------------------------+-------------------------------------------------------+ +| ``vddk.thumbprint`` | Optional vCenter SHA1 thumbprint. | If unset, CloudStack computes it automatically on | +| | Passed as ``-io vddk-thumbprint=`` to virt-v2v. | the KVM host via ``openssl``. | ++------------------------+----------------------------------------------------------------------+-------------------------------------------------------+ + +Example configuration in ``/etc/cloudstack/agent/agent.properties``: + +:: + + # LIBGUESTFS backend to use for VMware to KVM conversion via VDDK (default: direct) + libguestfs.backend=direct + + # Path to the VDDK library directory for VMware to KVM conversion via VDDK, + # passed to virt-v2v as -io vddk-libdir= + vddk.lib.dir=/opt/vmware-vddk/vmware-vix-disklib-distrib + + # Ordered VDDK transport preference for VMware to KVM conversion via VDDK, passed as + # -io vddk-transports= to virt-v2v. Example: nbd:nbdssl + # vddk.transports=nbd:nbdssl + + # Optional vCenter SHA1 thumbprint for VMware to KVM conversion via VDDK, passed as + # -io vddk-thumbprint=. If unset, CloudStack computes it on the KVM host via openssl. + # vddk.thumbprint= + + +Recommendations for Using VDDK-based Conversion +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +**VM state before conversion** + +- **Windows VMs**: Must be powered off and gracefully shut down before conversion to ensure the filesystem is in a + clean state. + +**Use a single primary storage pool for direct conversion** + +When VDDK-based conversion is enabled, it is strongly recommended to configure the conversion to write directly +to the destination primary storage pool (i.e., set *Convert to storage pool directly* to ``true`` in the import wizard). +This eliminates the two-step process of the traditional OVF method, conversion to temporary storage followed by +an import step, replacing it with a single streaming pipeline that writes converted QCOW2 disks directly to the +destination primary storage. + +**Network placement for optimal disk transfer throughput** + +For best performance, place the KVM conversion host on the same high-bandwidth network as the source ESXi hosts. +VDDK disk transfer uses VMware's NFC protocol on TCP port 902. ESXi routes NFC traffic to the conversion host based +on standard IP routing, if the conversion host is reachable over a dedicated storage or migration network, +ESXi will naturally select that VMkernel interface for disk transfer, keeping bulk data off the management network +without requiring any special configuration in virt-v2v or CloudStack. + Usage ----- @@ -154,10 +344,29 @@ Converting and importing a VMware VM .. note:: You can configure the parallel import of VM disk files on KVM host and management server, using the global settings: threads.on.kvm.host.to.import.vmware.vm.files and threads.on.ms.to.import.vmware.vm.files respectively. -In the UI import wizard, you can optionally select a KVM host and temporary destination storage (default is Secondary Storage, but if using Primary Storage - only NFS pools are supported) for the conversion, where VM files (OVF) will be copied to. This can be done by a random (or explicitly chosen) KVM host (if the ovftools are installed), otherwise, the management server will export/copy the VM files (optionally, you can force this action to be done by the management server even the KVM hosts have the ovftools installed in it). Irrelevant if the KVM host or the management server performs the copy of the VM files (OVF), you can further either let CloudStack choose which KVM host should do the conversion of the VM files using virt-v2v and which host will import the files to the destination Primary Storage Pool, or you can explicitly choose these KVM hosts for each of the 2 mentioned operations. - |import-vm-from-vmware-to-kvm-options.png| +In the UI import wizard, administrators can select: + + - (Optional) A KVM host to perform the conversion (must have virt-v2v installed). In case it is not set, then a KVM host is randomly selected. + - (Optional) A KVM host to import the converted files into CloudStack (this host must have access to the temporary conversion storage in order to move the converted files to the destination storage). In case it is not set, then a KVM host is randomly selected. + - (Optional) Extra parameters: in case the global setting **convert.vmware.instance.to.kvm.extra.params.allowed** (disabled by default) is enabled, then administrators are allowed to pass extra parameters for the virt-v2v conversion command. This setting must be set along with the setting **convert.vmware.instance.to.kvm.extra.params.allowed.list** (empty by default) which indicates the list of parameters that CloudStack will accept for passing to the virt-v2v conversion command on the KVM hosts. + +Since version 4.22 it is possible to indicate converting to storage pool directly (not using temporary storage for conversion). This is set to false by default, in which case a temporary conversion storage is used. + + - When set to false (temporary storage used), then administrators must select a Temporary destination storage. The default is Secondary Storage, but if using Primary Storage - only NFS pools are supported. + - When set to true (not using temporary storage), then administrators must select the destination storage pool. The supported storage pools are: NFS, Local Storage and SharedMountPoint storage pools, under the following assumptions: + - The KVM host for conversion must be selected and must have access to the destination storage + - The KVM host for importing must be selected and must have access to the destination storage + - In case of Local storage, the selected KVM host for conversion must be the same as the KVM host for importing + +Since version 4.22.1 it is possible to select the Guest OS for the VM to be imported, based on the source VMware VM Guest OS. + + - When CloudStack has Guest OS mappings for the source VMware Guest OS VM, then the list of supported Guest OS is displayed and administratos can select one of them. + - In case there are no Guest OS mappings for the source VMware Guest OS VM, then the default import template Guest OS will be used. + +The conversion is performed on a random (or explicitly chosen) KVM host (if the ovftools are installed), otherwise, the management server will export/copy the VM files (optionally, you can force this action to be done by the management server even the KVM hosts have the ovftools installed in it). Irrelevant if the KVM host or the management server performs the copy of the VM files (OVF), you can further either let CloudStack choose which KVM host should do the conversion of the VM files using virt-v2v and which host will import the files to the destination Primary Storage Pool, or you can explicitly choose these KVM hosts for each of the 2 mentioned operations. + When importing an instance from VMware to KVM, CloudStack performs the following actions: - Export the VM files (OVF) of the instance to a temporary storage location @@ -195,6 +404,15 @@ When importing an instance from VMware to KVM, CloudStack performs the following .. note:: The resulting imported VM uses the default Guest OS type: **CentOS 4.5 (32-bit)**. After importing the VM, please Edit the Instance to change the Guest OS Type accordingly. +VM Import Tasks +--------------- + +Since version 4.22 administrators can monitor the VMware to KVM migration jobs. The new section is displayed on *Tools > Import-Export Instances > Migrate existing instances to KVM > VM Import Tasks*: + +|import-vm-from-vmware-to-kvm-tasks.png| + +The tasks can be filtered by state: Completed, Running or Failed, or listing all the tasks. + .. |import-vm-from-vmware-to-kvm.png| image:: /_static/images/import-vm-from-vmware-to-kvm.png :alt: Import VMware Virtual Machines into KVM. :width: 800 px @@ -202,3 +420,7 @@ When importing an instance from VMware to KVM, CloudStack performs the following .. |import-vm-from-vmware-to-kvm-options.png| image:: /_static/images/import-vm-from-vmware-to-kvm-options.png :alt: Import VMware Virtual Machines into KVM Options. :width: 800 px + +.. |import-vm-from-vmware-to-kvm-tasks.png| image:: /_static/images/import-vm-from-vmware-to-kvm-tasks.png + :alt: Listing Importing Tasks to Migrate VMware Virtual Machines into KVM. + :width: 800 px diff --git a/source/adminguide/vm_volume_allocators.rst b/source/adminguide/vm_volume_allocators.rst index c15ebd8796..dded93ec03 100644 --- a/source/adminguide/vm_volume_allocators.rst +++ b/source/adminguide/vm_volume_allocators.rst @@ -37,14 +37,14 @@ VM allocator supports following algorithms to select a host in the cluster: .. cssclass:: table-striped table-bordered table-hover ============================= ======================== -Algorithm Description +Algorithm Description ============================= ======================== -random Selects a host in the cluster randomly. -firstfit Selects the first available host in the cluster. +random Selects a host in the cluster randomly. +firstfit Selects the first available host in the cluster. userdispersing Selects the host running least instances for the account, aims to spread out the instances belonging to a single user account. -userconcentratedpod_random Selects the host randomly aiming to keep all instances belonging to single user account in same pod. -userconcentratedpod_firstfit Selects the first suitable host from a pod running most instances for the user. -firstfitleastconsumed Selects the first host after sorting eligible hosts by least allocated resources (such as CPU or RAM). +userconcentratedpod_random Behaves same as random algorithm. +userconcentratedpod_firstfit Behaves same as firstfit algorithm. +firstfitleastconsumed Selects the first host after sorting eligible hosts by least allocated resources (such as CPU or RAM). ============================= ======================== Use global configuration parameter: @@ -62,14 +62,14 @@ Volume allocator supports following algorithms to select a host in the cluster: .. cssclass:: table-striped table-bordered table-hover ============================= ======================== -Algorithm Description +Algorithm Description ============================= ======================== -random Selects a storage pool in the cluster randomly. -firstfit Selects the first available storage pool in the cluster. -userdispersing Selects the storage pool running least instances for the account, aims to spread out the instances belonging to a single user account. -userconcentratedpod_random Selects the storage pool randomly aiming to keep all instances belonging to single user account in same pod. -userconcentratedpod_firstfit Selects the first suitable pool from a pod running most instances for the user. -firstfitleastconsumed Selects the first storage pool after sorting eligible pools by least allocated resources. +random Selects a storage pool in the cluster randomly. +firstfit Selects the first available storage pool in the cluster. +userdispersing Selects the storage pool running least instances for the account, aims to spread out the instances belonging to a single user account. +userconcentratedpod_random Behaves same as random algorithm. +userconcentratedpod_firstfit Behaves same as firstfit algorithm. +firstfitleastconsumed Selects the first storage pool after sorting eligible pools by least allocated resources. ============================= ======================== .. note:: @@ -98,11 +98,11 @@ Key: `host.capacityType.to.order.clusters` .. cssclass:: table-striped table-bordered table-hover ========= ======================== -Value Behavior +Value Behavior ========= ======================== -CPU Prioritizes resources with the most available CPU. -RAM Prioritizes resources with the most available memory. -COMBINED Uses a weighted formula to balance CPU and RAM in prioritization. +CPU Prioritizes resources with the most available CPU. +RAM Prioritizes resources with the most available memory. +COMBINED Uses a weighted formula to balance CPU and RAM in prioritization. ========= ======================== **Additional Configuration for COMBINED** @@ -132,8 +132,9 @@ Example Configuration Above config prioritizes CPU at 70% weight and RAM at 30% when ranking pods, clusters, and hosts. .. note:: - - `host.capacityType.to.order.clusters` is only respected for host ordering when: + - `host.capacityType.to.order.clusters` is only respected for cluster/host ordering when: .. code:: bash + vm.deployment.planner: FirstFitPlanner, UserDispersingPlanner (when vm.user.dispersion.weight is < 1) vm.allocation.algorithm: firstfitleastconsumed - When using COMBINED, make sure to tune cpu.to.memory.capacity.weight to reflect your environment’s resource constraints and workload profiles. diff --git a/source/conceptsandterminology/choosing_deployment_architecture.rst b/source/conceptsandterminology/choosing_deployment_architecture.rst index 55f673a05f..0f847dc897 100644 --- a/source/conceptsandterminology/choosing_deployment_architecture.rst +++ b/source/conceptsandterminology/choosing_deployment_architecture.rst @@ -299,7 +299,8 @@ Setup Best Practices - Use multiple clusters per pod if you need to achieve a certain switch density. -- Primary storage mountpoints or LUNs should not exceed 6 TB in size. +- Primary storage mountpoints or LUNs should be limited to a manageable + capacity as CloudStack does not impose any limit on them. It is better to have multiple smaller primary storage elements per cluster than one large one. diff --git a/source/conf.py b/source/conf.py index fe4543b671..3ca26405c3 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.22' # The full version, including alpha/beta/rc tags -release = '4.22.0.0' +release = '4.22.1.0' rst_epilog = """ .. include:: /_global.rst diff --git a/source/installguide/configuration.rst b/source/installguide/configuration.rst index bdfbb77a02..e8be3ccbcc 100644 --- a/source/installguide/configuration.rst +++ b/source/installguide/configuration.rst @@ -355,6 +355,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 @@ -1621,9 +1633,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 @@ -1650,29 +1662,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. @@ -1686,10 +1698,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 d5dc3baa57..f705004085 100644 --- a/source/installguide/hypervisor/kvm.rst +++ b/source/installguide/hypervisor/kvm.rst @@ -24,7 +24,7 @@ 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 / Binary-compatible variants: 8.X, 9.X, 10.X +- CentOS / RHEL: 7.X - Ubuntu: 22.04 + @@ -346,6 +346,53 @@ the user you want to register the KVM host with: sudo /usr/in/cloudstack-setup-agent --help +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 guests (Optional) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -924,6 +971,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 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -1230,6 +1309,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 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1628,6 +1739,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 716dda5b58..a3218edd50 100644 --- a/source/installguide/management-server/_pkg_install.rst +++ b/source/installguide/management-server/_pkg_install.rst @@ -53,3 +53,19 @@ Install on Ubuntu/Debian 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/releasenotes/about.rst b/source/releasenotes/about.rst index 89c68b9ea9..2b7f67dfe1 100644 --- a/source/releasenotes/about.rst +++ b/source/releasenotes/about.rst @@ -17,26 +17,52 @@ What's New in |release| ======================= -Apache CloudStack |release| is a 4.22 LTS release with 10 new features, +Apache CloudStack |release| is a 4.22 LTS minor release with around 290 fixes +and improvements since the 4.22.0.0 release. Some of the highlights include: + +• VMware-to-KVM migration fixes and improvements, including VDDK support and guest OS handling +• GPU domain parsing fixes and PCI display controller support +• Support configurable settings in the Proxmox Extension +• Host VM power reporting improvements in Extensions +• Support UEFI on KVM hosts by default with preconfigured default settings. +• B&R enhancements, including NAS backup support with Linstor, timeout configuration support and other backup fixes +• KVM Host HA improvements and heartbeat enhancements for SharedMountPoint storage +• Support for creating volumes directly on a specified storage pool +• Support KVM import and unmanage operations for SharedMountPoint pools +• Support to list and query async jobs by resource +• Better VM lifecycle handling, including reserved resource cleanup and improved expunge error reporting +• Networking fixes and improvements for NSX, Routed VPCs, Load Balancer rules, Static Routes, and VPN DH groups +• Incremental volume snapshot fixes and snapshot rollback reliability improvements for KVM +• Storage plugins - Ceph, Linstor, PowerFlex related fixes and improvements +• Some CKS related fixes and improvements +• Several UI fixes and improvements + +The full list of new features can be found in the project release notes at +https://docs.cloudstack.apache.org/en/4.22.1.0/releasenotes/changes.html + +What's in since 4.22.0.0 +======================== + +Apache CloudStack 4.22.0.0 is the initial 4.22 LTS release with 10 new features, around 15 improvements and more than 140 bug fixes since the 4.21.0.0 release. Some of the highlights include: -Enhanced Backup and Disaster Recovery -SSL Offloading for Load Balancers -Baremetal/MaaS Extension -CSI Driver for CKS -Console Access for Proxmox in Extensions Framework -VMware-to-KVM Migration Enhancements -Snapshot/Backup Schedule Listing -Per-Zone Console Proxy Configuration -Direct Volume Migration within Cluster -Persistent KVM Domains -Support for userdata on System VMs -EL10 & OpenSUSE 15.6 Platform Support -Stronger Checksum Algorithm (SHA-512) -Enable KVM volume and VM snapshot by default -Support xz format for template registration -Support for shared Filesystem on Config Drive Networks +• Enhanced Backup and Disaster Recovery +• SSL Offloading for Load Balancers +• Baremetal/MaaS Extension +• CSI Driver for CKS +• Console Access for Proxmox in Extensions Framework +• VMware-to-KVM Migration Enhancements +• Snapshot/Backup Schedule Listing +• Per-Zone Console Proxy Configuration +• Direct Volume Migrations by-passing Secondary Storage +• Persistent domain for unmanaged KVM instances from CS +• Support for User Data on System VMs +• EL10 & OpenSUSE 15.6 Platform Support +• Stronger Checksum Algorithm (SHA-512) +• Enable KVM Volume and VM snapshot by default +• Support XZ compression format for template registration with KVM +• Support for Shared Filesystem on Networks with Config Drive Known Issues ------------ diff --git a/source/releasenotes/api-changes.rst b/source/releasenotes/api-changes.rst index e32a7d099f..a052b93e48 100644 --- a/source/releasenotes/api-changes.rst +++ b/source/releasenotes/api-changes.rst @@ -16,7 +16,7 @@ API Changes Introduced in 4.22.0.0 ================================== -For the complete list of API commands and params consult the `CloudStack Apidocs`_. +For the complete list of API commands and params consult the `CloudStack API Documentation`_. Parameters Changed API Commands ------------------------------- diff --git a/source/releasenotes/changes.rst b/source/releasenotes/changes.rst index 53c4232206..dbd2c1a1b8 100644 --- a/source/releasenotes/changes.rst +++ b/source/releasenotes/changes.rst @@ -13,14 +13,1029 @@ specific language governing permissions and limitations under the License. -Changes in |release| since 4.21.0.0 +Changes in |release| since 4.22.0.0 +=================================== + +Apache CloudStack uses GitHub https://github.com/apache/cloudstack/milestone/44?closed=1 +to track its issues. + + +.. cssclass:: table-striped table-bordered table-hover github-changes-table + + ++-------------------------+---------------+------------------------------------------------------------+ +| Version | Github | Description | ++=========================+===============+============================================================+ +| 4.22.1.0 | `#13133`_ | Update suse15 packaging spec, use qemu-ovmf-x86_64 package | +| | | instead of edk2-ovmf for agent | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11182`_ | Change disk-only VM snapshot removal message | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#13088`_ | KVM Host HA code improvements | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#13111`_ | Don't call delete volume on store if volume doesn't exist | +| | | on it | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#13091`_ | linstor: Fix a file handle resource leak opening | +| | | template.properties | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#13082`_ | Fix id in listguestosmapping search | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#13048`_ | Release reserved storage resources on VM deployment | +| | | failure | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#13066`_ | Correction of the user responsible for the | +| | | `RESOURCE.UPDATE.LIMIT` event | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#13027`_ | Fix bulk power state query missing VM lifecycle state | +| | | field | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12764`_ | make dh group 31 default, support 22-24+31 | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#13046`_ | merge conflict fixes | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12885`_ | Fix Revert Instance to Snapshot with custom service | +| | | offering | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12884`_ | Fix NPE on external/unmanaged instance import using custom | +| | | offerings | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12883`_ | [KVM] Reorder migration logs to prevent populating agent | +| | | logs on migrations | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12833`_ | fix: NsxResource.executeRequest DeleteNsxNatRuleCommand | +| | | comparison bug | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12859`_ | Static Routes with nexthop non-functional for private | +| | | gateways | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12586`_ | HAProxy Configuration: | +| | | network.loadbalancer.haproxy.idle.timeout | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12834`_ | Fix NSX SDK list handling to fetch all paginated results | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12835`_ | fix: LB Creation avoid 404 API errors due to non-needed | +| | | patches | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12986`_ | Routed VR: accept packets from related and established | +| | | connections | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12637`_ | server: prevent adding vm compute details when not | +| | | applicable | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12968`_ | Fix: API Thread held forever during force deleting across | +| | | MS | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12882`_ | Fix user password reset mail template value | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12970`_ | Added vddk support in vmware to kvm migrations | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12949`_ | Fix rollback disk snapshots on instance snapshot failure | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#13011`_ | list async jobs for a resource type | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12807`_ | Remove unused config consoleproxy.cmd.port | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#10419`_ | Add logs for storage pools reordering | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12622`_ | VPC restart cleanup for Public networks with multi-CIDR | +| | | data | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12983`_ | Support list/query async jobs by resource | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12666`_ | Fix KVM incremental volume snapshot creation | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12901`_ | Prevent deletion of account and domain if either of them | +| | | has deleted protected instance | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12966`_ | Create volume on a specified storage pool | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12928`_ | kvm: fix wrong CheckVirtualMachineAnswer when vm does not | +| | | exist | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12955`_ | Set snapCPG in online copy request to fix snapshot | +| | | failures on cloned volumes | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12401`_ | Clean up backup references to their schedules when the | +| | | schedules are deleted | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12799`_ | Fix six package incompatiblity with EL10 | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12773`_ | KVM: Enable HA heartbeat on ShareMountPoint | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12597`_ | Fix snapshot chaining on Xen | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12945`_ | Skip the snapshots with Group type in snapshots resource | +| | | count | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12964`_ | Support timeout configuration for Create and Restore NAS | +| | | backup | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12777`_ | Fix Backup related upgrade failure from 4.20.1/4.20.2 to | +| | | 4.21.0/4.22.0 | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12981`_ | Fix domain parsing for GPU & add Display controller in the | +| | | supported PCI class | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12956`_ | Fix KVM import/unmanage support for SharedMountPoint pools | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12946`_ | fix: support SharedMountPoint volume checks for importVm | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12919`_ | Fix listing service offerings with different host tags | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12801`_ | Load arch data for backup from template during create | +| | | instance from backup | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12792`_ | Block backup deletion while create-VM-from-backup or | +| | | restore jobs are in progress | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12796`_ | Support Linstor Primary Storage for NAS BnR | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12965`_ | Revert "Use lateral join (introduced in MySQL 8.0.14) with | +| | | subquery on user_statistics table in account_view for | +| | | netstats" | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12952`_ | engine/schema: fix new systemvm template is not registered | +| | | during upgrade if hypervisor is not KVM | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12768`_ | server: set template type to ROUTING or USER if template | +| | | type is not specified when upload a template | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12781`_ | Fix NPE during VM setup for pvlan | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12751`_ | Fix Host setup when persistent networks exist | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12935`_ | backport: default system vm template update implementation | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12903`_ | [UI] Fix create backup notification | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12791`_ | add user-agent header to template downloader request | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12893`_ | PowerFlex/ScaleIO storage - the MDMs validation | +| | | improvements | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12894`_ | VM start error handling improvements and config to expose | +| | | error to users | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12805`_ | Fix NPE in NASBackupProvider when no running KVM host is | +| | | available | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12880`_ | Fix PowerFlex 4.x issues with take & revert instance | +| | | snapshots | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12767`_ | Fix error message while creating local storage pool | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12884`_ | Fix NPE on external/unmanaged instance import using custom | +| | | offerings | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12885`_ | Fix Revert Instance to Snapshot with custom service | +| | | offering | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12800`_ | [4.22] Prevent unmanaging or reinstalling a VM if it is | +| | | part of a CKS cluster | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12879`_ | Check for null host before proceeding with VM volume | +| | | operations in managed storage while restoring VM | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12881`_ | upgrade: skip the upgrade paths which are not needed | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12858`_ | Set management server id from cookies after saml login | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12780`_ | Fix duplicate dummy templates, and update guest os for | +| | | dummy template | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12802`_ | [VMware to KVM] Add guest OS for importing VM based on the | +| | | source VM OS | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12749`_ | Mark VMs in error state when expunge fails during destroy | +| | | operation | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12806`_ | Fix K8s scaling and deletion issue if firewall rule is for | +| | | ALL ports | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12812`_ | Fix xcpng test failures | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12809`_ | New config key "allow.import.volume.with.backing.file" to | +| | | skip volume backing | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12785`_ | [4.22] Prevent Load Balancer rule creation when adding a | +| | | VM from a different network | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12766`_ | [Fix] VMware to KVM migration instances listing failure | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12789`_ | Fixing CI failures | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11992`_ | Clear System VM IP from NICs for PublicNetworkGuru | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12786`_ | api: remove required flag of gatewayid in | +| | | CreateStaticRouteCmd | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12623`_ | backport: PR 11914 fixing MS maintenance test | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12775`_ | UI: Show security group selection in Basic zone VM | +| | | deployment | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12681`_ | ui-template-bulk-delete-404-fix-4.22 | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12677`_ | ui: fix create network from global create menu | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12151`_ | server: fix templatetype during iso upload | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12631`_ | Use lateral join with subquery on user_statistics table | +| | | in account_view for network stats | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11899`_ | set width of dropdown select items for Network Offering | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12713`_ | Fix query execution in countVgpuVMs | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12689`_ | test_accounts.py failure fix - keep the camelCase | +| | | parameter "domainId" | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12391`_ | PowerFlex/ScaleIO client initialization, authentication | +| | | and command execution improvements | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11947`_ | [VMware to KVM Migration] Fix unused convert env vars | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12694`_ | Fix primary storage maintenance on xcpng | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12372`_ | Fix NPE during public IP listing when a removed network or | +| | | VPC ID is informed for associatenetworkid parameter | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12584`_ | [UI] Allow change password for native users only. | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12373`_ | Changes to the error message displayed during the removal | +| | | of public templates that are used | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12632`_ | prevent user.uuid from being regenerated on each operation | +| | | by reading it from the DB | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12675`_ | Fix github action workflow | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#60`_ | replace cache workaround parameter, cache-workaround only | +| | | for IE | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12602`_ | Add volumes in 'Expunging' state to storage cleanup thread | +| | | and during delete storage pool | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12635`_ | Fix NPE while stopping the RabbitMQEventBus bean when | +| | | there is no connection established with RabbitMQ Event Bus | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12571`_ | Support for custom SSH port for KVM hosts from the host | +| | | url on add host and the configuration | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12585`_ | Fix NPE during reset password | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12549`_ | Fix issue when restoring backup after migration of volume | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12616`_ | Usage: Heartbeat should not schedule usage job when a job | +| | | is already running | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12598`_ | Allow limit queries without random ordering | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12626`_ | engine/schema: fix cluster/zone settings with encrypted | +| | | values | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12515`_ | Fix injection of preset variables into the JS interpreter | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12589`_ | Fix issue with multiple KVM Host entries in host table | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12613`_ | Add a Prometheus metric to track host certificate expiry | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12562`_ | ssvm: delete temp directory while deleting entity download | +| | | url | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12550`_ | Fixes issue with loading Capacity dashboard when mulitple | +| | | backup providers configured | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12380`_ | UI: Add comprehensive domain deletion confirmation dialog | +| | | (Feature Request #11497) | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12575`_ | Mvn updates | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12555`_ | Preserve VM settings on Instance Snapshot revert for | +| | | Custom Service Offering | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12559`_ | Fix template details deletion while updating template from | +| | | UI | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12484`_ | noVNC: support Spanish Latin American keyboard on VMware | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12539`_ | Update storage usage / size in backup usage response | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12422`_ | Restart xl2tpd service when the VPN configuration is | +| | | modified | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#9389`_ | Set CORS headers for both http/https in SSVM apache config | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12465`_ | Update physical size for the snapshots of the volumes on | +| | | ceph primary storage | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12553`_ | UI: Prevent extra API calls in search filter on scrolling | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11619`_ | extension: improve host vm power reporting | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#9719`_ | set `displayName` to `name` by default | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12165`_ | engine/schema: prepend algorithm to checksum during | +| | | systemvm template registration | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12552`_ | Update search filter size dynamically | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12551`_ | pre-commit: fix inconsistent license | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12452`_ | kvm: honour disk controller for vm during attach volume | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#9520`_ | UI: Show applied search filters | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12518`_ | Fix calculation of the next time that Usage will execute | +| | | in `removeRawUsageRecords` | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11846`_ | server: pass network label of physical network when plug | +| | | nic for private gateway on hypervisor | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12188`_ | server: fix listing resource limits | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#10776`_ | Fix logs mismatch between Network GC wait and interval | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12532`_ | Linstor: support live migration from other primary storage | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12062`_ | Deployment plan fixes for VM with last host, and last host | +| | | in maintenance | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12533`_ | Fix KvmSshToAgentEnabled setting description and make it | +| | | dynamic | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12013`_ | import network acl rules using csv | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12149`_ | ui: allow viewing hosts from management server connected | +| | | agents | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11946`_ | ui: clear selected resource when no items in listview | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12468`_ | Show parent snapshot (along with the chain size) for | +| | | incremental snapshots | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12522`_ | Add batch deletion support to `removeRawUsageRecords` | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11991`_ | Use infinite scroll select | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12540`_ | [4.20] Fix keyword parameter filtering in | +| | | listBackupOfferings API | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11772`_ | Veeam: Use restore timeout as an interval as opposed to a | +| | | counter | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12474`_ | Fix delete snapshot policy expunged volume | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12482`_ | Add the procedure files for insert extensions and update | +| | | guest os category | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12507`_ | Fix Usage server takeover after clean shutdown of one of | +| | | the Usage servers | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11319`_ | ui: allow actions for other users of root admin | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12161`_ | VR: fix dns list in redundant VPC VRs | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12078`_ | Fix url in password reset email | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12024`_ | fix that log sensitive infomation in cmd of script | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12471`_ | ui: bump nodejs v24 LTS usage | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12481`_ | Update the snapshot physical size for the primary storage | +| | | resource after snapshot creation and during resource count | +| | | recalculation | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12527`_ | Update alert id for VR public and private interface | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12296`_ | Allow copy of templates from secondary storages of other | +| | | zone when adding a new secondary storage | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11422`_ | ui: add cache for oslogo request using osId | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12026`_ | Fix that Sensitive information logged in | +| | | SshHelper.sshExecute method | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12414`_ | server: add options for kvm.guest.os.machine.type | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#10957`_ | Consider secondary storage selectors during cold volume | +| | | migration | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11998`_ | CKS: skip default egress policy check for vpc network | +| | | offerings | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11969`_ | ui: show usage server restart message on usage config | +| | | change | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12525`_ | Apply reordered ACL list to VR router | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#8848`_ | fix: clean magic value, and update if-else to switch | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12018`_ | sensitive information leak to log | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12213`_ | debian/control: remove python2 as dependency of build | +| | | environment | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11706`_ | ui: fix form data double fetch/reset DeployVMFromBackup | +| | | form data by ownership selection | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11854`_ | Fix logging of forwarded IPs in logs | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12016`_ | fix Host Password Exposed in Command-Line Logging | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11970`_ | Initialize template status='Processing' | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12228`_ | CKS: Use Zone MTUs when network is created at the time of | +| | | CKS cluster creation | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12272`_ | server: do not run dhcp and dns check if VR is not | +| | | provider | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12147`_ | server: fix remove management server | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#10956`_ | Consider secondary storage selectors during template | +| | | synchronization | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12463`_ | VM Power state optimization | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#10900`_ | Implemented auto refresh button for VM metrics | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11889`_ | B&R: Show backup offerings with | +| | | userDrivenBackupsAllowed=false to all users | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12472`_ | Add ability to filter by version for listHosts and | +| | | listMgmtServers APIs | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#10868`_ | Fix saml bug unable to login | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#8934`_ | Refactor configuration SystemVMDefaultHypervisor | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12402`_ | Fix regression in the `listBackupSchedule` API | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12520`_ | 4.20: Fix unit test failure | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12248`_ | kvm: do not add disk cache mode from an empty string | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12499`_ | api/server: support deploy-as-is template as VNF template | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12511`_ | UI: add missing label text for label.aclname | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11605`_ | Fix the stored system VMs paths when introducing the first | +| | | secondary storage of a new zone | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12032`_ | fix Sensitive Data Exposure Through Exception Logging in | +| | | OVM Hypervis… | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12166`_ | Fix volume snapshot physical size after migration between | +| | | secondary storages | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11623`_ | ConfigDrive: use file absolute path instead of canonical | +| | | path to create ISO | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12406`_ | Throw runtime exception when null templateVO is found | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12433`_ | snapshot: fix listSnapshots when storage pool is removed | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12483`_ | Notify user if template upgrade is not required | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12098`_ | Fix: proper permissions for systemvm template | +| | | registrations on hardened systems | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#10456`_ | Allow modification of user vm details if | +| | | user.vm.readonly.details is empty | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12451`_ | NPE fix while deleting storage pool when pool has detached | +| | | volumes | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12430`_ | limit iso filename to have 251 chars at max | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12412`_ | UI: Improve error handling for template upload | +| | | notifications | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12440`_ | Fix for zoneids parameters length on update offerings APIs | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12431`_ | Fix update network offering domainids size limitation | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12428`_ | Remove redundant Exceptions from logs for VM schedules | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12478`_ | Fix potential leaks in executePipedCommands | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12436`_ | UI: fix issues when deploy VNF applicance on network with | +| | | SG | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12464`_ | Fix NPE on adding new columns in the tables | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12379`_ | CKS: fix resource limitation check on cpu when scale cks | +| | | cluster | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12398`_ | Storage pool monitor disconnect improvements | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12331`_ | Fix: Condition for aborting migration, resume paused VMs | +| | | on destination | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12445`_ | Set nfsVersion in ssvm agent.properties only if it is not | +| | | null | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12418`_ | CKS: Add image store validation for Kubernetes version | +| | | registration | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11817`_ | Fix primary storage removal logs with detached volumes | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#10862`_ | Adds url kubernetes iso | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12404`_ | Mask vncPasswd being logged in agent.log | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12448`_ | ui: fix 404 on login after forgot password | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11705`_ | ui: fix form data double fetch/reset form data by | +| | | ownership selection | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12347`_ | Cleanup snapshot files in datastores for Error-ed | +| | | snapshots, and some code improvements | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12420`_ | [Usage] Include accounts uuid on the cloud_usage accounts | +| | | initial saving | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12421`_ | Fix for listCapacity with fetchlatest parameter causing | +| | | RuntimeException | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12349`_ | MAC address assignment improvements | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12187`_ | Reset modifier button's state | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12355`_ | Fix hang in cloudstack-sysvmadm script | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11703`_ | ui: option to migrate vm with volumes to same pool | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12047`_ | Linstor fix host picking | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12307`_ | [UI] Fix primary storage details display when the uuid has | +| | | divergent pattern | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12285`_ | Ceph Object Store: Use "us-east-1" as the default signing | +| | | region to avoid setting location constraint | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11704`_ | ui: prevent calling listConfigurations when not allowed | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12389`_ | Updated protobuf version to 3.25.5, and protobuf & jackson | +| | | maven dependencies | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12356`_ | [UI] Fix for the login url with nested redirect parameters | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12332`_ | Improve logs for VM migrations | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11750`_ | kvm: allow skip forcing disk controller | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12181`_ | List capacity double counts allocated storage pool | +| | | capacity for datastore clusters | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12387`_ | Fix Linstor shrink QCOW2 volumes | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#10790`_ | Change the `value` parameter of the `updateConfiguration` | +| | | API to be required | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12232`_ | Prevent NPE when removing NIC from a stopped VM using | +| | | service offering with CPU cap set | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11780`_ | Skip removal of offerings if in use during domain removal | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12360`_ | Add mountopts to backup repository response | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12335`_ | Fix for Clone VM issue (Unable to access file...since it | +| | | is locked) with VMware 80u3 | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12021`_ | fix HMAC Signatures and API Keys Logged in Plaintext | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12351`_ | UI: fix date picker for custom time range | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12129`_ | Refactor XML parsing to use safer document builders in | +| | | multiple classes | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12350`_ | Event typo fix | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12300`_ | linstor: Provide /dev/drbd/by-res/ resource paths to | +| | | CloudStack | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12319`_ | Protect upgrades from failures | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12302`_ | CKS: Fix issue with scaling down CKS Nodes when deployed | +| | | in HA mode | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12318`_ | ui: fix test delivery params in create webhook form | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12334`_ | Add 'dataDiskController' VM setting/detail for KVM | +| | | hypervisor | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11950`_ | api: fix response annotation for createBackupSchedule | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#7857`_ | Fix terms, typos and grammar mistakes in the API, error | +| | | messages, events, etc. | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#10898`_ | Update templateConfig.sh to not break with directorys with | +| | | space on t… | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12284`_ | Fix VM and volume metrics listing regressions | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11429`_ | packaging: use latest cmk release link directly | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12259`_ | api:rename RegisterCmd.java => RegisterUserKeyCmd.java | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#10363`_ | Prioritize copying templates from other secondary storages | +| | | instead of downloading them | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12012`_ | Show time correctly in the backup schedule UI | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11986`_ | kvm: use preallocation option for fat disk resize | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11967`_ | VPC: fix Python exception processing static routes with | +| | | next hop when private gateway is also present | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11932`_ | KVM memballooning requires free page reporting and | +| | | autodeflate | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12234`_ | api: create/register/upload template with empty template | +| | | tag | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12000`_ | UI: Option to choose the isolation method when creating | +| | | the public IP range | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12140`_ | check for active MSses before starting DB upgrade | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12167`_ | Prevent scaling of cluster if count / resources exceed | +| | | account resource limits | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11761`_ | server,ui: prevent role change for default accounts | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11789`_ | refactor storepool automation | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12014`_ | Optimize drs plan generation | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12145`_ | ui: allow macaddress input for add nic to vm | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12063`_ | Support iprange while creating remote access vpn | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11839`_ | Enhance NFS mount option check for empty response | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#8603`_ | Changes error message when using invalid `endpoint.url` | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12174`_ | Proxmox Extension : Make settings such as storage, | +| | | disk_size,... | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12153`_ | Fix agent wait before reconnect | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11572`_ | refactor: add null check for BroadcastDomainType | +| | | retrievals | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12103`_ | ceph: fix offline volume migration between ceph pools | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12148`_ | ui: fix display for managementservermetricsresponse - | +| | | agentcount | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12146`_ | ui: fix section view filter | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12111`_ | Fix DB upgrade script for 4.22 | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11591`_ | api,server,ui: improve listing public ip for associate | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12083`_ | UI: fix list of zones if zone has icon | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12060`_ | ui: fix zone options for image instance deploy button | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12028`_ | fixed Password Exposure in IPMI Tool Command Execution | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11843`_ | add isPerson check to query for AD | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12003`_ | server: fix volume offering not updated after offering | +| | | change | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11531`_ | Track volume usage data at a vm granularity as well | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12020`_ | fix API Request Parameters Logged Credential Masking in | +| | | ApiServer | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11571`_ | UI: Update domain level configuration | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#10715`_ | Veeam: use pre-defined object mapper | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11740`_ | Enable UEFI on KVM hosts (by default), and configure with | +| | | some default settings | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#10705`_ | Veeam: get templateId from vm instance if vm is created | +| | | from ISO | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11845`_ | Consider Instance in Starting state for | +| | | UserConcentratedPod | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#12004`_ | DB setup: support db schema creation (with --schema-only) | +| | | without force recreate option | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11929`_ | uefi property typo | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11847`_ | CKS: update cloud.kubernetes.cluster.network.offering to | +| | | dynamic | ++-------------------------+---------------+------------------------------------------------------------+ +| 4.22.1.0 | `#11897`_ | api/test: fix storage pool update with only id | ++-------------------------+---------------+------------------------------------------------------------+ + +287 Issues listed + +.. _`#13133`: https://github.com/apache/cloudstack/pull/13133 +.. _`#11182`: https://github.com/apache/cloudstack/pull/11182 +.. _`#13088`: https://github.com/apache/cloudstack/pull/13088 +.. _`#13111`: https://github.com/apache/cloudstack/pull/13111 +.. _`#13091`: https://github.com/apache/cloudstack/pull/13091 +.. _`#13082`: https://github.com/apache/cloudstack/pull/13082 +.. _`#13048`: https://github.com/apache/cloudstack/pull/13048 +.. _`#13066`: https://github.com/apache/cloudstack/pull/13066 +.. _`#13027`: https://github.com/apache/cloudstack/pull/13027 +.. _`#12764`: https://github.com/apache/cloudstack/pull/12764 +.. _`#13046`: https://github.com/apache/cloudstack/pull/13046 +.. _`#12885`: https://github.com/apache/cloudstack/pull/12885 +.. _`#12884`: https://github.com/apache/cloudstack/pull/12884 +.. _`#12883`: https://github.com/apache/cloudstack/pull/12883 +.. _`#12833`: https://github.com/apache/cloudstack/pull/12833 +.. _`#12859`: https://github.com/apache/cloudstack/pull/12859 +.. _`#12586`: https://github.com/apache/cloudstack/pull/12586 +.. _`#12834`: https://github.com/apache/cloudstack/pull/12834 +.. _`#12835`: https://github.com/apache/cloudstack/pull/12835 +.. _`#12986`: https://github.com/apache/cloudstack/pull/12986 +.. _`#12637`: https://github.com/apache/cloudstack/pull/12637 +.. _`#12968`: https://github.com/apache/cloudstack/pull/12968 +.. _`#12882`: https://github.com/apache/cloudstack/pull/12882 +.. _`#12970`: https://github.com/apache/cloudstack/pull/12970 +.. _`#12949`: https://github.com/apache/cloudstack/pull/12949 +.. _`#13011`: https://github.com/apache/cloudstack/pull/13011 +.. _`#12807`: https://github.com/apache/cloudstack/pull/12807 +.. _`#10419`: https://github.com/apache/cloudstack/pull/10419 +.. _`#12622`: https://github.com/apache/cloudstack/pull/12622 +.. _`#12983`: https://github.com/apache/cloudstack/pull/12983 +.. _`#12666`: https://github.com/apache/cloudstack/pull/12666 +.. _`#12901`: https://github.com/apache/cloudstack/pull/12901 +.. _`#12966`: https://github.com/apache/cloudstack/pull/12966 +.. _`#12928`: https://github.com/apache/cloudstack/pull/12928 +.. _`#12955`: https://github.com/apache/cloudstack/pull/12955 +.. _`#12401`: https://github.com/apache/cloudstack/pull/12401 +.. _`#12799`: https://github.com/apache/cloudstack/pull/12799 +.. _`#12773`: https://github.com/apache/cloudstack/pull/12773 +.. _`#12597`: https://github.com/apache/cloudstack/pull/12597 +.. _`#12945`: https://github.com/apache/cloudstack/pull/12945 +.. _`#12964`: https://github.com/apache/cloudstack/pull/12964 +.. _`#12777`: https://github.com/apache/cloudstack/pull/12777 +.. _`#12981`: https://github.com/apache/cloudstack/pull/12981 +.. _`#12956`: https://github.com/apache/cloudstack/pull/12956 +.. _`#12946`: https://github.com/apache/cloudstack/pull/12946 +.. _`#12919`: https://github.com/apache/cloudstack/pull/12919 +.. _`#12801`: https://github.com/apache/cloudstack/pull/12801 +.. _`#12792`: https://github.com/apache/cloudstack/pull/12792 +.. _`#12796`: https://github.com/apache/cloudstack/pull/12796 +.. _`#12965`: https://github.com/apache/cloudstack/pull/12965 +.. _`#12952`: https://github.com/apache/cloudstack/pull/12952 +.. _`#12768`: https://github.com/apache/cloudstack/pull/12768 +.. _`#12781`: https://github.com/apache/cloudstack/pull/12781 +.. _`#12751`: https://github.com/apache/cloudstack/pull/12751 +.. _`#12935`: https://github.com/apache/cloudstack/pull/12935 +.. _`#12903`: https://github.com/apache/cloudstack/pull/12903 +.. _`#12791`: https://github.com/apache/cloudstack/pull/12791 +.. _`#12893`: https://github.com/apache/cloudstack/pull/12893 +.. _`#12894`: https://github.com/apache/cloudstack/pull/12894 +.. _`#12805`: https://github.com/apache/cloudstack/pull/12805 +.. _`#12880`: https://github.com/apache/cloudstack/pull/12880 +.. _`#12767`: https://github.com/apache/cloudstack/pull/12767 +.. _`#12884`: https://github.com/apache/cloudstack/pull/12884 +.. _`#12885`: https://github.com/apache/cloudstack/pull/12885 +.. _`#12800`: https://github.com/apache/cloudstack/pull/12800 +.. _`#12879`: https://github.com/apache/cloudstack/pull/12879 +.. _`#12881`: https://github.com/apache/cloudstack/pull/12881 +.. _`#12858`: https://github.com/apache/cloudstack/pull/12858 +.. _`#12780`: https://github.com/apache/cloudstack/pull/12780 +.. _`#12802`: https://github.com/apache/cloudstack/pull/12802 +.. _`#12749`: https://github.com/apache/cloudstack/pull/12749 +.. _`#12806`: https://github.com/apache/cloudstack/pull/12806 +.. _`#12812`: https://github.com/apache/cloudstack/pull/12812 +.. _`#12809`: https://github.com/apache/cloudstack/pull/12809 +.. _`#12785`: https://github.com/apache/cloudstack/pull/12785 +.. _`#12766`: https://github.com/apache/cloudstack/pull/12766 +.. _`#12789`: https://github.com/apache/cloudstack/pull/12789 +.. _`#11992`: https://github.com/apache/cloudstack/pull/11992 +.. _`#12786`: https://github.com/apache/cloudstack/pull/12786 +.. _`#12623`: https://github.com/apache/cloudstack/pull/12623 +.. _`#12775`: https://github.com/apache/cloudstack/pull/12775 +.. _`#12681`: https://github.com/apache/cloudstack/pull/12681 +.. _`#12677`: https://github.com/apache/cloudstack/pull/12677 +.. _`#12151`: https://github.com/apache/cloudstack/pull/12151 +.. _`#12631`: https://github.com/apache/cloudstack/pull/12631 +.. _`#11899`: https://github.com/apache/cloudstack/pull/11899 +.. _`#12713`: https://github.com/apache/cloudstack/pull/12713 +.. _`#12689`: https://github.com/apache/cloudstack/pull/12689 +.. _`#12391`: https://github.com/apache/cloudstack/pull/12391 +.. _`#11947`: https://github.com/apache/cloudstack/pull/11947 +.. _`#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 +.. _`#60`: https://github.com/apache/cloudstack/pull/60 +.. _`#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 +.. _`#12484`: https://github.com/apache/cloudstack/pull/12484 +.. _`#12539`: https://github.com/apache/cloudstack/pull/12539 +.. _`#12422`: https://github.com/apache/cloudstack/pull/12422 +.. _`#9389`: https://github.com/apache/cloudstack/pull/9389 +.. _`#12465`: https://github.com/apache/cloudstack/pull/12465 +.. _`#12553`: https://github.com/apache/cloudstack/pull/12553 +.. _`#11619`: https://github.com/apache/cloudstack/pull/11619 +.. _`#9719`: https://github.com/apache/cloudstack/pull/9719 +.. _`#12165`: https://github.com/apache/cloudstack/pull/12165 +.. _`#12552`: https://github.com/apache/cloudstack/pull/12552 +.. _`#12551`: https://github.com/apache/cloudstack/pull/12551 +.. _`#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 +.. _`#12188`: https://github.com/apache/cloudstack/pull/12188 +.. _`#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 +.. _`#12013`: https://github.com/apache/cloudstack/pull/12013 +.. _`#12149`: https://github.com/apache/cloudstack/pull/12149 +.. _`#11946`: https://github.com/apache/cloudstack/pull/11946 +.. _`#12468`: https://github.com/apache/cloudstack/pull/12468 +.. _`#12522`: https://github.com/apache/cloudstack/pull/12522 +.. _`#11991`: https://github.com/apache/cloudstack/pull/11991 +.. _`#12540`: https://github.com/apache/cloudstack/pull/12540 +.. _`#11772`: https://github.com/apache/cloudstack/pull/11772 +.. _`#12474`: https://github.com/apache/cloudstack/pull/12474 +.. _`#12482`: https://github.com/apache/cloudstack/pull/12482 +.. _`#12507`: https://github.com/apache/cloudstack/pull/12507 +.. _`#11319`: https://github.com/apache/cloudstack/pull/11319 +.. _`#12161`: https://github.com/apache/cloudstack/pull/12161 +.. _`#12078`: https://github.com/apache/cloudstack/pull/12078 +.. _`#12024`: https://github.com/apache/cloudstack/pull/12024 +.. _`#12471`: https://github.com/apache/cloudstack/pull/12471 +.. _`#12481`: https://github.com/apache/cloudstack/pull/12481 +.. _`#12527`: https://github.com/apache/cloudstack/pull/12527 +.. _`#12296`: https://github.com/apache/cloudstack/pull/12296 +.. _`#11422`: https://github.com/apache/cloudstack/pull/11422 +.. _`#12026`: https://github.com/apache/cloudstack/pull/12026 +.. _`#12414`: https://github.com/apache/cloudstack/pull/12414 +.. _`#10957`: https://github.com/apache/cloudstack/pull/10957 +.. _`#11998`: https://github.com/apache/cloudstack/pull/11998 +.. _`#11969`: https://github.com/apache/cloudstack/pull/11969 +.. _`#12525`: https://github.com/apache/cloudstack/pull/12525 +.. _`#8848`: https://github.com/apache/cloudstack/pull/8848 +.. _`#12018`: https://github.com/apache/cloudstack/pull/12018 +.. _`#12213`: https://github.com/apache/cloudstack/pull/12213 +.. _`#11706`: https://github.com/apache/cloudstack/pull/11706 +.. _`#11854`: https://github.com/apache/cloudstack/pull/11854 +.. _`#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 +.. _`#12147`: https://github.com/apache/cloudstack/pull/12147 +.. _`#10956`: https://github.com/apache/cloudstack/pull/10956 +.. _`#12463`: https://github.com/apache/cloudstack/pull/12463 +.. _`#10900`: https://github.com/apache/cloudstack/pull/10900 +.. _`#11889`: https://github.com/apache/cloudstack/pull/11889 +.. _`#12472`: https://github.com/apache/cloudstack/pull/12472 +.. _`#10868`: https://github.com/apache/cloudstack/pull/10868 +.. _`#8934`: https://github.com/apache/cloudstack/pull/8934 +.. _`#12402`: https://github.com/apache/cloudstack/pull/12402 +.. _`#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 +.. _`#12433`: https://github.com/apache/cloudstack/pull/12433 +.. _`#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 +.. _`#12379`: https://github.com/apache/cloudstack/pull/12379 +.. _`#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 +.. _`#12187`: https://github.com/apache/cloudstack/pull/12187 +.. _`#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 +.. _`#12356`: https://github.com/apache/cloudstack/pull/12356 +.. _`#12332`: https://github.com/apache/cloudstack/pull/12332 +.. _`#11750`: https://github.com/apache/cloudstack/pull/11750 +.. _`#12181`: https://github.com/apache/cloudstack/pull/12181 +.. _`#12387`: https://github.com/apache/cloudstack/pull/12387 +.. _`#10790`: https://github.com/apache/cloudstack/pull/10790 +.. _`#12232`: https://github.com/apache/cloudstack/pull/12232 +.. _`#11780`: https://github.com/apache/cloudstack/pull/11780 +.. _`#12360`: https://github.com/apache/cloudstack/pull/12360 +.. _`#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 +.. _`#12319`: https://github.com/apache/cloudstack/pull/12319 +.. _`#12302`: https://github.com/apache/cloudstack/pull/12302 +.. _`#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 +.. _`#12259`: https://github.com/apache/cloudstack/pull/12259 +.. _`#10363`: https://github.com/apache/cloudstack/pull/10363 +.. _`#12012`: https://github.com/apache/cloudstack/pull/12012 +.. _`#11986`: https://github.com/apache/cloudstack/pull/11986 +.. _`#11967`: https://github.com/apache/cloudstack/pull/11967 +.. _`#11932`: https://github.com/apache/cloudstack/pull/11932 +.. _`#12234`: https://github.com/apache/cloudstack/pull/12234 +.. _`#12000`: https://github.com/apache/cloudstack/pull/12000 +.. _`#12140`: https://github.com/apache/cloudstack/pull/12140 +.. _`#12167`: https://github.com/apache/cloudstack/pull/12167 +.. _`#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 +.. _`#11839`: https://github.com/apache/cloudstack/pull/11839 +.. _`#8603`: https://github.com/apache/cloudstack/pull/8603 +.. _`#12174`: https://github.com/apache/cloudstack/pull/12174 +.. _`#12153`: https://github.com/apache/cloudstack/pull/12153 +.. _`#11572`: https://github.com/apache/cloudstack/pull/11572 +.. _`#12103`: https://github.com/apache/cloudstack/pull/12103 +.. _`#12148`: https://github.com/apache/cloudstack/pull/12148 +.. _`#12146`: https://github.com/apache/cloudstack/pull/12146 +.. _`#12111`: https://github.com/apache/cloudstack/pull/12111 +.. _`#11591`: https://github.com/apache/cloudstack/pull/11591 +.. _`#12083`: https://github.com/apache/cloudstack/pull/12083 +.. _`#12060`: https://github.com/apache/cloudstack/pull/12060 +.. _`#12028`: https://github.com/apache/cloudstack/pull/12028 +.. _`#11843`: https://github.com/apache/cloudstack/pull/11843 +.. _`#12003`: https://github.com/apache/cloudstack/pull/12003 +.. _`#11531`: https://github.com/apache/cloudstack/pull/11531 +.. _`#12020`: https://github.com/apache/cloudstack/pull/12020 +.. _`#11571`: https://github.com/apache/cloudstack/pull/11571 +.. _`#10715`: https://github.com/apache/cloudstack/pull/10715 +.. _`#11740`: https://github.com/apache/cloudstack/pull/11740 +.. _`#10705`: https://github.com/apache/cloudstack/pull/10705 +.. _`#11845`: https://github.com/apache/cloudstack/pull/11845 +.. _`#12004`: https://github.com/apache/cloudstack/pull/12004 +.. _`#11929`: https://github.com/apache/cloudstack/pull/11929 +.. _`#11847`: https://github.com/apache/cloudstack/pull/11847 +.. _`#11897`: https://github.com/apache/cloudstack/pull/11897 + +Changes in 4.22.0.0 since 4.21.0.0 =================================== Apache CloudStack uses GitHub https://github.com/apache/cloudstack/milestone/37?closed=1 to track its issues -.. cssclass:: table-striped table-bordered table-hover +.. cssclass:: table-striped table-bordered table-hover github-changes-table +-------------------------+---------------+------------------------------------------------------------+ @@ -638,13 +1653,13 @@ to track its issues .. _`#11504`: https://github.com/apache/cloudstack/pull/11504 .. _`#11516`: https://github.com/apache/cloudstack/pull/11516 -Changes in |release| since 4.20.1.0 +Changes in 4.21.0.0 since 4.20.1.0 =================================== Apache CloudStack uses GitHub https://github.com/apache/cloudstack/milestone/35?closed=1 to track its issues -.. cssclass:: table-striped table-bordered table-hover +.. cssclass:: table-striped table-bordered table-hover github-changes-table +-------------------------+---------------+------------------------------------------------------------+ @@ -1301,14 +2316,14 @@ to track its issues .. _`#10949`: https://github.com/apache/cloudstack/pull/10949 .. _`#10769`: https://github.com/apache/cloudstack/pull/10769 -Changes in |release| since 4.20.0.0 +Changes in 4.20.1.0 since 4.20.0.0 =================================== Apache CloudStack uses GitHub https://github.com/apache/cloudstack/milestone/36?closed=1 to track its issues. -.. cssclass:: table-striped table-bordered table-hover +.. cssclass:: table-striped table-bordered table-hover github-changes-table +-------------------------+--------------------+------------------------------------------------------------+ | Version | Github | Description | @@ -1833,907 +2848,15 @@ 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 to track its issues. -.. cssclass:: table-striped table-bordered table-hover - - -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| Version | Github | Type | Priority | Description | -+=========================+============+===============+==========+============================================================+ -| 4.19.3.0 | `#10916`_ | | | server: fix list diskoffering by domainid returns Inactive | -| | | | | offerings | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10912`_ | | | Fix issue with configdrive on XenServer | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10843`_ | | | backport #10744: engine/schema: create default network | -| | | | | offering for vpc tier with conserve_mode=1 for fresh | -| | | | | installation | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10882`_ | | | Fixed some typos | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10893`_ | | | test: cleanup acl in test_global_acls.py | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10849`_ | | | Fix issue with security group selection box display | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10840`_ | | | ui: add an infinite scroll select component | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10777`_ | | | Reset the pool id when create volume fails on the | -| | | | | allocated pool, and update the resize error when no | -| | | | | endpoint exists | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10799`_ | | | Prevent data corruption for StorPool volumes | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10837`_ | | | Fix for Vlan doesn't match issue while adding IP range for | -| | | | | the shared network without any IP range | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10876`_ | | | Correct typo in an exception message | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10433`_ | | | VMware import - logs sanitation | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10253`_ | | | ssvm: reset fields on destroy | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10852`_ | | | List usage records for network offering (usage type 13) | -| | | | | when offering id is specified in usage id | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10770`_ | | | [Vmware] Improve listing of Vmware Datacenter VMs for | -| | | | | migration to KVM | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10850`_ | | | Linstor: implement volume and storage stats | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10748`_ | | | [VMware] Sync the disk path or datastore changes for IDE | -| | | | | disks, and before any volume resize during start vm (for | -| | | | | the volumes on datastore cluster) | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10544`_ | | | refactor create duplicate alert check | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10612`_ | | | server: check if redundant router is supported when | -| | | | | restart network with makeredundant = true | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10833`_ | | | xenserver: destroy halted vm on expunge | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10807`_ | | | cleanup call on super in affinity groups projects | -| | | | | component test | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10431`_ | | | server: fetch IP of VMs on L2 networks | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10824`_ | | | UI workaround for the inconsistent formatting of | -| | | | | listVirtualMachinesUsageHistory | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10712`_ | | | Backport #9888 to 4.19: Fix Usage inconsistencies | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10708`_ | | | [VMware] Update vlans with proper range before creating | -| | | | | port group for dvSwitch | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10624`_ | | | server: prevent duplicate HA works and alerts | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10760`_ | | | Extra checks in UI when deleting accounts | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10805`_ | | | Update dependency required for test_outofbandmanagement.py | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10629`_ | | | check for custom offering and trim size | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10265`_ | | | [UI] Allow quiescevm and asyncbackup flags while taking | -| | | | | volume snapshot from UI when these are supported for the | -| | | | | volume | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10725`_ | | | UI: show checksum field when register or upload | -| | | | | template/isos | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10714`_ | | | UI: Allow editing a Running VM in an Advanced zone with | -| | | | | security groups except for security group details | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10726`_ | | | cloudutils: use "ip route" command instead of "route -n" | -| | | | | in networkConfig.py | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10761`_ | | | smoke tests: Fix cluster DRS & non-strict host affinity | -| | | | | smoke test failures on XenServer / XCP-ng | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10755`_ | | | Network Usage event model adjustments | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10583`_ | | | Fix smoke tests due to change in behavior of restore VM | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10762`_ | | | test: fix test_certauthority_root.py | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10746`_ | | | Don't specify ipv6 ranges for shared network | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10647`_ | | | Revert "Add the option to filter by host when retrieving | -| | | | | of unregistered VMs (#9925)" | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10745`_ | | | ui: confirm on reset configurations | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10568`_ | | | Remove the validation of the amount of acquired public IPs | -| | | | | when enabling static NAT, adding PF and LB rules on VPC | -| | | | | public IPs | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10753`_ | | | .github: fix simulator CI caused by imcompatibility | -| | | | | between python3.10 and nosetests | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10739`_ | | | VR: add bind-interfaces to /etc/dnsmasq.d/cloud.conf | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10717`_ | | | plugin/shutdown: use mgmt server uuid in the shutdown | -| | | | | response | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10728`_ | | | only clean details and annotations when this template no | -| | | | | longer exists | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10591`_ | | | HA: set correct hostId of HA work for vm migration | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10709`_ | | | UI: Move templates creation date to the Zones tab | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10704`_ | | | server: check startip and startipv6 of shared network | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10311`_ | | | 4.19 fix saml account selector | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10649`_ | | | Usage server: remove logging of prameters including secret | -| | | | | keys | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10653`_ | | | Backport #10500 framework/cluster: fix NPE for ms-host | -| | | | | status when mgr stops | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#9175`_ | | | xenserver: do not destroy halted hypervisor vm | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10652`_ | | | UI: Allow setting account and domain maximum amount of | -| | | | | projects through the UI | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10651`_ | | | UI: Fix projects metrics on dashboard | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10617`_ | | | Enhance VPC Network Tier form to auto-populate Gateway, | -| | | | | and Netmask | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10263`_ | | | Updated setup-sysvm-tmplt script, to run cmds accessing | -| | | | | destdir with sudo | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10606`_ | | | Host status auto refresh | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10595`_ | | | UI: fix list of vpc network offerings | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10602`_ | | | ui: fix considerlasthost for start vm | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10518`_ | | | deal with null return for create deployment plan for | -| | | | | maintenance | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10561`_ | | | linstor: implement missing deleteDatastore | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10563`_ | | | api: fix EntityReference in NetworkResponse.java | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10366`_ | | | server: fix npe during start vr edge case | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10569`_ | | | List only VMs associated to a userdata | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10562`_ | | | Veeam BnR : Fix for error in remove backup offering | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10443`_ | | | linstor: try to delete -rst resource before snapshot | -| | | | | backup | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10516`_ | | | kvm: find cluster-wide pools only in Up state when | -| | | | | investigate a host | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10515`_ | | | KVM: return null state instead of Disconnected when | -| | | | | investigate a host without NFS | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10257`_ | | | VPC: fix private mtu of vpc tier | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10484`_ | | | UI: Show Host OOBM parameter in form if configured | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10472`_ | | | UI: List host OOBM details when enabled and configured | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10455`_ | | | UI: Filter accounts by domain while creating templates - | -| | | | | from Volume / Snapshot | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10439`_ | | | linstor: improve integration-tests | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10466`_ | | | cloudstack-setup-databases: fix mode and group of key file | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10376`_ | | | add use of virsh domifaddr to get VM external DHCP IP | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10266`_ | | | kvm: fix volume migration across cluster-scope pools | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10351`_ | | | UI: Fixes and minor enhacements to the Public IP Addresses | -| | | | | section | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.3.0 | `#10425`_ | | | UI: Fix filtering of templates by account | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ - -78 Issues listed - -.. _`#10916`: https://github.com/apache/cloudstack/pull/10916 -.. _`#10912`: https://github.com/apache/cloudstack/pull/10912 -.. _`#10843`: https://github.com/apache/cloudstack/pull/10843 -.. _`#10882`: https://github.com/apache/cloudstack/pull/10882 -.. _`#10893`: https://github.com/apache/cloudstack/pull/10893 -.. _`#10849`: https://github.com/apache/cloudstack/pull/10849 -.. _`#10840`: https://github.com/apache/cloudstack/pull/10840 -.. _`#10777`: https://github.com/apache/cloudstack/pull/10777 -.. _`#10799`: https://github.com/apache/cloudstack/pull/10799 -.. _`#10837`: https://github.com/apache/cloudstack/pull/10837 -.. _`#10876`: https://github.com/apache/cloudstack/pull/10876 -.. _`#10433`: https://github.com/apache/cloudstack/pull/10433 -.. _`#10253`: https://github.com/apache/cloudstack/pull/10253 -.. _`#10852`: https://github.com/apache/cloudstack/pull/10852 -.. _`#10770`: https://github.com/apache/cloudstack/pull/10770 -.. _`#10850`: https://github.com/apache/cloudstack/pull/10850 -.. _`#10748`: https://github.com/apache/cloudstack/pull/10748 -.. _`#10544`: https://github.com/apache/cloudstack/pull/10544 -.. _`#10612`: https://github.com/apache/cloudstack/pull/10612 -.. _`#10833`: https://github.com/apache/cloudstack/pull/10833 -.. _`#10807`: https://github.com/apache/cloudstack/pull/10807 -.. _`#10431`: https://github.com/apache/cloudstack/pull/10431 -.. _`#10824`: https://github.com/apache/cloudstack/pull/10824 -.. _`#10712`: https://github.com/apache/cloudstack/pull/10712 -.. _`#10708`: https://github.com/apache/cloudstack/pull/10708 -.. _`#10624`: https://github.com/apache/cloudstack/pull/10624 -.. _`#10760`: https://github.com/apache/cloudstack/pull/10760 -.. _`#10805`: https://github.com/apache/cloudstack/pull/10805 -.. _`#10629`: https://github.com/apache/cloudstack/pull/10629 -.. _`#10265`: https://github.com/apache/cloudstack/pull/10265 -.. _`#10725`: https://github.com/apache/cloudstack/pull/10725 -.. _`#10714`: https://github.com/apache/cloudstack/pull/10714 -.. _`#10726`: https://github.com/apache/cloudstack/pull/10726 -.. _`#10761`: https://github.com/apache/cloudstack/pull/10761 -.. _`#10755`: https://github.com/apache/cloudstack/pull/10755 -.. _`#10583`: https://github.com/apache/cloudstack/pull/10583 -.. _`#10762`: https://github.com/apache/cloudstack/pull/10762 -.. _`#10746`: https://github.com/apache/cloudstack/pull/10746 -.. _`#10647`: https://github.com/apache/cloudstack/pull/10647 -.. _`#10745`: https://github.com/apache/cloudstack/pull/10745 -.. _`#10568`: https://github.com/apache/cloudstack/pull/10568 -.. _`#10753`: https://github.com/apache/cloudstack/pull/10753 -.. _`#10739`: https://github.com/apache/cloudstack/pull/10739 -.. _`#10717`: https://github.com/apache/cloudstack/pull/10717 -.. _`#10728`: https://github.com/apache/cloudstack/pull/10728 -.. _`#10591`: https://github.com/apache/cloudstack/pull/10591 -.. _`#10709`: https://github.com/apache/cloudstack/pull/10709 -.. _`#10704`: https://github.com/apache/cloudstack/pull/10704 -.. _`#10311`: https://github.com/apache/cloudstack/pull/10311 -.. _`#10649`: https://github.com/apache/cloudstack/pull/10649 -.. _`#10653`: https://github.com/apache/cloudstack/pull/10653 -.. _`#9175`: https://github.com/apache/cloudstack/pull/9175 -.. _`#10652`: https://github.com/apache/cloudstack/pull/10652 -.. _`#10651`: https://github.com/apache/cloudstack/pull/10651 -.. _`#10617`: https://github.com/apache/cloudstack/pull/10617 -.. _`#10263`: https://github.com/apache/cloudstack/pull/10263 -.. _`#10606`: https://github.com/apache/cloudstack/pull/10606 -.. _`#10595`: https://github.com/apache/cloudstack/pull/10595 -.. _`#10602`: https://github.com/apache/cloudstack/pull/10602 -.. _`#10518`: https://github.com/apache/cloudstack/pull/10518 -.. _`#10561`: https://github.com/apache/cloudstack/pull/10561 -.. _`#10563`: https://github.com/apache/cloudstack/pull/10563 -.. _`#10366`: https://github.com/apache/cloudstack/pull/10366 -.. _`#10569`: https://github.com/apache/cloudstack/pull/10569 -.. _`#10562`: https://github.com/apache/cloudstack/pull/10562 -.. _`#10443`: https://github.com/apache/cloudstack/pull/10443 -.. _`#10516`: https://github.com/apache/cloudstack/pull/10516 -.. _`#10515`: https://github.com/apache/cloudstack/pull/10515 -.. _`#10257`: https://github.com/apache/cloudstack/pull/10257 -.. _`#10484`: https://github.com/apache/cloudstack/pull/10484 -.. _`#10472`: https://github.com/apache/cloudstack/pull/10472 -.. _`#10455`: https://github.com/apache/cloudstack/pull/10455 -.. _`#10439`: https://github.com/apache/cloudstack/pull/10439 -.. _`#10466`: https://github.com/apache/cloudstack/pull/10466 -.. _`#10376`: https://github.com/apache/cloudstack/pull/10376 -.. _`#10266`: https://github.com/apache/cloudstack/pull/10266 -.. _`#10351`: https://github.com/apache/cloudstack/pull/10351 -.. _`#10425`: https://github.com/apache/cloudstack/pull/10425 - - -https://github.com/apache/cloudstack/milestone/33?closed=1 - -.. cssclass:: table-striped table-bordered table-hover - - -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| Version | Github | Type | Priority | Description | -+=========================+============+===============+==========+============================================================+ -| 4.19.2.0 | `#10425`_ | | | UI: Fix filtering of templates by account | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10428`_ | | | ipmi: extra log sanitation | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10413`_ | | | migrate Vmware to KVM ui issues | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10411`_ | | | VMware Import - Support external VMware VMs in any | -| | | | | folders/subfolders other than the root folder of | -| | | | | datacenter (from KVM hosts) | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10409`_ | | | VMware import issue fix - check and update pools in the | -| | | | | order of disks | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10394`_ | | | UI: Fix `docHelp` links for Add Hosts, Add Clusters, | -| | | | | Disable Clusters and Enable Clusters forms | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10373`_ | | | UI: Fix Apache CloudStack description on the onboarding | -| | | | | page | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10262`_ | | | Fix private gateway acl on static routes | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9925`_ | | | Add the option to filter by host when retrieving of | -| | | | | unregistered VMs | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10229`_ | | | Support virtio-blk root disk controller | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10357`_ | | | UI: Fixup missing buttons | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10235`_ | | | server: fix scale vm with same disk offering id | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10183`_ | | | cleanup VM IP after expunge in redundant VPC | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9735`_ | | | Fix VMWare leftovers when deleting VM without root disk | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10320`_ | | | List only untagged offerings for Shared networks when tag | -| | | | | isn't passed | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10132`_ | | | Primera pure patches & various small fixes | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10317`_ | | | systemvm-registration: update seeded template_store_ref | -| | | | | sizes | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10324`_ | | | server: fix pod retrieval during volume attach | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10323`_ | | | Revert test of #10267 | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10280`_ | | | linstor: Fix using multiple primary storage with same | -| | | | | linstor-controller | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10268`_ | | | VPC VR: fix ACL between tier and private gateway | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10126`_ | | | Linstor: encryption support | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10243`_ | | | Hide register template, create/upload volume and create | -| | | | | vpc buttons when zone is not created. | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10216`_ | | | server: fix snapshot physical size | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10255`_ | | | Fix NPE while checking for user data provider | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10222`_ | | | List default network offerings when multiple physical | -| | | | | networks for guest traffic type exists | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10217`_ | | | UI: list backup offerings by zoneid when assign vm to | -| | | | | backup offering | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10237`_ | | | Decrypt zone, cluster, storage details for configuration | -| | | | | values | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10240`_ | | | Improve listing of HA and non-HA hosts when ha.tag setting | -| | | | | is defined and hosts have multiple tags along with ha tag | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10208`_ | | | api,ui: fix empty source cidr value for firewall rule | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10168`_ | | | Allow creation of Shared Networks without IP range if | -| | | | | network offering has no services - specifyvlan = true | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10066`_ | | | Static Routes: fix check on wrong global configuration | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10288`_ | | | ui: fix column filter for templates, isos | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10201`_ | | | Fix volume allocation on local VMFS storage | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10295`_ | | | changed the kubernetestool url | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9941`_ | | | packaging: support both mysql and mariadb on EL8/EL9 | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10245`_ | | | UI: Fix domain view when opening details for a specific | -| | | | | domainid | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10274`_ | | | Fix NPE during account creation | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10273`_ | | | Grant access to 2FA APIs for default read-only and support | -| | | | | roles | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10247`_ | | | server: reset 2fa user configuration on incomplete setup | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10234`_ | | | CKS: use --delete-emptydir-data instead of deprecated | -| | | | | --delete-local-data | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10236`_ | | | api/ui: add specifyvlan to network response | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9852`_ | | | list hosts API fix, when any stale entries exists on | -| | | | | storage_pool_host_ref for the removed pools | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10292`_ | | | ui: fix loading for hypervisor filter in serachview | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10279`_ | | | UI: Validate inserted values in numeric global settings | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10267`_ | | | server: fix attach uploaded volume | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10264`_ | | | extra null guard | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10158`_ | | | deal with NPE during host reconnect | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10075`_ | | | cks: prevent npe on cluster listing with removed offering | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10259`_ | | | Handle special characters when exporting ACLs | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10215`_ | | | [UI] Switch between allocated and used capacity on | -| | | | | dashboard | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10209`_ | | | Added displaynetwork option in filters for listnetwork | -| | | | | only for admin | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10231`_ | | | Fix local storage deletion cases | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10239`_ | | | ui: fix passing vlan while creating vpc tier | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10218`_ | | | server: Fix host CPU number | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9823`_ | | | kvm: add SCSI controllers based on the number of | -| | | | | virtio-SCSI disks | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9550`_ | | | Fix to allow actions on the network if it belongs to a | -| | | | | project | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10227`_ | | | UI: set redundant state as N/A for non-redundant routers | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10219`_ | | | linstor: Fix ZFS snapshot backup | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10204`_ | | | Fix listing of VMs with removed NICs | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10214`_ | | | Configure org.eclipse.jetty.server.Request.maxFormKeys | -| | | | | from server.properties and increase the default value | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10032`_ | | | api: fix access for listSystemVmUsageHistory | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9844`_ | | | Fix NPE issues during host rolling maintenance, due to | -| | | | | host tags and custom constrained/unconstrained service | -| | | | | offering | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10187`_ | | | UI: Fix slider component in global settings with `Range` | -| | | | | type | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10176`_ | | | Clean up network permissions on account deletion | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9644`_ | | | [VMware] Consider CD/DVD drive when calculating next free | -| | | | | unit number for volume attachment over IDE controller | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10174`_ | | | consider a valid ipv4 address as a validish ipv4 /32 cidr | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9900`_ | | | systemvm: fix keystore is reset when patch a systemvm | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10175`_ | | | merge bug fix for #9037; no retrieval of null hosts | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10046`_ | | | upgrade: consider multiple hypervisors and secondary | -| | | | | storages | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9677`_ | | | CheckOnHostCommand: add missing timeout setting | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9725`_ | | | Restrict the migration of volumes attached to VMs in | -| | | | | Starting state | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9764`_ | | | check tags while fetching storage pool for importing vm | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10067`_ | | | VR: fix site-2-site VPN if split connections is enabled | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10065`_ | | | UI: fix cannot open 'Edit tags' modal for static routes | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10064`_ | | | VR: apply iptables rules when add/remove static routes | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10051`_ | | | Certificate and VM hostname validation improvements | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10040`_ | | | set ulimit for server according to redhat spec | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10093`_ | | | kvm-storage: provide isVMMigrate information to storage | -| | | | | plugins | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10045`_ | | | Allow config drive deletion of migrated VM, on host | -| | | | | maintenance | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10105`_ | | | linstor: improve heartbeat check with also asking linstor | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9173`_ | | | server: simplify role change validation | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10086`_ | | | server: fix typo removeaccessvpn in VirtualRouterElement | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10087`_ | | | UI: remove duplicated Instance Name in Public IP details | -| | | | | page | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10047`_ | | | SAML2: add cookie with HttpOnly too | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9744`_ | | | ui: Allow font-awesome icon usage and optimise icon size | -| | | | | inconsistency | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10028`_ | | | Remove SNI option in _run.sh, as it is correct as default. | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10037`_ | | | .github: fix test_certauthority_root in 4.19 | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10035`_ | | | move sql code to the right file | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9999`_ | | | Prevent password updates for SAML and LDAP users | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10033`_ | | | cloudstack-migrate-databases: sql AND added | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#10008`_ | | | Remove user from project before deletion | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9971`_ | | | UI: Tooltip on the host information card to display the | -| | | | | CPU speed in MHz and the memory value in MB (to 3 decimal | -| | | | | places) | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9927`_ | | | UI: Allow accounts of the `User` type to add other | -| | | | | accounts or users to projects through UI | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#7081`_ | | | enable to create VPC portfowarding rules with source cidr | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9759`_ | | | Add new column `last_id` to the table volumes | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9787`_ | | | Allow VMWare import via another host | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9792`_ | | | Linstor: add support for ISO block devices and direct | -| | | | | download | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9949`_ | | | get expunged VM data for job result | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9966`_ | | | UI: Hide section divider when all OAuth providers are | -| | | | | disabled | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9498`_ | | | kvm: ref-count storage pool usage | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9839`_ | | | Revert "storage: fix private templates are not copied to | -| | | | | new image store (#9206)" | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9894`_ | | | Fix listServiceOfferings regression | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9822`_ | | | VR: fix wrong check when compare two configuration files | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9832`_ | | | Linstor: fix live migrate on non-hyperconverged setups | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9222`_ | | | engine-storage: Set SecretConsumerDetail for VM live | -| | | | | migration with storage on shared NFS | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9867`_ | | | Fix Kubernetes cluster view when user is unable to scale | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9856`_ | | | utils: fix invalid JSESSIONID cookie in https setup | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9869`_ | | | kvm: fix ovs network creation issue | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9859`_ | | | linstor/kvm: Workaround a qemu bug and IDE bus discard | -| | | | | enabled. | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9809`_ | | | Fix primary storage update form not showing existing | -| | | | | values | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9770`_ | | | linstor: enable discard for Linstor storage pools | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9756`_ | | | make saml auth request option `forceauthn` configurable | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9798`_ | | | UI: fix unit tests | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9547`_ | | | Filter list VMs by IP address | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#8911`_ | | | Linked clone migration between file-based storages on KVM | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9751`_ | | | API: Fix listing Userdata by keyword or name | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9731`_ | | | Hide UserData field from the EditVM view for VMs that do | -| | | | | not offer it | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9195`_ | | | cleanup validations for VPN connection creation | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9739`_ | | | Fix ISO url in test_usage.py | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#8588`_ | | | CKS: fix creation on shared network if HA is enabled | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9559`_ | | | server: fix nfs version option during mounts | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9374`_ | | | server: apply network ACL even if there is no network ACLs | -| | | | | rules in the ACL list | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9720`_ | | | Revert "list VMs by displayname instead of name" | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9596`_ | | | Fix: Filter out networks without access while getting | -| | | | | networks with SG with free IPs | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9711`_ | | | ui: load project list with minimum details | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9006`_ | | | build/packaging: build tungsten plugin only if noredist is | -| | | | | passed | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9637`_ | | | Fixed Unable to create a domain when networkdomain is | -| | | | | mentioned and cleared | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#8846`_ | | | Removed deprecated instruction MAINTAINER | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9636`_ | | | [VMware] Make disk controller selection on volume | -| | | | | attachment consistent with VM creation and start | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9698`_ | | | lb: fix haproxy cannot start if algorithm is not lowercase | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9700`_ | | | UI: enable project menu on mobile devices | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9563`_ | | | Fix resource count discrepancy while associating IP | -| | | | | address to a network | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9200`_ | | | refactor: cloud-sysvmadm script | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9557`_ | | | UI: Fix VPC network offerings listing on VPC tier creation | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#8503`_ | | | list VMs by displayname instead of name | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9669`_ | | | CPVM: move focus on input area after clearing clipboard | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9461`_ | | | Restore listNetworks behavior & clean up the code | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9652`_ | | | UI: Fix starting VMs through group action by | -| | | | | non-root-admin users | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9528`_ | | | Linstor: Fix migrate primary storage | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9428`_ | | | Fix root disk resize issue when service offering has no | -| | | | | root disk size specified | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9624`_ | | | propagate sort order through retrieval sequence | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9634`_ | | | UI: list vms with details=min when attach a volume to vm | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9632`_ | | | linstor: update java-linstor dependency to 0.5.2 | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9239`_ | | | Fix snapshot deletion on template creation failure | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9206`_ | | | storage: fix private templates are not copied to new image | -| | | | | store | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9567`_ | | | Add validation for secstorage.allowed.internal.sites | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9568`_ | | | VR: remove vpn user info when apply vpn users list | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9578`_ | | | server: fix stopped vm volume migration check on local | -| | | | | volume attach | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9588`_ | | | Updated listStoragePools response - added new managed | -| | | | | parameter | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9560`_ | | | linstor: set/unset allow-two-primaries and protocol on rc | -| | | | | level | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9573`_ | | | Fix VGPU available devices listing | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9554`_ | | | ui: show guest networks for guest vlans list | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9575`_ | | | Fix userdata append header restrictions | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9255`_ | | | Add certificate validation to check headers | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9572`_ | | | Update project account for all the events with project | -| | | | | account owner, except for create project event | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9468`_ | | | [VMware] Disconnect/Detach config drive ISO (if exists) on | -| | | | | stop VM | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9433`_ | | | [VMware] Update data disk controller same as the root disk | -| | | | | controller type when it is not set in the VM detail | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9589`_ | | | [UI] Add project toggle for buckets | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9459`_ | | | Fix usage volume size after resizing | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9540`_ | | | Added domain path to all entities | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9571`_ | | | test: fix component tests test_acl_isolatednetwork and | -| | | | | test_acl_isolatednetwork_delete | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9422`_ | | | allow users to apply extraconfig on updating VMs | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9545`_ | | | Fix Template and ISO upload events | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9417`_ | | | linstor: Improve copyPhysicalDisk performance | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9385`_ | | | add procedures procedure | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9201`_ | | | Ensure affinity groups are honored when VMs are deployed | -| | | | | in parallel | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9499`_ | | | test: fix component test | -| | | | | test_acl_sharednetwork_deployVM-impersonation.py | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9390`_ | | | libvirtstorageadaptor: better handle failed libvirt | -| | | | | storagepool destroy | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9447`_ | | | Fix snapshot chain being deleted on XenServer | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9419`_ | | | API: Fix missing keys in listZonesMetrics response | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9399`_ | | | ui: vm metrics note about behaviour across hypervisors | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9434`_ | | | Fixup CKS UI for external managed clusters | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9458`_ | | | UI: Display Firewall, LB and Port Forwading rules tab for | -| | | | | CKS clusters deployed on isolated networks | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9442`_ | | | Fix removal of usage records | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#9437`_ | | | Add systemvmtemplate arm64 build support | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ -| 4.19.2.0 | `#8833`_ | | | Fix link to removed volumes being shown in info card and | -| | | | | list view | -+-------------------------+------------+---------------+----------+------------------------------------------------------------+ - -179 Issues listed - -.. _`#10425`: https://github.com/apache/cloudstack/pull/10425 -.. _`#10428`: https://github.com/apache/cloudstack/pull/10428 -.. _`#10413`: https://github.com/apache/cloudstack/pull/10413 -.. _`#10411`: https://github.com/apache/cloudstack/pull/10411 -.. _`#10409`: https://github.com/apache/cloudstack/pull/10409 -.. _`#10394`: https://github.com/apache/cloudstack/pull/10394 -.. _`#10373`: https://github.com/apache/cloudstack/pull/10373 -.. _`#10262`: https://github.com/apache/cloudstack/pull/10262 -.. _`#9925`: https://github.com/apache/cloudstack/pull/9925 -.. _`#10229`: https://github.com/apache/cloudstack/pull/10229 -.. _`#10357`: https://github.com/apache/cloudstack/pull/10357 -.. _`#10235`: https://github.com/apache/cloudstack/pull/10235 -.. _`#10183`: https://github.com/apache/cloudstack/pull/10183 -.. _`#9735`: https://github.com/apache/cloudstack/pull/9735 -.. _`#10320`: https://github.com/apache/cloudstack/pull/10320 -.. _`#10132`: https://github.com/apache/cloudstack/pull/10132 -.. _`#10317`: https://github.com/apache/cloudstack/pull/10317 -.. _`#10324`: https://github.com/apache/cloudstack/pull/10324 -.. _`#10323`: https://github.com/apache/cloudstack/pull/10323 -.. _`#10280`: https://github.com/apache/cloudstack/pull/10280 -.. _`#10268`: https://github.com/apache/cloudstack/pull/10268 -.. _`#10126`: https://github.com/apache/cloudstack/pull/10126 -.. _`#10243`: https://github.com/apache/cloudstack/pull/10243 -.. _`#10216`: https://github.com/apache/cloudstack/pull/10216 -.. _`#10255`: https://github.com/apache/cloudstack/pull/10255 -.. _`#10222`: https://github.com/apache/cloudstack/pull/10222 -.. _`#10217`: https://github.com/apache/cloudstack/pull/10217 -.. _`#10237`: https://github.com/apache/cloudstack/pull/10237 -.. _`#10240`: https://github.com/apache/cloudstack/pull/10240 -.. _`#10208`: https://github.com/apache/cloudstack/pull/10208 -.. _`#10168`: https://github.com/apache/cloudstack/pull/10168 -.. _`#10066`: https://github.com/apache/cloudstack/pull/10066 -.. _`#10288`: https://github.com/apache/cloudstack/pull/10288 -.. _`#10201`: https://github.com/apache/cloudstack/pull/10201 -.. _`#10295`: https://github.com/apache/cloudstack/pull/10295 -.. _`#9941`: https://github.com/apache/cloudstack/pull/9941 -.. _`#10245`: https://github.com/apache/cloudstack/pull/10245 -.. _`#10274`: https://github.com/apache/cloudstack/pull/10274 -.. _`#10273`: https://github.com/apache/cloudstack/pull/10273 -.. _`#10247`: https://github.com/apache/cloudstack/pull/10247 -.. _`#10234`: https://github.com/apache/cloudstack/pull/10234 -.. _`#10236`: https://github.com/apache/cloudstack/pull/10236 -.. _`#9852`: https://github.com/apache/cloudstack/pull/9852 -.. _`#10292`: https://github.com/apache/cloudstack/pull/10292 -.. _`#10279`: https://github.com/apache/cloudstack/pull/10279 -.. _`#10267`: https://github.com/apache/cloudstack/pull/10267 -.. _`#10264`: https://github.com/apache/cloudstack/pull/10264 -.. _`#10158`: https://github.com/apache/cloudstack/pull/10158 -.. _`#10075`: https://github.com/apache/cloudstack/pull/10075 -.. _`#10259`: https://github.com/apache/cloudstack/pull/10259 -.. _`#10215`: https://github.com/apache/cloudstack/pull/10215 -.. _`#10209`: https://github.com/apache/cloudstack/pull/10209 -.. _`#10231`: https://github.com/apache/cloudstack/pull/10231 -.. _`#10239`: https://github.com/apache/cloudstack/pull/10239 -.. _`#10218`: https://github.com/apache/cloudstack/pull/10218 -.. _`#9823`: https://github.com/apache/cloudstack/pull/9823 -.. _`#9550`: https://github.com/apache/cloudstack/pull/9550 -.. _`#10227`: https://github.com/apache/cloudstack/pull/10227 -.. _`#10219`: https://github.com/apache/cloudstack/pull/10219 -.. _`#10204`: https://github.com/apache/cloudstack/pull/10204 -.. _`#10214`: https://github.com/apache/cloudstack/pull/10214 -.. _`#10032`: https://github.com/apache/cloudstack/pull/10032 -.. _`#9844`: https://github.com/apache/cloudstack/pull/9844 -.. _`#10187`: https://github.com/apache/cloudstack/pull/10187 -.. _`#10176`: https://github.com/apache/cloudstack/pull/10176 -.. _`#9644`: https://github.com/apache/cloudstack/pull/9644 -.. _`#10174`: https://github.com/apache/cloudstack/pull/10174 -.. _`#9900`: https://github.com/apache/cloudstack/pull/9900 -.. _`#10175`: https://github.com/apache/cloudstack/pull/10175 -.. _`#10046`: https://github.com/apache/cloudstack/pull/10046 -.. _`#9677`: https://github.com/apache/cloudstack/pull/9677 -.. _`#9725`: https://github.com/apache/cloudstack/pull/9725 -.. _`#9764`: https://github.com/apache/cloudstack/pull/9764 -.. _`#10067`: https://github.com/apache/cloudstack/pull/10067 -.. _`#10065`: https://github.com/apache/cloudstack/pull/10065 -.. _`#10064`: https://github.com/apache/cloudstack/pull/10064 -.. _`#10051`: https://github.com/apache/cloudstack/pull/10051 -.. _`#10040`: https://github.com/apache/cloudstack/pull/10040 -.. _`#10093`: https://github.com/apache/cloudstack/pull/10093 -.. _`#10045`: https://github.com/apache/cloudstack/pull/10045 -.. _`#10105`: https://github.com/apache/cloudstack/pull/10105 -.. _`#9173`: https://github.com/apache/cloudstack/pull/9173 -.. _`#10086`: https://github.com/apache/cloudstack/pull/10086 -.. _`#10087`: https://github.com/apache/cloudstack/pull/10087 -.. _`#10047`: https://github.com/apache/cloudstack/pull/10047 -.. _`#9744`: https://github.com/apache/cloudstack/pull/9744 -.. _`#10028`: https://github.com/apache/cloudstack/pull/10028 -.. _`#10037`: https://github.com/apache/cloudstack/pull/10037 -.. _`#10035`: https://github.com/apache/cloudstack/pull/10035 -.. _`#9999`: https://github.com/apache/cloudstack/pull/9999 -.. _`#10033`: https://github.com/apache/cloudstack/pull/10033 -.. _`#10008`: https://github.com/apache/cloudstack/pull/10008 -.. _`#9971`: https://github.com/apache/cloudstack/pull/9971 -.. _`#9927`: https://github.com/apache/cloudstack/pull/9927 -.. _`#7081`: https://github.com/apache/cloudstack/pull/7081 -.. _`#9759`: https://github.com/apache/cloudstack/pull/9759 -.. _`#9787`: https://github.com/apache/cloudstack/pull/9787 -.. _`#9792`: https://github.com/apache/cloudstack/pull/9792 -.. _`#9949`: https://github.com/apache/cloudstack/pull/9949 -.. _`#9966`: https://github.com/apache/cloudstack/pull/9966 -.. _`#9498`: https://github.com/apache/cloudstack/pull/9498 -.. _`#9839`: https://github.com/apache/cloudstack/pull/9839 -.. _`#9894`: https://github.com/apache/cloudstack/pull/9894 -.. _`#9822`: https://github.com/apache/cloudstack/pull/9822 -.. _`#9832`: https://github.com/apache/cloudstack/pull/9832 -.. _`#9222`: https://github.com/apache/cloudstack/pull/9222 -.. _`#9867`: https://github.com/apache/cloudstack/pull/9867 -.. _`#9856`: https://github.com/apache/cloudstack/pull/9856 -.. _`#9869`: https://github.com/apache/cloudstack/pull/9869 -.. _`#9859`: https://github.com/apache/cloudstack/pull/9859 -.. _`#9809`: https://github.com/apache/cloudstack/pull/9809 -.. _`#9770`: https://github.com/apache/cloudstack/pull/9770 -.. _`#9756`: https://github.com/apache/cloudstack/pull/9756 -.. _`#9798`: https://github.com/apache/cloudstack/pull/9798 -.. _`#9547`: https://github.com/apache/cloudstack/pull/9547 -.. _`#8911`: https://github.com/apache/cloudstack/pull/8911 -.. _`#9751`: https://github.com/apache/cloudstack/pull/9751 -.. _`#9731`: https://github.com/apache/cloudstack/pull/9731 -.. _`#9195`: https://github.com/apache/cloudstack/pull/9195 -.. _`#9739`: https://github.com/apache/cloudstack/pull/9739 -.. _`#8588`: https://github.com/apache/cloudstack/pull/8588 -.. _`#9559`: https://github.com/apache/cloudstack/pull/9559 -.. _`#9374`: https://github.com/apache/cloudstack/pull/9374 -.. _`#9720`: https://github.com/apache/cloudstack/pull/9720 -.. _`#9596`: https://github.com/apache/cloudstack/pull/9596 -.. _`#9711`: https://github.com/apache/cloudstack/pull/9711 -.. _`#9006`: https://github.com/apache/cloudstack/pull/9006 -.. _`#9637`: https://github.com/apache/cloudstack/pull/9637 -.. _`#8846`: https://github.com/apache/cloudstack/pull/8846 -.. _`#9636`: https://github.com/apache/cloudstack/pull/9636 -.. _`#9698`: https://github.com/apache/cloudstack/pull/9698 -.. _`#9700`: https://github.com/apache/cloudstack/pull/9700 -.. _`#9563`: https://github.com/apache/cloudstack/pull/9563 -.. _`#9200`: https://github.com/apache/cloudstack/pull/9200 -.. _`#9557`: https://github.com/apache/cloudstack/pull/9557 -.. _`#8503`: https://github.com/apache/cloudstack/pull/8503 -.. _`#9669`: https://github.com/apache/cloudstack/pull/9669 -.. _`#9461`: https://github.com/apache/cloudstack/pull/9461 -.. _`#9652`: https://github.com/apache/cloudstack/pull/9652 -.. _`#9528`: https://github.com/apache/cloudstack/pull/9528 -.. _`#9428`: https://github.com/apache/cloudstack/pull/9428 -.. _`#9624`: https://github.com/apache/cloudstack/pull/9624 -.. _`#9634`: https://github.com/apache/cloudstack/pull/9634 -.. _`#9632`: https://github.com/apache/cloudstack/pull/9632 -.. _`#9239`: https://github.com/apache/cloudstack/pull/9239 -.. _`#9206`: https://github.com/apache/cloudstack/pull/9206 -.. _`#9567`: https://github.com/apache/cloudstack/pull/9567 -.. _`#9568`: https://github.com/apache/cloudstack/pull/9568 -.. _`#9578`: https://github.com/apache/cloudstack/pull/9578 -.. _`#9588`: https://github.com/apache/cloudstack/pull/9588 -.. _`#9560`: https://github.com/apache/cloudstack/pull/9560 -.. _`#9573`: https://github.com/apache/cloudstack/pull/9573 -.. _`#9554`: https://github.com/apache/cloudstack/pull/9554 -.. _`#9575`: https://github.com/apache/cloudstack/pull/9575 -.. _`#9255`: https://github.com/apache/cloudstack/pull/9255 -.. _`#9572`: https://github.com/apache/cloudstack/pull/9572 -.. _`#9468`: https://github.com/apache/cloudstack/pull/9468 -.. _`#9433`: https://github.com/apache/cloudstack/pull/9433 -.. _`#9589`: https://github.com/apache/cloudstack/pull/9589 -.. _`#9459`: https://github.com/apache/cloudstack/pull/9459 -.. _`#9540`: https://github.com/apache/cloudstack/pull/9540 -.. _`#9571`: https://github.com/apache/cloudstack/pull/9571 -.. _`#9422`: https://github.com/apache/cloudstack/pull/9422 -.. _`#9545`: https://github.com/apache/cloudstack/pull/9545 -.. _`#9417`: https://github.com/apache/cloudstack/pull/9417 -.. _`#9385`: https://github.com/apache/cloudstack/pull/9385 -.. _`#9201`: https://github.com/apache/cloudstack/pull/9201 -.. _`#9499`: https://github.com/apache/cloudstack/pull/9499 -.. _`#9390`: https://github.com/apache/cloudstack/pull/9390 -.. _`#9447`: https://github.com/apache/cloudstack/pull/9447 -.. _`#9419`: https://github.com/apache/cloudstack/pull/9419 -.. _`#9399`: https://github.com/apache/cloudstack/pull/9399 -.. _`#9434`: https://github.com/apache/cloudstack/pull/9434 -.. _`#9458`: https://github.com/apache/cloudstack/pull/9458 -.. _`#9442`: https://github.com/apache/cloudstack/pull/9442 -.. _`#9437`: https://github.com/apache/cloudstack/pull/9437 -.. _`#8833`: https://github.com/apache/cloudstack/pull/8833 - - -https://github.com/apache/cloudstack/milestone/31?closed=1 +.. cssclass:: table-striped table-bordered table-hover github-changes-table -.. cssclass:: table-striped table-bordered table-hover +-------------------------+----------+------------------------------------------------------------+ | Version | Github | Description | @@ -3072,7 +3195,7 @@ https://github.com/apache/cloudstack/milestone/31?closed=1 +-------------------------+----------+------------------------------------------------------------+ | 4.20.0.0 | `#9434`_ | Fixup CKS UI for external managed clusters | +-------------------------+----------+------------------------------------------------------------+ -| 4.20.0.0 | `#9458`_ | UI: Display Firewall, LB and Port Forwarding rules tab for | +| 4.20.0.0 | `#9458`_ | UI: Display Firewall, LB and Port Forwarding rules tab for | | | | CKS clusters deployed on isolated networks | +-------------------------+----------+------------------------------------------------------------+ | 4.20.0.0 | `#9442`_ | Fix removal of usage records | diff --git a/source/releasenotes/compat.rst b/source/releasenotes/compat.rst index f40f6c0fae..f4a3e17bc0 100644 --- a/source/releasenotes/compat.rst +++ b/source/releasenotes/compat.rst @@ -37,7 +37,7 @@ Software Requirements ~~~~~~~~~~~~~~~~~~~~~ - Java JRE 17 -- MySQL 8.0 (or equivalent compatible DBMS) +- MySQL 8.4 (or equivalent compatible DBMS) Supported Hypervisor Versions ----------------------------- @@ -88,6 +88,7 @@ Supported External Devices - SRX (Model srx100b) versions 10.3 to 10.4 R7.5 (not tested to work fine for last many CloudStack releases) - F5 11.X (not tested to work fine for last many CloudStack releases) - Force 10 Switch version S4810 for Baremetal Advanced Networks (not tested to work fine for last many CloudStack releases) +- Palo Alto Networks Firewall (not tested to work fine in the last recent CloudStack releases) Supported Browsers ------------------ diff --git a/source/upgrading/index.rst b/source/upgrading/index.rst index 7a722f7dc1..5137fdbb7a 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 c5aff07d39..139a0f6123 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 083ac2e81e..dacf9a1ca6 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-4.21.rst b/source/upgrading/upgrade/upgrade-4.21.rst index 0449de1645..441990c851 100644 --- a/source/upgrading/upgrade/upgrade-4.21.rst +++ b/source/upgrading/upgrade/upgrade-4.21.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-4.22.rst b/source/upgrading/upgrade/upgrade-4.22.rst index 38ad410ecb..333fa2aaca 100644 --- a/source/upgrading/upgrade/upgrade-4.22.rst +++ b/source/upgrading/upgrade/upgrade-4.22.rst @@ -216,6 +216,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 new file mode 100644 index 0000000000..c433e87290 --- /dev/null +++ b/source/upgrading/upgrade/upgrade_notes.rst @@ -0,0 +1,111 @@ +.. 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. + + +General Upgrade Notes +===================== + +Java version upgraded to Java 17 +--------------------------------- + +As of Apache CloudStack 4.20, support for running with Java 17 has been added. +In later versions, support for Java 11 will be removed. + +If you are running CloudStack with Java 17, for CloudStack versions 4.20 and later: + * Verify /etc/default/cloudstack-management is consistent with https://github.com/apache/cloudstack/blob/main/packaging/systemd/cloudstack-management.default; Specifically, ensure that the following is present in the JAVA_OPTS: + + .. code-block:: bash + + --add-opens=java.base/java.lang=ALL-UNNAMED --add-exports=java.base/sun.security.x509=ALL-UNNAMED + + * Verify /etc/default/cloudstack-usage is also consistent with the same file in the repository. + * Perform the same check for /etc/default/cloudstack-agent on the hypervisor hosts. + +.. include:: _java_version.rst + + +Java version upgraded to Java 11 +--------------------------------- + +As of Apache CloudStack 4.14, Java version required is 11 for the +management-server, cloudstack-usage, KVM agent and system-VMs. + + +.. include:: _java_version.rst + +UI Deprecation and Removal Notice +--------------------------------- + +The current jQuery-based CloudStack UI is `deprecated +`_ in this release of CloudStack +and will be removed in the next release of Apache CloudStack. + +Migrating to dynamic roles feature +---------------------------------- + +As of Apache CloudStack 4.9, dynamic roles feature can be enabled after an +upgrade. Dynamic roles feature is enabled by default on new installations. + +Please read more about :ref:`using-dynamics-roles` +feature and process of migrating to using this after an upgrade. + +Agent and KVM Host Security +--------------------------- + +Starting 4.11, a new CA framework has been introduced that is used to secure +agent and management server connections. Starting 4.11.1, KVM hosts in UP +state that are not secured (i.e. the KVM host agent and libvirtd don't have +CA framework provisioned X509 certificates) will show up as 'Unsecure'. A new +button in the UI is available as well as an API to secure and onboard such +hosts. + +Please read more about :ref:`host-security` and the process of migrating existing KVM hosts and agents to use the new security +feature. + +OVS plug-in +----------- + +OVS plug-in functionality is disrupted if ovsdaemon crashes + +A critical functionality issue came out with `CLOUDSTACK-6779 `_. On XenServer it +is observed that on VIF unplug Ovs-Vswitchd is crashing resulting in loosing all +the openflow rules added to the bridge. Ovs daemon gets started and creates a +bridge but configure openflow rules are lost resulting in the disruption of +connectivity for the Instances on the host. + + +Active-Directory Authentication (LDAP) +-------------------------------------- + +If using Active-Directory (LDAP/LDAPs) as User authentication; Upgrading to +4.3 and later require changes in Global Settings. After upgrading CloudStack +to 4.3 or latest, following Global Settings must be change: + +.. cssclass:: table-striped table-bordered table-hover + +======================= ============== ============== +Global Settings Default New +======================= ============== ============== +ldap.user.object inetOrgPerson user +ldap.username.attribute uid sAMAccountName +======================= ============== ============== + + +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. + +.. include:: mysql.rst