Statistics
| Branch: | Tag: | Revision:

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

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