Jump to: navigation, search

Manila/specs/scenario-tests

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