From Fedora Project Wiki

(remove note to install fedora-repos-modular again)
 
(17 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
{{QA/Test_Case
 
{{QA/Test_Case
|description= Install, remove and udpate modules in Fedora Modular
+
|description=This test case proves that a module can be installed on the system.
|setup=  
+
|setup=To test this feature:
# Download a [https://kojipkgs.fedoraproject.org/compose/ nightly image] or [https://kojipkgs.fedoraproject.org/compose/27/ RC] of Fedora 27 Modular Server
+
# Install a '''clean''' Fedora.
# Continue to install on a VM or Baremetal
 
# Login as root
 
 
|actions=
 
|actions=
=== Enable and Install Modules from default Stream: ===
+
# Open a terminal session, either use terminal or a virtual console.
    # Run <code> dnf install @module </code>
+
# List available modules using <code>dnf module list</code> and choose one of them to do the next step. Find out if the module has a '''default stream''' and a '''default profile''' set. Based on this, follow one of the scenarios. When you attempt to install a module without  a default stream or profile, omitting to specify the stream or profile in the installation command will only result in enabling that module. Pay attention to this and always use the appropriate command.
 
+
# Install a module following one of the scenarios:
=== Enable and Install Modules from named Stream and default Install Profile: ===
+
## Install the module using the module's default stream and profile <code>dnf module install <module></code>.
    # Run <code> dnf install @module:stream </code>
+
## Install a module without a default stream, or choose a non-default stream using <code>dnf module install <module>:<stream></code>.
 
+
## Install a module without a default profile, or choose a non-default profile using <code>dnf module install <module>:<stream>/<profile></code>.
=== Enable and install the named Stream, default Install Profile, and particular version ===
+
# List the enabled modules <code>dnf module list --enabled</code>.
    # Run <code> dnf install @module:stream:version </code>
+
# List the installed modules <code>dnf module list --installed</code>.
 
+
# Check that packages were really installed <code>rpm -qa <module></code>.
=== Enable and install the named Stream, named Install Profile, and particular version ===
+
# If the installed module was an application or a service, try to run it.
    # Run <code> dnf install @module:stream:version/profile </code>
 
 
 
=== Remove Modules: ===
 
    # Run <code> dnf remove module </code>
 
 
 
=== Update Modules: ===
 
    # Run <code> dnf module udpate <modeule_name> </code>
 
 
 
 
|results=
 
|results=
The commands execute without error
+
The following requirements must be met:
===The first command will ask you to install the package , if installed it will output ===
+
# All installation commands must run without errors.
{{#tag:pre|
+
# All installation commands must result in packages installed on the system.
dnf install @nodejs                                                                                                                                                                                                             
+
# The installed module must be listed in both '''--enabled''' and '''--installed''' lists.
Last metadata expiration check: 2:35:15 ago on Fri 10 Nov 2017 03:35:01 AM IST.                                                                                                                                                                    
+
# <code>rpm -qa <module> </code> must return the installed package with the same version as declared by the module.
Nothing to install. Enabled modules: nodejs:8
+
# If the module was an application or a service, it should attempt to start.
}}
+
# Using <code>dnf module install <module>:<stream></code> should be enough to install every module.
 
 
=== The second command will install the package from the desired stream , if the desired stream doesn't match the current stream , it will ask to switch stream ===
 
{{#tag:pre|
 
dnf install @nodejs:6                                                                                                                                                                                                           
 
Last metadata expiration check: 2:38:01 ago on Fri 10 Nov 2017 03:35:01 AM IST.                                                                                                                                                                     
 
Enabling different stream for 'nodejs'                                                                                                                                                                                                              
 
Is this ok [y/N]: y                                                                                                                                                                                                                                 
 
Dependencies resolved.                                                                                                                                                                                                                             
 
=====================================================================================================================================================================================================================================================
 
Package                                        Arch                                            Version                                                                        Repository                                                      Size
 
=====================================================================================================================================================================================================================================================
 
Downgrading:                                                                                                                                                                                                                                       
 
nodejs                                          x86_64                                          1:6.11.3-2.module_57e455e2                                                    fedora-modular-server                                          4.8 M
 
npm                                            x86_64                                          1:3.10.10-1.6.11.3.2.module_57e455e2                                          fedora-modular-server                                          2.5 M
 
                                                                                                                                                                                                                                                   
 
Transaction Summary                                                                                                                                                                                                                                 
 
=====================================================================================================================================================================================================================================================
 
Downgrade  2 Packages                                                                                                                                                                                                                               
 
                                                                                                                                                                                                                                                   
 
Total download size: 7.3 M                                                                                                                                                                                                                         
 
Is this ok [y/N]:   
 
}}                                                                                                                                                                                                                             
 
===  The install with stream:version/profile will output this ===
 
{{#tag:pre|
 
dnf install @389-ds:1.3:20171102233352/default                                                                                                                                                                                 
 
Last metadata expiration check: 2:44:11 ago on Fri 10 Nov 2017 03:35:01 AM IST.                                                                                                                                                                     
 
Dependencies resolved.                                                                                                                                                                                                                             
 
=====================================================================================================================================================================================================================================================
 
Package                                                          Arch                                        Version                                                              Repository                                                  Size
 
=====================================================================================================================================================================================================================================================
 
Installing module packages:                                                                                                                                                                                                                         
 
389-ds-base                                                      x86_64                                      1.3.7.6-1.module_cceea75a                                            fedora-modular-server                                      1.8 M
 
389-ds-base-libs                                                  x86_64                                      1.3.7.6-1.module_cceea75a                                            fedora-modular-server                                      741 k
 
Installing dependencies:                                                                                                                                                                                                                           
 
audit-libs-python3                                                x86_64                                      2.7.7-5.module_8a5444d0                                              fedora-modular-server                                      81 k
 
checkpolicy                                                      x86_64                                      2.7-1.module_8a5444d0                                                fedora-modular-server                                      330 k
 
}}
 
 
 
 
 
# The remove module command will output the following.
 
{{#tag:pre|
 
 
 
dnf remove nodejs                                                                                                                                                                                                               
 
Dependencies resolved.                                                                                                                                                                                                                             
 
=====================================================================================================================================================================================================================================================
 
Package                                        Arch                                            Version                                                                      Repository                                                      Size
 
=====================================================================================================================================================================================================================================================
 
Removing:                                                                                                                                                                                                                                          
 
nodejs                                          x86_64                                          1:8.9.0-1.module_7b04e1ed                                                    @fedora-modular-server                                          19 M
 
Removing dependent packages:                                                                                                                                                                                                                       
 
npm                                            x86_64                                          1:5.5.1-1.8.9.0.1.module_7b04e1ed.2                                          @fedora-modular-server                                          18 M
 
Removing unused dependencies:                                                                                                                                                                                                                       
 
libicu                                          x86_64                                          57.1-8.module_8a5444d0                                                        @fedora-modular-server                                          29 M
 
                                                                                                                                                                                                                                                   
 
Transaction Summary                                                                                                                                                                                                                                 
 
=====================================================================================================================================================================================================================================================
 
Remove  3 Packages                                                                                                                                                                                                                                 
 
                                                                                                                                                                                                                                                   
 
Freed space: 67 M                                                                                                                                                                                                                                   
 
Is this ok [y/N]:                                                                                                                                                                                                                                   
 
}}
 
  
 +
'''Note:''' All modules should have a '''default profile''' and  they should be able to install using <code>dnf module install <module>:<stream></code>. If a module does not have a default profile set, report a bug for it.
 +
|optional=
  
 
}}
 
}}

Latest revision as of 01:43, 11 July 2020

Description

This test case proves that a module can be installed on the system.

Setup

To test this feature:

  1. Install a clean Fedora.

How to test

  1. Open a terminal session, either use terminal or a virtual console.
  2. List available modules using dnf module list and choose one of them to do the next step. Find out if the module has a default stream and a default profile set. Based on this, follow one of the scenarios. When you attempt to install a module without a default stream or profile, omitting to specify the stream or profile in the installation command will only result in enabling that module. Pay attention to this and always use the appropriate command.
  3. Install a module following one of the scenarios:
    1. Install the module using the module's default stream and profile dnf module install <module>.
    2. Install a module without a default stream, or choose a non-default stream using dnf module install <module>:<stream>.
    3. Install a module without a default profile, or choose a non-default profile using dnf module install <module>:<stream>/<profile>.
  4. List the enabled modules dnf module list --enabled.
  5. List the installed modules dnf module list --installed.
  6. Check that packages were really installed rpm -qa <module>.
  7. If the installed module was an application or a service, try to run it.

Expected Results

The following requirements must be met:

  1. All installation commands must run without errors.
  2. All installation commands must result in packages installed on the system.
  3. The installed module must be listed in both --enabled and --installed lists.
  4. rpm -qa <module> must return the installed package with the same version as declared by the module.
  5. If the module was an application or a service, it should attempt to start.
  6. Using dnf module install <module>:<stream> should be enough to install every module.

Note: All modules should have a default profile and they should be able to install using dnf module install <module>:<stream>. If a module does not have a default profile set, report a bug for it.