From 3ce6db2807370ba150b9bd3c97fea518e8ca1a75 Mon Sep 17 00:00:00 2001 From: jxy_git Date: Wed, 24 May 2023 15:29:03 +0800 Subject: [PATCH] Set vdsm id as system uuid from dmidecode on aarch64 --- 0008-modify-sshd-core-version.patch | 25 ++ 0009-fix-engine-setup-problem.patch | 228 ++++++++++++++++++ 0010-fix-host-installation-failure.patch | 43 ++++ ...rom-dmidecode-system-uuid-on-aarch64.patch | 41 ++++ ovirt-engine.spec | 27 ++- 5 files changed, 356 insertions(+), 8 deletions(-) create mode 100755 0008-modify-sshd-core-version.patch create mode 100644 0009-fix-engine-setup-problem.patch create mode 100644 0010-fix-host-installation-failure.patch create mode 100644 0011-get-vdsm-id-from-dmidecode-system-uuid-on-aarch64.patch diff --git a/0008-modify-sshd-core-version.patch b/0008-modify-sshd-core-version.patch new file mode 100755 index 0000000..cf0e005 --- /dev/null +++ b/0008-modify-sshd-core-version.patch @@ -0,0 +1,25 @@ +From a405d8b048c2e9c9795bb554d75370df1d088d6b Mon Sep 17 00:00:00 2001 +From: jxy_git +Date: Fri, 21 Oct 2022 10:35:44 +0800 +Subject: [PATCH] modify sshd-core version + +--- + pom.xml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pom.xml b/pom.xml +index 19d1cf0..bc389d3 100644 +--- a/pom.xml ++++ b/pom.xml +@@ -63,7 +63,7 @@ + 1.0.0.Final + 5.2.0 + 2.2.7 +- 2.5.0 ++ 2.8.0 + 1.5.7 + 1.7.5 + 2.9.0 +-- +2.33.0 + diff --git a/0009-fix-engine-setup-problem.patch b/0009-fix-engine-setup-problem.patch new file mode 100644 index 0000000..a15228d --- /dev/null +++ b/0009-fix-engine-setup-problem.patch @@ -0,0 +1,228 @@ +From ed6bf930fc3177f920908e2421adf980710ec57f Mon Sep 17 00:00:00 2001 +From: Super User +Date: Wed, 8 Mar 2023 11:36:07 +0800 +Subject: [PATCH] fix engine-setup problem + +--- + packaging/bin/engine-backup.sh.in | 3 ++- + packaging/setup/bin/ovirt-engine-upgrade-check.in | 6 ++---- + .../setup/ovirt_engine_setup/engine_common/postgres.py | 6 ++---- + .../ovirt-engine-common/base/core/offlinepackager.py | 6 ++---- + .../ovirt-engine-common/core/offlinepackager.py | 6 ++---- + .../ovirt-engine-common/dialog/titles.py | 6 ++---- + .../ovirt-engine-common/distro-rpm/packages.py | 6 ++---- + .../ovirt-engine-common/distro-rpm/versionlock_config.py | 7 ++++--- + .../plugins/ovirt-engine-setup/ovirt-engine/system/nfs.py | 6 ++---- + 9 files changed, 20 insertions(+), 32 deletions(-) + +diff --git a/packaging/bin/engine-backup.sh.in b/packaging/bin/engine-backup.sh.in +index fd3151b..25120e8 100755 +--- a/packaging/bin/engine-backup.sh.in ++++ b/packaging/bin/engine-backup.sh.in +@@ -994,7 +994,8 @@ dobackup() { + } + + getOSVersion() { +- python@PY_VERSION@ -c 'import platform; d = platform.linux_distribution(full_distribution_name=0); print("%s%s" % (d[0], d[1].split(".")[0]))' ++# python@PY_VERSION@ -c 'import platform; d = platform.linux_distribution(full_distribution_name=0); print("%s%s" % (d[0], d[1].split(".")[0]))' ++ python@PY_VERSION@ -c 'import distro; print("%s%s" % (distro.id(), distrio.version().split(".")[0]))' + } + + createtar() { +diff --git a/packaging/setup/bin/ovirt-engine-upgrade-check.in b/packaging/setup/bin/ovirt-engine-upgrade-check.in +index f357f01..2bae272 100755 +--- a/packaging/setup/bin/ovirt-engine-upgrade-check.in ++++ b/packaging/setup/bin/ovirt-engine-upgrade-check.in +@@ -15,7 +15,7 @@ import platform + import optparse + import gettext + import glob +- ++import distro + + from otopi import common + from otopi import constants as otopicons +@@ -118,9 +118,7 @@ def main(): + setup_packages = get_setup_packages() + + try: +- if platform.linux_distribution( +- full_distribution_name=0 +- )[0] not in ('redhat', 'fedora', 'centos'): ++ if distro.id() not in ('redhat', 'fedora', 'centos','openeuler'): + raise RuntimeError(_('Unsupported distribution')) + + exit = 1 +diff --git a/packaging/setup/ovirt_engine_setup/engine_common/postgres.py b/packaging/setup/ovirt_engine_setup/engine_common/postgres.py +index 51c9c4b..bd8ba4b 100644 +--- a/packaging/setup/ovirt_engine_setup/engine_common/postgres.py ++++ b/packaging/setup/ovirt_engine_setup/engine_common/postgres.py +@@ -15,7 +15,7 @@ import random + import re + import shutil + import time +- ++import distro + from otopi import base + from otopi import constants as otopicons + from otopi import filetransaction +@@ -449,9 +449,7 @@ class Provisioning(base.Base): + self.command.detect('psql') + + def supported(self): +- return platform.linux_distribution( +- full_distribution_name=0 +- )[0] in ('redhat', 'fedora', 'centos') ++ return distro.id() in ('redhat', 'fedora', 'centos','openeuler') + + def validate(self): + if not self.services.exists( +diff --git a/packaging/setup/plugins/ovirt-engine-common/base/core/offlinepackager.py b/packaging/setup/plugins/ovirt-engine-common/base/core/offlinepackager.py +index 7108668..629930a 100644 +--- a/packaging/setup/plugins/ovirt-engine-common/base/core/offlinepackager.py ++++ b/packaging/setup/plugins/ovirt-engine-common/base/core/offlinepackager.py +@@ -12,7 +12,7 @@ + + import gettext + import platform +- ++import distro + from otopi import constants as otopicons + from otopi import packager + from otopi import plugin +@@ -52,9 +52,7 @@ class Plugin(plugin.PluginBase, packager.PackagerBase): + + def __init__(self, context): + super(Plugin, self).__init__(context=context) +- self._distribution = platform.linux_distribution( +- full_distribution_name=0 +- )[0] ++ self._distribution = distro.id() + + @plugin.event( + stage=plugin.Stages.STAGE_INIT, +diff --git a/packaging/setup/plugins/ovirt-engine-provisiondb/ovirt-engine-common/core/offlinepackager.py b/packaging/setup/plugins/ovirt-engine-provisiondb/ovirt-engine-common/core/offlinepackager.py +index 911357c..fbdfc98 100644 +--- a/packaging/setup/plugins/ovirt-engine-provisiondb/ovirt-engine-common/core/offlinepackager.py ++++ b/packaging/setup/plugins/ovirt-engine-provisiondb/ovirt-engine-common/core/offlinepackager.py +@@ -14,7 +14,7 @@ + + import gettext + import platform +- ++import distro + from otopi import constants as otopicons + from otopi import packager + from otopi import plugin +@@ -54,9 +54,7 @@ class Plugin(plugin.PluginBase, packager.PackagerBase): + + def __init__(self, context): + super(Plugin, self).__init__(context=context) +- self._distribution = platform.linux_distribution( +- full_distribution_name=0 +- )[0] ++ self._distribution = distro.id() + + @plugin.event( + stage=plugin.Stages.STAGE_INIT, +diff --git a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine-common/dialog/titles.py b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine-common/dialog/titles.py +index 5f8d02f..9cc2958 100644 +--- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine-common/dialog/titles.py ++++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine-common/dialog/titles.py +@@ -12,7 +12,7 @@ + + import gettext + import platform +- ++import distro + from otopi import plugin + from otopi import util + +@@ -35,9 +35,7 @@ class Plugin(plugin.PluginBase): + + def __init__(self, context): + super(Plugin, self).__init__(context=context) +- self._distribution = platform.linux_distribution( +- full_distribution_name=0 +- )[0] ++ self._distribution = distro.id() + + @plugin.event( + stage=plugin.Stages.STAGE_CUSTOMIZATION, +diff --git a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine-common/distro-rpm/packages.py b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine-common/distro-rpm/packages.py +index 2987052..e7a29ef 100644 +--- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine-common/distro-rpm/packages.py ++++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine-common/distro-rpm/packages.py +@@ -15,7 +15,7 @@ import datetime + import gettext + import os + import platform +- ++import distro + from otopi import constants as otopicons + from otopi import plugin + from otopi import transaction +@@ -266,9 +266,7 @@ class Plugin(plugin.PluginBase): + super(Plugin, self).__init__(context=context) + self._shouldResultVersionLock = False + self._enabled = False +- self._distribution = platform.linux_distribution( +- full_distribution_name=0 +- )[0] ++ self._distribution = distro.id() + + @plugin.event( + stage=plugin.Stages.STAGE_INIT, +diff --git a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine-common/distro-rpm/versionlock_config.py b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine-common/distro-rpm/versionlock_config.py +index 7e9fd9b..47b1f09 100644 +--- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine-common/distro-rpm/versionlock_config.py ++++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine-common/distro-rpm/versionlock_config.py +@@ -12,7 +12,7 @@ + + import os + import platform +- ++import distro + from otopi import constants as otopicons + from otopi import filetransaction + from otopi import plugin +@@ -40,9 +40,10 @@ class Plugin(plugin.PluginBase): + os.path.exists(YUM_VERSIONLOCK_CONF) and + not self.environment[osetupcons.CoreEnv.DEVELOPER_MODE] and + not self.environment[osetupcons.CoreEnv.OFFLINE_PACKAGER] and +- platform.linux_distribution(full_distribution_name=0)[0] in ( ++ distro.id() in ( + 'redhat', +- 'centos' ++ 'centos', ++ 'openeuler' + ) + ) + ) +diff --git a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/nfs.py b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/nfs.py +index a09934d..e43a771 100644 +--- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/nfs.py ++++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/system/nfs.py +@@ -15,7 +15,7 @@ NFS and RPCbind services configuration plugin. + import gettext + import os + import platform +- ++import distro + from otopi import constants as otopicons + from otopi import filetransaction + from otopi import plugin +@@ -47,9 +47,7 @@ class Plugin(plugin.PluginBase): + + def __init__(self, context): + super(Plugin, self).__init__(context=context) +- self._distribution = platform.linux_distribution( +- full_distribution_name=0 +- )[0] ++ self._distribution = distro.id() + + @plugin.event( + stage=plugin.Stages.STAGE_INIT, +-- +2.39.1 + diff --git a/0010-fix-host-installation-failure.patch b/0010-fix-host-installation-failure.patch new file mode 100644 index 0000000..70dd3c4 --- /dev/null +++ b/0010-fix-host-installation-failure.patch @@ -0,0 +1,43 @@ +From 388c9a082697d1c736ad74d983671a85699c133d Mon Sep 17 00:00:00 2001 +From: wangdi +Date: Tue, 14 Mar 2023 10:12:57 +0800 +Subject: [PATCH] fix host installation failure + +--- + .../project/roles/ovirt-host-deploy-facts/tasks/host-os.yml | 2 +- + .../plugins/ovirt-engine-setup/ovirt-engine/apache/runner.py | 3 ++- + 2 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/packaging/ansible-runner-service-project/project/roles/ovirt-host-deploy-facts/tasks/host-os.yml b/packaging/ansible-runner-service-project/project/roles/ovirt-host-deploy-facts/tasks/host-os.yml +index ef92743..f45415a 100644 +--- a/packaging/ansible-runner-service-project/project/roles/ovirt-host-deploy-facts/tasks/host-os.yml ++++ b/packaging/ansible-runner-service-project/project/roles/ovirt-host-deploy-facts/tasks/host-os.yml +@@ -10,7 +10,7 @@ + + - name: Check if system is OpenEuler + set_fact: +- ansible_python_interpreter: "{{ 'usr/bin/python3' }}" ++ ansible_python_interpreter: "{{ '/usr/bin/python3' }}" + when: + ansible_distribution == 'openEuler' + +diff --git a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/apache/runner.py b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/apache/runner.py +index 8a8be55..2b3c3a1 100644 +--- a/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/apache/runner.py ++++ b/packaging/setup/plugins/ovirt-engine-setup/ovirt-engine/apache/runner.py +@@ -82,10 +82,11 @@ class Plugin(plugin.PluginBase): + ), + content=textwrap.dedent(''' + Listen {port} ++ WSGIRestrictEmbedded On + + WSGIDaemonProcess runner user={user} group={group} threads=4 + WSGIProcessGroup runner +- WSGIScriptAlias / {runner_wsgi_file} ++ WSGIScriptAlias / {runner_wsgi_file} process-group=runner application-group=%{{GLOBAL}} + + ''').format( + runner_wsgi_file=runner_wsgi_file, +-- +2.39.1 + diff --git a/0011-get-vdsm-id-from-dmidecode-system-uuid-on-aarch64.patch b/0011-get-vdsm-id-from-dmidecode-system-uuid-on-aarch64.patch new file mode 100644 index 0000000..2d74778 --- /dev/null +++ b/0011-get-vdsm-id-from-dmidecode-system-uuid-on-aarch64.patch @@ -0,0 +1,41 @@ +From a8dd9ed10a3f272c4ba8c5f619c66eaf243e7112 Mon Sep 17 00:00:00 2001 +From: wangdi +Date: Tue, 14 Mar 2023 17:11:34 +0800 +Subject: [PATCH] get vdsm id from dmidecode system-uuid on aarch64 + +--- + .../project/roles/ovirt-host-deploy-vdsm/tasks/vdsmid.yml | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/packaging/ansible-runner-service-project/project/roles/ovirt-host-deploy-vdsm/tasks/vdsmid.yml b/packaging/ansible-runner-service-project/project/roles/ovirt-host-deploy-vdsm/tasks/vdsmid.yml +index 87c7d87..c3612b9 100644 +--- a/packaging/ansible-runner-service-project/project/roles/ovirt-host-deploy-vdsm/tasks/vdsmid.yml ++++ b/packaging/ansible-runner-service-project/project/roles/ovirt-host-deploy-vdsm/tasks/vdsmid.yml +@@ -23,13 +23,13 @@ + name: dmidecode + state: present + +- - name: Detect vdsm id for x86_64 or i686 ++ - name: Detect vdsm id for x86_64 or i686 or aarch64 + shell: dmidecode -s system-uuid + register: vdsm_id_res + tags: + - skip_ansible_lint # E305 + +- - name: Set vdsm id for x86_64 or i686 ++ - name: Set vdsm id for x86_64 or i686 or aarch64 + set_fact: + vdsm_id: "{{ vdsm_id_res.stdout }}" + when: +@@ -39,7 +39,7 @@ + when: + - not vdsm_id_stat.stat.exists + - not vdsm_id +- - (ansible_facts.architecture == 'x86_64' or ansible_facts.architecture == 'i686') ++ - (ansible_facts.architecture == 'x86_64' or ansible_facts.architecture == 'i686' or ansible_facts.architecture == 'aarch64') + + - block: + - name: Verify ppc system id path exists +-- +2.39.1 + diff --git a/ovirt-engine.spec b/ovirt-engine.spec index 18563a6..2c15f6d 100644 --- a/ovirt-engine.spec +++ b/ovirt-engine.spec @@ -176,7 +176,7 @@ getent passwd %1 >/dev/null || useradd -r -u %2 -g %3 -c %5 -s /sbin/nologin -d Name: ovirt-engine Version: 4.4.4.1 -Release: 6 +Release: 7 Summary: Management server for Open Virtualization Group: %{ovirt_product_group} License: Apache 2.0 @@ -197,6 +197,10 @@ Patch4: 0004-fit-cluster-can-not-find-error-under-aarch64-platform.patch Patch5: 0005-fix-interface-report-an-error-when-emulatedMachine-is-null.patch Patch6: 0007-add-config-item-for-openeuler.patch Patch7: CVE-2020-10775.patch +Patch8: 0008-modify-sshd-core-version.patch +Patch9: 0009-fix-engine-setup-problem.patch +Patch10: 0010-fix-host-installation-failure.patch +Patch11: 0011-get-vdsm-id-from-dmidecode-system-uuid-on-aarch64.patch BuildArch: noarch BuildRequires: assertj-core >= 2.2.0 @@ -214,7 +218,7 @@ BuildRequires: javapackages-local Requires(pre): shadow-utils Requires: ovirt-engine-wildfly-overlay = 19.1.0 -Requires: ansible +Requires: ansible Requires: sudo >= 1.9.2 Requires: %{name}-backend = %{version}-%{release} @@ -446,8 +450,8 @@ Requires: %{name}-setup-plugin-imageio = %{version}-%{release} Requires: %{name}-dwh-setup >= 4.4.1.2 Requires: ovirt-engine-extension-aaa-jdbc >= 1.2.0 Requires: openssh >= 8.2p1 -Requires: postgresql-server -Requires: postgresql-contrib +Requires: postgresql-server +Requires: postgresql-contrib Conflicts: %{name} < 4.4.0 # See rhbz# 1676461 Requires: ovirt-vmconsole >= 1.0.7 @@ -645,6 +649,10 @@ Setup imageio service. %patch5 -p1 %patch6 -p1 %patch7 -p1 +%patch8 -p1 +%patch9 -p1 +%patch10 -p1 +%patch11 -p1 sed -i '87s/@Test/\/\/@Test/g' backend/manager/modules/vdsbroker/src/test/java/org/ovirt/engine/core/vdsbroker/builder/vminfo/LibvirtVmXmlBuilderTest.java sed -i '88s/@MockedConfig/\/\/@MockedConfig/g' backend/manager/modules/vdsbroker/src/test/java/org/ovirt/engine/core/vdsbroker/builder/vminfo/LibvirtVmXmlBuilderTest.java sed -i '121s/@Test/\/\/@Test/g' backend/manager/modules/bll/src/test/java/org/ovirt/engine/core/bll/AddClusterCommandTest.java @@ -935,12 +943,12 @@ perl -i -pe 's/^SHA1-Digest: [^\n]+\n//g' "%{buildroot}%{engine_ear}/META-INF/MA %endif install -dm 755 "%{buildroot}%{engine_data}/modules/common/org/apache/sshd/main" -cp backend/target/lib/sshd-core-2.5.0.jar %{buildroot}%{engine_data}/modules/common/org/apache/sshd/main -cp backend/target/lib/sshd-common-2.5.0.jar %{buildroot}%{engine_data}/modules/common/org/apache/sshd/main +cp backend/target/lib/sshd-core-2.8.0.jar %{buildroot}%{engine_data}/modules/common/org/apache/sshd/main +cp backend/target/lib/sshd-common-2.8.0.jar %{buildroot}%{engine_data}/modules/common/org/apache/sshd/main rm -rf %{buildroot}%{engine_data}/modules/common/org/apache/sshd/main/sshd-core.jar rm -rf %{buildroot}%{engine_data}/modules/common/org/apache/sshd/main/sshd-common.jar -sed -i 's/sshd-common.jar/sshd-common-2.5.0.jar/g' %{buildroot}%{engine_data}/modules/common/org/apache/sshd/main/module.xml -sed -i 's/sshd-core.jar/sshd-core-2.5.0.jar/g' %{buildroot}%{engine_data}/modules/common/org/apache/sshd/main/module.xml +sed -i 's/sshd-common.jar/sshd-common-2.8.0.jar/g' %{buildroot}%{engine_data}/modules/common/org/apache/sshd/main/module.xml +sed -i 's/sshd-core.jar/sshd-core-2.8.0.jar/g' %{buildroot}%{engine_data}/modules/common/org/apache/sshd/main/module.xml install -dm 755 "%{buildroot}%{_datadir}/java/ebay-cors-filter" cp backend/manager/modules/utils/target/lib/cors-filter-1.0.1.jar %{buildroot}%{_datadir}/java/ebay-cors-filter/cors-filter.jar @@ -1293,6 +1301,9 @@ fi %{engine_data}/setup/bin/ovirt-engine-health %changelog +* Wed May 24 2023 jiangxinyu - 4.4.4.1-7 +- Set vdsm id as system uuid from dmidecode on aarch64 + * Mon Aug 29 2022 jiangxinyu - 4.4.4.1-6 - Remove OVN/OVS support