Skip to content

Commit dbfab33

Browse files
committed
cStor Pool Provisioning
Signed-off-by: ajeshbaby <[email protected]>
1 parent 8b1dbc6 commit dbfab33

File tree

2 files changed

+98
-0
lines changed

2 files changed

+98
-0
lines changed

Contributing-Guidelines.md

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Contributing Guidelines
2+
3+
There can be majorly two kinds of contributors
4+
- Writing Testcase
5+
- Automating Testcase
6+
7+
### Writing Testcase
8+
Usually Testcases are written by Test Architects / Leads / Engineers which will be then approved by Test Architects. The collection of these TCs is available [.master-plan.yaml](.master-plan.yaml). The format of TCs to be written in [.master-plan.yaml](.master-plan.yaml) is mentioned in [master-plan.md](master-plan.md)
9+
10+
11+
12+
### Automating Testcases
13+
Once the TCs are available in [master-plan.md](master-plan.md), Contributors(Automation Engineer) shall pick the *Not Automated* TCs from for automation, usually we recommend to pick based on the priority of TCs, where P0 is the highest and P3 is the lowest.
14+
15+
Once contributor picks the TCs, would be performing the following tasks
16+
17+
1. Issue would be created with [tcid] mentioned [.master-plan.yaml](.master-plan.yaml)
18+
2. Issue would be added with label e2e-wip and e2e-test-pX, where X can have the value 0 to 3 i.e TC priority.
19+
3. TC automation would be termed e2e-dev-complete post the following tasks would be done
20+
- Readme update
21+
- Automation code
22+
- Gitlab yaml update which would be used to call TC in the pipeline
23+
4. Review would be done by peer and merged. A label e2e-complete will be added to the issue
24+
5. Once the TC runs successfully in the pipeline, TC status would be changed to Automated.
25+
26+

master-plan.md

+72
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
# File .master-plan.yaml
2+
3+
The `.master-plan.yaml` file would contain all the desired/known test cases for OEP platform. From this file detailed testcases would be derived. Testcases will be kept in the repo and would have a unique id `tcid` prefixed. The excerpt of the file shown below, format has been kept similar to K8S CR.
4+
5+
6+
```kind: MasterPlan
7+
apiVersion: e2e.mayadata.io/v1alpha1
8+
metadata:
9+
name: masterTestplan
10+
spec:
11+
tests:
12+
### Installation of OpenEBS
13+
- tcid: "IUOI01"
14+
name: "Install OpenEBS on a Director Onprem Cluster"
15+
description: "Test the components are installed properly using both backend and Director apis. Check from the status from status agent response for the OpenEBS components."
16+
labels:
17+
test/feature: "Install and Upgrade of OpenEBS"
18+
test/subFeature: "Install OpenEBS ControlPlane"
19+
test/priority: "P0"
20+
git/location: Add the actual link to TC readme"
21+
test/status: "Not Automated"
22+
23+
24+
- tcid: "IUOI02"
25+
name: "Install OpenEBS on a K8S Cluster connected to Director Onprem Cluster"
26+
description: "Optional skipping here"
27+
labels:
28+
test/feature: "Install and Upgrade of OpenEBS"
29+
test/subFeature: "Install OpenEBS ControlPlane"
30+
test/priority: "P0"
31+
git/location: "Add the actual link to TC readme"
32+
test/status: "Not Automated"
33+
34+
```
35+
36+
37+
## Schema format
38+
39+
##### `tcid` -- referers to a unique id for the testcase.
40+
41+
Each test case would be called as job in gitlab pipeline using gitlab-ci.yaml. Actual test case would be having this unique id prefixed . Each test case would have a seperate readme. The tcid will be in lower case.
42+
43+
`tcid` is constructed following, each tcid would be unique and will have 6-7 chars
44+
45+
first two letter indicates the feature.
46+
47+
third and fourth letter indicates the sub feature.
48+
49+
last two chars would be digits in incrementatal way.
50+
51+
Example
52+
53+
| Feature | SubFeature |
54+
| ------------------------- | --------------------------- |
55+
| iu -- Install and Upgrade | oi -- OpenEBS Install |
56+
| | oc -- OpenEBS ControlPlane |
57+
| | od -- OpenEBS DataPlane |
58+
| tr -- Teaming and RBAC | po -- Project Owner |
59+
| | pa -- Project Admin |
60+
| | pm -- Project Member |
61+
| | pr -- Project ReadOnly User |
62+
| | rc -- Role Change |
63+
| | iv -- Invite |
64+
| pp -- Pool Provisioning | cp -- cstor Pool |
65+
66+
##### `name` -- test case name
67+
##### `description` -- Testcase description
68+
##### `test/subFeature` -- Testcase belong which sub component/feature
69+
##### `test/priority` -- Testcase priority to decide how early it has to be automated. It can have values 0 to 3 where 0 is highest and 3 being lowest.
70+
##### `git/location` -- Location where testcase has been place (link with readme)
71+
##### `test/status` -- Status of TC whether automated or not automated
72+

0 commit comments

Comments
 (0)