Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1732531

Summary: On Fedora Rawhide, the nest module does not have default profiles set.
Product: [Fedora] Fedora Modules Reporter: Lukas Ruzicka <lruzicka>
Component: nestAssignee: Ankur Sinha (FranciscoD) <sanjay.ankur>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: sanjay.ankur
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-09-07 11:28:05 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Lukas Ruzicka 2019-07-23 15:28:01 UTC
Description of problem:
On Fedora Rawhide, the nest module does not have the default profile(s) set. Therefore, DNF will not install the module using `dnf module install librealsense`. It will only enable it. Since modules should be able to install using the aforementioned command, I consider this a bug.

How reproducible:
Always

Steps to reproduce:
1. dnf module list nest

Expected results:
Modules should have the default profiles set.

Additional info:
This module also does not have a corresponding yaml file in https://pagure.io/releng/fedora-module-defaults/. 
Please, fix. Thank you.

Comment 1 Ankur Sinha (FranciscoD) 2019-07-23 15:32:05 UTC
The NEST modules are a WIP, and I'm afraid they're not quite ready yet. I'm still figuring out how modularity works tbh.

In the meantime, please use the "platform" version of NEST if you need it: sudo dnf install nest.

The modules will be "completed" as I figure out what the steps in the process are.

Comment 2 Ankur Sinha (FranciscoD) 2019-07-29 10:08:19 UTC
So, I'm not clear on this (and maybe I've made a mistake):

- the docs do not specify that a default profile must be defined.
- the non-modular nest package is at 2.18.0 and want users to use this by default.

Now, I've built two streams for nest using modules: 2.16.0 and 2.18.0. Should I not have built the 2.18.0 as a module too? Should it be removed?

In the current situation:

- what should the default stream be? 

We don't want to remove the non-modular nest package which, with or without modules, should be default. What do I do to get this?

Thanks, and sorry---still very new to modularity here.

Comment 3 Lukas Ruzicka 2019-07-30 14:39:06 UTC
Hello Ankur, I am a QE for Fedora Modularity, so I filed this bug to make sure your module will be correctly formed for Fedora.
The docs do not specify this, because that has only recently been decided. 

As far as I know and understand:

1. If you do not intent to override the non-modular content for the users with your module, DO NOT set the default stream!
2. For every stream you want to provide, default profile must be set.
3. The above is defined in a yaml file, that goes in https://pagure.io/releng/fedora-module-defaults.git.

For your use case, I believe the setting should be this (but check with sgallagh, contyk, or asamalik):
====
document: modulemd-defaults
version: 1
data:
    module: nest     <- this the name of the module
    profiles:        <- this is the list of all streams provided by the module
        2.16.0: [default_profile]  <- the default profile is the one you want users to install if they do not choose one explicitly
        2.18.0: [default_profile]
====

If you do not set the default profile, then your module will not be installable without specifying the profile and this is now considered erroneous behaviour.
Adding the "stream" field into the "data", such as "stream: 2.18.0" would make your module override the non-modular package. That is only possible if approved by
Fesco. You do not want to do it, which is fine, so make sure, that line is NOT present in the yaml file.

Comment 4 Ankur Sinha (FranciscoD) 2019-07-31 16:42:47 UTC
Thanks very much Lukas. I think I've gotten the hang of it now.

I've opened a PR here to define the default profile for NEST:
https://pagure.io/releng/fedora-module-defaults/pull-request/142


I also defined profiles for the streams and will close this when everything is correctly where it should be :)

Comment 5 Lukas Ruzicka 2019-08-12 08:56:13 UTC
Thank you, I will check and retest. :)

Comment 6 Lukas Ruzicka 2019-08-29 08:16:51 UTC
I confirm, that the nest module meets the criteria.