diff --git a/source/_global.rst b/source/_global.rst index b8d35314bd..23c356d0f8 100644 --- a/source/_global.rst +++ b/source/_global.rst @@ -25,19 +25,19 @@ .. Latest version systemvm template name -.. |sysvm64-version| replace:: 4.18.1 -.. |sysvm64-name-xen| replace:: systemvm-xenserver-4.18.1 -.. |sysvm64-name-kvm| replace:: systemvm-kvm-4.18.1 -.. |sysvm64-name-vmware| replace:: systemvm-vmware-4.18.1 -.. |sysvm64-name-hyperv| replace:: systemvm-hyperv-4.18.1 -.. |sysvm64-name-ovm| replace:: systemvm-ovm-4.18.1 +.. |sysvm64-version| replace:: 4.19.0 +.. |sysvm64-name-xen| replace:: systemvm-xenserver-4.19.0 +.. |sysvm64-name-kvm| replace:: systemvm-kvm-4.19.0 +.. |sysvm64-name-vmware| replace:: systemvm-vmware-4.19.0 +.. |sysvm64-name-hyperv| replace:: systemvm-hyperv-4.19.0 +.. |sysvm64-name-ovm| replace:: systemvm-ovm-4.19.0 .. Latest version systemvm template URL -.. |sysvm64-url-xen| replace:: http://download.cloudstack.org/systemvm/4.18/systemvmtemplate-4.18.1-xen.vhd.bz2 -.. |sysvm64-url-kvm| replace:: http://download.cloudstack.org/systemvm/4.18/systemvmtemplate-4.18.1-kvm.qcow2.bz2 -.. |sysvm64-url-vmware| replace:: http://download.cloudstack.org/systemvm/4.18/systemvmtemplate-4.18.1-vmware.ova -.. |sysvm64-url-hyperv| replace:: http://download.cloudstack.org/systemvm/4.18/systemvmtemplate-4.18.1-hyperv.vhd.zip -.. |sysvm64-url-ovm| replace:: http://download.cloudstack.org/systemvm/4.18/systemvmtemplate-4.18.1-ovm.raw.bz2 +.. |sysvm64-url-xen| replace:: http://download.cloudstack.org/systemvm/4.19/systemvmtemplate-4.19.0-xen.vhd.bz2 +.. |sysvm64-url-kvm| replace:: http://download.cloudstack.org/systemvm/4.19/systemvmtemplate-4.19.0-kvm.qcow2.bz2 +.. |sysvm64-url-vmware| replace:: http://download.cloudstack.org/systemvm/4.19/systemvmtemplate-4.19.0-vmware.ova +.. |sysvm64-url-hyperv| replace:: http://download.cloudstack.org/systemvm/4.19/systemvmtemplate-4.19.0-hyperv.vhd.zip +.. |sysvm64-url-ovm| replace:: http://download.cloudstack.org/systemvm/4.19/systemvmtemplate-4.19.0-ovm.raw.bz2 .. Images diff --git a/source/conf.py b/source/conf.py index 4dc872cb6a..399d1da753 100644 --- a/source/conf.py +++ b/source/conf.py @@ -24,9 +24,9 @@ author = 'Apache CloudStack Project' # The short X.Y version -version = '4.18' +version = '4.19' # The full version, including alpha/beta/rc tags -release = '4.18.1.0' +release = '4.19.0.0' rst_epilog = """ .. include:: /_global.rst diff --git a/source/releasenotes/about.rst b/source/releasenotes/about.rst index ac950b142c..52eb76610f 100644 --- a/source/releasenotes/about.rst +++ b/source/releasenotes/about.rst @@ -17,79 +17,104 @@ What's New in |release| ======================= -Apache CloudStack |release| is a 4.18 LTS minor release with 196 fixes -since the 4.18.0.0 release. Some of the highlights include: - -• Support Managed User Data in AutoScale VM groups -• Support CKS (CloudStack Kubernetes Cluster) in VPC tiers -• Support for VMware 8.0.0.x -• Several Hypervisor (VMware, KVM, XenServer) fixes and improvements -• Several UI fixes and improvements -• Several Network (L2, VXLAN, etc) fixes and improvements -• Several System VM (CPVM, SSVM) fixes and improvements -• Improve Solidfire storage plugin integration on VMware -• Support volume migration in ScaleIO/PowerFlex within and across ScaleIO/PowerFlex storage clusters -• Volume encryption support for StorPool -• Fix CloudStack upgrade with some MySQL versions -• Fix guest OSes and guest OS mappings in CloudStack database +Apache CloudStack |release| is the initial 4.19 LTS release. It has over 300 fixes +and features since the 4.18.1.0 release. The full list of fixes and improvements can be found in the project release notes at -https://docs.cloudstack.apache.org/en/4.18.1.0/releasenotes/changes.html +https://docs.cloudstack.apache.org/en/4.19.0.0/releasenotes/changes.html -What's in since 4.18.0.0 -====================== +What's in since 4.19.0.0 +======================== -Apache CloudStack 4.18.0.0 is the initial 4.18 LTS release with 300+ new -features, improvements and bug fixes since 4.17, including 19 major +Apache CloudStack 4.19.0.0 is the initial 4.19 LTS release with 300+ new +features, improvements and bug fixes since 4.18, including 26 major new features. Some of the highlights include: -• Edge Zones -• Autoscaling -• Managed User Data -• Two-Factor Authentication Framework -• Support for Time-based OTP (TOTP) Authenticator -• Volume Encryption -• SDN Integration – Tungsten Fabric -• Ceph Multi Monitor Support -• API-Driven Console Access -• Console Access Security Improvements -• New Global settings UI -• Configurable MTU for VR -• Adaptative Affinity Groups -• Custom DNS Servers for Networks -• Improved Guest OS Support Framework -• Support for Enterprise Linux 9 -• Networker Backup Plugin for KVM Hypervisor -• Custom Quota Tariffs -• Secure VNC for KVM +• CloudStack Object Storage Feature +• VMware to KVM Migration +• KVM Import +• CloudStack DRS +• OAuth2 Authentication +• VNF Appliances Support +• CloudStack DRS +• CloudStack Snapshot Copy +• Scheduled Instance Lifecycle Operations +• Guest OS Management +• Pure Flash Array and HPE-Primera Support +• User-specified source NAT +• Storage Browser +• Safe CloudStack Shutdown +• New CloudStack Dashboard +• Domain migration +• Flexible tags for hosts and storage pools +• Support for Userdata in Autoscale Groups +• KVM Host HA for StorPool storage +• Dynamic secondary storage selection +• Domain VPCs +• Global ACL for VPCs The full list of new features can be found in the project release notes at -https://docs.cloudstack.apache.org/en/4.18.0.0/releasenotes/changes.html +https://docs.cloudstack.apache.org/en/4.19.0.0/releasenotes/changes.html .. _guestosids -Possible Issue with Guest OS IDs -================================ +Possible Issue with volume snapshot revert with KVM +=================================================== -It has been noticed during upgrade testing that some environment, where -custom guest OSses where added and mapping for those OSses where added, -problems may occur during upgrade. Part of the mitigation is to make sure -OSses that are newly mapped but should have already been in the guest_os -table are there. Make sure you apply those before you start the new 4.18 -management server. +Between versions 4.17.x, 4.18.0 and 4.18.1, KVM volume snapshot backups were +not full snapshots and they rely on the primary storage as a backing store. +To prevent any loss of data, care must be taken during revert operation and +it must be ensured that the source primary storage snapshot file is present +if the snapshot is created with any of these CloudStack versions. -first check which of the guest_os entries you miss: +Users will have a backing store in their volume snapshots in the following cases: -.. parsed-literal:: +- the snapshots are from a ROOT volume created from template; + +Users will not have a backing store in their volume snapshots in the following cases: + +- the snapshots are from ROOT volumes created with ISO; +- the snapshots are from DATADISK volumes; - SELECT * FROM cloud.guest_os WHERE display_name IN (´CentOS 8´, ´Debian GNU/Linux 10 (32-bit)´, ´Debian GNU/Linux 10 (64-bit)´, ´SUSE Linux Enterprise Server 15 (64-bit)´, ´Windows Server 2019 (64-bit)´) +Following there are two queries to help users identify snapshots with a backing store: -Then apply any of the following lines that you might need. +Identify snapshots that were not removed yet and were created from a volume that was created from a template: .. parsed-literal:: + SELECT s.uuid AS "Snapshot ID", + s.name AS "Snapshot Name", + s.created AS "Snapshot creation datetime", + img_s.uuid AS "Sec Storage ID", + img_s.name AS "Sec Storage Name", + ssr.install_path AS "Snapshot path on Sec Storage", + v.uuid AS "Volume ID", + v.name AS "Volume Name" + FROM cloud.snapshots s + INNER JOIN cloud.volumes v ON (v.id = s.volume_id) + INNER JOIN cloud.snapshot_store_ref ssr ON (ssr.snapshot_id = s.id + AND ssr.store_role = 'Image') + INNER JOIN cloud.image_store img_s ON (img_s.id = ssr.store_id) + WHERE s.removed IS NULL + AND v.template_id IS NOT NULL; + +With that, one can use qemu-img info in the snapshot file to check if they have a backing store. + +For those snapshots that have a backing store, one can use the following query to check which template is it and in which storage pool it is: - INSERT INTO cloud.guest_os (uuid, category_id, display_name, created, is_user_defined) VALUES (UUID(), '1', 'CentOS 8', now(), '0'); - INSERT INTO cloud.guest_os (uuid, category_id, display_name, created, is_user_defined) VALUES (UUID(), '2', 'Debian GNU/Linux 10 (32-bit)', now(), '0'); - INSERT INTO cloud.guest_os (uuid, category_id, display_name, created, is_user_defined) VALUES (UUID(), '2', 'Debian GNU/Linux 10 (64-bit)', now(), '0'); - INSERT INTO cloud.guest_os (uuid, category_id, display_name, created, is_user_defined) VALUES (UUID(), '5', 'SUSE Linux Enterprise Server 15 (64-bit)', now(), '0'); - INSERT INTO cloud.guest_os (uuid, category_id, display_name, created, is_user_defined) VALUES (UUID(), '6', 'Windows Server 2019 (64-bit)', now(), '0'); +.. parsed-literal:: + SELECT vt.uuid AS "Template ID", + vt.name AS "Template Name", + tsr.install_path AS "Template file on Pri Storage", + sp.uuid AS "Pri Storage ID", + sp.name AS "Pri Storage Name", + sp.`path` AS "Pri Storage Path", + sp.pool_type as "Pri Storage type" + FROM cloud.template_spool_ref tsr + INNER JOIN cloud.storage_pool sp ON (sp.id = tsr.pool_id AND sp.removed IS NULL) + INNER JOIN cloud.vm_template vt ON (vt.id = tsr.template_id) + WHERE tsr.install_path = "