Statistics
| Branch: | Tag: | Revision:

root / docs / snf-burnin.rst @ 0e214bbe

History | View | Annotate | Download (6.8 kB)

1 4f7d5233 Ilias Tsitsimpis
.. _snf-burnin:
2 4f7d5233 Ilias Tsitsimpis
3 4f7d5233 Ilias Tsitsimpis
snf-burnin
4 4f7d5233 Ilias Tsitsimpis
^^^^^^^^^^
5 4f7d5233 Ilias Tsitsimpis
6 4f7d5233 Ilias Tsitsimpis
:ref:`snf-burnin <snf-burnin>` is an integration testing tool for a running
7 980190ae Constantinos Venetsanopoulos
Synnefo deployment. It uses the Synnefo REST APIs to run test scenarios for the
8 980190ae Constantinos Venetsanopoulos
following categories:
9 4f7d5233 Ilias Tsitsimpis
10 4f7d5233 Ilias Tsitsimpis
* :ref:`Authentication <unauthorizedtestcase>`
11 4f7d5233 Ilias Tsitsimpis
* :ref:`Images <imagestestcase>`
12 4f7d5233 Ilias Tsitsimpis
* :ref:`Flavors <flavorstestcase>`
13 4f7d5233 Ilias Tsitsimpis
* :ref:`Servers <serverstestcase>`
14 980190ae Constantinos Venetsanopoulos
* :ref:`Network <networktestcase>`
15 4f7d5233 Ilias Tsitsimpis
* :ref:`Storage <pithostestcase>`
16 4f7d5233 Ilias Tsitsimpis
17 4f7d5233 Ilias Tsitsimpis
18 4f7d5233 Ilias Tsitsimpis
Usage
19 4f7d5233 Ilias Tsitsimpis
=====
20 4f7d5233 Ilias Tsitsimpis
21 4f7d5233 Ilias Tsitsimpis
**Example:**
22 4f7d5233 Ilias Tsitsimpis
23 4f7d5233 Ilias Tsitsimpis
::
24 4f7d5233 Ilias Tsitsimpis
25 980190ae Constantinos Venetsanopoulos
  snf-burnin --token=TOKEN \
26 980190ae Constantinos Venetsanopoulos
             --api=CYCLADES_URL
27 4f7d5233 Ilias Tsitsimpis
             --pithos=PITHOS_URL \
28 4f7d5233 Ilias Tsitsimpis
             --astakos=ASTAKOS_URL \
29 980190ae Constantinos Venetsanopoulos
             --plankton=PLANKTON_URL \
30 980190ae Constantinos Venetsanopoulos
             --plankton-user=PLANKTON_SYSTEM_USER \
31 980190ae Constantinos Venetsanopoulos
             --image-id=IMAGE_ID \
32 4f7d5233 Ilias Tsitsimpis
             --log-folder=LOG_FOLDER
33 4f7d5233 Ilias Tsitsimpis
34 4f7d5233 Ilias Tsitsimpis
For more info
35 4f7d5233 Ilias Tsitsimpis
36 4f7d5233 Ilias Tsitsimpis
::
37 4f7d5233 Ilias Tsitsimpis
38 4f7d5233 Ilias Tsitsimpis
  snf-burnin --help
39 4f7d5233 Ilias Tsitsimpis
40 4f7d5233 Ilias Tsitsimpis
::
41 4f7d5233 Ilias Tsitsimpis
42 4f7d5233 Ilias Tsitsimpis
  Options:
43 4f7d5233 Ilias Tsitsimpis
  -h, --help            show this help message and exit
44 4f7d5233 Ilias Tsitsimpis
  --api=API             The API URI to use to reach the Synnefo API
45 4f7d5233 Ilias Tsitsimpis
  --plankton=PLANKTON   The API URI to use to reach the Plankton API
46 4f7d5233 Ilias Tsitsimpis
  --plankton-user=PLANKTON_USER
47 4f7d5233 Ilias Tsitsimpis
                        Owner of system images
48 4f7d5233 Ilias Tsitsimpis
  --pithos=PITHOS       The API URI to use to reach the Pithos API
49 4f7d5233 Ilias Tsitsimpis
  --astakos=ASTAKOS     The API URI to use to reach the Astakos API
50 4f7d5233 Ilias Tsitsimpis
  --token=TOKEN         The token to use for authentication to the API
51 4f7d5233 Ilias Tsitsimpis
  --nofailfast          Do not fail immediately if one of the tests fails
52 4f7d5233 Ilias Tsitsimpis
                        (EXPERIMENTAL)
53 4f7d5233 Ilias Tsitsimpis
  --no-ipv6             Disables ipv6 related tests
54 4f7d5233 Ilias Tsitsimpis
  --action-timeout=TIMEOUT
55 4f7d5233 Ilias Tsitsimpis
                        Wait SECONDS seconds for a server action to complete,
56 4f7d5233 Ilias Tsitsimpis
                        then the test is considered failed
57 4f7d5233 Ilias Tsitsimpis
  --build-warning=TIMEOUT
58 4f7d5233 Ilias Tsitsimpis
                        Warn if TIMEOUT seconds have passed and a build
59 4f7d5233 Ilias Tsitsimpis
                        operation is still pending
60 4f7d5233 Ilias Tsitsimpis
  --build-fail=BUILD_TIMEOUT
61 4f7d5233 Ilias Tsitsimpis
                        Fail the test if TIMEOUT seconds have passed and a
62 4f7d5233 Ilias Tsitsimpis
                        build operation is still incomplete
63 4f7d5233 Ilias Tsitsimpis
  --query-interval=INTERVAL
64 4f7d5233 Ilias Tsitsimpis
                        Query server status when requests are pending every
65 4f7d5233 Ilias Tsitsimpis
                        INTERVAL seconds
66 4f7d5233 Ilias Tsitsimpis
  --fanout=COUNT        Spawn up to COUNT child processes to execute in
67 4f7d5233 Ilias Tsitsimpis
                        parallel, essentially have up to COUNT server build
68 4f7d5233 Ilias Tsitsimpis
                        requests outstanding (EXPERIMENTAL)
69 4f7d5233 Ilias Tsitsimpis
  --force-flavor=FLAVOR ID
70 4f7d5233 Ilias Tsitsimpis
                        Force all server creations to use the specified FLAVOR
71 4f7d5233 Ilias Tsitsimpis
                        ID instead of a randomly chosen one, useful if disk
72 4f7d5233 Ilias Tsitsimpis
                        space is scarce
73 4f7d5233 Ilias Tsitsimpis
  --image-id=IMAGE ID   Test the specified image id, use 'all' to test all
74 4f7d5233 Ilias Tsitsimpis
                        available images (mandatory argument)
75 4f7d5233 Ilias Tsitsimpis
  --show-stale          Show stale servers from previous runs, whose name
76 4f7d5233 Ilias Tsitsimpis
                        starts with `snf-test-'
77 4f7d5233 Ilias Tsitsimpis
  --delete-stale        Delete stale servers from previous runs, whose name
78 4f7d5233 Ilias Tsitsimpis
                        starts with `snf-test-'
79 4f7d5233 Ilias Tsitsimpis
  --force-personality=PERSONALITY_PATH
80 4f7d5233 Ilias Tsitsimpis
                        Force a personality file injection.
81 4f7d5233 Ilias Tsitsimpis
                        File path required.
82 4f7d5233 Ilias Tsitsimpis
  --log-folder=LOG_FOLDER
83 4f7d5233 Ilias Tsitsimpis
                        Define the absolute path where the output
84 4f7d5233 Ilias Tsitsimpis
                        log is stored.
85 4f7d5233 Ilias Tsitsimpis
  -V, --verbose         Print detailed output about multiple processes
86 4f7d5233 Ilias Tsitsimpis
                        spawning
87 4f7d5233 Ilias Tsitsimpis
  --set-tests=TESTS     Set comma seperated tests for this run.
88 4f7d5233 Ilias Tsitsimpis
                        Available tests: auth, images, flavors,
89 4f7d5233 Ilias Tsitsimpis
                        servers, server_spawn,
90 4f7d5233 Ilias Tsitsimpis
                        network_spawn, pithos.
91 4f7d5233 Ilias Tsitsimpis
                        Default = all
92 4f7d5233 Ilias Tsitsimpis
93 4f7d5233 Ilias Tsitsimpis
94 4f7d5233 Ilias Tsitsimpis
Detailed description of testcases
95 4f7d5233 Ilias Tsitsimpis
=================================
96 4f7d5233 Ilias Tsitsimpis
97 4f7d5233 Ilias Tsitsimpis
.. _unauthorizedtestcase:
98 4f7d5233 Ilias Tsitsimpis
99 4f7d5233 Ilias Tsitsimpis
UnauthorizedTestCase
100 4f7d5233 Ilias Tsitsimpis
--------------------
101 980190ae Constantinos Venetsanopoulos
* Test that trying to access without a valid token, fails
102 4f7d5233 Ilias Tsitsimpis
103 4f7d5233 Ilias Tsitsimpis
.. _imagestestcase:
104 4f7d5233 Ilias Tsitsimpis
105 4f7d5233 Ilias Tsitsimpis
ImagesTestCase
106 4f7d5233 Ilias Tsitsimpis
--------------
107 4f7d5233 Ilias Tsitsimpis
* Test image list actually returns images
108 980190ae Constantinos Venetsanopoulos
* Test detailed image list has the same length as list
109 980190ae Constantinos Venetsanopoulos
* Test detailed and simple image list contain the same names
110 4f7d5233 Ilias Tsitsimpis
* Test system images have unique names
111 4f7d5233 Ilias Tsitsimpis
* Test every image has specific metadata defined
112 980190ae Constantinos Venetsanopoulos
* Download image from Pithos
113 4f7d5233 Ilias Tsitsimpis
* Upload and register image
114 4f7d5233 Ilias Tsitsimpis
115 4f7d5233 Ilias Tsitsimpis
.. _flavorstestcase:
116 4f7d5233 Ilias Tsitsimpis
117 4f7d5233 Ilias Tsitsimpis
FlavorsTestCase
118 4f7d5233 Ilias Tsitsimpis
---------------
119 4f7d5233 Ilias Tsitsimpis
* Test flavor list actually returns flavors
120 980190ae Constantinos Venetsanopoulos
* Test detailed flavor list has the same length as list
121 980190ae Constantinos Venetsanopoulos
* Test detailed and simple flavor list contain the same names
122 4f7d5233 Ilias Tsitsimpis
* Test flavors have unique names
123 4f7d5233 Ilias Tsitsimpis
* Test flavor names have correct format
124 4f7d5233 Ilias Tsitsimpis
125 4f7d5233 Ilias Tsitsimpis
.. _serverstestcase:
126 4f7d5233 Ilias Tsitsimpis
127 4f7d5233 Ilias Tsitsimpis
ServersTestCase
128 4f7d5233 Ilias Tsitsimpis
---------------
129 4f7d5233 Ilias Tsitsimpis
* Test simple and detailed server list have the same length
130 4f7d5233 Ilias Tsitsimpis
* Test simple and detailed servers have the same names
131 4f7d5233 Ilias Tsitsimpis
132 4f7d5233 Ilias Tsitsimpis
SpawnServerTestCase
133 4f7d5233 Ilias Tsitsimpis
-------------------
134 4f7d5233 Ilias Tsitsimpis
* Submit create server
135 4f7d5233 Ilias Tsitsimpis
* Test server is in BUILD state in server list
136 980190ae Constantinos Venetsanopoulos
* Test server is in BUILD state in server details
137 4f7d5233 Ilias Tsitsimpis
* Change server metadata
138 4f7d5233 Ilias Tsitsimpis
* Verify the changed metadata are correct
139 4f7d5233 Ilias Tsitsimpis
* Verify server metadata are set based on image metadata
140 980190ae Constantinos Venetsanopoulos
* Wait until server changes state to ACTIVE, and verify state
141 4f7d5233 Ilias Tsitsimpis
* Test if OOB server console works
142 4f7d5233 Ilias Tsitsimpis
* Test if server has IPv4
143 4f7d5233 Ilias Tsitsimpis
* Test if server has IPv6
144 4f7d5233 Ilias Tsitsimpis
* Test if server responds to ping on IPv4 address
145 4f7d5233 Ilias Tsitsimpis
* Test if server responds to ping on IPv6 address
146 4f7d5233 Ilias Tsitsimpis
* Submit shutdown request
147 4f7d5233 Ilias Tsitsimpis
* Verify server status is STOPPED
148 4f7d5233 Ilias Tsitsimpis
* Submit start request
149 4f7d5233 Ilias Tsitsimpis
* Test server status is ACTIVE
150 4f7d5233 Ilias Tsitsimpis
* Test if server responds to ping on IPv4 address (verify up and running)
151 4f7d5233 Ilias Tsitsimpis
* Test if server responds to ping on IPv6 address (verify up and running)
152 4f7d5233 Ilias Tsitsimpis
* Test SSH to server and verify hostname (IPv4)
153 4f7d5233 Ilias Tsitsimpis
* Test SSH to server and verify hostname (IPv6)
154 4f7d5233 Ilias Tsitsimpis
* Test RDP connection to server (only for Window Images) (IPv4)
155 4f7d5233 Ilias Tsitsimpis
* Test RDP connection to server (only for Window Images) (IPv6)
156 4f7d5233 Ilias Tsitsimpis
* Test file injection for personality enforcement
157 4f7d5233 Ilias Tsitsimpis
* Submit server delete request
158 4f7d5233 Ilias Tsitsimpis
* Test server becomes DELETED
159 4f7d5233 Ilias Tsitsimpis
* Test server is no longer in server list
160 4f7d5233 Ilias Tsitsimpis
161 4f7d5233 Ilias Tsitsimpis
.. _networktestcase:
162 4f7d5233 Ilias Tsitsimpis
163 4f7d5233 Ilias Tsitsimpis
NetworkTestCase
164 4f7d5233 Ilias Tsitsimpis
---------------
165 4f7d5233 Ilias Tsitsimpis
* Submit create server A request
166 4f7d5233 Ilias Tsitsimpis
* Test server A becomes ACTIVE
167 4f7d5233 Ilias Tsitsimpis
* Submit create server B request
168 4f7d5233 Ilias Tsitsimpis
* Test server B becomes ACTIVE
169 4f7d5233 Ilias Tsitsimpis
* Submit create private network request
170 980190ae Constantinos Venetsanopoulos
* Submit connect VMs to private network
171 4f7d5233 Ilias Tsitsimpis
* Test if VMs are connected to network
172 4f7d5233 Ilias Tsitsimpis
* Submit reboot request to server A
173 4f7d5233 Ilias Tsitsimpis
* Test server A responds to ping on IPv4 address (verify up and running)
174 4f7d5233 Ilias Tsitsimpis
* Submit reboot request to server B
175 4f7d5233 Ilias Tsitsimpis
* Test server B responds to ping on IPv4 address (verify up and running)
176 4f7d5233 Ilias Tsitsimpis
* Connect via SSH and setup the new network interface in server A
177 4f7d5233 Ilias Tsitsimpis
* Connect via SSH and setup the new network interface in server B
178 4f7d5233 Ilias Tsitsimpis
* Connect via SSH to server A and test if server B responds to ping on IPv4 address
179 980190ae Constantinos Venetsanopoulos
* Disconnect servers from network and verify the network details
180 4f7d5233 Ilias Tsitsimpis
* Send delete network request and verify that the network is deleted from the list
181 980190ae Constantinos Venetsanopoulos
* Send request to delete servers and wait until they are actually deleted
182 4f7d5233 Ilias Tsitsimpis
183 4f7d5233 Ilias Tsitsimpis
.. _pithostestcase:
184 4f7d5233 Ilias Tsitsimpis
185 4f7d5233 Ilias Tsitsimpis
PithosTestCase
186 4f7d5233 Ilias Tsitsimpis
--------------
187 4f7d5233 Ilias Tsitsimpis
* Test container list is not empty
188 4f7d5233 Ilias Tsitsimpis
* Test containers have unique names
189 4f7d5233 Ilias Tsitsimpis
* Create a new container
190 4f7d5233 Ilias Tsitsimpis
* Upload simple file to newly created container
191 980190ae Constantinos Venetsanopoulos
* Download file from Pithos and test it is the same with the one uploaded
192 980190ae Constantinos Venetsanopoulos
* Remove created file and container from Pithos