Hi, folks. So, I drew up a rough draft of the Server release criteria for Beta and Final as I suggest they might be. We could kick it around at tomorrow's meeting if desired. Here we go:
BETA
=== Remote logging ===
It must be possible to forward system logs to a remote system using Server packages.
=== Firewall configuration ===
Release-blocking roles must be able to report their status in regard to the system firewall as described in the [[Server/Technical_Specification#Firewall|technical specification]].
=== Roles ===
Release-blocking roles and the supported role configuration interfaces must meet the core functional [[Server/Technical_Specification#Role_Definition_Requirements|Role Definition Requirements]] to the extent that supported roles can be successfully started, stopped, and queried.
=== Cockpit ===
??????
FINAL
=== Roles === Release-blocking roles and the supported role configuration interfaces must fully meet the [[Server/Technical_Specification#Role_Definition_Requirements|Role Definition Requirements]].
=== Cockpit ===
??????
You will note first of all the big ?????? for Cockpit. Cockpit's role really isn't terribly well defined in the tech spec or PRD, so it is hard to draft requirements. Is it primarily supposed to be an interface for controlling roles? If so, can we treat it that way in the criteria, and require things from it as regards its job in configuring roles?
I think the Role criteria described above would be okay, and at least unambitious enough not to cause huge problems, for F21, but I'm really not that happy with them for the long term.
It's obviously not practical to start hardcoding specific requirements for specific roles into the criteria. What I would like instead is to have a little more process on the Product side for Roles. I'd suggest that Roles themselves should have definitions of their expected functionality baked in at the point of creation / approval.
These could be split into sections to be required at Alpha, Beta and Final. You could, for instance, expect roles to basically start up and not explode at Alpha, expect them to be broadly 'feature complete' and testable at Beta, and expect them to fully meet their listed functional requirements at Final, just as a quick cut. Here's a very rough mock-up for the "Domain Controller" role as a guide:
Alpha -----
The Role must start and stop successfully. When the role is running, a client system must be able to enrol into the FreeIPA domain.
Beta ----
When the Role is running, it must be able to enrol and unenrol multiple clients. Client systems must be able to authenticate user accounts via Kerberos. The FreeIPA configuration web UI must be available and allow at least basic configuration of user accounts and permissions.
Final -----
Oh, I don't know, I'm running out of ideas, I don't do that much more with my FreeIPA system than is described in Beta. You know better than me! That's why you should be writing this! :)
Well, I sort of ran out of steam at the end there, but you kinda get the idea, right?
We can set things up appropriately so the release criteria can sensibly call out to them. I'd expect the criteria would just say something like 'Release-blocking roles must meet the functional requirements listed in their definition pages for the Beta milestone' or whatever, with a link to a sensible target from which you could easily find the Role definition pages.
I'd be very grateful for feedback on both the proposed criteria for F21, and the idea above. We do need to get the Beta criteria in place ASAP, Beta TC1 is due tomorrow (yes, I know, no rest for the wicked :/) I'll start drafting up test cases ASAP.
On Mon, 2014-09-29 at 17:19 -0700, Adam Williamson wrote:
Hi, folks. So, I drew up a rough draft of the Server release criteria for Beta and Final as I suggest they might be. We could kick it around at tomorrow's meeting if desired. Here we go:
So, here's the second draft of the Beta criteria, with input from today's meeting incorporated. TC1 is rolling now or soon, so I'd like to put these into effect ASAP - if no-one has objections, I'll probably push them out live tomorrow.
For now I suggest we stuff the FreeIPA requirements into the criteria explicitly denoted as a temporary measure, and for Final or F22 we implement the plan to have role requirements defined somewhere else for the criteria to reference.
------------- CUT HERE ---------------
=== Remote logging ===
It must be possible to forward system logs to a remote system using Server packages.
=== Firewall configuration ===
Release-blocking roles must be able to report their status in regard to the system firewall as described in the [[Server/Technical_Specification#Firewall|technical specification]].
=== Roles ===
Release-blocking roles and the supported role configuration interfaces must meet the core functional [[Server/Technical_Specification#Role_Definition_Requirements|Role Definition Requirements]] to the extent that supported roles can be successfully started, stopped, brought to a working configuration, and queried.
=== Cockpit management interface ===
It must be possible to log in to the default Cockpit instance and use it to:
* View the system's logs * View the system's running services * Enrol the system to a FreeIPA or Active Directory domain
=== Domain controller role ===
'''Note''': role requirements are not expected to live in the Release Criteria in future. The inclusion of requirements for the Server product's initial role is a one-time exception for Fedora 21.
With the Domain Controller role active and correctly configured:
* Multiple clients must be able to enrol and unenrol in the domain * Client systems must be able to authenticate users with Kerberos * The FreeIPA configuration web UI must be available and allow at least basic configuration of user accounts and permissions
------------- CUT HERE ---------------
How does that sound to everyone? Good enough for a go? Thanks!
We also need test cases to back these criteria. I can work on those, but help would certainly be appreciated. Creating test cases is a basic use of mediawiki templating, but it's pretty easy, and explained at http://fedoraproject.org/wiki/QA:SOP_test_case_creation . You can also simply take a look at the source of a simple existing test case, like https://fedoraproject.org/wiki/QA:Testcase_Server_cockpit_default or https://fedoraproject.org/wiki/QA:Testcase_kickstart_firewall , and base your test case off of that. I'm available on IRC for any questions, and remember any little detail things can be fixed up later, don't sweat them too much. If you do take a cut at creating a test case, please mail the list so I or someone else can check it does the little things right! Thanks :)
On Tue, 2014-09-30 at 19:06 -0700, Adam Williamson wrote:
On Mon, 2014-09-29 at 17:19 -0700, Adam Williamson wrote:
Hi, folks. So, I drew up a rough draft of the Server release criteria for Beta and Final as I suggest they might be. We could kick it around at tomorrow's meeting if desired. Here we go:
So, here's the second draft of the Beta criteria, with input from today's meeting incorporated. TC1 is rolling now or soon, so I'd like to put these into effect ASAP - if no-one has objections, I'll probably push them out live tomorrow.
I am now implementing the second draft criteria.
On 01.10.2014 04:06, Adam Williamson wrote:
On Mon, 2014-09-29 at 17:19 -0700, Adam Williamson wrote:
Hi, folks. So, I drew up a rough draft of the Server release criteria for Beta and Final as I suggest they might be. We could kick it around at tomorrow's meeting if desired. Here we go:
So, here's the second draft of the Beta criteria, with input from today's meeting incorporated. TC1 is rolling now or soon, so I'd like to put these into effect ASAP - if no-one has objections, I'll probably push them out live tomorrow.
For now I suggest we stuff the FreeIPA requirements into the criteria explicitly denoted as a temporary measure, and for Final or F22 we implement the plan to have role requirements defined somewhere else for the criteria to reference.
------------- CUT HERE ---------------
=== Remote logging ===
It must be possible to forward system logs to a remote system using Server packages.
=== Firewall configuration ===
Release-blocking roles must be able to report their status in regard to the system firewall as described in the [[Server/Technical_Specification#Firewall|technical specification]].
=== Roles ===
Release-blocking roles and the supported role configuration interfaces must meet the core functional [[Server/Technical_Specification#Role_Definition_Requirements|Role Definition Requirements]] to the extent that supported roles can be successfully started, stopped, brought to a working configuration, and queried.
=== Cockpit management interface ===
It must be possible to log in to the default Cockpit instance and use it to:
- View the system's logs
- View the system's running services
- Enrol the system to a FreeIPA or Active Directory domain
I checked with the Cockpit guys, and we're fine not adding any further criteria here for Fedora 21. We will obviously make an effort to have functionality well beyond the above, but bugs would not be blockers.
Cheers,
Stef
server@lists.fedoraproject.org