Statistics
| Branch: | Tag: | Revision:

root / docs / snf-burnin.rst @ 1a736ca8

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 uses the Synnefo REST APIs to run test scenarios for the
8
following categories:
9

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

    
17

    
18
Usage
19
=====
20

    
21
**Example:**
22

    
23
::
24

    
25
  snf-burnin --token=TOKEN \
26
             --api=CYCLADES_URL
27
             --pithos=PITHOS_URL \
28
             --astakos=ASTAKOS_URL \
29
             --plankton=PLANKTON_URL \
30
             --plankton-user=PLANKTON_SYSTEM_USER \
31
             --image-id=IMAGE_ID \
32
             --log-folder=LOG_FOLDER
33

    
34
For more info
35

    
36
::
37

    
38
  snf-burnin --help
39

    
40
::
41

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

    
93

    
94
Detailed description of testcases
95
=================================
96

    
97
.. _unauthorizedtestcase:
98

    
99
UnauthorizedTestCase
100
--------------------
101
* Test that trying to access without a valid token, fails
102

    
103
.. _imagestestcase:
104

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

    
115
.. _flavorstestcase:
116

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

    
125
.. _serverstestcase:
126

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

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

    
161
.. _networktestcase:
162

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

    
183
.. _pithostestcase:
184

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