From Fedora Project Wiki

No edit summary
(move to obsolete test cases)
 
(4 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{Template:Associated_release_criterion|Beta|roles}}
{{admon/note|Obsolete|As of Fedora 29, rolekit has been deprecated. For server deployment test cases that cover the previously implemented server roles, see [[QA:Testcase_freeipa_trust_server_installation]] and [[QA:Testcase_postgresql_server_installation]].}}


{{QA/Test_Case
{{QA/Test_Case
Line 8: Line 8:
# If this is a VM, be aware of this [https://fedoraproject.org/wiki/Common_F21_bugs#Rolekit_fails_to_deploy_a_Domain_Controller_on_a_VM.2C_returning_error_256 Common Bug] about available entropy.
# If this is a VM, be aware of this [https://fedoraproject.org/wiki/Common_F21_bugs#Rolekit_fails_to_deploy_a_Domain_Controller_on_a_VM.2C_returning_error_256 Common Bug] about available entropy.
# Disable the updates-testing repository for this test, as rolekit always performs an update and may get unsafe packages from that repository. We need to test the stable repo only.
# Disable the updates-testing repository for this test, as rolekit always performs an update and may get unsafe packages from that repository. We need to test the stable repo only.
#* {{command|yum-config-manager --disable updates-testing }}
#* {{command|dnf config-manager --set-disabled updates-testing }}
# (RC1 Workaround) There's a [https://bugzilla.redhat.combugzilla/show_bug.cgi?id=1156378 bug in the SELinux policy] which causes failures installing packages. To work around this without switching to permissive mode, run {{command|yum install -y @freeipa-server}} before continuing below. This will not be necessary in RC2 or later.
|actions=
|actions=
# Create a configuration file with the minimum required settings for the role (domaincontroller instructions can be found [https://fedorahosted.org/rolekit/wiki/DomainController here])
# Deploy the role with {{command|rolectl deploy (rolename) --name<nowiki>=</nowiki>instancename}}
# Deploy the role with {{command|rolectl deploy --settings-file<nowiki>=</nowiki>/path/to/configfile [--name<nowiki>=</nowiki>instancename] (rolename)}}
# Query the role with {{command|rolectl status (rolename/instancename)}} and {{command|rolectl settings (rolename/instancename)}}
# Start the role with {{command|rolectl start (instancename)}}
# Run {{command|rolectl sanitize (rolename/instancename)}} and then {{command|rolectl settings (rolename/instancename)}} to verify that passwords have been removed.
# Query the role with {{command|rolectl status (instancename)}} and {{command|rolectl settings (instancename)}}
# If possible, attempt to interact with the role in expected ways - for example, if it is a database server, attempt to connect to it and create a database
# If possible, attempt to interact with the role in expected ways - for example, if it is a database server, attempt to connect to it and create a database
# Stop the role with {{command|rolectl stop (instancename)}}
# Stop the role with {{command|rolectl stop (rolename/instancename)}}
# Decommission the role with {{command|rolectl decommission (rolename/instancename)}}
|results=
|results=
# Role deployment must complete successfully
# Role deployment must complete successfully
Line 22: Line 21:
# Typical basic interaction with the deployed role must work correctly
# Typical basic interaction with the deployed role must work correctly
# The deployed role must report its status and configuration settings correctly
# The deployed role must report its status and configuration settings correctly
# The deployed role must not report password data in settings after being sanitized
# The deployed role must stop correctly
# The deployed role must stop correctly
# The deployed role must decommission correctly and not leave anything behind that prevents a new deployment.
}}
}}
[[Category:Server_Acceptance_Test_Cases]]
[[Category:Obsolete_Test_Cases]]
[[Category:Package_rolekit_test_cases]]
[[Category:Package_rolekit_test_cases]]

Latest revision as of 23:15, 17 July 2018

Note.png
Obsolete
As of Fedora 29, rolekit has been deprecated. For server deployment test cases that cover the previously implemented server roles, see QA:Testcase_freeipa_trust_server_installation and QA:Testcase_postgresql_server_installation.


Description

This test case checks that a Rolekit role can be successfully enabled, started and queried after a Fedora Server installation, as required in the Server/Technical_Specification.

Setup

  1. Install the Fedora Server release you wish to test, in graphical or text mode, making as few choices as possible and making the most simple and obvious choices where a choice is required.
    1. Note: disable updates-testing in anaconda
  2. If this is a VM, be aware of this Common Bug about available entropy.
  3. Disable the updates-testing repository for this test, as rolekit always performs an update and may get unsafe packages from that repository. We need to test the stable repo only.
    • dnf config-manager --set-disabled updates-testing

How to test

  1. Deploy the role with rolectl deploy (rolename) --name=instancename
  2. Query the role with rolectl status (rolename/instancename) and rolectl settings (rolename/instancename)
  3. Run rolectl sanitize (rolename/instancename) and then rolectl settings (rolename/instancename) to verify that passwords have been removed.
  4. If possible, attempt to interact with the role in expected ways - for example, if it is a database server, attempt to connect to it and create a database
  5. Stop the role with rolectl stop (rolename/instancename)
  6. Decommission the role with rolectl decommission (rolename/instancename)

Expected Results

  1. Role deployment must complete successfully
  2. The deployed role must start successfully
  3. Typical basic interaction with the deployed role must work correctly
  4. The deployed role must report its status and configuration settings correctly
  5. The deployed role must not report password data in settings after being sanitized
  6. The deployed role must stop correctly
  7. The deployed role must decommission correctly and not leave anything behind that prevents a new deployment.