!27 Train support

From: @xiyuanwang
Reviewed-by: 
Signed-off-by:
This commit is contained in:
openeuler-ci-bot 2021-11-12 02:34:35 +00:00 committed by Gitee
commit eaf56622d3
3 changed files with 91 additions and 169 deletions

View File

@ -1,61 +0,0 @@
From 61fdc7d0caa978864e196a48d06ff262f7c78dc9 Mon Sep 17 00:00:00 2001
From: FFrog <ljw1101.vip@gmail.com>
Date: Thu, 9 Sep 2021 19:35:41 +0800
Subject: [PATCH] downgrade the version of qemu from 4.2.0 to 4.1.0
---
nova/virt/libvirt/driver.py | 24 ++++++++++++++++++++++--
1 file changed, 22 insertions(+), 2 deletions(-)
diff --git a/nova/virt/libvirt/driver.py b/nova/virt/libvirt/driver.py
index 8ee8757..e447b85 100644
--- a/nova/virt/libvirt/driver.py
+++ b/nova/virt/libvirt/driver.py
@@ -213,7 +213,7 @@ patch_tpool_proxy()
#
# DO NOT FORGET to update this document when touching any versions below!
MIN_LIBVIRT_VERSION = (6, 0, 0)
-MIN_QEMU_VERSION = (4, 2, 0)
+MIN_QEMU_VERSION = (4, 1, 0)
NEXT_MIN_LIBVIRT_VERSION = (7, 0, 0)
NEXT_MIN_QEMU_VERSION = (5, 2, 0)
@@ -234,6 +234,10 @@ VGPU_RESOURCE_SEMAPHORE = 'vgpu_resources'
LIBVIRT_PERF_EVENT_PREFIX = 'VIR_PERF_PARAM_'
+# -blockdev support (replacing -drive)
+MIN_LIBVIRT_BLOCKDEV = (6, 0, 0)
+MIN_QEMU_BLOCKDEV = (4, 2, 0)
+
# VDPA interface support
MIN_LIBVIRT_VDPA = (6, 9, 0)
MIN_QEMU_VDPA = (5, 1, 0)
@@ -2092,7 +2096,23 @@ class LibvirtDriver(driver.ComputeDriver):
guest.delete_configuration(support_uefi)
try:
- dev.copy(conf.to_xml(), reuse_ext=True)
+ # NOTE(lyarwood): Use virDomainBlockCopy from libvirt >= 6.0.0
+ # and QEMU >= 4.2.0 with -blockdev domains allowing QEMU to
+ # copy to remote disks.
+ if self._host.has_min_version(lv_ver=MIN_LIBVIRT_BLOCKDEV,
+ hv_ver=MIN_QEMU_BLOCKDEV):
+ dev.copy(conf.to_xml(), reuse_ext=True)
+ else:
+ # TODO(lyarwood): Remove the following use of
+ # virDomainBlockRebase once MIN_LIBVIRT_VERSION hits >=
+ # 6.0.0 and MIN_QEMU_VERSION hits >= 4.2.0.
+ # Start copy with VIR_DOMAIN_BLOCK_REBASE_REUSE_EXT flag to
+ # allow writing to existing external volume file. Use
+ # VIR_DOMAIN_BLOCK_REBASE_COPY_DEV if it's a block device
+ # to make sure XML is generated correctly (bug 1691195)
+ copy_dev = conf.source_type == 'block'
+ dev.rebase(conf.source_path, copy=True, reuse_ext=True,
+ copy_dev=copy_dev)
while not dev.is_job_complete():
time.sleep(0.5)
--
2.27.0

View File

@ -1,7 +1,5 @@
%{!?upstream_version: %global upstream_version %{version}%{?milestone}}
%global with_doc 0
%global qemu_version 3.1.0
%global libvirt_version 5.0.0
%global common_desc \
OpenStack Compute (codename Nova) is open source software designed to \
@ -16,17 +14,14 @@ standard hardware configurations and seven major hypervisors.
Name: openstack-nova
# Liberty semver reset
# https://review.openstack.org/#/q/I6a35fa0dda798fad93b804d00a46af80f08d475c,n,z
Version: 23.0.1
Release: 5
Version: 20.6.1
Release: 1
Summary: OpenStack Compute (nova)
License: ASL 2.0
URL: http://openstack.org/projects/compute/
Source0: https://tarballs.openstack.org/nova/nova-%{upstream_version}.tar.gz
Patch0: 0001-downgrade-the-version-of-qemu-from-4.2.0-to-4.1.0.patch
Source1: nova-dist.conf
Source6: nova.logrotate
@ -66,7 +61,7 @@ BuildRequires: python3-netaddr
BuildRequires: python3-pbr
BuildRequires: python3-six
BuildRequires: python3-oslo-i18n
BuildRequires: python3-cryptography >= 2.1
BuildRequires: python3-cryptography
BuildRequires: python3-oslo-policy
# Required for unit tests
BuildRequires: python3-barbicanclient
@ -113,10 +108,10 @@ Requires: python3-nova = %{version}-%{release}
Requires(pre): shadow-utils
BuildRequires: systemd
# Required to build nova.conf.sample
BuildRequires: python3-castellan >= 0.16.0
BuildRequires: python3-castellan
BuildRequires: python3-glanceclient
BuildRequires: python3-keystonemiddleware
BuildRequires: python3-microversion-parse >= 0.2.1
BuildRequires: python3-microversion-parse
BuildRequires: python3-os-brick
BuildRequires: python3-oslo-db
BuildRequires: python3-oslo-reports
@ -127,7 +122,7 @@ BuildRequires: python3-paramiko
BuildRequires: python3-babel
BuildRequires: python3-lxml
BuildRequires: python3-websockify >= 0.9.0
BuildRequires: python3-websockify
# remove old service subpackage
@ -154,18 +149,18 @@ Requires: /usr/bin/virsh
Requires: openssh-clients
Requires: rsync
Requires: lvm2
Requires: python3-cinderclient >= 3.3.0
Requires: python3-cinderclient
Requires: genisoimage
Requires(pre): qemu >= %{qemu_version}
Requires(pre): qemu-block-rbd >= %{qemu_version}
Requires(pre): qemu-block-ssh >= %{qemu_version}
Requires(pre): python3-libvirt >= %{libvirt_version}
Requires(pre): libvirt-daemon-driver-nodedev >= %{libvirt_version}
Requires(pre): libvirt-daemon-driver-nwfilter >= %{libvirt_version}
Requires(pre): libvirt-daemon-driver-secret >= %{libvirt_version}
Requires(pre): libvirt-daemon-driver-qemu >= %{libvirt_version}
Requires(pre): libvirt-daemon-driver-storage-core >= %{libvirt_version}
Requires(pre): qemu
Requires(pre): qemu-block-rbd
Requires(pre): qemu-block-ssh
Requires(pre): python3-libvirt
Requires(pre): libvirt-daemon-driver-nodedev
Requires(pre): libvirt-daemon-driver-nwfilter
Requires(pre): libvirt-daemon-driver-secret
Requires(pre): libvirt-daemon-driver-qemu
Requires(pre): libvirt-daemon-driver-storage-core
Requires: sg3_utils
Requires: sysfsutils
@ -197,7 +192,7 @@ to run Virtual Machines in the cloud.
Summary: OpenStack Nova API services
Requires: openstack-nova-common = %{version}-%{release}
Requires: python3-cinderclient >= 3.3.0
Requires: python3-cinderclient
%description api
%{common_desc}
@ -220,7 +215,7 @@ Summary: OpenStack Nova noVNC proxy service
Requires: openstack-nova-common = %{version}-%{release}
Requires: novnc
Requires: python3-websockify >= 0.9.0
Requires: python3-websockify
%description novncproxy
@ -233,7 +228,7 @@ VNC traffic over browser websockets connections.
Summary: OpenStack Nova Spice HTML5 console access service
Requires: openstack-nova-common = %{version}-%{release}
Requires: python3-websockify >= 0.9.0
Requires: python3-websockify
%description spicehtml5proxy
%{common_desc}
@ -245,7 +240,7 @@ spice HTML5 console access service to Virtual Machines.
Summary: OpenStack Nova serial console access service
Requires: openstack-nova-common = %{version}-%{release}
Requires: python3-websockify >= 0.9.0
Requires: python3-websockify
%description serialproxy
%{common_desc}
@ -272,74 +267,74 @@ Requires: openssl
Requires: openssh
Requires: sudo
Requires: python3-paramiko >= 2.7.1
Requires: python3-eventlet >= 0.26.1
Requires: python3-iso8601 >= 0.1.11
Requires: python3-netaddr >= 0.7.18
Requires: python3-paramiko
Requires: python3-eventlet
Requires: python3-iso8601
Requires: python3-netaddr
Requires: python3-boto
Requires: python3-stevedore >= 1.20.0
Requires: python3-sqlalchemy >= 1.2.19
Requires: python3-alembic >= 0.8.0
Requires: python3-routes >= 2.3.1
Requires: python3-webob >= 1.8.2
Requires: python3-castellan >= 0.16.0
Requires: python3-cryptography >= 2.7
Requires: python3-cursive >= 0.2.1
Requires: python3-dataclasses >= 0.7
Requires: python3-stevedore
Requires: python3-sqlalchemy
Requires: python3-alembic
Requires: python3-routes
Requires: python3-webob
Requires: python3-castellan
Requires: python3-cryptography
Requires: python3-cursive
Requires: python3-dataclasses
Requires: python3-glanceclient
Requires: python3-greenlet >= 0.4.13
Requires: python3-keystonemiddleware >= 4.20.0
Requires: python3-keystoneauth1 >= 3.16.0
Requires: python3-jinja2 >= 2.10
Requires: python3-jsonschema >= 3.2.0
Requires: python3-microversion-parse >= 0.2.1
Requires: python3-neutronclient >= 6.7.0
Requires: python3-novaclient >= 2.30.1
Requires: python3-openstacksdk >= 0.35.0
Requires: python3-os-brick >= 4.2.0
Requires: python3-os-resource-classes >= 0.4.0
Requires: python3-os-traits >= 2.5.0
Requires: python3-oslo-cache >= 1.26.0
Requires: python3-oslo-concurrency >= 4.3.0
Requires: python3-oslo-config >= 6.8.0
Requires: python3-oslo-context >= 3.1.1
Requires: python3-oslo-db >= 4.44.0
Requires: python3-oslo-i18n >= 5.0.1
Requires: python3-oslo-log >= 4.4.0
Requires: python3-oslo-messaging >= 10.3.0
Requires: python3-oslo-middleware >= 3.31.0
Requires: python3-oslo-policy >= 3.6.0
Requires: python3-oslo-privsep >= 2.4.0
Requires: python3-oslo-reports >= 1.18.0
Requires: python3-oslo-rootwrap >= 5.8.0
Requires: python3-oslo-serialization >= 4.0.1
Requires: python3-oslo-service >= 2.4.0
Requires: python3-oslo-upgradecheck >= 1.3.0
Requires: python3-oslo-utils >= 4.7.0
Requires: python3-oslo-versionedobjects >= 1.35.0
Requires: python3-os-vif >= 1.14.0
Requires: python3-oslo-vmware >= 1.16.0
Requires: python3-pbr >= 5.5.0
Requires: python3-prettytable >= 0.7.1
Requires: python3-psutil >= 3.2.2
Requires: python3-requests >= 2.23.0
Requires: python3-rfc3986 >= 1.2.0
Requires: python3-taskflow >= 3.8.0
Requires: python3-tooz >= 1.58.0
Requires: python3-os-service-types >= 1.7.0
Requires: python3-dateutil >= 2.6.0
Requires: python3-futurist >= 1.8.0
Requires: python3-greenlet
Requires: python3-keystonemiddleware
Requires: python3-keystoneauth1
Requires: python3-jinja2
Requires: python3-jsonschema
Requires: python3-microversion-parse
Requires: python3-neutronclient
Requires: python3-novaclient
Requires: python3-openstacksdk
Requires: python3-os-brick
Requires: python3-os-resource-classes
Requires: python3-os-traits
Requires: python3-oslo-cache
Requires: python3-oslo-concurrency
Requires: python3-oslo-config
Requires: python3-oslo-context
Requires: python3-oslo-db
Requires: python3-oslo-i18n
Requires: python3-oslo-log
Requires: python3-oslo-messaging
Requires: python3-oslo-middleware
Requires: python3-oslo-policy
Requires: python3-oslo-privsep
Requires: python3-oslo-reports
Requires: python3-oslo-rootwrap
Requires: python3-oslo-serialization
Requires: python3-oslo-service
Requires: python3-oslo-upgradecheck
Requires: python3-oslo-utils
Requires: python3-oslo-versionedobjects
Requires: python3-os-vif
Requires: python3-oslo-vmware
Requires: python3-pbr
Requires: python3-prettytable
Requires: python3-psutil
Requires: python3-requests
Requires: python3-rfc3986
Requires: python3-taskflow
Requires: python3-tooz
Requires: python3-os-service-types
Requires: python3-dateutil
Requires: python3-futurist
Requires: python3-decorator >= 4.1.0
Requires: python3-lxml >= 4.2.3
Requires: python3-decorator
Requires: python3-lxml
Requires: python3-ldap
Requires: python3-memcached
Requires: python3-sqlalchemy-migrate
Requires: python3-paste >= 2.0.2
Requires: python3-paste-deploy >= 1.5.0
Requires: python3-netifaces >= 0.10.4
Requires: python3-retrying >= 1.3.3
Requires: python3-yaml >= 5.1
Requires: python3-paste
Requires: python3-paste-deploy
Requires: python3-netifaces
Requires: python3-retrying
Requires: python3-yaml
%description -n python3-nova
%{common_desc}
@ -377,7 +372,7 @@ BuildRequires: python3-oslo-config
BuildRequires: python3-oslo-log
BuildRequires: python3-oslo-messaging
BuildRequires: python3-oslo-utils
BuildRequires: python3-rfc3986 >= 1.1.0
BuildRequires: python3-rfc3986
BuildRequires: python3-routes
BuildRequires: python3-sphinx
BuildRequires: python3-sphinxcontrib-actdiag
@ -656,6 +651,10 @@ exit 0
%{_bindir}/nova-rootwrap
%{_bindir}/nova-rootwrap-daemon
%{_bindir}/nova-status
%{_bindir}/nova-console
%{_bindir}/nova-dhcpbridge
%{_bindir}/nova-xvpvncproxy
%if 0%{?with_doc}
%{_mandir}/man1/nova*.1.gz
@ -673,6 +672,7 @@ exit 0
%{_bindir}/nova-compute
%{_unitdir}/openstack-nova-compute.service
%{_datarootdir}/nova/rootwrap/compute.filters
%{_datarootdir}/nova/rootwrap/network.filters
%files scheduler
%{_bindir}/nova-scheduler
@ -682,6 +682,7 @@ exit 0
%{_bindir}/nova-api*
%{_bindir}/nova-metadata-wsgi
%{_unitdir}/openstack-nova-*api.service
%{_datarootdir}/nova/rootwrap/api-metadata.filters
%files conductor
%{_bindir}/nova-conductor
@ -729,24 +730,6 @@ exit 0
%endif
%changelog
* Thu Sep 09 2021 ffrog <ljw1101.vip@gmail.com> - 23.0.1-5
- Fix the bugs about downgrading the version requirement of qemu from 4.2.0 to 4.1.0
* Tue Sep 07 2021 ffrog <ljw1101.vip@gmail.com> - 23.0.1-4
- Downgrade the version requirement of qemu from 4.2.0 to 4.1.0
* Tue Aug 24 2021 huangtianhua <huangtianhua@huawei.com> - 23.0.1-3
- Fix requires errors
* Tue Aug 24 2021 wangxiyuan <wangxiyuan1007@gmail.com> - 23.0.1-2
- Drop lxc related requires.
* Fri Jul 23 2021 liksh <liks11@chinaunicom.cn> 23.0.1-1
- Update to 23.0.1
* Sat Feb 20 2021 wangxiyuan <wangxiyuan1007@gmail.com>
- Fix require issue
* Fri Jan 15 2021 joec88 <joseph.chn1988@gmail.com>
- openEuler build version
* Fri Nov 05 2021 wangxiyuan <wangxiyuan1007@gmail.com> - 20.6.1-1
- Support OpenStack Train release