Jump to: navigation, search

Difference between revisions of "Manila/specs/scenario-tests"

(Created page with "== Scenario tests for Manila == Blueprint: https://blueprints.launchpad.net/manila/+spec/scenario-tests {| class="wikitable" |- ! Test case !! Desc !! Assignee |- ! test_man...")
 
m (List of scenarious)
 
(9 intermediate revisions by 4 users not shown)
Line 1: Line 1:
== Scenario tests for Manila ==
+
== Scenario test cases for Manila project ==
  
 
Blueprint: https://blueprints.launchpad.net/manila/+spec/scenario-tests
 
Blueprint: https://blueprints.launchpad.net/manila/+spec/scenario-tests
  
 +
===Dictionary===
 +
 +
{| class="wikitable"
 +
|-
 +
! Definition !! Meaning
 +
|-
 +
! UVM !! User VM. It is used as client machine for mounting shares.
 +
|-
 +
! SSH !! Secure SHell. It is used for connection to UVMs.
 +
|}
 +
 +
===Prerequisites===
 +
- Depending on share driver mode, it can be required to create share-network w/o security-services.
 +
- Depending on protocol, its versions and access type, “mount” operations should be defined explicitly, scenario tests assume it as predefined and known. Hence, scenarios do not include difference between access type (IP, User, Cert). Due to this scenario tests should be data driven by “access_type”, “access_proto”,  “access_level” and “mount command with all expected options”.
 +
- ''Italic texts'' depend on specific implementations and can be unsupported by share backends.
 +
- All user VMs should be separate VMs from host of shares. They should have network connectivity with share host. User VMs should be built with image that has shared file systems clients.
 +
- Share host should have open ports for SSH protocol and protocols of shared file systems.
 +
 +
===List of scenarios===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Test case !! Desc !! Assignee
+
! !! Name !! Description
 +
|-
 +
! 1!! Share access and file operations !! This test verifies basic file operations with shares.
 +
|-
 +
! 2!! Single/Group access operations !! This test verifies basic single or group access operations.
 +
|-
 +
! 3!! Relations between source shares and child shares !! This test verifies that child share does not inherit access rules from parent and is different in general.
 +
|-
 +
! 4!! Share access with multiple UVM !! This test verifies basic share access control with multiple UVM (driver specific, share-networks).
 +
|}
 +
 
 +
==== 1. Share access and file operations ====
 +
{| class="wikitable"
 +
|-
 +
! № !! Action !! Result
 +
|-
 +
! 1 !! Create UVM !! ok, created
 +
|-
 +
! 2 !! Create share S !! ok, created
 +
|-
 +
! 3 !! SSH to UVM !! ok, connected
 +
|-
 +
! 4 !! Try mount S to UVM !! fail, access denied
 +
|-
 +
! 5 !! Provide RO access !! ok
 +
|-
 +
! 6 !! Try mount S to UVM !! ok, mounted
 +
|-
 +
! 7 !! ''Try create files on S'' !! ''fail, access denied''
 +
|-
 +
! 8 !! ''Unmount S from UVM'' !! ''ok''
 +
|-
 +
! 9 !! ''Remove RO access'' !! ''ok, removed''
 +
|-
 +
! 10 !! ''Try mount S to UVM'' !! ''fail, access denied''
 +
|-
 +
! 11 !! Provide RW access !! ok, provided
 +
|-
 +
! 12 !! Try mount S to UVM !! ok, mounted
 +
|-
 +
! 13 !! Try write files to S !! ok, written
 +
|-
 +
! 14 !! Try read files from S !! ok, read
 +
|-
 +
! 15 !! Try delete files on S !! ok, deleted
 +
|-
 +
! 16 !! Unmount S from UVM !! ok, unmounted
 +
|-
 +
! 17 !! Delete S !! ok, deleted
 +
|-
 +
! 18 !! Try mount S !! fail, not found
 +
|-
 +
! 19 !! Delete UVM !! ok, deleted
 +
|}
 +
 
 +
==== 2. Single/Group access operations ====
 +
{| class="wikitable"
 +
|-
 +
! № !! Action !! Result
 +
|-
 +
! 1 !! Create user UVM1 using network1 !! ok, created
 +
|-
 +
! 2 !! Create user UVM2 using network2 !! ok, created
 +
|-
 +
! 3 !! Create share S !! ok, created
 +
|-
 +
! 4 !! Add access to network1 !! ok, added
 +
|-
 +
! 5 !! SSH to UVM1 !! ok, connected
 +
|-
 +
! 6 !! Try mount S from UVM1 !! ok, mounted
 +
|-
 +
! 7 !! SSH to UVM2 !! ok, connected
 +
|-
 +
! 8 !! Try mount S from UVM2 !! fail, access denied
 +
|-
 +
! 9 !! Add access to network2 !! ok, added
 +
|-
 +
! 10 !! Try mount S from UVM2 !! ok, mounted (Two VMs have it mounted at once)
 +
|-
 +
! 11 !! Unmount S on UVM1 !! ok, unmounted
 +
|-
 +
! 12 !! Unmount S on UVM2 !! ok, unmounted
 +
|-
 +
! 13 !! Delete UVM1 !! ok, deleted
 +
|-
 +
! 14 !! Delete UVM2 !! ok, deleted
 +
|-
 +
! 15 !! Delete S !! ok, deleted
 +
|}
 +
 
 +
==== 3. Relations between source shares and child shares ====
 +
{| class="wikitable"
 +
|-
 +
! № !! Action !! Result
 +
|-
 +
! 1 !! Create UVM !! ok, created
 +
|-
 +
! 2 !! Create share S1 !! ok, created
 +
|-
 +
! 3 !! Provide RW access to S1 !! ok, provided
 +
|-
 +
! 4 !! SSH to UVM !! ok, connected
 +
|-
 +
! 5 !! Try mount S1 to UVM !! ok, mounted
 +
|-
 +
! 6 !! Create “file1” !! ok, created
 +
|-
 +
! 7 !! Create snapshot from S, called SS1 !! ok, created
 +
|-
 +
! 8 !! Create share from SS1, called S2 !! ok, created
 +
|-
 +
! 9 !! Try mount S2 !! fail, access denied (Here we test that child share did not get access rules form parent share)
 +
|-
 +
! 10 !! Provide RW access to S2 !! ok, provided
 +
|-
 +
! 11 !! Try mount S2 !! ok, mounted
 +
|-
 +
! 12 !! List files on S2 !! only one file exist - “file1”
 +
|-
 +
! 13 !! Create file2 in S2 !! ok, file created
 +
|-
 +
! 14 !! List files on S1 !! only one file exist - “file1”
 +
|-
 +
! 15 !! List files on S2 !! two files exist - “file1” and “file2”
 +
|-
 +
! 16 !! Unmount S1 and S2 !! ok, unmounted
 +
|-
 +
! 17 !! Delete S2 !! ok, deleted
 +
|-
 +
! 18 !! Delete SS1 !! ok, deleted
 +
|-
 +
! 19 !! Delete S1 !! ok, deleted
 +
|-
 +
! 20 !! Delete UVM !! ok, deleted
 +
|}
 +
 
 +
==== 4. Share access with multiple UVM ====
 +
{| class="wikitable"
 +
|-
 +
! № !! Action !! Result
 +
|-
 +
! 1 !! Create UVM1 !! ok, created
 +
|-
 +
! 2 !! Create UVM2 !! ok, created
 +
|-
 +
! 3 !! Create secgroup for icmp,ssh !! ok, created
 +
|-
 +
! 3 !! Create share network !! ok, created
 +
|-
 +
! 4 !! Create share S !! ok, created
 +
|-
 +
! 5 !! SSH to UVM1 !! ok, connected
 +
|-
 +
! 6 !! Try mount S to UVM1 !! fail, access denied
 +
|-
 +
! 7 !! Provide RW access to UVM1 !! ok, provided
 +
|-
 +
! 8 !! SSH to UVM1 !! ok, connected
 +
|-
 +
! 9 !! Try mount S to UVM1 !! ok, mounted
 +
|-
 +
! 10 !! Try umount S from UVM1 !! ok, umounted
 +
|-
 +
! 11 !! SSH to UVM2 !! ok, connected
 +
|-
 +
! 12 !! Try mount S to UVM2 !! fail, access denied
 +
|-
 +
! 13 !! Try umount S from UVM2 !! fail, not found
 +
|-
 +
! 14 !! Provide RW access to UVM2 !! ok, provided
 +
|-
 +
! 15 !! SSH to UVM1 !! ok, connected
 +
|-
 +
! 16 !! Try mount S to UVM1 !! ok, mounted
 +
|-
 +
! 17 !! Try umount S from UVM1 !! ok, umounted
 +
|-
 +
! 18 !! SSH to UVM2 !! ok, connected
 +
|-
 +
! 19 !! Try mount S to UVM2 !! ok, mounted
 +
|-
 +
! 20 !! Try umount S from UVM2 !! ok, umounted
 +
|-
 +
! 21 !! Remove RW access from UVM1 !! ok, removed
 +
|-
 +
! 22 !! SSH to UVM1 !! ok, connected
 +
|-
 +
! 23 !! Try mount S to UVM1 !! fail, access denied
 +
|-
 +
! 24 !! Try umount S from UVM1 !! fail, not found
 +
|-
 +
! 25 !! SSH to UVM2 !! ok, connected
 +
|-
 +
! 26 !! Try mount S to UVM2 !! ok, mounted
 +
|-
 +
! 27 !! Try umount S from UVM2 !! ok, umounted
 +
|-
 +
! 28 !! Remove RW access from UVM2 !! ok, removed
 +
|-
 +
! 29 !! SSH to UVM1 !! ok, connected
 +
|-
 +
! 30 !! Try mount S to UVM1 !! fail, access denied
 +
|-
 +
! 31 !! Try umount S from UVM1 !! fail, not found
 +
|-
 +
! 32 !! SSH to UVM2 !! ok, connected
 +
|-
 +
! 33 !! Try mount S to UVM2 !! fail, access denied
 +
|-
 +
! 34 !! Try umount S from UVM2 !! fail, not found
 +
|-
 +
! 35 !! Delete share S !! ok, deleted
 +
|-
 +
! 36 !! Delete share-server !! ok, deleted
 +
|-
 +
! 37 !! Delete share-network !! ok, deleted
 +
|-
 +
! 38 !! Delete UVM1 !! ok, deleted
 +
|-
 +
! 39 !! Delete UVM2 !! ok, deleted
 
|-
 
|-
! test_manila_basic!! Basic test case using the Manila use cases !!  
+
! 40 !! Delete secgroup for icmp,ssh !! ok, deleted
 
|}
 
|}

Latest revision as of 17:06, 27 February 2015

Scenario test cases for Manila project

Blueprint: https://blueprints.launchpad.net/manila/+spec/scenario-tests

Dictionary

Definition Meaning
UVM User VM. It is used as client machine for mounting shares.
SSH Secure SHell. It is used for connection to UVMs.

Prerequisites

- Depending on share driver mode, it can be required to create share-network w/o security-services.
- Depending on protocol, its versions and access type, “mount” operations should be defined explicitly, scenario tests assume it as predefined and known. Hence, scenarios do not include difference between access type (IP, User, Cert). Due to this scenario tests should be data driven by “access_type”, “access_proto”,  “access_level” and “mount command with all expected options”.
- Italic texts depend on specific implementations and can be unsupported by share backends.
- All user VMs should be separate VMs from host of shares. They should have network connectivity with share host. User VMs should be built with image that has shared file systems clients.
- Share host should have open ports for SSH protocol and protocols of shared file systems.

List of scenarios

Name Description
1 Share access and file operations This test verifies basic file operations with shares.
2 Single/Group access operations This test verifies basic single or group access operations.
3 Relations between source shares and child shares This test verifies that child share does not inherit access rules from parent and is different in general.
4 Share access with multiple UVM This test verifies basic share access control with multiple UVM (driver specific, share-networks).

1. Share access and file operations

Action Result
1 Create UVM ok, created
2 Create share S ok, created
3 SSH to UVM ok, connected
4 Try mount S to UVM fail, access denied
5 Provide RO access ok
6 Try mount S to UVM ok, mounted
7 Try create files on S fail, access denied
8 Unmount S from UVM ok
9 Remove RO access ok, removed
10 Try mount S to UVM fail, access denied
11 Provide RW access ok, provided
12 Try mount S to UVM ok, mounted
13 Try write files to S ok, written
14 Try read files from S ok, read
15 Try delete files on S ok, deleted
16 Unmount S from UVM ok, unmounted
17 Delete S ok, deleted
18 Try mount S fail, not found
19 Delete UVM ok, deleted

2. Single/Group access operations

Action Result
1 Create user UVM1 using network1 ok, created
2 Create user UVM2 using network2 ok, created
3 Create share S ok, created
4 Add access to network1 ok, added
5 SSH to UVM1 ok, connected
6 Try mount S from UVM1 ok, mounted
7 SSH to UVM2 ok, connected
8 Try mount S from UVM2 fail, access denied
9 Add access to network2 ok, added
10 Try mount S from UVM2 ok, mounted (Two VMs have it mounted at once)
11 Unmount S on UVM1 ok, unmounted
12 Unmount S on UVM2 ok, unmounted
13 Delete UVM1 ok, deleted
14 Delete UVM2 ok, deleted
15 Delete S ok, deleted

3. Relations between source shares and child shares

Action Result
1 Create UVM ok, created
2 Create share S1 ok, created
3 Provide RW access to S1 ok, provided
4 SSH to UVM ok, connected
5 Try mount S1 to UVM ok, mounted
6 Create “file1” ok, created
7 Create snapshot from S, called SS1 ok, created
8 Create share from SS1, called S2 ok, created
9 Try mount S2 fail, access denied (Here we test that child share did not get access rules form parent share)
10 Provide RW access to S2 ok, provided
11 Try mount S2 ok, mounted
12 List files on S2 only one file exist - “file1”
13 Create file2 in S2 ok, file created
14 List files on S1 only one file exist - “file1”
15 List files on S2 two files exist - “file1” and “file2”
16 Unmount S1 and S2 ok, unmounted
17 Delete S2 ok, deleted
18 Delete SS1 ok, deleted
19 Delete S1 ok, deleted
20 Delete UVM ok, deleted

4. Share access with multiple UVM

Action Result
1 Create UVM1 ok, created
2 Create UVM2 ok, created
3 Create secgroup for icmp,ssh ok, created
3 Create share network ok, created
4 Create share S ok, created
5 SSH to UVM1 ok, connected
6 Try mount S to UVM1 fail, access denied
7 Provide RW access to UVM1 ok, provided
8 SSH to UVM1 ok, connected
9 Try mount S to UVM1 ok, mounted
10 Try umount S from UVM1 ok, umounted
11 SSH to UVM2 ok, connected
12 Try mount S to UVM2 fail, access denied
13 Try umount S from UVM2 fail, not found
14 Provide RW access to UVM2 ok, provided
15 SSH to UVM1 ok, connected
16 Try mount S to UVM1 ok, mounted
17 Try umount S from UVM1 ok, umounted
18 SSH to UVM2 ok, connected
19 Try mount S to UVM2 ok, mounted
20 Try umount S from UVM2 ok, umounted
21 Remove RW access from UVM1 ok, removed
22 SSH to UVM1 ok, connected
23 Try mount S to UVM1 fail, access denied
24 Try umount S from UVM1 fail, not found
25 SSH to UVM2 ok, connected
26 Try mount S to UVM2 ok, mounted
27 Try umount S from UVM2 ok, umounted
28 Remove RW access from UVM2 ok, removed
29 SSH to UVM1 ok, connected
30 Try mount S to UVM1 fail, access denied
31 Try umount S from UVM1 fail, not found
32 SSH to UVM2 ok, connected
33 Try mount S to UVM2 fail, access denied
34 Try umount S from UVM2 fail, not found
35 Delete share S ok, deleted
36 Delete share-server ok, deleted
37 Delete share-network ok, deleted
38 Delete UVM1 ok, deleted
39 Delete UVM2 ok, deleted
40 Delete secgroup for icmp,ssh ok, deleted