what is the difference between nova-objectstore and swift as object storage

Asked by Diego Lalo

Hi everyone, I have a doubt about the object storage system of OpenStack, between the nova services is nova-objectstore and there is also a project called Swift for object storage. My question is, what is the difference between this two modes of object storage? There is also another question I have, how can I configure OpenStack to use swift as objectstorage? What flags should I set in the compute nodes and what flags should I set in the cloud controller to use swift correctly. Thanx in advance for your help.

Cheers
Diego

Question information

Language:
English Edit question
Status:
Solved
For:
OpenStack Compute (nova) Edit question
Assignee:
No assignee Edit question
Solved by:
Diego Lalo
Solved:
Last query:
Last reply:
Revision history for this message
Jay Pipes (jaypipes) said :
#1

On Thu, May 5, 2011 at 10:07 AM, Diego Lalo
<email address hidden> wrote:
> Hi everyone, I have a doubt about the object storage system of OpenStack, between the nova services is nova-objectstore and there is also a project called Swift for object storage. My question is, what is the difference between this two modes of object storage? There is also another question I have, how can I configure OpenStack to use swift as objectstorage? What flags should I set in the compute nodes and what flags should I set in the cloud controller to use swift correctly. Thanx in advance for your help.

Hi!

So, nova-objectstore and Swift are very different things. Swift is a
full-fledged distributed object-storage system. nova-objectstore is a
filesystem-backed, non-production object-storage server that speaks
the S3 protocol/interface.

Currently, nova-objectstore is only used by Nova to facilitate the
interaction between euca2ools that do image bundling and uploading
(euca-bundle-image, euca-upload-bundle, uec-publish-tarball, etc).
Those euca2ools must use the EC2 "way" of bundling image parts
(kernel, ramdisk, etc) into an encrypted machine image and
manifest.xml file that describes the image. Unfortunately, these tools
require an objectstore that speaks the S3 protocol to store the
intermediate image parts as well as the manifest.xml file.
nova-objectstore is that objectstore.

Within Nova, there is a shim called nova.image.s3.S3ImageService. This
shim does the work of reading the various image parts and manifest.xml
file from nova-objectstore, decrypting the encrypted image, untarring
the image tarball, and storing the decrypted machine image in an image
service. There are currently 2 image services that Nova can use: the
local image service and Glance. Setting
--image_service=nova.image.glance.GlanceImageService will allow you to
store the usable, bootable images that the S3ImageService has
decrypted in a variety of storage systems, notably Swift.

The recommended setup that goes in nova.conf is:

--image_service=nova.image.glance.GlanceImageService
--glance_host=<GLANCE_IP>
--glance_port=<GLANCE_PORT>

You can find more information on installing and configuring Glance here:

http://glance.openstack.org/installing.html
http://glance.openstack.org/configuring.html

Hope this explains things a bit more.

Cheers,
jay

Revision history for this message
Diego Lalo (diego-lalo) said :
#2

ty jay