On 11/19/19 3:32 AM, Andrea Bolognani wrote:
On Tue, 2019-11-19 at 00:21 +0000, Jim Fehlig wrote:
> Signed-off-by: Jim Fehlig <jfehlig(a)suse.com>
> ---
> guests/configs/autoinst.xml | 86 +++++++++++++++++++
> .../libvirt-opensuse-15.1/docker.yml | 2 +
> .../libvirt-opensuse-15.1/install.yml | 2 +
> .../host_vars/libvirt-opensuse-15.1/main.yml | 22 +++++
> guests/inventory | 1 +
> guests/lcitool | 2 +
> guests/vars/mappings.yml | 38 +++++++-
> 7 files changed, 151 insertions(+), 2 deletions(-)
First of all, thank you for following through with your promise of
looking into this! I'm looking forward to being able to merge your
changes and finally have proper openSUSE support in our CI :)
Thanks for the help!
[...]
> +++ b/guests/configs/autoinst.xml
> + <partitioning config:type="list">
> + <drive>
> + <device>/dev/vda</device>
> + <use>all</use>
> + <partitions config:type="list">
> + <partition>
> + <filesystem config:type="symbol">swap</filesystem>
> + <size>500M</size>
> + <mount>swap</mount>
We give other guests only 256 MiB of swap, so do the same here to
be consistent. Building libvirt and friends is CPU-bound rather than
memory-bound anyway, so more than that leeway is not necessary.
[...]
> + <add-on>
> + <add_on_products config:type="list">
> + <listentry>
> +
<
media_url>http://download.opensuse.org/distribution/leap/15.1/repo/oss...
> + <name>repo-oss</name>
> + </listentry>
> + <listentry>
> +
<
media_url>http://download.opensuse.org/update/leap/15.1/oss</media_...
> + <name>repo-update</name>
> + </listentry>
> + <listentry>
> +
<
media_url>http://download.opensuse.org/distribution/leap/15.1/repo/non...
> + <name>repo-non-oss</name>
> + </listentry>
> + <listentry>
> +
<
media_url>http://download.opensuse.org/update/leap/15.1/non-oss/</m...
> + <name>repo-update-non-oss</name>
> + </listentry>
Do we actually need the non-OSS repositories to be updated? I would
hope not! But I'm not familiar with how openSUSE organizes its
repositories, so I'm going by name only :)
Probably not needed. I'll try to trim this after working through other issues.
[...]
> + <firewall>
> + <enable_firewall>true</enable_firewall>
> + </firewall>
As you mention somewhere else, we probably don't need this.
[...]
> +++ b/guests/host_vars/libvirt-opensuse-15.1/main.yml
> +package_format: 'rpm'
> +package_manager: 'zypper'
> +os_name: 'openSUSE'
> +os_version: '15.1'
So, about the naming.
What I would have done here is
os_name: 'OpenSUSE'
os_version: '15'
The intial capital letter in os_name goes against the actual branding
for openSUSE so I'm not perfectly happy with it, but on the other
hand it's very useful when defining mappings because package formats
all start with a lowercase letter and all OS names start with an
uppercase letter. So I would try to stick with that convention.
Ok, no problem.
As for os_version, if you look at all existing entries we use the
major version number only: eg. we have CentOS7 instead of CentOS7.7
and FreeBSD12 instead of FreeBSD12.1: this makes sense because, as
the guest gets updated over time, it will naturally pick up the
latest minor release. Will this work for openSUSE too?
I suppose so. Although for example Leap 15.2 will have a different kernel (5.3.
vs 4.12), different install path
(
http://download.opensuse.org/distribution/leap/15.2/repo/oss/), etc. Is that okay?
(Ubuntu is a slight exception in that the major version itself
contains a dot, so we just shortened 18.04 to 18 because we know
that there's never going to be two LTS releases per year.)
> +++ b/guests/host_vars/libvirt-opensuse-15.1/docker.yml
> @@ -0,0 +1,2 @@
> +---
> +docker_base: openSUSE:15.1
I believe these images are now deprecated, and opensuse/leap
should be used instead.
Looking at
https://hub.docker.com/r/opensuse/leap/tags
I see that the '15.1', '15' and 'latest' tags point to the same
set
of digests, so that seems to confirm that we can use just 15 as the
version number and have
docker_base: opensuse/leap:15
in this file.
Sorry, I didn't even look at this. I simply put something in there with a mental
note to check on it later. Thanks for checking on it sooner :-).
[...]
> +++ b/guests/inventory
> @@ -8,5 +8,6 @@ libvirt-fedora-rawhide
> libvirt-freebsd-11
> libvirt-freebsd-12
> libvirt-freebsd-current
> +libvirt-opensuse-15.1
Based on the points above, I think this could and should be
libvirt-opensuse-15
[...]
> @@ -127,6 +129,7 @@ mappings:
> dbus-daemon:
> default: dbus
> Fedora: dbus-daemon
> + openSUSE: dbus-1
You see how weird this looks, due to the first letter being
lower case? :)
I'm not going to review the mappings in detail right now because I
simply lack the time. Once 'lcitool update' works for you without
errors, I'll look into it.
Sounds good.
Fabiano already pointed out where you need to look to sort out the
issues you've been experiencing, so I'll leave you to it now :)
Thanks to you both!
Regards,
Jim