summaryrefslogtreecommitdiffstats
path: root/meta-openstack
diff options
context:
space:
mode:
authorBruce Ashfield <bruce.ashfield@windriver.com>2014-05-23 23:49:49 -0400
committerBruce Ashfield <bruce.ashfield@windriver.com>2014-05-23 23:49:49 -0400
commit649327f80dc331943d448e87f73ecaadcc78a22a (patch)
tree2d640deedbc19b925f5539a31da26f2f7a6249c8 /meta-openstack
parentfb1d6f23fa01c0217ed3f6778d8033dd0030db2a (diff)
downloadmeta-cloud-services-649327f80dc331943d448e87f73ecaadcc78a22a.tar.gz
docs: move more READMEs into Documentation
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Diffstat (limited to 'meta-openstack')
-rw-r--r--meta-openstack/Documentation/README.networking (renamed from meta-openstack/README.networking)0
-rw-r--r--meta-openstack/Documentation/README.networking_flat (renamed from meta-openstack/README.networking_flat)0
-rw-r--r--meta-openstack/Documentation/README.networking_l3_router (renamed from meta-openstack/README.networking_l3_router)0
-rw-r--r--meta-openstack/Documentation/README.networking_vlan (renamed from meta-openstack/README.networking_vlan)0
-rw-r--r--meta-openstack/Documentation/README.spice (renamed from meta-openstack/README.spice)0
-rw-r--r--meta-openstack/Documentation/README.tempest (renamed from meta-openstack/README.tempest)0
-rw-r--r--meta-openstack/README.swift447
7 files changed, 0 insertions, 447 deletions
diff --git a/meta-openstack/README.networking b/meta-openstack/Documentation/README.networking
index 2299de3..2299de3 100644
--- a/meta-openstack/README.networking
+++ b/meta-openstack/Documentation/README.networking
diff --git a/meta-openstack/README.networking_flat b/meta-openstack/Documentation/README.networking_flat
index ab18f6f..ab18f6f 100644
--- a/meta-openstack/README.networking_flat
+++ b/meta-openstack/Documentation/README.networking_flat
diff --git a/meta-openstack/README.networking_l3_router b/meta-openstack/Documentation/README.networking_l3_router
index a16f8c4..a16f8c4 100644
--- a/meta-openstack/README.networking_l3_router
+++ b/meta-openstack/Documentation/README.networking_l3_router
diff --git a/meta-openstack/README.networking_vlan b/meta-openstack/Documentation/README.networking_vlan
index 6d48e2b..6d48e2b 100644
--- a/meta-openstack/README.networking_vlan
+++ b/meta-openstack/Documentation/README.networking_vlan
diff --git a/meta-openstack/README.spice b/meta-openstack/Documentation/README.spice
index a6b93b2..a6b93b2 100644
--- a/meta-openstack/README.spice
+++ b/meta-openstack/Documentation/README.spice
diff --git a/meta-openstack/README.tempest b/meta-openstack/Documentation/README.tempest
index 884a28a..884a28a 100644
--- a/meta-openstack/README.tempest
+++ b/meta-openstack/Documentation/README.tempest
diff --git a/meta-openstack/README.swift b/meta-openstack/README.swift
deleted file mode 100644
index d7d63bf..0000000
--- a/meta-openstack/README.swift
+++ /dev/null
@@ -1,447 +0,0 @@
1Summary
2=======
3
4This document is not intended to provide detail of how Swift in general
5works, but rather it highlights the details of how Swift cluster is
6setup and OpenStack is configured to allow various Openstack components
7interact with Swift.
8
9
10Swift Overview
11==============
12
13Openstack Swift is an object storage service. Clients can access swift
14objects through RESTful APIs. Swift objects can be grouped into a
15"container" in which containers are grouped into "account". Each account
16or container in Swift cluster is represented by a SQLite database which
17contains information related to that account or container. Each
18Swift object is just user data input.
19
20Swift cluster can include a massive number of storage devices. Any Swift
21storage device can be configured to store container databases and/or
22account databases and/or objects. Each Swift account database can be
23identified by tuple (account name). Each Swift container database can
24be identified by tuple (account name, container name). Each swift object
25can be identified by tuple (account name, container name, object name).
26
27Swift uses "ring" static mapping algorithm to identify what storage device
28hosting account database, container database, or object contain (similar
29to Ceph uses Crush algorithm to identify what OSD hosting Ceph object).
30A Swift cluster has 3 rings (account ring, container ring, and object ring)
31used for finding location of account database, container database, or
32object file respectively.
33
34Swift service includes the following core services: proxy-server which
35provides the RESTful APIs for Swift clients to access; account-server
36which manages accounts; container-server which manages containers;
37and object-server which manages objects.
38
39
40Swift Cluster Setup
41===================
42
43The Swift default cluster is setup to have the followings:
44
45* All Swift main process services including proxy-server, account-server
46 container-server, object-server run on Controller node.
47* 3 zones in which each zone has only 1 storage device.
48 The underneath block devices for these 3 storage devices are loopback
49 devices. The size of the backing up loopback files is 2Gbytes by default
50 and can be changed at compile time through variable SWIFT_BACKING_FILE_SIZE.
51 If SWIFT_BACKING_FILE_SIZE="0G" then is for disabling loopback devices
52 and using local filesystem as Swift storage device.
53* All 3 Swift rings have 2^12 partitions and 2 replicas.
54
55The Swift default cluster is mainly for demonstration purpose. One might
56wants to have a different Swift cluster setup than this setup (e.g. using
57real hardware block device instead of loopback devices).
58
59The script /etc/swift/swift_setup.sh is provided to ease the task of setting
60up a complicated Swift cluster. It reads a cluster config file, which describes
61what storage devices are included in what rings, and constructs the cluster.
62
63For details of how to use swift_setup.sh and the format of Swift cluster
64config file please refer to the script's help:
65
66 $ swift_setup.sh
67
68
69Glance and Swift
70================
71
72Glance can store images into Swift cluster when "default_store = swift"
73is set in /etc/glance/glance-api.conf.
74
75By default "default_store" has value of "file" which tells Glance to
76store images into local filesystem. "default_store" value can be set
77during compile time through variable GLANCE_DEFAULT_STORE.
78
79The following configuration options in /etc/glance/glance-api.conf affect
80on how glance interacts with Swift cluster:
81
82 swift_store_auth_version = 2
83 swift_store_auth_address = http://127.0.0.1:5000/v2.0/
84 swift_store_user = service:glance
85 swift_store_key = password
86 swift_store_container = glance
87 swift_store_create_container_on_put = True
88 swift_store_large_object_size = 5120
89 swift_store_large_object_chunk_size = 200
90 swift_enable_snet = False
91
92With these default settings, the images will be stored under
93Swift account: "service" tenant ID and Swift cluster container:
94"glance".
95
96
97Cinder Backup and Swift
98=======================
99
100Cinder-backup has ability to store volume backup into Swift
101cluster with the following command:
102
103 $ cinder backup-create <cinder volume ID>
104
105where <cinder volume ID> is ID of an existing Cinder volume if
106the configure option "backup_driver" in /etc/cinder/cinder.conf
107is set to "cinder.backup.drivers.ceph".
108
109Cinder-backup is not be able to create a backup for any cinder
110volume which backed by NFS or Glusterfs. This is because NFS
111and Gluster cinder-volume backend drivers do not support the
112backup functionality. In other words, only cinder volume
113backed by lvm-iscsi and ceph-rbd are able to be backed-up
114by cinder-backup.
115
116The following configuration options in /etc/cinder/cinder.conf affect
117on how cinder-backup interacts with Swift cluster:
118
119 backup_swift_url=http://controller:8888/v1/AUTH_
120 backup_swift_auth=per_user
121 #backup_swift_user=<None>
122 #backup_swift_key=<None>
123 backup_swift_container=cinder-backups
124 backup_swift_object_size=52428800
125 backup_swift_retry_attempts=3
126 backup_swift_retry_backoff=2
127 backup_compression_algorithm=zlib
128
129With these defaults settings, the tenant ID of the keystone user that
130runs "cinder backup-create" command will be used as Swift cluster
131account name, along with "cinder-backups" Swift cluster container name
132in which the volume backups will be saved into.
133
134
135Build Configuration Options
136===========================
137
138* Controller build config options:
139
140 --enable-board=intel-xeon-core \
141 --enable-rootfs=ovp-openstack-controller \
142 --enable-kernel=preempt-rt \
143 --enable-addons=wr-ovp-openstack,wr-ovp \
144 --with-template=feature/openstack-tests
145
146* Compute build config options:
147
148 --enable-board=intel-xeon-core \
149 --enable-rootfs=ovp-openstack-compute \
150 --enable-kernel=preempt-rt \
151 --enable-addons=wr-ovp-openstack,wr-ovp
152
153
154Test Steps
155==========
156
157This section describes test steps and expected results to demonstrate that
158Swift is integrated properly into OpenStack.
159
160Please note: the following commands are carried on Controller node, unless
161otherwise explicitly indicated.
162
163 $ Start Controller and Compute node
164 $ . /etc/nova/openrc
165 $ dd if=/dev/urandom of=50M_c1.org bs=1M count=50
166 $ dd if=/dev/urandom of=50M_c2.org bs=1M count=50
167 $ dd if=/dev/urandom of=100M_c2.org bs=1M count=100
168 $ swift upload c1 50M_c1.org && swift upload c2 50M_c2.org && swift upload c2 100M_c2.org
169 $ swift list
170
171c1
172c2
173
174 $ swift stat c1
175
176 Account: AUTH_4ebc0e00338f405c9267866c6b984e71
177 Container: c1
178 Objects: 1
179 Bytes: 52428800
180 Read ACL:
181 Write ACL:
182 Sync To:
183 Sync Key:
184 Accept-Ranges: bytes
185 X-Timestamp: 1396457818.76909
186 X-Trans-Id: tx0564472425ad47128b378-00533c41bb
187 Content-Type: text/plain; charset=utf-8
188
189(Should see there is 1 object)
190
191 $ swift stat c2
192
193root@controller:~# swift stat c2
194 Account: AUTH_4ebc0e00338f405c9267866c6b984e71
195 Container: c2
196 Objects: 2
197 Bytes: 157286400
198 Read ACL:
199 Write ACL:
200 Sync To:
201 Sync Key:
202 Accept-Ranges: bytes
203 X-Timestamp: 1396457826.26262
204 X-Trans-Id: tx312934d494a44bbe96a00-00533c41cd
205 Content-Type: text/plain; charset=utf-8
206
207(Should see there are 2 objects)
208
209 $ swift stat c3
210
211Container 'c3' not found
212
213 $ mv 50M_c1.org 50M_c1.save && mv 50M_c2.org 50M_c2.save && mv 100M_c2.org 100M_c2.save
214 $ swift download c1 50M_c1.org && swift download c2 50M_c2.org && swift download c2 100M_c2.org
215 $ md5sum 50M_c1.save 50M_c1.org && md5sum 50M_c2.save 50M_c2.org && md5sum 100M_c2.save 100M_c2.org
216
217a8f7d671e35fcf20b87425fb39bdaf05 50M_c1.save
218a8f7d671e35fcf20b87425fb39bdaf05 50M_c1.org
219353233ed20418dbdeeb2fad91ba4c86a 50M_c2.save
220353233ed20418dbdeeb2fad91ba4c86a 50M_c2.org
2213b7cbb444c2ba93819db69ab3584f4bd 100M_c2.save
2223b7cbb444c2ba93819db69ab3584f4bd 100M_c2.org
223
224(The md5sums of each pair "zzz.save" and "zzz.org" files must be the same)
225
226 $ swift delete c1 50M_c1.org && swift delete c2 50M_c2.org
227 $ swift stat c1
228
229 Account: AUTH_4ebc0e00338f405c9267866c6b984e71
230 Container: c1
231 Objects: 0
232 Bytes: 0
233 Read ACL:
234 Write ACL:
235 Sync To:
236 Sync Key:
237 Accept-Ranges: bytes
238 X-Timestamp: 1396457818.77284
239 X-Trans-Id: tx58e4bb6d06b84276b8d7f-00533c424c
240 Content-Type: text/plain; charset=utf-8
241
242(Should see there is no object)
243
244 $ swift stat c2
245
246 Account: AUTH_4ebc0e00338f405c9267866c6b984e71
247 Container: c2
248 Objects: 1
249 Bytes: 104857600
250 Read ACL:
251 Write ACL:
252 Sync To:
253 Sync Key:
254 Accept-Ranges: bytes
255 X-Timestamp: 1396457826.25872
256 X-Trans-Id: txdae8ab2adf4f47a4931ba-00533c425b
257 Content-Type: text/plain; charset=utf-8
258
259(Should see there is 1 object)
260
261 $ swift upload c1 50M_c1.org && swift upload c2 50M_c2.org
262 $ rm *.org
263 $ swift download c1 50M_c1.org && swift download c2 50M_c2.org && swift download c2 100M_c2.org
264 $ md5sum 50M_c1.save 50M_c1.org && md5sum 50M_c2.save 50M_c2.org && md5sum 100M_c2.save 100M_c2.org
265
26631147c186e7dd2a4305026d3d6282861 50M_c1.save
26731147c186e7dd2a4305026d3d6282861 50M_c1.org
268b9043aacef436dfbb96c39499d54b850 50M_c2.save
269b9043aacef436dfbb96c39499d54b850 50M_c2.org
270b1a1b6b34a6852cdd51cd487a01192cc 100M_c2.save
271b1a1b6b34a6852cdd51cd487a01192cc 100M_c2.org
272
273(The md5sums of each pair "zzz.save" and "zzz.org" files must be the same)
274
275 $ neutron net-create mynetwork
276 $ Modify "/etc/glance/glance-api.conf" to have "default_store = swift"
277 $ /etc/init.d/glance-api restart
278 $ glance image-create --name myfirstimage --is-public true --container-format bare --disk-format qcow2 --file /root/images/cirros-0.3.0-x86_64-disk.img
279 $ glance image-list
280
281+--------------------------------------+--------------+-------------+------------------+---------+--------+
282| ID | Name | Disk Format | Container Format | Size | Status |
283+--------------------------------------+--------------+-------------+------------------+---------+--------+
284| 79f52103-5b22-4aa5-8159-2d146b82b0b2 | myfirstimage | qcow2 | bare | 9761280 | active |
285+--------------------------------------+--------------+-------------+------------------+---------+--------+
286
287 $ export OS_TENANT_NAME=service && export OS_USERNAME=glance
288 $ swift list glance
289
29079f52103-5b22-4aa5-8159-2d146b82b0b2
291
292(The object name in the "glance" container must be the same as glance image id just created)
293
294 $ swift download glance 79f52103-5b22-4aa5-8159-2d146b82b0b2
295 $ md5sum 79f52103-5b22-4aa5-8159-2d146b82b0b2 /root/images/cirros-0.3.0-x86_64-disk.img
296
29750bdc35edb03a38d91b1b071afb20a3c 79f52103-5b22-4aa5-8159-2d146b82b0b2
29850bdc35edb03a38d91b1b071afb20a3c /root/images/cirros-0.3.0-x86_64-disk.img
299
300(The md5sum of these 2 files must be the same)
301
302 $ ls /etc/glance/images/
303(This should be empty)
304
305 $ . /etc/nova/openrc
306 $ nova boot --image myfirstimage --flavor 1 myinstance
307 $ nova list
308
309+--------------------------------------+------------+--------+------------+-------------+----------+
310| ID | Name | Status | Task State | Power State | Networks |
311+--------------------------------------+------------+--------+------------+-------------+----------+
312| bc9662a0-0dac-4bff-a7fb-b820957c55a4 | myinstance | ACTIVE | - | Running | |
313+--------------------------------------+------------+--------+------------+-------------+----------+
314
315 $ From dashboard, log into VM console to make sure the VM is really running
316 $ nova delete bc9662a0-0dac-4bff-a7fb-b820957c55a4
317 $ glance image-delete 79f52103-5b22-4aa5-8159-2d146b82b0b2
318 $ export OS_TENANT_NAME=service && export OS_USERNAME=glance
319 $ swift list glance
320
321(Should be empty)
322
323 $ . /etc/nova/openrc && . /etc/cinder/add-cinder-volume-types.sh
324 $ cinder create --volume_type lvm_iscsi --display_name=lvm_vol_1 1
325 $ cinder list
326
327+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+
328| ID | Status | Display Name | Size | Volume Type | Bootable | Attached to |
329+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+
330| 3e388ae0-2e20-42a2-80da-3f9f366cbaed | available | lvm_vol_1 | 1 | lvm_iscsi | false | |
331+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+
332
333 $ cinder backup-create 3e388ae0-2e20-42a2-80da-3f9f366cbaed
334 $ cinder backup-list
335
336+--------------------------------------+--------------------------------------+-----------+------+------+--------------+----------------+
337| ID | Volume ID | Status | Name | Size | Object Count | Container |
338+--------------------------------------+--------------------------------------+-----------+------+------+--------------+----------------+
339| 1444f5d0-3a87-40bc-a7a7-f3c672768b6a | 3e388ae0-2e20-42a2-80da-3f9f366cbaed | available | None | 1 | 22 | cinder-backups |
340+--------------------------------------+--------------------------------------+-----------+------+------+--------------+----------------+
341
342 $ swift list
343
344c1
345c2
346cinder-backups
347
348(Should see new Swift container "cinder-backup")
349
350 $ swift list cinder-backups
351
352volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00001
353volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00002
354volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00003
355volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00004
356volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00005
357volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00006
358volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00007
359volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00008
360volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00009
361volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00010
362volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00011
363volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00012
364volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00013
365volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00014
366volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00015
367volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00016
368volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00017
369volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00018
370volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00019
371volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00020
372volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00021
373volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a_metadata
374
375 $ reboot
376 $ . /etc/nova/openrc && swift list cinder-backups
377
378volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00001
379volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00002
380volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00003
381volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00004
382volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00005
383volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00006
384volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00007
385volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00008
386volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00009
387volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00010
388volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00011
389volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00012
390volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00013
391volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00014
392volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00015
393volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00016
394volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00017
395volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00018
396volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00019
397volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00020
398volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a-00021
399volume_3e388ae0-2e20-42a2-80da-3f9f366cbaed/20140402193029/az_nova_backup_1444f5d0-3a87-40bc-a7a7-f3c672768b6a_metadata
400
401 $ cinder backup-delete 1444f5d0-3a87-40bc-a7a7-f3c672768b6a
402 $ swift list cinder-backups
403
404(Should be empty)
405
406
407Swift Built-In Unit Tests
408=========================
409
410This section describes how to run Swift and Swift client built-in unit
411tests which are located at:
412
413 /usr/lib64/python2.7/site-packages/swift/test
414 /usr/lib64/python2.7/site-packages/swiftclient/tests
415
416with nosetests test-runner. Please make sure that the test accounts
417setting in /etc/swift/test.conf reflects the keystone user accounts
418setting.
419
420To run swift built-in unit test with nosetests:
421
422 $ To accommodate the small space of loop dev,
423 modify /etc/swift/swift.conf to have "max_file_size = 5242880"
424 $ /etc/init.d/swift restart
425 $ cd /usr/lib64/python2.7/site-packages/swift
426 $ nosetests -v test
427
428Ran 1633 tests in 272.930s
429
430FAILED (errors=5, failures=4)
431
432To run swiftclient built-in unit test with nosetests:
433
434 $ cd /usr/lib64/python2.7/site-packages/swiftclient
435 $ nosetests -v tests
436
437Ran 108 tests in 2.277s
438
439FAILED (failures=1)
440
441
442References
443==========
444
445* http://docs.openstack.org/developer/swift/deployment_guide.html
446* http://docs.openstack.org/grizzly/openstack-compute/install/yum/content/ch_installing-openstack-object-storage.html
447* https://swiftstack.com/openstack-swift/architecture/