Bug 1217509 - [Build 20231126-1] dependency issue for podman 4.7.2
Summary: [Build 20231126-1] dependency issue for podman 4.7.2
Status: REOPENED
Alias: None
Product: PUBLIC SUSE Linux Enterprise Server 15 SP5
Classification: openSUSE
Component: Containers (show other bugs)
Version: unspecified
Hardware: Other Other
: P5 - None : Major
Target Milestone: ---
Assignee: Containers Team
QA Contact:
URL: https://openqa.suse.de/tests/12905291...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-11-27 08:06 UTC by Anton Smorodskyi
Modified: 2023-11-28 12:26 UTC (History)
4 users (show)

See Also:
Found By: openQA
Services Priority:
Business Priority:
Blocker: Yes
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Anton Smorodskyi 2023-11-27 08:06:37 UTC
## Observation

openQA test in scenario sle-15-SP5-JeOS-for-kvm-and-xen-Updates-x86_64-jeos-containers-podman@svirt-xen-pv fails in
[podman](https://openqa.suse.de/tests/12905291/modules/podman/steps/25)

```
the to be installed podman-4.7.2-150500.3.3.1.x86_64 obsoletes 'podman-cni-config < 4.5.1' provided by the to be installed podman-cni-config-4.4.4-150500.1.4.noarch

```

## Reproducible

Fails since (at least) Build [20231126-1](https://openqa.suse.de/tests/12905291) (current job)


## Expected result

Last good: [20231124-1](https://openqa.suse.de/tests/12900226) (or more recent)


## Further details

Always latest result in this scenario: [latest](https://openqa.suse.de/tests/latest?arch=x86_64&distri=sle&flavor=JeOS-for-kvm-and-xen-Updates&machine=svirt-xen-pv&test=jeos-containers-podman&version=15-SP5)
Comment 1 Dan Čermák 2023-11-27 08:54:36 UTC
This is not a bug in podman, you're installing a deprecated package.
Comment 2 Marcus Meissner 2023-11-27 09:46:28 UTC
This seems to be a testcase issue.

it seems it does

zypper in podman podman-cni-config

podman-cni-config is not shipped anymore with this version update and
the podman main RPM has:

# deprecate unused podman-cni-config subpackage
Provides:       %{name}-cni-config = %{version}
Obsoletes:      %{name}-cni-config < 4.5.1

which is the correct way to deinstall the podman-cni-config package.

os-autoinst-distri-opensuse has two places where this might come from:

data/containers/autoyast_containers.xml.ep:      <package>podman-cni-config</package>
lib/containers/common.pm:            push(@pkgs, 'podman-cni-config') if is_jeos();

I think its might be the autoyast part
Comment 3 Martin Loviska 2023-11-27 11:42:59 UTC
(In reply to Marcus Meissner from comment #2)
> This seems to be a testcase issue.

Is this applicable only for 15-SP5 and onwards? The same test cases are not failing for older JeOS images.
Comment 4 Martin Loviska 2023-11-27 12:27:26 UTC
(In reply to Martin Loviska from comment #3)
> (In reply to Marcus Meissner from comment #2)
> > This seems to be a testcase issue.
> 
> Is this applicable only for 15-SP5 and onwards? The same test cases are not
> failing for older JeOS images.

Tried sp4[0] and sp5[1], both work fine, so I am going to update the tests

[0] http://kepler.suse.cz/tests/22241#step/podman/39
[1] http://kepler.suse.cz/tests/22239#step/podman/39
Comment 5 Marcus Meissner 2023-11-27 13:08:18 UTC
(In reply to Martin Loviska from comment #3)
> (In reply to Marcus Meissner from comment #2)
> > This seems to be a testcase issue.
> 
> Is this applicable only for 15-SP5 and onwards? The same test cases are not
> failing for older JeOS images.

only SLES 15 SP5 / SLE Micro 5.5 has received this change so far.
Comment 6 Danish Prakash 2023-11-28 06:33:16 UTC
(In reply to Martin Loviska from comment #3)
> (In reply to Marcus Meissner from comment #2)
> > This seems to be a testcase issue.
> 
> Is this applicable only for 15-SP5 and onwards? The same test cases are not
> failing for older JeOS images.

that's right, it will be there in SP5 and above, including ALP.
Comment 7 Felix Niederwanger 2023-11-28 09:49:03 UTC
Removing `podman-cni-config` from all SP versions causes test issues on 15-SP2 and 15-SP1, e.g. https://openqa.suse.de/tests/12911747#step/podman/67

We got the statement, that the `podman-cni-config` package is empty and the only purpose was to migration from podman 1.6. Based on this statement we removed it everywhere, but on older SLES versions (namely 15-SP2 and 15-SP1) this means there is no default network configuration available anymore.

Is this package now empty and not used at or will it just be deprecated from podman 4.7 anwards?
Comment 8 Felix Niederwanger 2023-11-28 10:38:12 UTC
Ok, I did some digging. On SLES when you install `podman` there is always a default network configured, because `podman-cni-config` is implicitly installed on all SLES versions (I tested 15-SP1 to 15-SP5).

On JeOS/MinimalVM we have `solver.onlyRequires = true`, so zypper will only install required packages (as opposed to SLES). There the `podman-cni-config` package is NOT installed.

From JeOS 15-SP3 onwards the setup still results in a working default network configuration: 

> chicken-15-sp3:~ # zypper se podman
> S  | Name              | Summary                                    | Type
> ---+-------------------+--------------------------------------------+-----------
> i+ | podman            | Daemon-less container engine for managin-> | package
>    | podman            | Daemon-less container engine for managin-> | srcpackage
>    | podman-cni-config | Basic CNI configuration for podman         | package
> chicken-15-sp3:~ # podman network ls
> NETWORK ID    NAME        VERSION     PLUGINS
> 2f259bab93aa  podman      0.4.0       bridge,portmap,firewall,tuning

On JeOS 15-SP2 and 15-SP1 however, one needs to install `podman-cni-config` in order to get the default network configuration:

> chicken-15-sp2:~ # zypper in podman
> chicken-15-sp2:~ # zypper se podman
> S  | Name              | Summary                                    | Type
> ---+-------------------+--------------------------------------------+-----------
> i+ | podman            | Daemon-less container engine for managin-> | package
>    | podman            | Daemon-less container engine for managin-> | srcpackage
>    | podman-cni-config | Basic CNI configuration for podman         | package
> podman network ls
> chicken-15-sp2:~ # podman network ls
> NAME    VERSION  PLUGINS
> chicken-15-sp2:~ # zypper in podman-cni-config
> chicken-15-sp2:~ # podman network ls
> NAME    VERSION  PLUGINS
> podman  0.4.0    bridge,portmap,firewall,tuning

We will adapt our test code accordingly and install `podman-cni-config` on <15-SP3.

The statement that `podman-cni-config` is an empty packet is something we cannot confirm from a functional perspective.
Comment 9 Dan Čermák 2023-11-28 10:45:11 UTC
(In reply to Felix Niederwanger from comment #8)
> 
> The statement that `podman-cni-config` is an empty packet is something we
> cannot confirm from a functional perspective.

I was only ever speaking about SP4+ and Factory. There it is an empty package that only ever contained a %posttrans scriptlet.