[Openstack] Understanding the Swift Ring, Ruby Edition

2013-02-06 Thread Sergio Rubio
Hey folks,

I've posted an article related to the swift ring format, and how to
read it from Ruby. It's a work in progress and, since I'm not a Swift
expert by any means, it'll be full of inaccuracies probably.  I hope
it can be of use to someone else in the meantime.

http://rubiojr.rbel.co/hack/2013/02/06/understanding-the-swift-ring-ruby-edition

Fixes and corrections greatly appreciated.

Cheers.

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


[Openstack] [OpenStack][Swift] Cifrado 0.1 Swift CLI available

2013-03-03 Thread Sergio Rubio
Hey folks,

I've released a new OpenStack Swift command line client:

http://rubiojr.rbel.co/cifrado

Somewhat experimental, but here's the feature list for the first release:

* Uploading/downloading files and directories to/from OpenStack Swift.
* Regular list/delete/stat commands to manipulate objects and containers.
* Asymmetric/Symmetric transparent encryption/decryption of files when
  uploading/downloading using GnuPG.
* Segmented uploads (splitting the file in multiple segments) with
(partial) resume support.
* Bandwidth limits when uploading/downloading stuff.
* Music streaming (streams mp3/ogg files available in a container) and plays
  them using mplayer/vlc/totem if locally installed.
* Video streaming (streams video files available in a container).
* Bootstrap a Swift All-In-One server in a cloud provider
  (DigitalOcean is the only provider one supported ATM).
* Ruby 1.8.7, 1.9.X and 2.0 compatibility.

Enjoy!

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


[Openstack] [OpenStack][Swift] Swift Storage nodes leave db.pending files after failed requests

2013-04-23 Thread Sergio Rubio
Howdy folks,

While populating an empty Swift test cluster with
swift-dispersion-populate some container creation requests failed,
leaving 'db.pending' files.

This is standard operation I think
(http://docs.openstack.org/developer/swift/overview_architecture.html#updaters)
however the pending files are never removed (the updaters aren't
picking up those changes?) and I can see periodic errors in the
storage node error log:


root@swift-002:/srv/node# find|grep pending
./cd6b760c-bf47-4733-b7bb-23659dd8ee1d/accounts/523880/adc/e2cfc6be58be71d5ad6111364fff0adc/e2cfc6be58be71d5ad6111364fff0adc.db.pending
./7e0cfcfc-7c6e-41a4-adc8-e4173147bd2a/accounts/523880/adc/e2cfc6be58be71d5ad6111364fff0adc/e2cfc6be58be71d5ad6111364fff0adc.db.pending
./7cf651d7-e2f7-4dc4-ada0-7cd0dc832449/containers/498724/d1d/bd66b837c7b9a95dec68b3ca05a75d1d/bd66b837c7b9a95dec68b3ca05a75d1d.db.pending




Apr 23 11:06:26 swift-001 account-server ERROR __call__ error with PUT
/d3829495-9f10-4075-a558-f99fb665cfe2/464510/AUTH_aeedb7bdcb8846599e2b6b87bb8a947f/dispersion_916bc3a9cc1548aca41be6633c1bd194
: #012Traceback (most recent call last):#012  File
"/usr/lib/python2.7/dist-packages/swift/account/server.py", line 333,
in __call__#012res = method(req)#012  File
"/usr/lib/python2.7/dist-packages/swift/common/utils.py", line 1558,
in wrapped#012return func(*a, **kw)#012  File
"/usr/lib/python2.7/dist-packages/swift/common/utils.py", line 520, in
_timing_stats#012resp = func(ctrl, *args, **kwargs)#012  File
"/usr/lib/python2.7/dist-packages/swift/account/server.py", line 112,
in PUT#012req.headers['x-bytes-used'])#012  File
"/usr/lib/python2.7/dist-packages/swift/common/db.py", line 1431, in
put_container#012raise DatabaseConnectionError(self.db_file, "DB
doesn't exist")#012DatabaseConnectionError: DB connection error
(/srv/node/d3829495-9f10-4075-a558-f99fb665cfe2/accounts/464510/adc/e2cfc6be58be71d5ad6111364fff0adc/e2cfc6be58be71d5ad6111364fff0adc.db,
0):#012DB doesn't exist


The test cluster has two storage nodes with 12 drives each, packaged
Swift 1.8.0 from Ubuntu Cloud Archive and the account/container
configuration is the following:
https://gist.github.com/rubiojr/6ea3d0ea0c4d00949d33

The cluster is fully operational and there are no other known issues
ATM. I can easily reproduce the problem by emptying the cluster and
populating it again with swift-dispersion-populate.

I've exhausted all the possibilities (bug reports, mailing lists,
google, etc) so I decided to ask before start digging the source code
trying to gather evidence to open a bug report.

If anyone can shed some light on the issue that would be great.

Thanks!

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp


Re: [Openstack] [OpenStack][Swift] Swift Storage nodes leave db.pending files after failed requests

2013-04-25 Thread Sergio Rubio
For the sake of completion, the whole thing was a false alarm, has
nothing to do with db.pending files and it has been documented here:

https://bugs.launchpad.net/swift/+bug/1172358


On Tue, Apr 23, 2013 at 11:39 AM, Sergio Rubio  wrote:
> Howdy folks,
>
> While populating an empty Swift test cluster with
> swift-dispersion-populate some container creation requests failed,
> leaving 'db.pending' files.
>
> This is standard operation I think
> (http://docs.openstack.org/developer/swift/overview_architecture.html#updaters)
> however the pending files are never removed (the updaters aren't
> picking up those changes?) and I can see periodic errors in the
> storage node error log:
>
> 
> root@swift-002:/srv/node# find|grep pending
> ./cd6b760c-bf47-4733-b7bb-23659dd8ee1d/accounts/523880/adc/e2cfc6be58be71d5ad6111364fff0adc/e2cfc6be58be71d5ad6111364fff0adc.db.pending
> ./7e0cfcfc-7c6e-41a4-adc8-e4173147bd2a/accounts/523880/adc/e2cfc6be58be71d5ad6111364fff0adc/e2cfc6be58be71d5ad6111364fff0adc.db.pending
> ./7cf651d7-e2f7-4dc4-ada0-7cd0dc832449/containers/498724/d1d/bd66b837c7b9a95dec68b3ca05a75d1d/bd66b837c7b9a95dec68b3ca05a75d1d.db.pending
> 
>
>
> 
> Apr 23 11:06:26 swift-001 account-server ERROR __call__ error with PUT
> /d3829495-9f10-4075-a558-f99fb665cfe2/464510/AUTH_aeedb7bdcb8846599e2b6b87bb8a947f/dispersion_916bc3a9cc1548aca41be6633c1bd194
> : #012Traceback (most recent call last):#012  File
> "/usr/lib/python2.7/dist-packages/swift/account/server.py", line 333,
> in __call__#012res = method(req)#012  File
> "/usr/lib/python2.7/dist-packages/swift/common/utils.py", line 1558,
> in wrapped#012return func(*a, **kw)#012  File
> "/usr/lib/python2.7/dist-packages/swift/common/utils.py", line 520, in
> _timing_stats#012resp = func(ctrl, *args, **kwargs)#012  File
> "/usr/lib/python2.7/dist-packages/swift/account/server.py", line 112,
> in PUT#012req.headers['x-bytes-used'])#012  File
> "/usr/lib/python2.7/dist-packages/swift/common/db.py", line 1431, in
> put_container#012raise DatabaseConnectionError(self.db_file, "DB
> doesn't exist")#012DatabaseConnectionError: DB connection error
> (/srv/node/d3829495-9f10-4075-a558-f99fb665cfe2/accounts/464510/adc/e2cfc6be58be71d5ad6111364fff0adc/e2cfc6be58be71d5ad6111364fff0adc.db,
> 0):#012DB doesn't exist
> 
>
> The test cluster has two storage nodes with 12 drives each, packaged
> Swift 1.8.0 from Ubuntu Cloud Archive and the account/container
> configuration is the following:
> https://gist.github.com/rubiojr/6ea3d0ea0c4d00949d33
>
> The cluster is fully operational and there are no other known issues
> ATM. I can easily reproduce the problem by emptying the cluster and
> populating it again with swift-dispersion-populate.
>
> I've exhausted all the possibilities (bug reports, mailing lists,
> google, etc) so I decided to ask before start digging the source code
> trying to gather evidence to open a bug report.
>
> If anyone can shed some light on the issue that would be great.
>
> Thanks!

___
Mailing list: https://launchpad.net/~openstack
Post to : openstack@lists.launchpad.net
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp