Jump to: navigation, search

Difference between revisions of "RefStack/UseCases"

(Requirements Map)
(Requirements Map)
Line 58: Line 58:
  
 
== Requirements Map ==
 
== Requirements Map ==
 +
 +
Below are derived requirements from the Use Cases and implied requirements based on the purposes and goals of the RefStack project.  This in no way should be construed as complete, but does provide guidance in the design and implementation of RefStack.<br/>
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! scope="col"|Use Case!! scope="col"|OpenStack Foundation!! scope="col"|Cloud Vendor!! scope="col"|Component Vendor!! scope="col"|Cloud Operator!! scope="col"|User!! scope="col"|Prospective User
 
! scope="col"|Use Case!! scope="col"|OpenStack Foundation!! scope="col"|Cloud Vendor!! scope="col"|Component Vendor!! scope="col"|Cloud Operator!! scope="col"|User!! scope="col"|Prospective User
 +
|-
 +
!scope="row"|Manage Tests
 +
|-
 +
|Identify test sets by completeness
 +
|-
 +
|Identify test sets by capability
 +
|-
 +
|Identify test sets by OpenStack version
 +
|-
 +
|Identify "required pass" tests by version
 +
|-
 +
|Identify tests that are specific to hardware/software architectures
 
|-
 
|-
 
!scope="row"|Manage Test Runs
 
!scope="row"|Manage Test Runs
 
|-
 
|-
|Identify/select test sets by capability
+
|Select test sets by capability
 +
|-
 +
|Drill down to individual tests/test results
 +
|-
 +
|Select/Deselect individual tests (based on relevance)
 
|-
 
|-
 
|Highlight/select Critical Operational capabilities test sets
 
|Highlight/select Critical Operational capabilities test sets
|- style="background-color:yellow"
+
|- style="background-color:white"
|Run tests against cloud
+
|Run tests against cloud connected to internet
 +
|-
 +
|Run tests against cloud isolated from internet
 
|-  
 
|-  
 
|Run selected subset of tests
 
|Run selected subset of tests
Line 79: Line 99:
 
|Preview test results (before publishing)
 
|Preview test results (before publishing)
 
|-
 
|-
|Compare test results over time
+
|Compare unpublished test results over time  
 +
|-
 +
|Compare published test results over time
 +
|-
 +
|Compare local test results to RefStack test results
 
|-
 
|-
 
|Upload test results to RefStack for analysis
 
|Upload test results to RefStack for analysis
|- style="background-color:yellow"
+
|-
 
|Publish test results to RefStack
 
|Publish test results to RefStack
 +
|-
 +
|Validate Publishers
 +
|-
 +
|Validate test runs submitted
 +
|-
 +
|Tag results by publisher and/or class of publisher
 +
|-
 +
|Tag results by certification (is this redundant to above?)
 +
|-
 +
|Tag official vendor results
 +
|-
 +
|Tag results by versionTag results by version
 
|-
 
|-
 
|Remove test results from RefStack
 
|Remove test results from RefStack
 
|-
 
|-
|Compare my results against clouds with similar characteristics
+
|View test results by cloud
 +
|-
 +
|Identify capabilities not tested
 +
|-
 +
|Identify Capabilities where test run contains non-exercised tests
 +
|-
 +
|Compare unpublished results to clouds with similar characteristics
 +
|-
 +
|Compare published results to clouds with similar characteristics
 +
|-
 +
!scope="row"|Manage RefStack Business Processes
 +
|-
 +
|Provide Vote mechanism for Capabilities
 +
|-
 +
|Display OpenStack.org certification for approved clouds, HW, SW, etc
 +
|-
 +
|Display OpenStack.org compliance for approved companies, organizations, schools, etc
 +
|-
 +
|Maintain connections to certification and compliance documentation
 +
|-
 +
|Ensure changes to certifications, compliance, test results, and all other critical data is restricted to authorized individuals/organizations
 +
|-
 +
|Submit protest to contest published test results
 +
|-
 +
|Track/correct/remove protests and results protested
 +
|-
 +
|Submit request for Dispute Resolution
 +
|-
 +
|Publish results of Dispute Resolution
 +
|-
 +
|Data mine Results database for aggregates info, trends, etc
 +
|-
 +
|Provide independent verification of xx% of official (and nonofficial?) test results
 +
|-
 +
|Business rules of what constitutes "approved" test results
 
|-
 
|-
|
+
|Privacy and Use Policies
 
|}
 
|}
 
=== Reference Materials ===
 
=== Reference Materials ===
 
[https://docs.google.com/document/d/1O1KH3RcPR2ZshlV3LS1qPBaywBCyXlzuFdinmYZNAM8/edit?pli=1 Original DefCore RefStack UseCases]
 
[https://docs.google.com/document/d/1O1KH3RcPR2ZshlV3LS1qPBaywBCyXlzuFdinmYZNAM8/edit?pli=1 Original DefCore RefStack UseCases]

Revision as of 01:03, 1 March 2014

Use Cases are a powerful way of identifying requirements for a software project. In the initial phase of RefStack definition, these cases have been used to drive design and architecture. They are also currently used to drive development milestones. indicates first pass feature..

ReStack Use Cases

Ops: A Private Cloud Operator

I want to:

  • preview results before they are public
  • compare my test runs over time
  • compare my test runs against clouds with similar characteristics (tagging)
  • be able to ignore tests that are not important
  • have tests grouped into capabilities so I am not overwhelmed
  • highlight tests that are critical for operations
  • be able to upload my tempest results to refstack for analysis
  • be able to remove results

User: An OpenStack User

I want to:

  • make sure that the capabilities I require are available
  • op 3, 4, 5 and 6
  • be able to post results from my own tests
  • (foundation 7)

Prospect: a Prospective OpenStack User

I want to:

  • compare results without uploading tests
  • not be forced to create a lp account to get data
  • not see results that are not accurate (approved results only)

Vendor / Organization: an OpenStack Vendor

I want to:

  • control tags that can be applied to test run against my cloud
  • contest results that I disagree with
  • be able to mark a result as official
  • know that test submission are coming from validated users
  • be able to excludes tests for capabilities we have not implemented (ops 4)
  • be able to give customers information about my compatibility (ops 3)
  • results that I don’t control to be statistically relevant
  • expose aggregate results to prospects (if they are favorable)

Foundation: the OpenStack Foundation

I need/want:

  • way to determine which tests are passing in my install base
  • way for community to indicate important capabilities
  • way to communicate which tests are “must pass” on a version by version basis
  • way to certify that a result includes all the “must pass” tests
  • to indicate organizations that are in compliance
  • way to settle disputes (ops 3)
  • to highlight gaps in capability coverage
  • to ensure that results posted are accurate
  • link between RefStack result and documentation at the appropriate version

Vendor: Relies on OpenStack API’s

I need to:

  • be able to validate which clouds my product will work with (user 1)
  • be able to upload test results that are outside the upstream

Requirements Map

Below are derived requirements from the Use Cases and implied requirements based on the purposes and goals of the RefStack project. This in no way should be construed as complete, but does provide guidance in the design and implementation of RefStack.

Use Case OpenStack Foundation Cloud Vendor Component Vendor Cloud Operator User Prospective User
Manage Tests
Identify test sets by completeness
Identify test sets by capability
Identify test sets by OpenStack version
Identify "required pass" tests by version
Identify tests that are specific to hardware/software architectures
Manage Test Runs
Select test sets by capability
Drill down to individual tests/test results
Select/Deselect individual tests (based on relevance)
Highlight/select Critical Operational capabilities test sets
Run tests against cloud connected to internet
Run tests against cloud isolated from internet
Run selected subset of tests
View set of previously run tests when selecting for new run
Manage Test Results
Preview test results (before publishing)
Compare unpublished test results over time
Compare published test results over time
Compare local test results to RefStack test results
Upload test results to RefStack for analysis
Publish test results to RefStack
Validate Publishers
Validate test runs submitted
Tag results by publisher and/or class of publisher
Tag results by certification (is this redundant to above?)
Tag official vendor results
Tag results by versionTag results by version
Remove test results from RefStack
View test results by cloud
Identify capabilities not tested
Identify Capabilities where test run contains non-exercised tests
Compare unpublished results to clouds with similar characteristics
Compare published results to clouds with similar characteristics
Manage RefStack Business Processes
Provide Vote mechanism for Capabilities
Display OpenStack.org certification for approved clouds, HW, SW, etc
Display OpenStack.org compliance for approved companies, organizations, schools, etc
Maintain connections to certification and compliance documentation
Ensure changes to certifications, compliance, test results, and all other critical data is restricted to authorized individuals/organizations
Submit protest to contest published test results
Track/correct/remove protests and results protested
Submit request for Dispute Resolution
Publish results of Dispute Resolution
Data mine Results database for aggregates info, trends, etc
Provide independent verification of xx% of official (and nonofficial?) test results
Business rules of what constitutes "approved" test results
Privacy and Use Policies

Reference Materials

Original DefCore RefStack UseCases