Project

General

Profile

action #113662

openQA Project - coordination #111860: [epic] Upgrade all our infrastructure, e.g. o3+osd workers+webui and production workloads, to openSUSE Leap 15.4

Ensure upgrade of vanilla Leap 15.3 os-autoinst can be automatically upgraded to Leap 15.4 size:S

Added by okurz 2 months ago. Updated about 2 months ago.

Status:
Resolved
Priority:
Normal
Assignee:
Target version:
Start date:
Due date:
% Done:

0%

Estimated time:

Description

Motivation

See #111863#note-11

Acceptance criteria

  • AC1: A Leap 15.3 system with vanilla os-autoinst (not from devel:openQA) can be cleanly upgraded to Leap 15.4 without the user needing to make zypper conflict resolution selections

Related issues

Copied from openQA Infrastructure - action #111863: Upgrade o3 workers to openSUSE Leap 15.4 size:MResolved

History

#1 Updated by okurz 2 months ago

  • Copied from action #111863: Upgrade o3 workers to openSUSE Leap 15.4 size:M added

#2 Updated by okurz 2 months ago

  • Status changed from New to In Progress
  • Assignee set to okurz

Tested os-autoinst first (then os-autoinst-devel) with:

podman run --rm -it registry.opensuse.org/opensuse/leap:15.3 /bin/sh -c 'zypper -n up && zypper -n in os-autoinst && zypper --releasever=15.4 -n dup'

Nearly complete log:

…
The following 50 packages are going to be upgraded:
  aaa_base boost-license1_66_0 coreutils filesystem glibc grep krb5 libaugeas0 libblkid1 libboost_system1_66_0 libboost_thread1_66_0 libcom_err2 libcrypt1 libcurl4 libfdisk1 libgcc_s1 libglib-2_0-0 libldap-2_4-2 libldap-data liblzma5 libmount1 libopenssl1_1 libpcre1 libprocps7
  libprotobuf-lite20 libpsl5 libsasl2-3 libsmartcols1 libsolv-tools libstdc++6 libsystemd0 libtirpc-netconfig libtirpc3 libudev1 libuuid1 libxml2-2 libyaml-cpp0_6 libz1 libzypp login_defs openSUSE-build-key openssl-1_1 pam perl-base procps rpm shadow update-alternatives util-linux
  zypper

The following NEW package is going to be installed:
  libeconf0

50 packages to upgrade, 1 new.
Overall download size: 21.5 MiB. Already cached: 0 B. After the operation, additional 505.0 KiB will be used.
…
Reading installed packages...
Resolving package dependencies...

The following 226 NEW packages are going to be installed:
  dbus-1 expat file fontconfig gio-branding-SLE git-core glib2-tools gstreamer gstreamer-plugins-base gzip kbd kbd-legacy kmod less libFLAC8 libHalf23 libICE6 libIex-2_2-23 libIlmImf-2_2-23 libIlmThread-2_2-23 libQt5Core5 libQt5DBus5 libQt5Gui5 libQt5Network5 libQt5OpenGL5
  libQt5Test5 libQt5Widgets5 libSM6 libX11-6 libX11-data libX11-xcb1 libXau6 libXext6 libXfixes3 libXft2 libXpm4 libXrender1 libXv1 libapparmor1 libargon2-1 libasound2 libavcodec57 libavformat57 libavutil55 libbluray2 libcairo2 libcbor0 libcdda_interface0 libcdda_paranoia0 libcelt0-2
  libcryptsetup12 libdatrie1 libdbus-1-3 libdc1394-22 libdevmapper1_03 libdouble-conversion3 libdrm2 libedit0 libevdev2 libexif12 libexpat1 libfftw3-3 libfido2-1 libfido2-udev libfreetype6 libfribidi0 libgbm1 libgd3 libgdbm4 libgfortran4 libgio-2_0-0 libglvnd libgmodule-2_0-0
  libgnutls30 libgobject-2_0-0 libgphoto2-6 libgraphene-1_0-0 libgraphite2-3 libgsm1 libgstallocators-1_0-0 libgstapp-1_0-0 libgstaudio-1_0-0 libgstgl-1_0-0 libgstpbutils-1_0-0 libgstreamer-1_0-0 libgstriff-1_0-0 libgsttag-1_0-0 libgstvideo-1_0-0 libgudev-1_0-0 libharfbuzz0
  libhogweed4 libicu-suse65_1 libicu65_1-ledata libinput10 libjasper4 libjbig2 libjpeg8 libjson-c3 libkmod2 liblockdev1 libltdl7 libmp3lame0 libmtdev1 libnettle6 libogg0 libopenblas_pthreads0 libopencv3_3 libopenjpeg1 libopus0 liborc-0_4-0 libpango-1_0-0 libpcre2-16-0 libpcre2-8-0
  libpixman-1-0 libpng16-16 libqrencode4 libquadmath0 libraw1394-11 libseccomp2 libsha1detectcoll1 libsndfile1 libspeex1 libssh2-1 libswresample2 libswscale4 libtbb2 libthai-data libthai0 libtheoradec1 libtheoraenc1 libtiff5 libts0 libtwolame0 libunwind libva-drm2 libva-x11-2 libva2
  libvdpau1 libvisual libvorbis0 libvorbisenc2 libvpx4 libwacom-data libwacom2 libwayland-client0 libwayland-egl1 libwayland-server0 libwebp7 libwebpmux3 libxcb-glx0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-render0 libxcb-shape0 libxcb-shm0
  libxcb-sync1 libxcb-util1 libxcb-xfixes0 libxcb-xinerama0 libxcb-xinput0 libxcb-xkb1 libxcb1 libxkbcommon-x11-0 libxkbcommon0 lockdev openssh-clients openssh-common os-autoinst pam-config perl perl-CPAN-Changes perl-Carp-Always perl-Class-Accessor perl-Class-Data-Inheritable
  perl-Cpanel-JSON-XS perl-Crypt-DES perl-Crypt-Rijndael perl-Devel-StackTrace perl-Devel-Symdump perl-Digest-HMAC perl-Digest-SHA1 perl-Exception-Class perl-Exporter-Tiny perl-File-Touch perl-File-Which perl-IO-Tty perl-IO-stringy perl-IPC-Run perl-IPC-System-Simple
  perl-List-MoreUtils perl-List-MoreUtils-XS perl-Mojo-IOLoop-ReadWriteProcess perl-Mojolicious perl-Net-DBus perl-Net-IP perl-Net-SNMP perl-Net-SSH2 perl-Pod-Coverage perl-Socket-MsgHdr perl-Socket6 perl-Test-Pod perl-Test-Pod-Coverage perl-Try-Tiny perl-XML-LibXML
  perl-XML-NamespaceSupport perl-XML-Parser perl-XML-SAX perl-XML-SAX-Base perl-XML-SemanticDiff perl-XML-Twig pkg-config shared-mime-info suse-module-tools system-group-kvm systemd systemd-default-settings systemd-default-settings-branding-SLE systemd-presets-branding-MicroOS
  systemd-presets-common-SUSE timezone udev which xkeyboard-config

226 new packages to install.
Overall download size: 73.4 MiB. Already cached: 0 B. After the operation, additional 288.1 MiB will be used.
…
Warning: Enforced setting: $releasever=15.4
…
Loading repository data...
Reading installed packages...
Warning: You are about to do a distribution upgrade with all enabled repositories. Make sure these repositories are compatible before you continue. See 'man zypper' for more information about this command.
Computing distribution upgrade...

The following 136 packages are going to be upgraded:
  bash coreutils cpio dbus-1 expat fontconfig glib2-tools gstreamer gstreamer-plugins-base kbd kbd-legacy krb5 kubic-locale-archive less libQt5Core5 libQt5DBus5 libQt5Gui5 libQt5Network5 libQt5OpenGL5 libQt5Test5 libQt5Widgets5 libXfixes3 libapparmor1 libasound2 libaudit1 libaugeas0
  libblkid1 libbz2-1 libcairo2 libcap2 libcom_err2 libcryptsetup12 libcurl4 libdbus-1-3 libdevmapper1_03 libdrm2 libdw1 libeconf0 libelf1 libevdev2 libexpat1 libfdisk1 libfribidi0 libgbm1 libgcrypt20 libgio-2_0-0 libglib-2_0-0 libglvnd libgmodule-2_0-0 libgnutls30 libgobject-2_0-0
  libgpg-error0 libgpgme11 libgraphene-1_0-0 libgstallocators-1_0-0 libgstapp-1_0-0 libgstaudio-1_0-0 libgstgl-1_0-0 libgstpbutils-1_0-0 libgstreamer-1_0-0 libgstriff-1_0-0 libgsttag-1_0-0 libgstvideo-1_0-0 libgudev-1_0-0 libharfbuzz0 libinput10 libjpeg8 liblz4-1 libmount1
  libopenblas_pthreads0 libopenssl1_1 libp11-kit0 libpango-1_0-0 libpcre2-16-0 libpcre2-8-0 libpixman-1-0 libproxy1 libreadline7 libseccomp2 libselinux1 libsemanage1 libsepol1 libsigc-2_0-0 libsmartcols1 libsolv-tools libssh4 libsystemd0 libthai-data libthai0 libudev1 libusb-1_0-0
  libuuid1 libva-drm2 libva-x11-2 libva2 libwacom-data libwacom2 libwayland-client0 libwayland-egl1 libwayland-server0 libxkbcommon-x11-0 libxkbcommon0 libxml2-2 libyaml-cpp0_6 libzstd1 libzypp login_defs openSUSE-build-key openSUSE-release openSUSE-release-appliance-docker
  openssl-1_1 os-autoinst p11-kit p11-kit-tools perl-Carp-Always perl-Cpanel-JSON-XS perl-File-Touch perl-IPC-Run perl-Mojo-IOLoop-ReadWriteProcess perl-Mojolicious perl-Net-SSH2 perl-Socket-MsgHdr perl-XML-SemanticDiff permissions rpm-config-SUSE shadow shared-mime-info
  suse-module-tools system-group-hardware system-group-kvm systemd systemd-presets-branding-MicroOS sysuser-shadow udev util-linux zypper

The following product is going to be upgraded:
  openSUSE Leap 15.3  15.3-2 -> 15.4-1

The following 28 NEW packages are going to be installed:
  bash-sh crypto-policies gio-branding-openSUSE libavcodec58_134 libavformat58_76 libavutil56_70 libbrotlicommon1 libbrotlidec1 libdav1d5 libfontconfig1 libgfortran5 libhogweed6 libip4tc2 libmfx1 libmpg123-0 libnettle8 libopencv3_4 libopenjp2-7 libopenmpt0 libssh-config
  libswresample3_9 libswscale5_9 libvorbisfile3 libvpx7 libwayland-cursor0 perl-File-chdir perl-Time-Moment systemd-rpm-macros

The following package is going to be REMOVED:
  gio-branding-SLE

136 packages to upgrade, 28 new, 1 to remove.
Overall download size: 69.3 MiB. Already cached: 0 B. After the operation, additional 73.7 MiB will be used.
…

so all good. Then podman run --rm -it registry.opensuse.org/opensuse/leap:15.3 /bin/sh -c 'zypper -n up && zypper -n in os-autoinst-devel && zypper --releasever=15.4 -n dup' which ends up reproducing the problem:

Problem: the to be installed os-autoinst-devel-4.6.1639403953.ae94c4bd-bp154.1.137.x86_64 requires 'pkgconfig(opencv)', but this requirement cannot be provided
  deleted providers: opencv-devel-3.3.1-6.6.1.x86_64
not installable providers: opencv3-devel-3.4.16-150400.1.9.x86_64[repo-oss]
 Solution 1: Following actions will be done:
  keep obsolete opencv-devel-3.3.1-6.6.1.x86_64
  keep obsolete opencv-3.3.1-6.6.1.x86_64
 Solution 2: deinstallation of opencv-devel-3.3.1-6.6.1.x86_64
 Solution 3: deinstallation of os-autoinst-devel-4.6.1606482144.ab6cdfe2-bp153.2.6.1.x86_64
 Solution 4: break os-autoinst-devel-4.6.1639403953.ae94c4bd-bp154.1.137.x86_64 by ignoring some of its dependencies

Created https://bugzilla.opensuse.org/show_bug.cgi?id=1201552, assigned to myself

#3 Updated by okurz 2 months ago

osc bco openSUSE:Leap:15.4 os-autoinst
cd home:okurz:branches:openSUSE:Backports:SLE-15-SP4:Update/os-autoinst
vim os-autoinst.spec
msg="Fix os-autoinst-devel opencv dependency for upgrade (boo#1201552)"
osc vc -m "$msg"
osc ci -m "$msg"
osc mr -m "$msg"

-> https://build.opensuse.org/request/show/989458

Also set "publish" in https://build.opensuse.org/projects/home:okurz:branches:openSUSE:Backports:SLE-15-SP4:Update/meta to enabled to test.

EDIT: After https://download.opensuse.org/repositories/home:/okurz:/branches:/openSUSE:/Backports:/SLE-15-SP4:/Update/standard/ was published I could run

podman run --rm -it registry.opensuse.org/opensuse/leap:15.3 /bin/sh -c 'zypper -n ar -f https://download.opensuse.org/repositories/home:/okurz:/branches:/openSUSE:/Backports:/SLE-15-SP4:/Update/standard/home:okurz:branches:openSUSE:Backports:SLE-15-SP4:Update.repo && zypper -n --gpg-auto-import-keys ref && zypper -n up && zypper -n in os-autoinst-devel && zypper --releasever=15.4 -n dup'

I ran into

Problem: nothing provides 'pkgconfig(opencv4)' needed by the to be installed os-autoinst-devel-4.6.1639403953.ae94c4bd-bp154.4.1.x86_64
 Solution 1: do not install os-autoinst-devel-4.6.1639403953.ae94c4bd-bp154.4.1.x86_64
 Solution 2: break os-autoinst-devel-4.6.1639403953.ae94c4bd-bp154.4.1.x86_64 by ignoring some of its dependencies

so seems like something is still missing?

#4 Updated by openqa_review 2 months ago

  • Due date set to 2022-07-30

Setting due date based on mean cycle time of SUSE QE Tools

#5 Updated by okurz 2 months ago

https://openqa.opensuse.org/tests/2471169#step/qam_zypper_patch/14 seems to reproduce the same problem:

0| 2022-07-16 08:44:55 <1> localhost.localdomain(11827) [zypp::solver] SATResolver.cc(problems):1296 the to be installed os-autoinst-devel-4.6.1639403953.ae94c4bd-bp154.2.3.1.x86_64 requires 'pkgconfig(opencv4)', but this requirement cannot be provided

#6 Updated by okurz 2 months ago

  • Status changed from In Progress to Feedback

As commented on https://build.opensuse.org/request/show/989570#comment-1653437 we just need to accept the conflict and resolve manually whenever hit. Waiting for https://build.opensuse.org/request/show/989570 to be accepted nevertheless.

#7 Updated by cdywan 2 months ago

  • Subject changed from Ensure upgrade of vanilla Leap 15.3 os-autoinst can be automatically upgraded to Leap 15.4 to Ensure upgrade of vanilla Leap 15.3 os-autoinst can be automatically upgraded to Leap 15.4 size:S

#8 Updated by okurz 2 months ago

  • Due date deleted (2022-07-30)
  • Status changed from Feedback to Blocked

#9 Updated by okurz about 2 months ago

  • Status changed from Blocked to Resolved

request accepted, maintenance update available, all good now.

Also available in: Atom PDF