Re: [libvirt] [jenkins-ci] guests: Add support for openSUSE Leap 15.1

2019-11-26 Thread Andrea Bolognani
On Tue, 2019-11-26 at 08:17 +0100, Fabiano Fidêncio wrote:
> On Tue, Nov 26, 2019 at 2:21 AM Jim Fehlig  wrote:
> > On 11/19/19 6:52 AM, Fabiano Fidêncio wrote:
> > > - Look for files
> > >- There's a "Look for files" rule (in
> > > guests/playbooks/update/tasks/paths.yml) which will just bail out as
> > > /usr/local/etc doesn't exist in openSUSE. It has to be tweaked as
> > > well;
> > 
> > It is not clear to me what can be done in the yml file. How far can I bend 
> > the
> > rules? :-) E.g. would something like the following work?
> > 
> > shell: 'find /usr/local/etc -name {{ item }} 2>/dev/null || find /etc -name 
> > {{
> > item }} 2>/dev/null'
> 
> I do believe that's the way to go.

Actually the way we currently call to find is kinda yucky (I can say
that because I've introduced it :) and I'd much rather we handled
sudoers the same way we handle grub.cfg[0], that is, using Ansible's
native facilities instead of embedded shell scripting.

> > > - Configure ccache:
> > >- This is a rule in guests/playbooks/update/tasks/users.yml, which
> > > takes into consideration that when the test user is created, we'll
> > > have a test group created as well, which doesn't happen on openSUSE.
> > > So, it also need some tweak;
> > 
> > I can add the test group via the autoyast file. Does the group require any
> > specific properties? gid? System group?
> 
> AFAIU we just need the group to be there. So, no, no specific properties.

Just create the group using the appropriate Ansible module[1] before
creating the user that's supposed to be in it. You should make sure
doing so doesn't cause any regression for other operating systems,
but I don't see why it would.


[0] playbooks/update/tasks/bootloader.yml
[1] https://docs.ansible.com/ansible/latest/modules/group_module.html
-- 
Andrea Bolognani / Red Hat / Virtualization

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [jenkins-ci] guests: Add support for openSUSE Leap 15.1

2019-11-25 Thread Fabiano Fidêncio
On Tue, Nov 26, 2019 at 2:21 AM Jim Fehlig  wrote:
>
> On 11/19/19 6:52 AM, Fabiano Fidêncio wrote:
> > On Tue, Nov 19, 2019 at 11:33 AM Andrea Bolognani  
> > wrote:
> >>
> >> On Tue, 2019-11-19 at 00:21 +, Jim Fehlig wrote:
> >>> Signed-off-by: Jim Fehlig 
> >>> ---
> >>>   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 :)
> >>
> >> [...]
> >>> +++ b/guests/configs/autoinst.xml
> >>> +  
> >>> +
> >>> +  /dev/vda
> >>> +  all
> >>> +  
> >>> +
> >>> +  swap
> >>> +  500M
> >>> +  swap
> >>
> >> 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.
> >>
> >> [...]
> >>> +  
> >>> +
> >>> +  
> >>> +
> >>> http://download.opensuse.org/distribution/leap/15.1/repo/oss/
> >>> +repo-oss
> >>> +  
> >>> +  
> >>> +
> >>> http://download.opensuse.org/update/leap/15.1/oss
> >>> +repo-update
> >>> +  
> >>> +  
> >>> +
> >>> http://download.opensuse.org/distribution/leap/15.1/repo/non-oss/
> >>> +repo-non-oss
> >>> +  
> >>> +  
> >>> +
> >>> http://download.opensuse.org/update/leap/15.1/non-oss/
> >>> +repo-update-non-oss
> >>> +  
> >>
> >> 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 :)
> >>
> >> [...]
> >>> +  
> >>> +true
> >>> +  
> >>
> >> 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.
> >>
> >> 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?
> >>
> >> (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.
> >>
> >> [...]
> >>> +++ 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.
> >>
> >>
> >> Fabiano already pointed out where you need to look to sort out the
> >> issues you've been experiencing, 

Re: [libvirt] [jenkins-ci] guests: Add support for openSUSE Leap 15.1

2019-11-25 Thread Jim Fehlig
On 11/19/19 6:52 AM, Fabiano Fidêncio wrote:
> On Tue, Nov 19, 2019 at 11:33 AM Andrea Bolognani  wrote:
>>
>> On Tue, 2019-11-19 at 00:21 +, Jim Fehlig wrote:
>>> Signed-off-by: Jim Fehlig 
>>> ---
>>>   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 :)
>>
>> [...]
>>> +++ b/guests/configs/autoinst.xml
>>> +  
>>> +
>>> +  /dev/vda
>>> +  all
>>> +  
>>> +
>>> +  swap
>>> +  500M
>>> +  swap
>>
>> 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.
>>
>> [...]
>>> +  
>>> +
>>> +  
>>> +
>>> http://download.opensuse.org/distribution/leap/15.1/repo/oss/
>>> +repo-oss
>>> +  
>>> +  
>>> +
>>> http://download.opensuse.org/update/leap/15.1/oss
>>> +repo-update
>>> +  
>>> +  
>>> +
>>> http://download.opensuse.org/distribution/leap/15.1/repo/non-oss/
>>> +repo-non-oss
>>> +  
>>> +  
>>> +
>>> http://download.opensuse.org/update/leap/15.1/non-oss/
>>> +repo-update-non-oss
>>> +  
>>
>> 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 :)
>>
>> [...]
>>> +  
>>> +true
>>> +  
>>
>> 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.
>>
>> 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?
>>
>> (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.
>>
>> [...]
>>> +++ 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.
>>
>>
>> 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 :)
> 
> Apart from what I pointed out, I've also faced a few issues when
> trying out your patch:
> - grub stays in a loop, forever;
>- I've worked this around by not setting "--graphics none --console
> pty" and removing "console=ttyS0" from the extra_arg line;
>- It really has to be solved in a better way ;-)

I've 

Re: [libvirt] [jenkins-ci] guests: Add support for openSUSE Leap 15.1

2019-11-21 Thread Andrea Bolognani
On Wed, 2019-11-20 at 23:19 +0100, Fabiano Fidêncio wrote:
> On Wed, Nov 20, 2019 at 10:46 PM Jim Fehlig  wrote:
> > On 11/20/19 2:16 PM, Fabiano Fidêncio wrote:
> > > On Wed, Nov 20, 2019 at 8:44 PM Jim Fehlig  wrote:
> > > > 15.1 will continue to be actively supported alongside 15.2 for six 
> > > > months after
> > > > the release of 15.2. The lifecycle is described here
> > > > 
> > > > https://en.opensuse.org/Lifetime
> > > > 
> > > > Perhaps it is best to just support the latest Leap release plus openSUSE
> > > > Tumbleweed? I.e. I send a patch to replace the 15.1 machine with 15.2 
> > > > once it is
> > > > released.
> > > 
> > > I'd adopt the same policy we have for other distros. Support the last
> > > two releases (as in, Fedora 30 and Fedora 31).

Unless it makes more sense to support the latest 42.x and the latest
15.x instead?

But it looks like the former has been discontinued now, so perhaps
just the latest 15.x and then, once that's released, the latest
16.x (guessing the version number :) in addition to that?

> > > Leap seems to fit in the "Fedora" case. Thus, I'd keep 15.1, 15.2, 15.3, 
> > > ...
> > 
> > But how to name those? Is a '.' in the name problematic? Should inventory 
> > have
> > libvirt-opensuse-15.1, libvirt-opensuse-15.2, etc?
> 
> Now, knowing the release and life cycles, I'd suggest to keep it as:
> libvirt-opensuse-15.1, libvirt-opensuse-15.2, and so on ... exactly as
> you did in the patch you submitted.

Agreed.

Incidentally, once we start introducing x.y version numbers it would
make sense to rename Ubuntu guests so that they look like

  libvirt-ubuntu-18.04

and so on.

> > > Together with that, I really would like to have Tumbleweed supported as 
> > > well.
> > 
> > Nod. That one is easy to name: libvirt-opensuse-tw :-).

Please just call it

  libvirt-opensuse-tumbleweed

instead: no need to use shorthands.

-- 
Andrea Bolognani / Red Hat / Virtualization

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [jenkins-ci] guests: Add support for openSUSE Leap 15.1

2019-11-20 Thread Fabiano Fidêncio
On Wed, Nov 20, 2019 at 10:46 PM Jim Fehlig  wrote:
>
> On 11/20/19 2:16 PM, Fabiano Fidêncio wrote:
> > On Wed, Nov 20, 2019 at 8:44 PM Jim Fehlig  wrote:
> >>
> >> On 11/19/19 11:56 PM, Fabiano Fidêncio wrote:
> >>> On Wed, Nov 20, 2019 at 12:01 AM Jim Fehlig  wrote:
> 
>  On 11/19/19 3:32 AM, Andrea Bolognani wrote:
> > On Tue, 2019-11-19 at 00:21 +, Jim Fehlig wrote:
> >>
> >> [...]
> >>
> >> +++ 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?
> >>>
> >>> It depends a lot on what's the OpenSUSE policy of its distro. Once
> >>> 15.2 is out, what happens to 15.1? Is this just a "minor" update? Will
> >>> 15.1 still be supported or are people expected to just update /
> >>> upgrade to 15.2?
> >>
> >> 15.1 will continue to be actively supported alongside 15.2 for six months 
> >> after
> >> the release of 15.2. The lifecycle is described here
> >>
> >> https://en.opensuse.org/Lifetime
> >>
> >> Perhaps it is best to just support the latest Leap release plus openSUSE
> >> Tumbleweed? I.e. I send a patch to replace the 15.1 machine with 15.2 once 
> >> it is
> >> released.
> >
> > I'd adopt the same policy we have for other distros. Support the last
> > two releases (as in, Fedora 30 and Fedora 31).
> >
> > Leap seems to fit in the "Fedora" case. Thus, I'd keep 15.1, 15.2, 15.3, ...
>
> But how to name those? Is a '.' in the name problematic? Should inventory have
> libvirt-opensuse-15.1, libvirt-opensuse-15.2, etc?

Now, knowing the release and life cycles, I'd suggest to keep it as:
libvirt-opensuse-15.1, libvirt-opensuse-15.2, and so on ... exactly as
you did in the patch you submitted.

>
> > Together with that, I really would like to have Tumbleweed supported as 
> > well.
>
> Nod. That one is easy to name: libvirt-opensuse-tw :-).
>
> Regards,
> Jim


--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [jenkins-ci] guests: Add support for openSUSE Leap 15.1

2019-11-20 Thread Jim Fehlig
On 11/20/19 2:16 PM, Fabiano Fidêncio wrote:
> On Wed, Nov 20, 2019 at 8:44 PM Jim Fehlig  wrote:
>>
>> On 11/19/19 11:56 PM, Fabiano Fidêncio wrote:
>>> On Wed, Nov 20, 2019 at 12:01 AM Jim Fehlig  wrote:

 On 11/19/19 3:32 AM, Andrea Bolognani wrote:
> On Tue, 2019-11-19 at 00:21 +, Jim Fehlig wrote:
>>
>> [...]
>>
>> +++ 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?
>>>
>>> It depends a lot on what's the OpenSUSE policy of its distro. Once
>>> 15.2 is out, what happens to 15.1? Is this just a "minor" update? Will
>>> 15.1 still be supported or are people expected to just update /
>>> upgrade to 15.2?
>>
>> 15.1 will continue to be actively supported alongside 15.2 for six months 
>> after
>> the release of 15.2. The lifecycle is described here
>>
>> https://en.opensuse.org/Lifetime
>>
>> Perhaps it is best to just support the latest Leap release plus openSUSE
>> Tumbleweed? I.e. I send a patch to replace the 15.1 machine with 15.2 once 
>> it is
>> released.
> 
> I'd adopt the same policy we have for other distros. Support the last
> two releases (as in, Fedora 30 and Fedora 31).
> 
> Leap seems to fit in the "Fedora" case. Thus, I'd keep 15.1, 15.2, 15.3, ...

But how to name those? Is a '.' in the name problematic? Should inventory have 
libvirt-opensuse-15.1, libvirt-opensuse-15.2, etc?

> Together with that, I really would like to have Tumbleweed supported as well.

Nod. That one is easy to name: libvirt-opensuse-tw :-).

Regards,
Jim

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [jenkins-ci] guests: Add support for openSUSE Leap 15.1

2019-11-20 Thread Fabiano Fidêncio
On Wed, Nov 20, 2019 at 8:44 PM Jim Fehlig  wrote:
>
> On 11/19/19 11:56 PM, Fabiano Fidêncio wrote:
> > On Wed, Nov 20, 2019 at 12:01 AM Jim Fehlig  wrote:
> >>
> >> On 11/19/19 3:32 AM, Andrea Bolognani wrote:
> >>> On Tue, 2019-11-19 at 00:21 +, Jim Fehlig wrote:
>
> [...]
>
>  +++ 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?
> >
> > It depends a lot on what's the OpenSUSE policy of its distro. Once
> > 15.2 is out, what happens to 15.1? Is this just a "minor" update? Will
> > 15.1 still be supported or are people expected to just update /
> > upgrade to 15.2?
>
> 15.1 will continue to be actively supported alongside 15.2 for six months 
> after
> the release of 15.2. The lifecycle is described here
>
> https://en.opensuse.org/Lifetime
>
> Perhaps it is best to just support the latest Leap release plus openSUSE
> Tumbleweed? I.e. I send a patch to replace the 15.1 machine with 15.2 once it 
> is
> released.

I'd adopt the same policy we have for other distros. Support the last
two releases (as in, Fedora 30 and Fedora 31).

Leap seems to fit in the "Fedora" case. Thus, I'd keep 15.1, 15.2, 15.3, ...
Together with that, I really would like to have Tumbleweed supported as well.

Best Regards,
-- 
Fabiano Fidêncio


--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [jenkins-ci] guests: Add support for openSUSE Leap 15.1

2019-11-20 Thread Jim Fehlig
On 11/20/19 1:03 AM, Andrea Bolognani wrote:
> On Wed, 2019-11-20 at 07:56 +0100, Fabiano Fidêncio wrote:
>> On Wed, Nov 20, 2019 at 12:01 AM Jim Fehlig  wrote:
>>> On 11/19/19 3:32 AM, Andrea Bolognani wrote:
 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?
>>
>> It depends a lot on what's the OpenSUSE policy of its distro. Once
>> 15.2 is out, what happens to 15.1? Is this just a "minor" update? Will
>> 15.1 still be supported or are people expected to just update /
>> upgrade to 15.2?
> 
> Yeah, the changing kernel is not much of an issue (Fedora rawhide,
> Debian sid and FreeBSD -CURRENT certainly fits into that category as
> well :), it's more a question of whether, as Fabiano said, eg. 15.1
> and 15.2 are considered two separate branches where each of them
> continues to get significant development over time, or if (as is the
> case for RHEL minor releases) once eg. 7.8 is out, people are mostly
> expected to move off 7.7.
> 
> In the latter case, I would expect the transition to be mostly
> smooth: running the daily update procedure on a 15.1 machine after
> 15.2 has been released would advance the OS to 15.2. That's not
> necessarily a hard requirement either, however: for example, FreeBSD
> doesn't work like that and requires an explicit upgrade step instead.

It sounds like Tumbleweed fits into the later case, whereas Leap is more like 
FreeBSD. E.g. upgrading from 15.1 to 15.2 requires changing the configured 
repos 
(http://download.opensuse.org/distribution/leap/15.2/repo/oss/) and running 
'zypper dist-upgrade'.

Regards,
Jim

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [jenkins-ci] guests: Add support for openSUSE Leap 15.1

2019-11-20 Thread Jim Fehlig
On 11/19/19 11:56 PM, Fabiano Fidêncio wrote:
> On Wed, Nov 20, 2019 at 12:01 AM Jim Fehlig  wrote:
>>
>> On 11/19/19 3:32 AM, Andrea Bolognani wrote:
>>> On Tue, 2019-11-19 at 00:21 +, Jim Fehlig wrote:

[...]

 +++ 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?
> 
> It depends a lot on what's the OpenSUSE policy of its distro. Once
> 15.2 is out, what happens to 15.1? Is this just a "minor" update? Will
> 15.1 still be supported or are people expected to just update /
> upgrade to 15.2?

15.1 will continue to be actively supported alongside 15.2 for six months after 
the release of 15.2. The lifecycle is described here

https://en.opensuse.org/Lifetime

Perhaps it is best to just support the latest Leap release plus openSUSE 
Tumbleweed? I.e. I send a patch to replace the 15.1 machine with 15.2 once it 
is 
released.

Regards,
Jim

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [jenkins-ci] guests: Add support for openSUSE Leap 15.1

2019-11-20 Thread Andrea Bolognani
On Wed, 2019-11-20 at 07:56 +0100, Fabiano Fidêncio wrote:
> On Wed, Nov 20, 2019 at 12:01 AM Jim Fehlig  wrote:
> > On 11/19/19 3:32 AM, Andrea Bolognani wrote:
> > > 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?
> 
> It depends a lot on what's the OpenSUSE policy of its distro. Once
> 15.2 is out, what happens to 15.1? Is this just a "minor" update? Will
> 15.1 still be supported or are people expected to just update /
> upgrade to 15.2?

Yeah, the changing kernel is not much of an issue (Fedora rawhide,
Debian sid and FreeBSD -CURRENT certainly fits into that category as
well :), it's more a question of whether, as Fabiano said, eg. 15.1
and 15.2 are considered two separate branches where each of them
continues to get significant development over time, or if (as is the
case for RHEL minor releases) once eg. 7.8 is out, people are mostly
expected to move off 7.7.

In the latter case, I would expect the transition to be mostly
smooth: running the daily update procedure on a 15.1 machine after
15.2 has been released would advance the OS to 15.2. That's not
necessarily a hard requirement either, however: for example, FreeBSD
doesn't work like that and requires an explicit upgrade step instead.

-- 
Andrea Bolognani / Red Hat / Virtualization

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] [jenkins-ci] guests: Add support for openSUSE Leap 15.1

2019-11-19 Thread Fabiano Fidêncio
On Wed, Nov 20, 2019 at 12:01 AM Jim Fehlig  wrote:
>
> On 11/19/19 3:32 AM, Andrea Bolognani wrote:
> > On Tue, 2019-11-19 at 00:21 +, Jim Fehlig wrote:
> >> Signed-off-by: Jim Fehlig 
> >> ---
> >>   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
> >> +  
> >> +
> >> +  /dev/vda
> >> +  all
> >> +  
> >> +
> >> +  swap
> >> +  500M
> >> +  swap
> >
> > 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.
> >
> > [...]
> >> +  
> >> +
> >> +  
> >> +
> >> http://download.opensuse.org/distribution/leap/15.1/repo/oss/
> >> +repo-oss
> >> +  
> >> +  
> >> +
> >> http://download.opensuse.org/update/leap/15.1/oss
> >> +repo-update
> >> +  
> >> +  
> >> +
> >> http://download.opensuse.org/distribution/leap/15.1/repo/non-oss/
> >> +repo-non-oss
> >> +  
> >> +  
> >> +
> >> http://download.opensuse.org/update/leap/15.1/non-oss/
> >> +repo-update-non-oss
> >> +  
> >
> > 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.
>
> > [...]
> >> +  
> >> +true
> >> +  
> >
> > 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?

It depends a lot on what's the OpenSUSE policy of its distro. Once
15.2 is out, what happens to 15.1? Is this just a "minor" update? Will
15.1 still be supported or are people expected to just update /
upgrade to 15.2?

>
> > (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 @@ 

Re: [libvirt] [jenkins-ci] guests: Add support for openSUSE Leap 15.1

2019-11-19 Thread Fabiano Fidêncio
On Wed, Nov 20, 2019 at 12:11 AM Jim Fehlig  wrote:
>
> On 11/19/19 6:52 AM, Fabiano Fidêncio wrote:
> > On Tue, Nov 19, 2019 at 11:33 AM Andrea Bolognani  
> > wrote:
> >>
> >> On Tue, 2019-11-19 at 00:21 +, Jim Fehlig wrote:
> >>> Signed-off-by: Jim Fehlig 
> >>> ---
> >>>   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 :)
> >>
> >> [...]
> >>> +++ b/guests/configs/autoinst.xml
> >>> +  
> >>> +
> >>> +  /dev/vda
> >>> +  all
> >>> +  
> >>> +
> >>> +  swap
> >>> +  500M
> >>> +  swap
> >>
> >> 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.
> >>
> >> [...]
> >>> +  
> >>> +
> >>> +  
> >>> +
> >>> http://download.opensuse.org/distribution/leap/15.1/repo/oss/
> >>> +repo-oss
> >>> +  
> >>> +  
> >>> +
> >>> http://download.opensuse.org/update/leap/15.1/oss
> >>> +repo-update
> >>> +  
> >>> +  
> >>> +
> >>> http://download.opensuse.org/distribution/leap/15.1/repo/non-oss/
> >>> +repo-non-oss
> >>> +  
> >>> +  
> >>> +
> >>> http://download.opensuse.org/update/leap/15.1/non-oss/
> >>> +repo-update-non-oss
> >>> +  
> >>
> >> 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 :)
> >>
> >> [...]
> >>> +  
> >>> +true
> >>> +  
> >>
> >> 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.
> >>
> >> 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?
> >>
> >> (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.
> >>
> >> [...]
> >>> +++ 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.
> >>
> >>
> >> Fabiano already pointed out where you need to look to sort out the
> >> issues you've been experiencing, 

Re: [libvirt] [jenkins-ci] guests: Add support for openSUSE Leap 15.1

2019-11-19 Thread Jim Fehlig
On 11/19/19 6:52 AM, Fabiano Fidêncio wrote:
> On Tue, Nov 19, 2019 at 11:33 AM Andrea Bolognani  wrote:
>>
>> On Tue, 2019-11-19 at 00:21 +, Jim Fehlig wrote:
>>> Signed-off-by: Jim Fehlig 
>>> ---
>>>   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 :)
>>
>> [...]
>>> +++ b/guests/configs/autoinst.xml
>>> +  
>>> +
>>> +  /dev/vda
>>> +  all
>>> +  
>>> +
>>> +  swap
>>> +  500M
>>> +  swap
>>
>> 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.
>>
>> [...]
>>> +  
>>> +
>>> +  
>>> +
>>> http://download.opensuse.org/distribution/leap/15.1/repo/oss/
>>> +repo-oss
>>> +  
>>> +  
>>> +
>>> http://download.opensuse.org/update/leap/15.1/oss
>>> +repo-update
>>> +  
>>> +  
>>> +
>>> http://download.opensuse.org/distribution/leap/15.1/repo/non-oss/
>>> +repo-non-oss
>>> +  
>>> +  
>>> +
>>> http://download.opensuse.org/update/leap/15.1/non-oss/
>>> +repo-update-non-oss
>>> +  
>>
>> 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 :)
>>
>> [...]
>>> +  
>>> +true
>>> +  
>>
>> 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.
>>
>> 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?
>>
>> (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.
>>
>> [...]
>>> +++ 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.
>>
>>
>> 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 :)
> 
> Apart from what I pointed out, I've also faced a few issues when
> trying out your patch:
> - grub stays in a loop, forever;
>- I've worked this around by not setting "--graphics none --console
> pty" and removing "console=ttyS0" from the extra_arg line;
>- It really has to be solved in a better way ;-)

I've 

Re: [libvirt] [jenkins-ci] guests: Add support for openSUSE Leap 15.1

2019-11-19 Thread Jim Fehlig
On 11/19/19 3:32 AM, Andrea Bolognani wrote:
> On Tue, 2019-11-19 at 00:21 +, Jim Fehlig wrote:
>> Signed-off-by: Jim Fehlig 
>> ---
>>   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
>> +  
>> +
>> +  /dev/vda
>> +  all
>> +  
>> +
>> +  swap
>> +  500M
>> +  swap
> 
> 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.
> 
> [...]
>> +  
>> +
>> +  
>> +
>> http://download.opensuse.org/distribution/leap/15.1/repo/oss/
>> +repo-oss
>> +  
>> +  
>> +
>> http://download.opensuse.org/update/leap/15.1/oss
>> +repo-update
>> +  
>> +  
>> +
>> http://download.opensuse.org/distribution/leap/15.1/repo/non-oss/
>> +repo-non-oss
>> +  
>> +  
>> +
>> http://download.opensuse.org/update/leap/15.1/non-oss/
>> +repo-update-non-oss
>> +  
> 
> 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.

> [...]
>> +  
>> +true
>> +  
> 
> 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

Re: [libvirt] [jenkins-ci] guests: Add support for openSUSE Leap 15.1

2019-11-19 Thread Fabiano Fidêncio
On Tue, Nov 19, 2019 at 11:33 AM Andrea Bolognani  wrote:
>
> On Tue, 2019-11-19 at 00:21 +, Jim Fehlig wrote:
> > Signed-off-by: Jim Fehlig 
> > ---
> >  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 :)
>
> [...]
> > +++ b/guests/configs/autoinst.xml
> > +  
> > +
> > +  /dev/vda
> > +  all
> > +  
> > +
> > +  swap
> > +  500M
> > +  swap
>
> 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.
>
> [...]
> > +  
> > +
> > +  
> > +
> > http://download.opensuse.org/distribution/leap/15.1/repo/oss/
> > +repo-oss
> > +  
> > +  
> > +
> > http://download.opensuse.org/update/leap/15.1/oss
> > +repo-update
> > +  
> > +  
> > +
> > http://download.opensuse.org/distribution/leap/15.1/repo/non-oss/
> > +repo-non-oss
> > +  
> > +  
> > +
> > http://download.opensuse.org/update/leap/15.1/non-oss/
> > +repo-update-non-oss
> > +  
>
> 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 :)
>
> [...]
> > +  
> > +true
> > +  
>
> 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.
>
> 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?
>
> (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.
>
> [...]
> > +++ 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.
>
>
> 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 :)

Apart from what I pointed out, I've also faced a few issues when
trying out your patch:
- grub stays in a loop, forever;
  - I've worked this around by not setting "--graphics none --console
pty" and removing "console=ttyS0" from the extra_arg line;
  - It really has to be solved in a better way ;-)

- Update installed packages:
  - I've added:
```
+- name: Update installed packages
+  command: '{{ package_manager }} update -y'
+  args:
+warn: no
+  when:
+- 

Re: [libvirt] [jenkins-ci] guests: Add support for openSUSE Leap 15.1

2019-11-19 Thread Andrea Bolognani
On Tue, 2019-11-19 at 00:21 +, Jim Fehlig wrote:
> Signed-off-by: Jim Fehlig 
> ---
>  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 :)

[...]
> +++ b/guests/configs/autoinst.xml
> +  
> +
> +  /dev/vda
> +  all
> +  
> +
> +  swap
> +  500M
> +  swap

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.

[...]
> +  
> +
> +  
> +
> http://download.opensuse.org/distribution/leap/15.1/repo/oss/
> +repo-oss
> +  
> +  
> +
> http://download.opensuse.org/update/leap/15.1/oss
> +repo-update
> +  
> +  
> +
> http://download.opensuse.org/distribution/leap/15.1/repo/non-oss/
> +repo-non-oss
> +  
> +  
> +
> http://download.opensuse.org/update/leap/15.1/non-oss/
> +repo-update-non-oss
> +  

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 :)

[...]
> +  
> +true
> +  

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.

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?

(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.

[...]
> +++ 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.


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 :)

-- 
Andrea Bolognani / Red Hat / Virtualization

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list



Re: [libvirt] [jenkins-ci] guests: Add support for openSUSE Leap 15.1

2019-11-19 Thread Fabiano Fidêncio
Jim,

On Tue, Nov 19, 2019 at 1:40 AM Jim Fehlig  wrote:
>
> On 11/18/19 5:21 PM, Jim Fehlig wrote:
> > Signed-off-by: Jim Fehlig 
> > ---
> >   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(-)
> >
> > diff --git a/guests/configs/autoinst.xml b/guests/configs/autoinst.xml
> > new file mode 100644
> > index 000..9b93a29
> > --- /dev/null
> > +++ b/guests/configs/autoinst.xml
> > @@ -0,0 +1,86 @@
> > +
> > +
> > + > +  xmlns="http://www.suse.com/1.0/yast2ns;
> > +  xmlns:config="http://www.suse.com/1.0/configns;>
> > +  
> > +
> > +  false
> > +
> > +  
> > +  
> > +
> > +  /dev/vda
> > +  all
> > +  
> > +
> > +  swap
> > +  500M
> > +  swap
> > +
> > +
> > +  ext4
> > +  /
> > +  max
> > +
> > +  
> > +
> > +  
> > +  
> > +UTC
> > +UTC
> > +  
> > +  
> > +
> > +  
> > +
> > http://download.opensuse.org/distribution/leap/15.1/repo/oss/
> > +repo-oss
> > +  
> > +  
> > +
> > http://download.opensuse.org/update/leap/15.1/oss
> > +repo-update
> > +  
> > +  
> > +
> > http://download.opensuse.org/distribution/leap/15.1/repo/non-oss/
> > +repo-non-oss
> > +  
> > +  
> > +
> > http://download.opensuse.org/update/leap/15.1/non-oss/
> > +repo-update-non-oss
> > +  
> > +
> > +  
> > +  
> > +false
> > +  
> > +  base
> > +  minimal_base
> > +  yast2_basis
> > +
> > +  
> > +  
> > +true
> > +  
> > +  
> > +
> > +  root
> > +  root
> > +  false
> > +  0
> > +  0
> > +  /root
> > +  /bin/bash
> > +
> > +  
> > +  
> > +multi-user
> > +
> > +  
> > +sshd
> > +  
> > +
> > +  
> > +  
> > +true
>
> This should be 'false', or perhaps excluded altogether.
>
> BTW, with this patch applied (and some workarounds for problems on my end) I'm
> able to successfully install the guest with 'lcitool install', but update 
> needs
> some work
>
> # ./lcitool update libvirt-opensuse-151 libvirt
>
> PLAY [all]
> *
> included:
> /home/jfehlig/virt/upstream/libvirt-jenkins-ci/guests/playbooks/update/tasks/bootstrap.yml
> for libvirt-opensuse-151
>
> TASK [set_fact]
> 
> ok: [libvirt-opensuse-151]
>
> TASK [Bootstrap Ansible]
> ***
> changed: [libvirt-opensuse-151]
>
> PLAY [all]
> *
>
> TASK [Gathering Facts]
> *
> ok: [libvirt-opensuse-151]
> included:
> /home/jfehlig/virt/upstream/libvirt-jenkins-ci/guests/playbooks/update/tasks/base.yml
> for libvirt-opensuse-151
>
> TASK [Update installed packages]
> ***
> ok: [libvirt-opensuse-151]
>
> TASK [Clean up packages after update]
> **
> fatal: [libvirt-opensuse-151]: FAILED! => {"changed": true, "cmd": "zypper 
> clean
> packages -y && zypper autoremove -y", "delta": "0:00:00.069846", "end":
> "2019-11-19 00:29:38.579176", "msg": "non-zero return code", "rc": 2, "start":
> "2019-11-19 00:29:38.509330", "stderr": "Repository 'packages' not found by 
> its
> alias, number, or URI.\nRepository '-y' not found by its alias, number, or
> URI.\nUnknown command 'autoremove'", "stderr_lines": ["Repository 'packages' 
> not
> found by its alias, number, or URI.", "Repository '-y' not found by its alias,
> number, or URI.", "Unknown command 'autoremove'"], "stdout": "Use 'zypper 
> repos'
> to get the list of defined repositories.\nAll repositories have been cleaned
> up.\nType 'zypper help' to get a list of global options and commands.\n\nIn 
> case
> 'autoremove' is not a typo it's probably not a built-in command, but provided 
> as
> a subcommand or plug-in (see 'zypper help subcommand').\nIn this case a 
> specific
> package providing the subcommand needs to be installed first. Those packages 
> are
> often named 'zypper-autoremove' or 'zypper-autoremove-plugin'.", 
> "stdout_lines":
> ["Use 'zypper repos' to get the list of 

Re: [libvirt] [jenkins-ci] guests: Add support for openSUSE Leap 15.1

2019-11-18 Thread Jim Fehlig
On 11/18/19 5:21 PM, Jim Fehlig wrote:
> Signed-off-by: Jim Fehlig 
> ---
>   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(-)
> 
> diff --git a/guests/configs/autoinst.xml b/guests/configs/autoinst.xml
> new file mode 100644
> index 000..9b93a29
> --- /dev/null
> +++ b/guests/configs/autoinst.xml
> @@ -0,0 +1,86 @@
> +
> +
> + +  xmlns="http://www.suse.com/1.0/yast2ns;
> +  xmlns:config="http://www.suse.com/1.0/configns;>
> +  
> +
> +  false
> +
> +  
> +  
> +
> +  /dev/vda
> +  all
> +  
> +
> +  swap
> +  500M
> +  swap
> +
> +
> +  ext4
> +  /
> +  max
> +
> +  
> +
> +  
> +  
> +UTC
> +UTC
> +  
> +  
> +
> +  
> +
> http://download.opensuse.org/distribution/leap/15.1/repo/oss/
> +repo-oss
> +  
> +  
> +
> http://download.opensuse.org/update/leap/15.1/oss
> +repo-update
> +  
> +  
> +
> http://download.opensuse.org/distribution/leap/15.1/repo/non-oss/
> +repo-non-oss
> +  
> +  
> +
> http://download.opensuse.org/update/leap/15.1/non-oss/
> +repo-update-non-oss
> +  
> +
> +  
> +  
> +false
> +  
> +  base
> +  minimal_base
> +  yast2_basis
> +
> +  
> +  
> +true
> +  
> +  
> +
> +  root
> +  root
> +  false
> +  0
> +  0
> +  /root
> +  /bin/bash
> +
> +  
> +  
> +multi-user
> +
> +  
> +sshd
> +  
> +
> +  
> +  
> +true

This should be 'false', or perhaps excluded altogether.

BTW, with this patch applied (and some workarounds for problems on my end) I'm 
able to successfully install the guest with 'lcitool install', but update needs 
some work

# ./lcitool update libvirt-opensuse-151 libvirt

PLAY [all] 
*
included: 
/home/jfehlig/virt/upstream/libvirt-jenkins-ci/guests/playbooks/update/tasks/bootstrap.yml
 
for libvirt-opensuse-151

TASK [set_fact] 

ok: [libvirt-opensuse-151]

TASK [Bootstrap Ansible] 
***
changed: [libvirt-opensuse-151]

PLAY [all] 
*

TASK [Gathering Facts] 
*
ok: [libvirt-opensuse-151]
included: 
/home/jfehlig/virt/upstream/libvirt-jenkins-ci/guests/playbooks/update/tasks/base.yml
 
for libvirt-opensuse-151

TASK [Update installed packages] 
***
ok: [libvirt-opensuse-151]

TASK [Clean up packages after update] 
**
fatal: [libvirt-opensuse-151]: FAILED! => {"changed": true, "cmd": "zypper 
clean 
packages -y && zypper autoremove -y", "delta": "0:00:00.069846", "end": 
"2019-11-19 00:29:38.579176", "msg": "non-zero return code", "rc": 2, "start": 
"2019-11-19 00:29:38.509330", "stderr": "Repository 'packages' not found by its 
alias, number, or URI.\nRepository '-y' not found by its alias, number, or 
URI.\nUnknown command 'autoremove'", "stderr_lines": ["Repository 'packages' 
not 
found by its alias, number, or URI.", "Repository '-y' not found by its alias, 
number, or URI.", "Unknown command 'autoremove'"], "stdout": "Use 'zypper 
repos' 
to get the list of defined repositories.\nAll repositories have been cleaned 
up.\nType 'zypper help' to get a list of global options and commands.\n\nIn 
case 
'autoremove' is not a typo it's probably not a built-in command, but provided 
as 
a subcommand or plug-in (see 'zypper help subcommand').\nIn this case a 
specific 
package providing the subcommand needs to be installed first. Those packages 
are 
often named 'zypper-autoremove' or 'zypper-autoremove-plugin'.", 
"stdout_lines": 
["Use 'zypper repos' to get the list of defined repositories.", "All 
repositories have been cleaned up.", "Type 'zypper help' to get a list of 
global 
options and commands.", "", "In case 'autoremove' is not a typo it's probably 
not a built-in command, but provided as a subcommand or plug-in (see 'zypper 
help subcommand').", "In this case a specific package providing the subcommand 
needs to be 

[libvirt] [jenkins-ci] guests: Add support for openSUSE Leap 15.1

2019-11-18 Thread Jim Fehlig
Signed-off-by: Jim Fehlig 
---
 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(-)

diff --git a/guests/configs/autoinst.xml b/guests/configs/autoinst.xml
new file mode 100644
index 000..9b93a29
--- /dev/null
+++ b/guests/configs/autoinst.xml
@@ -0,0 +1,86 @@
+
+
+http://www.suse.com/1.0/yast2ns;
+  xmlns:config="http://www.suse.com/1.0/configns;>
+  
+
+  false
+
+  
+  
+
+  /dev/vda
+  all
+  
+
+  swap
+  500M
+  swap
+
+
+  ext4
+  /
+  max
+
+  
+
+  
+  
+UTC
+UTC
+  
+  
+
+  
+
http://download.opensuse.org/distribution/leap/15.1/repo/oss/
+repo-oss
+  
+  
+
http://download.opensuse.org/update/leap/15.1/oss
+repo-update
+  
+  
+
http://download.opensuse.org/distribution/leap/15.1/repo/non-oss/
+repo-non-oss
+  
+  
+
http://download.opensuse.org/update/leap/15.1/non-oss/
+repo-update-non-oss
+  
+
+  
+  
+false
+  
+  base
+  minimal_base
+  yast2_basis
+
+  
+  
+true
+  
+  
+
+  root
+  root
+  false
+  0
+  0
+  /root
+  /bin/bash
+
+  
+  
+multi-user
+
+  
+sshd
+  
+
+  
+  
+true
+  
+
diff --git a/guests/host_vars/libvirt-opensuse-15.1/docker.yml 
b/guests/host_vars/libvirt-opensuse-15.1/docker.yml
new file mode 100644
index 000..1fcbc38
--- /dev/null
+++ b/guests/host_vars/libvirt-opensuse-15.1/docker.yml
@@ -0,0 +1,2 @@
+---
+docker_base: openSUSE:15.1
diff --git a/guests/host_vars/libvirt-opensuse-15.1/install.yml 
b/guests/host_vars/libvirt-opensuse-15.1/install.yml
new file mode 100644
index 000..d0fdbe5
--- /dev/null
+++ b/guests/host_vars/libvirt-opensuse-15.1/install.yml
@@ -0,0 +1,2 @@
+---
+install_url: http://download.opensuse.org/distribution/leap/15.1/repo/oss/
diff --git a/guests/host_vars/libvirt-opensuse-15.1/main.yml 
b/guests/host_vars/libvirt-opensuse-15.1/main.yml
new file mode 100644
index 000..cdd4509
--- /dev/null
+++ b/guests/host_vars/libvirt-opensuse-15.1/main.yml
@@ -0,0 +1,22 @@
+---
+projects:
+  - libosinfo
+  - libvirt
+  - libvirt-cim
+  - libvirt-dbus
+  - libvirt-glib
+  - libvirt-perl
+  - libvirt-python
+  - libvirt-sandbox
+  - libvirt-tck
+  - osinfo-db
+  - osinfo-db-tools
+  - virt-manager
+  - virt-viewer
+
+package_format: 'rpm'
+package_manager: 'zypper'
+os_name: 'openSUSE'
+os_version: '15.1'
+
+ansible_python_interpreter: /usr/bin/python3
diff --git a/guests/inventory b/guests/inventory
index 3b15513..c86f8cc 100644
--- a/guests/inventory
+++ b/guests/inventory
@@ -8,5 +8,6 @@ libvirt-fedora-rawhide
 libvirt-freebsd-11
 libvirt-freebsd-12
 libvirt-freebsd-current
+libvirt-opensuse-15.1
 libvirt-ubuntu-16
 libvirt-ubuntu-18
diff --git a/guests/lcitool b/guests/lcitool
index a630971..39e6853 100755
--- a/guests/lcitool
+++ b/guests/lcitool
@@ -531,6 +531,8 @@ class Application:
 install_config = "preseed.cfg"
 elif facts["os_name"] in ["CentOS", "Fedora"]:
 install_config = "kickstart.cfg"
+elif facts["os_name"] == "openSUSE":
+install_config = "autoinst.xml"
 else:
 raise Exception(
 "Host {} doesn't support installation".format(host)
diff --git a/guests/vars/mappings.yml b/guests/vars/mappings.yml
index bd9b161..ca8eb84 100644
--- a/guests/vars/mappings.yml
+++ b/guests/vars/mappings.yml
@@ -19,10 +19,10 @@
 #   - deb, pkg, rpm
 #
 # Valid OS names are:
-#   - CentOS, Debian, Fedora, FreeBSD, Ubuntu
+#   - CentOS, Debian, Fedora, FreeBSD, openSUSE, Ubuntu
 #
 # Valid OS versions are:
-#   - CentOS7, Debian9, FedoraRawhide, Ubuntu18 and so on
+#   - CentOS7, Debian9, FedoraRawhide, openSUSE15.1, Ubuntu18 and so on
 #
 # The arch specific rules use a prefix "$ARCH-" where  $ARCH
 # is a libvirt arch name.
@@ -70,6 +70,7 @@ mappings:
 
   apparmor:
 deb: libapparmor-dev
+openSUSE: libapparmor-devel
 cross-policy-deb: foreign
 
   augeas:
@@ -117,6 +118,7 @@ mappings:
   cppi:
 Fedora: cppi
 FreeBSD: cppi
+openSUSE: cppi
 
   cyrus-sasl:
 deb: libsasl2-dev
@@ -127,6 +129,7 @@ mappings:
   dbus-daemon:
 default: dbus
 Fedora: dbus-daemon
+openSUSE: dbus-1
 
   device-mapper:
 deb: libdevmapper-dev
@@ -196,6 +199,7 @@ mappings:
 deb: libglusterfs-dev
 rpm: glusterfs-api-devel
 Debian9: glusterfs-common
+openSUSE: glusterfs-devel