Statistics
| Branch: | Tag: | Revision:

root / docs / snf-burnin.rst @ 4f7d5233

History | View | Annotate | Download (6.8 kB)

1
.. _snf-burnin:
2

    
3
snf-burnin
4
^^^^^^^^^^
5

    
6
:ref:`snf-burnin <snf-burnin>` is an integration testing tool for a running
7
Synnefo deployment. It runs test scenarios from the following categories:
8

    
9
* :ref:`Authentication <unauthorizedtestcase>`
10
* :ref:`Images <imagestestcase>`
11
* :ref:`Flavors <flavorstestcase>`
12
* :ref:`Servers <serverstestcase>`
13
* :ref:`Networking <networktestcase>`
14
* :ref:`Storage <pithostestcase>`
15

    
16

    
17
Usage
18
=====
19

    
20
**Example:**
21

    
22
::
23

    
24
  snf-burnin --api=API_URL \
25
             --token=TOKEN \
26
             --plankton=PLANKTON_API \
27
             --plankton-user=PLANKTON_SYSTEM_USER \
28
             --image-id=IMAGE-ID \
29
             --pithos=PITHOS_URL \
30
             --astakos=ASTAKOS_URL \
31
             --log-folder=LOG_FOLDER
32

    
33
For more info
34

    
35
::
36

    
37
  snf-burnin --help
38

    
39
::
40

    
41
  Options:
42
  -h, --help            show this help message and exit
43
  --api=API             The API URI to use to reach the Synnefo API
44
  --plankton=PLANKTON   The API URI to use to reach the Plankton API
45
  --plankton-user=PLANKTON_USER
46
                        Owner of system images
47
  --pithos=PITHOS       The API URI to use to reach the Pithos API
48
  --astakos=ASTAKOS     The API URI to use to reach the Astakos API
49
  --token=TOKEN         The token to use for authentication to the API
50
  --nofailfast          Do not fail immediately if one of the tests fails
51
                        (EXPERIMENTAL)
52
  --no-ipv6             Disables ipv6 related tests
53
  --action-timeout=TIMEOUT
54
                        Wait SECONDS seconds for a server action to complete,
55
                        then the test is considered failed
56
  --build-warning=TIMEOUT
57
                        Warn if TIMEOUT seconds have passed and a build
58
                        operation is still pending
59
  --build-fail=BUILD_TIMEOUT
60
                        Fail the test if TIMEOUT seconds have passed and a
61
                        build operation is still incomplete
62
  --query-interval=INTERVAL
63
                        Query server status when requests are pending every
64
                        INTERVAL seconds
65
  --fanout=COUNT        Spawn up to COUNT child processes to execute in
66
                        parallel, essentially have up to COUNT server build
67
                        requests outstanding (EXPERIMENTAL)
68
  --force-flavor=FLAVOR ID
69
                        Force all server creations to use the specified FLAVOR
70
                        ID instead of a randomly chosen one, useful if disk
71
                        space is scarce
72
  --image-id=IMAGE ID   Test the specified image id, use 'all' to test all
73
                        available images (mandatory argument)
74
  --show-stale          Show stale servers from previous runs, whose name
75
                        starts with `snf-test-'
76
  --delete-stale        Delete stale servers from previous runs, whose name
77
                        starts with `snf-test-'
78
  --force-personality=PERSONALITY_PATH
79
                        Force a personality file injection.
80
                        File path required.
81
  --log-folder=LOG_FOLDER
82
                        Define the absolute path where the output
83
                        log is stored.
84
  -V, --verbose         Print detailed output about multiple processes
85
                        spawning
86
  --set-tests=TESTS     Set comma seperated tests for this run.
87
                        Available tests: auth, images, flavors,
88
                        servers, server_spawn,
89
                        network_spawn, pithos.
90
                        Default = all
91

    
92

    
93
Detailed description of testcases
94
=================================
95

    
96
.. _unauthorizedtestcase:
97

    
98
UnauthorizedTestCase
99
--------------------
100
* Test access without a valid token fails
101

    
102
.. _imagestestcase:
103

    
104
ImagesTestCase
105
--------------
106
* Test image list actually returns images
107
* Test detailed image list is the same length as list
108
* Test detailed and simple image list contain same names
109
* Test system images have unique names
110
* Test every image has specific metadata defined
111
* Download image from Pithos+
112
* Upload and register image
113

    
114
.. _flavorstestcase:
115

    
116
FlavorsTestCase
117
---------------
118
* Test flavor list actually returns flavors
119
* Test detailed flavor list is the stame length as list
120
* Test detailed and simple flavor list contain same names
121
* Test flavors have unique names
122
* Test flavor names have correct format
123

    
124
.. _serverstestcase:
125

    
126
ServersTestCase
127
---------------
128
* Test simple and detailed server list have the same length
129
* Test simple and detailed servers have the same names
130

    
131
SpawnServerTestCase
132
-------------------
133
* Submit create server
134
* Test server is in BUILD state in server list
135
* Test server is in BUILD state in details
136
* Change server metadata
137
* Verify the changed metadata are correct
138
* Verify server metadata are set based on image metadata
139
* Wait until server change state to ACTIVE, and verify state
140
* Test if OOB server console works
141
* Test if server has IPv4
142
* Test if server has IPv6
143
* Test if server responds to ping on IPv4 address
144
* Test if server responds to ping on IPv6 address
145
* Submit shutdown request
146
* Verify server status is STOPPED
147
* Submit start request
148
* Test server status is ACTIVE
149
* Test if server responds to ping on IPv4 address (verify up and running)
150
* Test if server responds to ping on IPv6 address (verify up and running)
151
* Test SSH to server and verify hostname (IPv4)
152
* Test SSH to server and verify hostname (IPv6)
153
* Test RDP connection to server (only for Window Images) (IPv4)
154
* Test RDP connection to server (only for Window Images) (IPv6)
155
* Test file injection for personality enforcement
156
* Submit server delete request
157
* Test server becomes DELETED
158
* Test server is no longer in server list
159

    
160
.. _networktestcase:
161

    
162
NetworkTestCase
163
---------------
164
* Submit create server A request
165
* Test server A becomes ACTIVE
166
* Submit create server B request
167
* Test server B becomes ACTIVE
168
* Submit create private network request
169
* Connect VMs to private network
170
* Test if VMs are connected to network
171
* Submit reboot request to server A
172
* Test server A responds to ping on IPv4 address (verify up and running)
173
* Submit reboot request to server B
174
* Test server B responds to ping on IPv4 address (verify up and running)
175
* Connect via SSH and setup the new network interface in server A
176
* Connect via SSH and setup the new network interface in server B
177
* Connect via SSH to server A and test if server B responds to ping on IPv4 address
178
* Disconnect servers from network and verfiy the network details
179
* Send delete network request and verify that the network is deleted from the list
180
* Send request to delete servers and wait until they are actyally deleted
181

    
182
.. _pithostestcase:
183

    
184
PithosTestCase
185
--------------
186
* Test container list is not empty
187
* Test containers have unique names
188
* Create a new container
189
* Upload simple file to newly created container
190
* Download file from Pithos+ and test they are the same
191
* Remove created file and container from Pithos+