Re: [Openstack] [SWIFT] raising network traffic o the storage node

2013-07-08 Thread Pete Zaitcev
On Mon, 8 Jul 2013 13:50:38 +
Klaus Schürmann  wrote:

> I use a swift storage as a mail-store. Now I have about  1.000.000 objects 
> stored in the cluster.

> Traffic Storagenode: http://www.schuermann.net/temp/storagenode.png
> Traffic Proxyserver: http://www.schuermann.net/temp/proxyserver.png
> 
> Can someone explain such behavior?

At a guess, raising number of objects makes number of partitions to
increase, and that increases the replication traffic, specifically
the number of sent MD5s for partitions.

It would be interesting to corellate the number of objects and
number of non-empty and empty partitions with the amounts of traffic.
If the increasing transfer of hashes is the reason, you could also
verify by graphing the traffic to port 873 separately. Swift never
replicates object bodies through its own HTTP interface, so this
splits control traffic from data traffic for you. Data traffic
should be driven by customer and node failures, not consistency
checking.

Be prepared to split up storage nodes, however. Even if there's no
bug with replication, its aggregate traffic increases with the
increases in object counts.

-- Pete

___
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] swift

2013-07-08 Thread Pete Zaitcev
On Mon, 8 Jul 2013 23:59:40 +0800
Peter Cheung  wrote:

> Hi AllHow you guy admin swift? by command line or by www.swiftstack.com 
> admin portal?   

Sounds like a great question for the ops list

http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-operators

-- Pete

___
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] Load Balancers for Swift with nginx and pound

2013-06-14 Thread Pete Zaitcev
On Fri, 14 Jun 2013 18:43:21 +0800
王娜  wrote:

> like this,before I stop the proxy service ,there are five containers.

I would double-check that both proxies had same ring files.

-- Pete

___
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] curl with swift

2013-06-14 Thread Pete Zaitcev
On Mon, 10 Jun 2013 11:28:01 -0700
Remo Mattei  wrote:

> I am using this command now but I get not auth to get this object. 

> curl -X GET \
> -H "X-Auth-Token: 813c6eef9f474e7f860ef42dcaeeb53b" \
> http://192.168.235.113:8080/v1/AUTH_9ffeae726f33436b9e0796d31f85f730/remo.pen 
> > Remo.pem

The command looks ok.

A "naked" token usually means Keystone. You're using Keystone, don't you?
If so, make sure that you're using the token ID and not user ID, which
Keystone also returns in the same reply.

Example:

[root@node_k1 ~]# curl -X POST http://127.0.0.1:5000/v2.0/tokens -d '{"auth": 
{"tenantName":"tsa17", "passwordCredentials":{"username":"spare17", 
"password":"secret"}}}' -H 'Content-Type: application/json'
{"access": {"token": {"expires": "2013-01-30T18:50:37Z", "id": 
"b2eeb6503bb94a1f8c792c9968947172"}, "serviceCatalog": {}, "user": {"username": 
"spare17", "roles_links": [], "id": "87c6174170ad471ca141630200f90b9b", 
"roles": [], "name": "spare17"}}}

Other than that, check the logs. I presume you didn't try to snip the
uuid part of a prefixed token that other authentication systems return.

-- Pete

___
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] [Swift][keystone]: swift-init proxy start failed

2013-03-03 Thread Pete Zaitcev
On Sat, 2 Mar 2013 04:56:38 +
"Tao, Dao (David, ISS-MSL-SH)"  wrote:

> OSError: [Errno 13] Permission denied: '/root/keystone-signing'

> [filter:authtoken]
> paste.filter_factory = keystone.middleware.auth_token:filter_factory

Add signing_dir to authtoken above. Swift should own it, although
in practice it's not going to write to it. Something like /var/cache/swift
will do.

-- Pete

___
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] Swift 1.7.4 stable - logging middleware adding lag to final responses

2013-01-10 Thread Pete Zaitcev
On Thu, 10 Jan 2013 12:37:57 -0300
Leandro Reox  wrote:

> When we turn off the proxy-logging middleware, everything starts to
> response like a charm 8ms or so vs 800-1400ms !!!

At a guess, maybe the proxy-logging middle accidentially tries
to resolve an IP address somewhere?

> And i cant find the way to log locally on debug mode without activating the
> proxy-logging middleware

Indeed, in the past I had to resort to custom logging code
in instances like that.

-- Pete

___
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] python-swiftclient is missing from epel repo

2012-11-19 Thread Pete Zaitcev
On Sun, 18 Nov 2012 23:01:05 +0200
George Lekatsas  wrote:

> after a yum update in centos 6.3 i have the following error

> Error: Package: python-glance-2012.2-3.el6.noarch (epel)
>Requires: python-swiftclient

Just retry it later. EPEL works fine to find python-swiftclient here,
I just checked.

-- Pete

___
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] [Swift] account-level and container-level usage information

2012-11-13 Thread Pete Zaitcev
On Mon, 12 Nov 2012 20:48:35 -0800
Ning Zhang  wrote:

> Is there any Swift (GUI or command line) tool that can
> retrieve the account-level and
> container-level usage information (e.g. how large space
> has been used under an account, how large space has been
> used under a tenant) and also works with keystone?

If you're content with 1st party view, Alex Yang's mail gives the
answer. But if you want a 3rd part view (authenticate as administrator
or bypassing the authentication), then I don't think there is a tool
for that. I tried to find one before I started on swift-report, but
found none.

Swiftly can be used to ease the problem of formulating the correct
URLs when accessing back-ends instead of the proxy, but it's not
a complete turnkey solution.

Actually I was thinking about pilfering Greg's code from Swiftly
and grafting it onto swift-report, but that hasn't happened.

So the only way you can do it today is to extract the URLs by
authenticating with Keystone as 1st party (with curl), then issue
curl -X HEAD to account, container, and object servers. Basically
you still authenticate in the end as Alex suggested.

-- Pete

___
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] Troubleshooting Swift 1.7.4 on mini servers

2012-10-30 Thread Pete Zaitcev
On Tue, 30 Oct 2012 11:07:55 -0700
Nathan Trueblood  wrote:

> The file size seems to have no bearing on the issue, although I haven't
> tried really tiny files.   Bigfile3 is only 200K.

Okay. BTW, do not forget to use curl and issue the same PUT that proxy does,
see if it throws 507 repeateably. That could shortcut some of the testing.

-- Pete

___
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] Troubleshooting Swift 1.7.4 on mini servers

2012-10-29 Thread Pete Zaitcev
On Mon, 29 Oct 2012 18:16:52 -0700
Nathan Trueblood  wrote:

> Definitely NOT a problem with the filesystem, but something is causing the
> object-server to think there is a problem with the filesystem.

If you are willing to go all-out, you can probably catch the
error with strace, if it works on ARM. Failing that, find all places
where 507 is generated and see if any exceptions are caught, by
modifying the source, I'm afraid to say.

> I suspect a bug in one of the underlying libraries.

That's a possibility. Or, it could be a kernel bug. You are using XFS,
right? If it were something other than XFS or ext4, I would suspect
ARM blowing over the 2GB barrier somewhere, since your object is
called "bigfile3". As it is, you have little option than to divide
the layers until you identify the one that's broken.

BTW, make sure to disable the fallocate, since we're at it.

-- Pete

___
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] Troubleshooting Swift 1.7.4 on mini servers

2012-10-26 Thread Pete Zaitcev
On Fri, 26 Oct 2012 17:26:07 -0700
Nathan Trueblood  wrote:

> I'm trying to figure out what's going wrong with my Swift deployment on a
> small cluster of "mini" servers.   I have a small test cluster (5 storage
> nodes, 1 proxy) of mini-servers that are ARM-based.   The proxy is a
> regular, Intel-based server with plenty of RAM.   The
> object/account/container servers are relatively small, with 2GB of RAM per
> node.

And the disk is how big?

> Oct 26 17:07:46 data05 object-server 192.168.1.111 - -
> [27/Oct/2012:00:07:46 +] "PUT
> /sda6/150861/AUTH_system/myfiles5/home/lab/bigfile1" 507 - "-"
> "tx8dc917a4a8c84c40a4429b7bab0323c6" "-" 0.0031

Well, what does df say?

> The Object-servers do give a 507 error, which might indicate a disk
> problem, but there is nothing wrong with the storage drive.   And also if
> there was a fundamental drive problem then I wouldn't be able to upload
> objects in the first place.

You could upload them to a reduced number of nodes, and then the
replication would inflate the space used by the replication ratio.

Finally, it's possible that tombstones are not properly expired for
some reason.

-- Pete

___
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] [Swift] Unresolved reference in swift: test/unit/proxy/test_server.py

2012-10-12 Thread Pete Zaitcev
On Fri, 12 Oct 2012 15:02:24 +0400
Victor Rodionov  wrote:

> I found unresolved reference for exception MemcacheLockError 
> (test/unit/proxy/test_server.py line 3580) in Swift unit test for proxy 
> server. I try to find this exception class on swift code, but can't find it.
> 
> https://github.com/openstack/swift/blob/master/test/unit/proxy/test_server.py#L3580

Good catch. Just needs a subclassing of Exception with pass, IMHO.

-- P

___
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] [folsom] Swift-backed glance fails x-glance-api-copy-from

2012-10-07 Thread Pete Zaitcev
On Fri, 05 Oct 2012 13:27:17 +0200
Koert van der Veer  wrote:

> ERROR glance.api.v1.images [-] Traceback (most recent call last):
>   File "/usr/lib/python2.7/dist-ackages/glance/api/v1/images.py", line
> 437, in _upload
> image_meta['size'])
>   File "/usr/lib/python2.7/dist-packages/glance/store/swift.py", line
> 464, in add
> content_length=image_size)
>   File "/usr/lib/python2.7/dist-packages/swiftclient/client.py", line 1079, 
> in put_object
> headers=headers)
>   File "/usr/lib/python2.7/dist-packages/swiftclient/client.py", line 981, in 
> _retry
> rv = func(self.url, self.token, *args, **kwargs)
>   File "/usr/lib/python2.7/dist-packages/swiftclient/client.py", line 828, in 
> put_object
> conn.request('PUT', path, contents, headers)
>   File "/usr/lib/python2.7/httplib.py", line 958, in request
> self._send_request(method, url, body, headers)
>   File "/usr/lib/python2.7/httplib.py", line 992, in _send_request
> self.endheaders(body)
>   File "/usr/lib/python2.7/httplib.py", line 954, in endheaders
> self._send_output(message_body)
>   File "/usr/lib/python2.7/httplib.py", line 818, in _send_output
> self.send(message_body)
>   File "/usr/lib/python2.7/httplib.py", line 790, in send
> self.sock.sendall(data)
>   File "/usr/lib/python2.7/dist-packages/eventlet/greenio.py", line 283,
> in sendall
> tail = self.send(data, flags)
>   File "/usr/lib/python2.7/dist-packages/eventlet/greenio.py", line 265,
> in send
> len_data = len(data)
> TypeError: object of type 'CooperativeReader' has no len()

Log that traceback using Launchpad bug tracking. Even if Swift
provoked it, Glance should not be tracebacking.

-- Pete

___
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] Swift account listing

2012-08-02 Thread Pete Zaitcev
On Thu, 19 Jul 2012 16:10:06 +0100
"Juan J. Martinez"  wrote:

> I guess you can use the list of current accounts from Keystone and
> translate that into the account ring hash.

> swift-get-nodes /etc/swift/account.ring.gz myKeyStoneAcct | grep Hash |
> cut -f2 5819de5a52d5813f5ce95c9121b97652
> 
> Then you can look for hashes that are not in that list of hashes. Per
> storage node you should check:
> 
>  /srv/node/$0/accounts/$1/*/$2/

The point is to use Swift itself _and_ Keystone, in order to find
discrepancies or "orphan" accounts. I ended using listdir for now,
since our installation is very small, so directories fit in memory.
Code is here:
 https://github.com/zaitcev/swift-report

Output looks like this:

15051/4a7/3acbbe2ab55b81269ff88490a1b574a7 SK zaitcev
60690/f22/ed125debcbadbac11ef93c40dede0f22 SK glance
 5497/6ee/1579e4404e54e5edb53c00f1206696ee SK shared
52389/69e/cca50f1c92b3b7f2a15d6b8e2aaee69e S- -
 3066/787/0bfa11e194ee8889ff1c797a718cf787 SK admin
56328/3d8/dc088209ed71d08a00493c95888583d8 SK testuser

"S" is for accounts found in Swift, "K" is for accounts found in Keystone.

I have a feeling though that I must be reinventing the bicycle here.
Surely someone, somewhere, have written a Swift consistency checker
before.

-- Pete

___
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] [glance] legacy client removal and python-glanceclient

2012-08-01 Thread Pete Zaitcev
On Wed, 01 Aug 2012 01:06:10 -0400
Jay Pipes  wrote:

> I don't disagree with you. At the same time, I think Brian has a good
> point when he compares having two versions of SQLAlchemy installed on a
> system: it just doesn't make much sense.

But having glance(1) and super-duper-incompatible-glance-ng(1) installed
together makes a lot of sense. Count systems in the field that have both
ifconfig and ip installed. Millions and millions of them. Brian's analogy
with SQUalchemy is pretty amusing but fails to hide the fact that the
new binary is incompatible.

-- Pete

___
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] Swift account listing

2012-07-18 Thread Pete Zaitcev
Guys, a simple question hopefuly:

How do I list all Swift accounts?

Specifically, I have a test installation that I used to experiemnt
with various upgrades and migrations. I probably lost a few testing
accounts in it. Now it sits there and uses up space. How do I find
and eliminate orphan accounts?

Once I have a list of accounts, I can match them up with the output
of "keystone user-list", and I can run swift-account-audit on them.

I'm thinking "ls /srv/node/partitions/accounts/" on all storage nodes
and then building a union set. Seems kind of too ad-hoc though.

Greetings,
-- Pete

___
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] [Swift] LFS patch (Ia32c9c34)

2012-07-17 Thread Pete Zaitcev
On Mon, 16 Jul 2012 22:45:48 +
Victor Rodionov  wrote:

> Most of patch code was restructured, most of logic was moved to middleware 
> level and use hooks in Swift code. I create separate project (LFS middleware 
> https://github.com/nexenta/lfs) for now there are only 2 supported file 
> system types (XFS and ZFS) there. Also this middleware provide API for 
> getting file system status information (for example, for ZFS it's current 
> pool status, etc).

It sounds strange to make Swift aware of the specific LFS. One day I come
up with ZaitcevFS and what happens then? Patching Swift again I presume.

I wish Gluster people would stop delaying their competing LFS proposal
and finally submit it. Their code was out for a year, but they apparently
are content to carry a fork forever:
 http://review.gluster.com/805   < for 1.4.5
 http://review.gluster.com/3118  < for 1.4.8

-- Pete

___
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] Problem integrating swift with keystone

2012-07-10 Thread Pete Zaitcev
On Tue, 10 Jul 2012 09:29:12 -0800 (GMT-08:00)
Jyothsna Padavala  wrote:

> $: swift -V 2 -A http://nova.strongauth.com:5000/v2.0 -U admin:adminuser -K 
> adminuserpswd stat
> There is no object-store endpoint on this auth server.

> $: keystone --endpoint http://nova.strongauth.com:35357/v2.0/ --token 
>  endpoint-list
> 
> and could see the list of endpoints which has an object-store endpoint as 
> well.

No, please don't describe verbally. Copy-paste the command and its output.
It must be some minute typo in publicUrl field that you cannot see because
you're desensitized to it.

-- Pete

___
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] [Swift]Is the cloudfiles compatible with keystone v2.0?

2012-07-05 Thread Pete Zaitcev
On Thu, 5 Jul 2012 18:21:48 +0800
Alex Yang  wrote:

> If i want use the cloudfiles with the keystone(the newest version), I need
> change the code of cloudfiles by myself?

Indeed, clients have to be adapted in cases like yours. However,
please look at python-swiftclient. It may be sufficiently similar
so you don't need to change much in your application that uses
python-cloudfiles.

By the way, it was my understanding that Keystone people encourage
everyone to migrate from port 5000 to port 35357. The latter is
assigned with IANA.

-- Pete

___
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] Swift on WebOb 1.2

2012-06-06 Thread Pete Zaitcev
On Mon, 4 Jun 2012 14:40:21 +0900
iryoung jeong  wrote:

> Anyway, current status is that I make your PatchSet 3 passed all
> unit/functests with webob 1.1 and only 4 tests failed with webob 1.2b3.
> After I compared my patch & your patchsets, I thought they looks similar,
> therefore I rebased my patch based on PatchSet 3 and keep trying to make
> them pass functests.

Here's a fix for the problem with proxy_logging middleware.
As I mentioned I run functional tests against a reasonably normal
server, not SAIO.

Please look at this and incorporate in change 8195. However, I must
note that I have 22 functional tests still failing on WebOb 1.2b3.
I'm going to continue working on resolving these issues.

-- Pete

commit f629016447e6156a8f9da7d94358427e47c2f375
Author: Pete Zaitcev 
Date:   Wed Jun 6 19:34:06 2012 -0600

Update 1 for Iryoung's patch #3 for change 8195

Traceback (most recent call last):
  File 
"/usr/lib/python2.7/site-packages/swift/common/middleware/proxy_logging.py", 
line 205, in iter_response
client_disconnect or input_proxy.client_disconnect)
  File 
"/usr/lib/python2.7/site-packages/swift/common/middleware/proxy_logging.py", 
line 120, in log_request
the_request = quote(unquote(req.path))
  File "/usr/lib/python2.7/site-packages/webob/request.py", line 482, in 
path
bpath = bytes_(self.path_info, self.url_encoding)
  File "/usr/lib/python2.7/site-packages/webob/descriptors.py", line 68, in 
fget
return req.encget(key, encattr=encattr)
  File "/usr/lib/python2.7/site-packages/webob/request.py", line 174, in 
encget
return val.decode(encoding)
  File "/usr/lib64/python2.7/encodings/utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x8f in position 12: 
invalid start byte

diff --git a/swift/common/middleware/proxy_logging.py 
b/swift/common/middleware/proxy_logging.py
index 66c853c..55ab14d 100644
--- a/swift/common/middleware/proxy_logging.py
+++ b/swift/common/middleware/proxy_logging.py
@@ -44,6 +44,9 @@ from webob import Request
 
 from swift.common.utils import get_logger, get_remote_client, TRUE_VALUES
 
+import codecs
+utf8_decoder = codecs.getdecoder('utf-8')
+
 
 class InputProxy(object):
 """
@@ -115,7 +118,13 @@ class ProxyLoggingMiddleware(object):
 req = Request(env)
 if client_disconnect:  # log disconnected clients as '499' status code
 status_int = 499
-the_request = quote(unquote(req.path))
+# Do not try to access req.path: crash in req.encget if invalid UTF-8.
+req_path = env.get('PATH_INFO','')
+if isinstance(req_path, str):
+(req_path,_len) = utf8_decoder(req_path,'replace')
+# Fold back to UTF-8 or else quote() tracebacks immediately below.
+req_path = req_path.encode('utf-8')
+the_request = quote(unquote(req_path))
 if req.query_string:
 the_request = the_request + '?' + req.query_string
 logged_headers = None

___
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] Swift on WebOb 1.2

2012-06-05 Thread Pete Zaitcev
I just saw your change uploaded
 https://review.openstack.org/8195/

Thanks a lot! I'll have a look and review ASAP.

-- Pete

On Mon, 4 Jun 2012 14:40:21 +0900
iryoung jeong  wrote:

> Anyway, current status is that I make your PatchSet 3 passed all
> unit/functests with webob 1.1 and only 4 tests failed with webob 1.2b3.

___
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] Single Server Test

2012-06-03 Thread Pete Zaitcev
On Mon, 04 Jun 2012 10:00:37 +1000
Chandana De Silva  wrote:

> I have not worked with OpenStack before this, and want to set up a 
> minimal test instance of Open Stack on a single server.
> Is this possible, and if so is there a document which goes through the 
> steps ?

I used Fedora Test Day wiki as an outline with success in the past.
It is quite rudimentary, but if you follow the steps exactly, the
result is a somewhat useable Nova, which can be gradually enhanced
(for example, I moved mine from a file image volume group to an
actual LVM volume group).

http://fedoraproject.org/wiki/Test_Day:2012-03-08_OpenStack_Test_Day

Probably not the best way to do it, but just as a suggestion.

-- Pete

___
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] Swift on WebOb 1.2

2012-06-03 Thread Pete Zaitcev
Hi,

In a review on change 7569, you wrote:

> Because I'm new to this project, I can't sure what should I do.
> Shoud I just create new review of bug 888371 with my code or just
> help this review to fix same issue?

I asked to take this to e-mail, but never heard back. If you have
any code that we could incorporate, if would be appreciated.

In particular I'd love fixes for testFileListingLimitMarkerPrefix,
which would work on both WebOb 1.0.8 and 1.2 betas. My patch set #4
in change 7569 still does not have a viable fix for that one.

I looked at Severin's patch, but there was nothing useful in it.
I already fixed the problems that he addressed, but there is much
more to it. Thanks for drawing my attention to the bug 888371, however.
I did not notice it before.

-- Pete

___
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.common inside swiftclient and RPM

2012-05-31 Thread Pete Zaitcev
Hi, Monty:

The python-swiftclient has something that I believe you added:

[zaitcev@lembas python-swiftclient-tip]$ git log 
swiftclient/openstack/__init__.py 
commit 7df012329f0b22e19f878cee2602407cb23042ef
Author: Monty Taylor 
Date:   Wed May 16 17:30:46 2012 -0400

Add openstack project infrastructure.

Now, I am wondering, why is it necessary to keep this inside the
swiftclient/ directory?

My problem is that if I do nothing too crazy, the following RPM
.spec packages the aforementioned directory, too:

%{python_sitelib}/swiftclient

For now I resorted to running this after python setup.py install:

rm -r %{buildroot}%{python_sitelib}/swiftclient/openstack

Still... As an experiement, I moved the openstack/ one level up,
changed swiftclient.openstack.common to openstack.common in setup.py,
and everything seems to be working.

-- Pete

___
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] Swift3 Github pages

2012-05-21 Thread Pete Zaitcev
On Mon, 21 May 2012 16:06:42 -0500
Gregory Holt  wrote:

> There are examples of middleware returning generators out there, such as
> in PEP 333 WSGI, specifically the class example at
> http://www.python.org/dev/peps/pep-0333/#the-application-framework-side.

Obviously I didn't read the PEP closely enough, so I assumed the opposite.
Sorry. Here's my message about it:
 https://lists.launchpad.net/openstack/msg11261.html

> That is something that swift.common.wsgi.WSGIContext's _app_call works
> around, ensuring the generator is "activated" before returning.

I see, I missed that.

Thanks,
-- Pete

___
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] Swift3 Github pages

2012-05-21 Thread Pete Zaitcev
On Mon, 21 May 2012 18:01:04 +0200
Chmouel Boudjnah  wrote:

> I have sent already the gerrit review to remove swift3 from swift :
> 
> https://review.openstack.org/#/c/7628/
> 
> and reference your repository http://github.com/fujita/swift3 in
> associated project.

If swift3 goes out of the tree, I am going to drop my -1 on
Mike Burton's proxy_logging change. It will move the onus on Tomo
to accomodate, although personally I think Mike was wrong and
middleware should complete by the time __call__ returns.
IMHO it is a deficiency of proxy_logger, which does not get
exposed by any in-tree middleware except swift3.

-- Pete

___
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] Swift on Webob-1.2 anyone?

2012-05-17 Thread Pete Zaitcev
On Wed, 09 May 2012 18:18:52 +0200
Ionuț Arțăriși  wrote:

> It would be great to have it on 1.2b3, though.

I think I had a pretty good start, here:
 https://review.openstack.org/7569

Not sure if I am doing the right thing, however. I split it like this:

 - Proxy server does a lot of processing and checking of the keys,
   so it needs to operate on byte strings, not the unicode (it may
   be fixed up, but I found it too hard). So, I just force "unicode"
   strings that are actually UTF-8 with each UTF-8 byte taking 1
   unicode symbol. This is totally wrong, but it works. If someone
   can cook up an alternative patch, I'm all for it. Note that this
   permits Proxy to work on keys that are binary garbage, in case
   of e.g. LFS.

 - Object, Container, and Account are fixed up to work on Unicode
   in Pythonic way. One side effect of this is that they ONLY accept
   UTF-8 encoded keys now. It appears that they verify such, so I am
   not breaking any compatibility, I think.

Would love to see any fixes, objections, additions, etc.

-- Pete

___
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] Swift on Webob-1.2 anyone?

2012-05-09 Thread Pete Zaitcev
On Wed, 9 May 2012 16:14:48 +0100
Chmouel Boudjnah  wrote:

> The challenge if you are taking a stab at it would probably be to
> support webob 1.1* and 1.2 at the same time in the code.

I noticed that too. 1.1.1 made some intermediate choices that are
difficult to reconcile, namely throwing warnings that break tests.
The None values that they sprinkled over 1.2 ironically help.

Fedora is likely to ship 1.1 in F17, so I guess I have to deal
with it somehow. What a pain.

-- Pete

___
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] Swift on Webob-1.2 anyone?

2012-05-08 Thread Pete Zaitcev
I ran .unittests on a box with python-webob-1.2b3 and it throws left
and right: errors=72, failures=6. I'm wondering if anyone is working
on adapting Swift for WebOb 1.2 and if a patch is available somewhere.
I see Ionut fixed lp:984042, but clearly it wasn't enough.

If nobody's done it yet, I suppose I could take a swing at it. New webob
is required to address the S3-with-colon problem lp:936998.

-- Pete

___
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] "swift stat" returns "Auth GET failed: http://127.0.0.1:5000/v2.0/tokens 401 Not Authorized"

2012-05-07 Thread Pete Zaitcev
On Mon, 7 May 2012 23:34:02 +0530
Shashi Kanth Boddula  wrote:

> root@OpenStack:~# swift -V 2 -A http://OpenStack:5000/v2.0 -U
> adminUser:admin -K 012345SECRET99TOKEN012345 stat
> Auth GET failed: http://OpenStack:5000/v2.0/tokens 401 Not Authorized

> "endpoints": [
> {
> "adminURL": "http://OpenStack:35357/v2.0";,
> "internalURL": "http://OpenStack:5000/v2.0";,
> "publicURL": "http://OpenStack:5000/v2.0";,

The above is supposed to be the endpoint of Swift, but you put the
endpoint of Keystone in there. When you pass the -A http://OpenStack:5000/v2.0,
the CLI tool accesses the Keystone to discover where the Swift is, using
the endpoint record.

So:

# With SSL proxy at kvm-san:
$keystone endpoint-create --region RegionOne --service_id $SSID \
--adminurl 'http://kvm-rei.zaitcev.lan/v1.0/' \
--publicurl 'https://kvm-san.zaitcev.lan/v1/AUTH_$(tenant_id)s' \
--internalurl 'http://kvm-rei.zaitcev.lan/v1/AUTH_$(tenant_id)s'

-- P

___
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] Swift's proxy_logging vs. swift3

2012-05-04 Thread Pete Zaitcev
Hi, Mike:

I applied the proxy_logging patch (change 5284) to another Swift, which
happens to have the swift3 loaded, and S3 accesses started to fail.
Since swift3 is an existing part of Swift, I put a -1 on the review
for now, and I hope we can resolve this somehow and re-spin a patch #7.

The pipeline looks like this:

[zaitcev@kvm-san ~]$ grep pipeline /etc/swift/proxy-server.conf 
[pipeline:main]
pipeline = healthcheck cache swift3 swauth proxy-logging proxy-server
[zaitcev@kvm-san ~]$ 

As much as I can tell, the scenario is this:

 - swift3's app.__call__ identifies the request as S3. If it's native
   Swift, it is passed along unmolested and works fine.

 - __call__ find the controller, say ServiceController

 - controller defines an intercept start_response(), do_start_response,
   invokes the downstream app with it

 - proxy_logger's app.__call__, however, is a generator (has yield).
   As I guess, a generator is used as a tool to postpone logging
   like a hook was before

 - as downstream app returns to swift3, it assumes that start_response
   was called by the app, but in fact, only the generator prologue
   was called and returned an iterable. The fields that do_start_response
   fills are not filled, and swift3 tracebacks with IndexError.

I threw together a patch like this (against proxy log patch #6):

commit 66b08d63c41c8aeebe745b00ba942dc564595e58
Author: Pete Zaitcev 
Date:   Fri May 4 17:34:32 2012 -0600

Fixed swift3 but now proxy_logging does not log anything for PUT.

diff --git a/swift/common/middleware/proxy_logging.py 
b/swift/common/middleware/proxy_logging.py
index b5f25df..c3f4467 100644
--- a/swift/common/middleware/proxy_logging.py
+++ b/swift/common/middleware/proxy_logging.py
@@ -101,6 +101,10 @@ class ProxyLoggingMiddleware(object):
 self.access_logger = get_logger(access_log_conf,
 log_route='proxy-access')
 
+self.client_disconnect = False
+self.input_proxy = None
+self.start_time = None
+
 def log_request(self, env, status_int, bytes_received, bytes_sent,
 request_time, client_disconnect):
 """
@@ -144,31 +148,34 @@ class ProxyLoggingMiddleware(object):
 )))
 self.access_logger.txn_id = None
 
-def __call__(self, env, start_response):
-status_int = [500]
+def log_generator(self, env, status_int, body_resp):
 bytes_sent = 0
-client_disconnect = False
-input_proxy = InputProxy(env['wsgi.input'])
-env['wsgi.input'] = input_proxy
-start_time = time.time()
-
-def my_start_response(status, headers, exc_info=None):
-status_int[0] = int(status.split()[0])
-return start_response(status, headers, exc_info)
-
 try:
-for chunk in self.app(env, my_start_response):
+for chunk in body_resp:
 bytes_sent += len(chunk)
 yield chunk
 except GeneratorExit:  # generator was closed before we finished
-client_disconnect = True
+self.client_disconnect = True
 raise
 finally:
-request_time = time.time() - start_time
-self.log_request(env, status_int[0], input_proxy.bytes_received,
-bytes_sent, request_time,
-client_disconnect or input_proxy.client_disconnect)
+request_time = time.time() - sef.start_time
+self.log_request(env, status_int[0],
+self.input_proxy.bytes_received, bytes_sent, request_time,
+self.client_disconnect or self.input_proxy.client_disconnect)
+
+def __call__(self, env, start_response):
+status_int = [500]
+self.client_disconnect = False
+self.input_proxy = InputProxy(env['wsgi.input'])
+env['wsgi.input'] = self.input_proxy
+self.start_time = time.time()
+
+def my_start_response(status, headers, exc_info=None):
+status_int[0] = int(status.split()[0])
+return start_response(status, headers, exc_info)
 
+body_resp = self.app(env, my_start_response)
+return self.log_generator(env, status_int, body_resp)
 
 def filter_factory(global_conf, **local_conf):
 conf = global_conf.copy()

With the above, the server works once again, but I did something wrong
and PUT requests are not logged by the proxy_logging anymore. It seems
like generator's "finally" clause is not invoked somehow. I thought it
was supposed to be invoked when the iterator is deleted, but most likely
I'm confused.

I need you to take over and apply your Python-fu, because mine is lacking.

Cheers,
-- Pete

___
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] Endpoints problems

2012-04-13 Thread Pete Zaitcev
On Fri, 13 Apr 2012 13:28:36 +
Guilherme Birk  wrote:

> keystone --token ADMIN 
> --publicurl="http://192.168.100.142:8774/v2/$(tenant_id)s"
> But I'm getting a "tenant_id: command not found".

Shell expands variables in the double quote (") strings, so you
have to use single quote (').

-- Pete

___
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] Endpoints problems

2012-04-12 Thread Pete Zaitcev
On Fri, 13 Apr 2012 04:24:56 +
Justin Shepherd  wrote:

> And if i am reading the code correctly they support both of the following
> variable declarations:
> 
> %(tennant_id)s
> $(tennant_id)s
> 
> since it appears the code replaces "$(" with "%("

Exactly why documentation is important, since it codifies the
intent and not artefacts of implementation.

I only wish we had an implementation that left 's' for Python-like
%(key)s, and supported a Make-like $(key) without 's'. However, putting
it in post-Essex is going to break compatibility, so it's too late.

-- Pete

___
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] Endpoints problems

2012-04-12 Thread Pete Zaitcev
On Fri, 13 Apr 2012 08:11:28 +0800
Yong Sheng Gong  wrote:

> Maybe, here some codes are worth thouhands of words:

I quite agree. On the other hand, does Anne care to read it? She needs
a concise answer as to what command to document precisely, if I understad
her query right.

> d = dict(CONF.iteritems())
> d.update({'tenant_id': tenant_id,
>   'user_id': user_id})
> catalog = {}

It would be great if we kept track of available keys in a document
somewhere. Of course, the source is open. That's how I found my
forgotten 's'. But still, it's a hurdle to clear for some.

-- Pete

___
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] Endpoints problems

2012-04-12 Thread Pete Zaitcev
On Thu, 12 Apr 2012 22:33:38 -0400
Lorin Hochstein  wrote:

> My understanding (based on somebody's previous answer in the mailing list,
> or possibly one of the IRC channels) was that you could only do this with
> the template backend, and when you were using the database backend you had
> to explicitly add endpoints for each tenant that needed to talk to the API.
> 
> Can you confirm that you can use the $(tenant_id)s syntax when the backend
> is set using the following keystone.conf entry:
> 
> [catalog]
> driver = keystone.catalog.backends.sql.Catalog

The thought that the substitution may not work never occured to me.
I have the following in keystone.conf:

[catalog]
# dynamic, sql-based backend (supports API/CLI-based management commands)
driver = keystone.catalog.backends.sql.Catalog
template_file = /etc/keystone/default_catalog.templates

# static, file-based backend (does *NOT* support any management commands)
#driver = keystone.catalog.backends.templated.TemplatedCatalog
#template_file = ./etc/default_catalog.templates

And I run the following command as a part of re-population script:

## Without proxy:
#$keystone endpoint-create --region RegionOne --service_id $SSID \
#--publicurl 'http://kvm-rei.zaitcev.lan/v1/AUTH_$(tenant_id)s' \
#--adminurl 'http://kvm-rei.zaitcev.lan/v1.0/' \
#--internalurl 'http://kvm-rei.zaitcev.lan/v1/AUTH_$(tenant_id)s'
# With SSL proxy at kvm-san:
$keystone endpoint-create --region RegionOne --service_id $SSID \
--adminurl 'http://kvm-rei.zaitcev.lan/v1.0/' \
--publicurl 'https://kvm-san.zaitcev.lan/v1/AUTH_$(tenant_id)s' \
--internalurl 'http://kvm-rei.zaitcev.lan/v1/AUTH_$(tenant_id)s'

Everything seems to work. Also see Yong-Sheng's message about
the source code.

-- Pete

___
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] Endpoints problems

2012-04-12 Thread Pete Zaitcev
On Thu, 12 Apr 2012 15:28:21 -0500
Anne Gentle  wrote:

> keystone --token 012345SECRET99TOKEN012345 --endpoint
> http://192.168.206.130:35357/v2.0 endpoint-create \
>[]
>--internalurl
> http://192.168.206.130:8774/v2/$(tenant_id)s
> 
> I haven't fixed this yet because I'm not sure if the $(tenant_id)s is
> literal or which tenant_id specifically to use (the Service tenant for the
> adminurl possibly)?

The expression "$(tenant_id)s" is really contained inside the pattern
in the database. It is substituded with a specific tennant ID when
an application makes its request. The weird syntax is inherited from
Python, where one can use constructs like %s or %(key)s.

-- Pete

___
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] [SWIFT] Looking for an approach to attach an account or a container in operating system . Like a NAS of SAN driver.

2012-04-12 Thread Pete Zaitcev
On Thu, 12 Apr 2012 23:57:59 +0800
Kuo Hugo  wrote:

> What if user can attach their own account from swift-proxy (or something
> else) directly via NFS or CIFS  or iscsi target will be much better.

Would it not be easier to use an actual filesystem for that, like
GlusterFS? I don't quite see the point of layering a filesystem
API adaptor on top of Swift. Since applications that import a
filesystem API expect filesystem characteristics, performance is
going to be fragile at best.

-- Pete

___
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] Swift nee st code weirdness

2012-04-06 Thread Pete Zaitcev
On Fri, 6 Apr 2012 00:17:49 -0400
Andrew Clay Shafer  wrote:

> What were you expecting/trying to do with the code change?

Here's a patch that hopefuly answers the question, although be warned
that it does not actually work even if the scope of parser is fixed
(it measures wrong thread):

--- a/bin/swift
+++ b/bin/swift
@@ -1889,7 +1889,7 @@ overridden with -A, -U, or -K.'''.strip('\n'))
 return options, args
 
 
-if __name__ == '__main__':
+def main():
 parser = OptionParser(version='%prog 1.0', usage='''
 Usage: %%prog  [options] [args]
 
@@ -1986,3 +1986,8 @@ Example:
 for thread in threading_enumerate():
 thread.abort = True
 raise
+
+if __name__ == '__main__':
+# P3
+import cProfile
+cProfile.run('main()', "stprof")

-- Pete

___
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] Swift nee st code weirdness

2012-04-05 Thread Pete Zaitcev
Hi, All:

In the process of tinkering for lp:959221, I made a benign modification
to make it possible to invoke swift as a module, when everything broke
loose with errors like "NameError: global name 'parser' is not defined".
Looking at the code it seems like a thinko, with the following fix:

diff --git a/bin/swift b/bin/swift
index 0cac5d6..a14c646 100755
--- a/bin/swift
+++ b/bin/swift
@@ -1202,7 +1203,7 @@ download --all OR download container [options] [object] 
[object] ...
 stdout.'''.strip('\n')
 
 
-def st_download(options, args, print_queue, error_queue):
+def st_download(parser, args, print_queue, error_queue):
 parser.add_option('-a', '--all', action='store_true', dest='yes_all',
 default=False, help='Indicates that you really want to download '
 'everything in the account')
@@ -1378,7 +1379,7 @@ list [options] [container]
 '''.strip('\n')
 
 
-def st_list(options, args, print_queue, error_queue):
+def st_list(parser, args, print_queue, error_queue):
 parser.add_option('-p', '--prefix', dest='prefix', help='Will only list '
 'items beginning with the prefix')
 parser.add_option('-d', '--delimiter', dest='delimiter', help='Will roll '
@@ -1423,7 +1424,7 @@ stat [container] [object]
 args given (if any).'''.strip('\n')
 
 
-def st_stat(options, args, print_queue, error_queue):
+def st_stat(parser, args, print_queue, error_queue):
 (options, args) = parse_args(parser, args)
 args = args[1:]
 conn = get_conn(options)
@@ -1548,7 +1549,7 @@ post [options] [container] [object]
 post -m Color:Blue -m Size:Large'''.strip('\n')
 
 
-def st_post(options, args, print_queue, error_queue):
+def st_post(parser, args, print_queue, error_queue):
 parser.add_option('-r', '--read-acl', dest='read_acl', help='Sets the '
 'Read ACL for containers. Quick summary of ACL syntax: .r:*, '
 '.r:-.example.com, .r:www.example.com, account1, account2:user2')
@@ -1619,7 +1620,7 @@ upload [options] container file_or_directory 
[file_or_directory] [...]
 '''.strip('\n')
 
 
-def st_upload(options, args, print_queue, error_queue):
+def st_upload(parser, args, print_queue, error_queue):
 parser.add_option('-c', '--changed', action='store_true', dest='changed',
 default=False, help='Will only upload files that have changed since '
 'the last upload')

Seems obvious if I look at this:

globals()['st_%s' % args[0]](parser, argv[1:], print_queue, error_queue)

The parser is always the first argument, so... Someone please tell me
if I am missing something here. Or should I just file it in Gerrit?

Weird part is, unit tests pass both on the current code and the one
with my patch above. The problem seems too gross to let it work, but
everything appears in order.

-- Pete

___
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] Swift and keystone: asking for an auth token.

2012-04-03 Thread Pete Zaitcev
On Tue, 03 Apr 2012 16:53:05 +0200
Pierre Amadio  wrote:

> [filter:tokenauth]
> paste.filter_factory = keystone.middleware.auth_token:filter_factory
> service_port = 5000
> service_host = 192.168.122.102
> auth_port = 35357
> auth_host = 192.168.122.102
> auth_protocol = http

I'm surprised this works at all, because if service_protocol is
not set, it defaults to https:. However, your -A argument points
to http:, like so

> ubuntu@swift-a:~$ swift -V 2 -U ubuntu:ubuntu -K openstack -A
> http://192.168.122.102:5000/v2.0 list

Strange that nothing shows up in logs.

> Account GET failed:
> https://192.168.122.105:8080/v2/AUTH_ed0a2ebb66054096869605fb53c049d7?format=json
> 403 Forbidden

> Just in case, i try to change the keystone objectstore endpoint to use
> v1 instead of v2 in the 3 catalog urls, but i had the same result.

This is the most obvious problem. Please try to use /v1 once again,
look at swift.log. If that fails, we'll need to start probing with
curl step by step.

-- Pete

___
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] Code 500 when authenticating with password

2012-03-30 Thread Pete Zaitcev
On Sat, 31 Mar 2012 10:26:10 +0800
Yong Sheng Gong  wrote:

> Second: you can use keystone --debug user-list to show what http message sent 
> to server

As it turned out, I omitted 's' after the format, because I redone my
old Keystone population script, which did not have any of those. E.g.
public_url was:
  http://kvm-rei.zaitcev.lan/v1/AUTH_$(tenant_id)
but it should've been:
  http://kvm-rei.zaitcev.lan/v1/AUTH_$(tenant_id)s

-- Pete

___
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] Code 500 when authenticating with password

2012-03-30 Thread Pete Zaitcev
On Sat, 31 Mar 2012 10:26:10 +0800
Yong Sheng Gong  wrote:

> also you can see the request body from server log, just like this:
> 
> 2012-03-31 10:16:44DEBUG [keystone.common.wsgi]  
> REQUEST BODY 
> 2012-03-31 10:16:44DEBUG [keystone.common.wsgi] {"auth": {"tenantName": 
> "admin", "passwordCredentials": {"username": "admin", "password": 
> "password"}}}
> 2012-03-31 10:16:44DEBUG [keystone.common.wsgi]

Indeed it's there in the log:

2012-03-30 21:35:41DEBUG [keystone.common.wsgi]  
REQUEST BODY 
2012-03-30 21:35:41DEBUG [keystone.common.wsgi] {"auth": {"tenantName": 
"admten", "passwordCredentials": {"username": "admin", "password": "admpass"}}}

But how does this help?

-- Pete

___
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] Code 500 when authenticating with password

2012-03-30 Thread Pete Zaitcev
Greetings:

It seems that I am unable to authenticate against the current Keystone,
and I am not sure if it is a bug or a local misconfiguration. So, before
I file in Launchpad, I'd like someone to verify that I am doing the
right thing.

The problem looks like this:

[zaitcev@kvm-rei zaitcev]$ keystone --os_auth_url=http://localhost:35357/v2.0 
--os_username=admin --os_password=admpass --os_tenant_name=admten user-list
No handlers could be found for logger "keystoneclient.v2_0.client"
Authorization Failed: An unexpected error prevented the server from fulfilling 
your request. incomplete format (HTTP 500)

The server logs this:

2012-03-30 21:35:41ERROR [root] incomplete format
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/keystone/common/wsgi.py", line 184, in 
__call__
result = method(context, **params)
  File "/usr/lib/python2.7/site-packages/keystone/service.py", line 292, in 
authenticate
metadata=metadata_ref)
  File "/usr/lib/python2.7/site-packages/keystone/common/manager.py", line 48, 
in _wrapper
return f(*args, **kw)
  File "/usr/lib/python2.7/site-packages/keystone/catalog/backends/sql.py", 
line 167, in get_catalog
catalog[region][srv_type]['publicURL'] = public_url % d
ValueError: incomplete format
2012-03-30 21:35:41DEBUG [keystone.common.wsgi]  
RESPONSE HEADERS 
2012-03-30 21:35:41DEBUG [keystone.common.wsgi] Content-Type = 
application/json
2012-03-30 21:35:41DEBUG [keystone.common.wsgi] Vary = X-Auth-Token
2012-03-30 21:35:41DEBUG [keystone.common.wsgi] Content-Length = 161
2012-03-30 21:35:41DEBUG [keystone.common.wsgi] 
2012-03-30 21:35:41DEBUG [keystone.common.wsgi]  
RESPONSE BODY 
2012-03-30 21:35:41DEBUG [keystone.common.wsgi] {"error": {"message": "An 
unexpected error prevented the server from fulfilling your request. incomplete 
format", "code": 500, "title": "Internal Server Error"}}
2012-03-30 21:35:41DEBUG [eventlet.wsgi.server] 127.0.0.1 - - [30/Mar/2012 
21:35:41] "POST /v2.0/tokens HTTP/1.1" 500 327 0.260567

Yay, a traceback. However, it may be hinting that some kind of publicURL
field is not set somewhere. Does this looks familiar to anyone?

BTW, authentication with token works, and produces this:

[zaitcev@kvm-rei zaitcev]$ keystone --endpoint http://kvm-rei:35357/v2.0 
--token=758ce883df47 user-list
+--+-+---+-+
|id| enabled | email |   name  |
+--+-+---+-+
| 5c3c279d18f541aa859178869584ca40 | True| None  | zaitcev |
| ed6aa912c28849c0913cb1106bb26b8c | True| None  | admin   |
+--+-+---+-+

So, the Keystone server kinda-sorta works, just not really.

-- Pete

___
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] Object expirer in Swift SAIO

2012-03-23 Thread Pete Zaitcev
Hello:

Is running swift-object-expirer necessary in SAIO? Currently, there is
no instruction to set one up, and so swift-init bypasses it, only reports
that it's missing. Things seem to work fine without. I found a bunch of
tombstones, but they are all zero length.

Curious,
-- Pete

___
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] [SWIFT] "Skipping as it is not mounted"

2012-03-22 Thread Pete Zaitcev
On Thu, 22 Mar 2012 17:56:01 +
Leander Bessa  wrote:

> I've tried mounting it directly but it still didn't work. The only thing
> that got it running was disabling the mount_check.

You don't happen to sub-partition like SAIO does?

This works for me (2 volumes on 1 node for a moment):

[root@kvm-rei swift]# head -7 account-server/1.conf
[DEFAULT]
#devices = /srv/node
#mount_check = false
bind_port = 6012
user = swift
log_facility = LOG_LOCAL0

[root@kvm-rei swift]# grep vd /proc/mounts 
/dev/vda2 / ext4 rw,seclabel,relatime,user_xattr,acl,barrier=1,data=ordered 0 0
/dev/vda1 /boot ext4 rw,seclabel,relatime,user_xattr,acl,barrier=1,data=ordered 
0 0
/dev/vdb /srv/node/vdb xfs 
rw,seclabel,noatime,nodiratime,attr2,delaylog,noquota 0 0
/dev/vdc /srv/node/vdc xfs 
rw,seclabel,noatime,nodiratime,attr2,delaylog,noquota 0 0
[root@kvm-rei swift]# 

-- Pete

___
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] [SWIFT] "Skipping as it is not mounted"

2012-03-22 Thread Pete Zaitcev
On Thu, 22 Mar 2012 14:09:52 +
Leander Bessa  wrote:

> I'm installing swift on ubuntu 11.10 on a physical machine with and the
> partition mounted on /mnt/disk. I have a symbolic link on /srv/node/disk
> pointing to /mnt/disk and /srv/node belongs to swift:swift. The disk is
> mounted, but i keep getting the same error message.

Perhaps the symbolic link confuses the check (done with os.path.ismount()).
Either mount to /srv/node/disk or slap "mount_check = false" into
the *.conf files.

-- Pete

___
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] swift-get-nodes lies to me?

2012-03-12 Thread Pete Zaitcev
On Sat, 10 Mar 2012 12:42:02 +
"Souza, Bob"  wrote:

> The first argument to swift-get-nodes is the swift hash of the user name,
> typically some like AUTH_mumble, not the user name itself.

Indeed so, thanks. I eventually fetched that hash from logs. However,
I imagine it may get taxing on a server with a bunch of active users,
so I'm wondering if there's a value in enhancing swift-get-nodes
to poke at authenticator to find the hash (enabled with -A)?

-- Pete

___
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] swift-get-nodes lies to me?

2012-03-09 Thread Pete Zaitcev
Dear All:

A strange thing seems to happen. It looks like this:

- I upload a key named "testdata"

[zaitcev@simbelmyne tests]$ /q/zaitcev/hail/swift-tip/bin/swift -A 
http://kvm-rei:5000/v1.0 -U zaitcev -K pass list test-1235163301
testdata
[zaitcev@simbelmyne tests]$ 

  I have a script that also finds size (104857600) and MD5
  (49289935f687585f5e95e94c7c1ec29d).

- Then, I run swift-get-node, on the node where proxy resides:

[root@kvm-rei zaitcev]# swift-get-nodes /etc/swift/object.ring.gz zaitcev 
test-1235163301 testdata

Account zaitcev 
Container   test-1235163301
Object  testdata


Partition   147444  
Hash8ffd13698cf92ef170db5db21f5efd9f

Server:Port Device  192.168.129.20:6010 vdb
Server:Port Device  192.168.129.18:6020 vdc
Server:Port Device  192.168.129.18:6010 vdb
Server:Port Device  192.168.129.20:6020 vdc  [Handoff]


curl -I -XHEAD 
"http://192.168.129.20:6010/vdb/147444/zaitcev/test-1235163301/testdata";
curl -I -XHEAD 
"http://192.168.129.18:6020/vdc/147444/zaitcev/test-1235163301/testdata";
curl -I -XHEAD 
"http://192.168.129.18:6010/vdb/147444/zaitcev/test-1235163301/testdata";
curl -I -XHEAD 
"http://192.168.129.20:6020/vdc/147444/zaitcev/test-1235163301/testdata"; # 
[Handoff]


ssh 192.168.129.20 "ls -lah 
/srv/node/vdb/objects/147444/d9f/8ffd13698cf92ef170db5db21f5efd9f/"
ssh 192.168.129.18 "ls -lah 
/srv/node/vdc/objects/147444/d9f/8ffd13698cf92ef170db5db21f5efd9f/"
ssh 192.168.129.18 "ls -lah 
/srv/node/vdb/objects/147444/d9f/8ffd13698cf92ef170db5db21f5efd9f/"
ssh 192.168.129.20 "ls -lah 
/srv/node/vdc/objects/147444/d9f/8ffd13698cf92ef170db5db21f5efd9f/" # [Handoff]
[root@kvm-rei zaitcev]# 

- Finally, I actually find the file and verify it:

[root@kvm-rei zaitcev]# find /srv/node/vdc -type f -a -size 104857600c
/srv/node/vdc/objects/221984/51c/d8c8047f0c10449d1a264371874f851c/1331343894.44919.data
[root@kvm-rei zaitcev]# md5sum 
/srv/node/vdc/objects/221984/51c/d8c8047f0c10449d1a264371874f851c/1331343894.44919.data
49289935f687585f5e95e94c7c1ec29d  
/srv/node/vdc/objects/221984/51c/d8c8047f0c10449d1a264371874f851c/1331343894.44919.data
[root@kvm-rei zaitcev]# 

The question is, why the discrepancy? Before I dive into the construction
of the ring, is this a known issue? Or do I do something obviously wrong
with arguments of swift-get-nodes?

Curious,
-- Pete

___
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] Object Storage Swift on rhel6.0

2012-02-23 Thread Pete Zaitcev
On Thu, 23 Feb 2012 10:09:07 +0530
Sudhakar Maiya  wrote:

> please check and let me know what needs to be done

You have to decide if you run with SSL or without. These two clauses
obviously contradict to each other:

> [DEFAULT]
> #cert_file = /etc/swift/cert.crt
> #key_file = /etc/swift/cert.key
> bind_port = 8080
> bind_ip = 10.30.91.80

> [filter:swauth]
> use = egg:swauth#swauth
> set log_name = swauth
> super_admin_key = swauthkey
> default_swift_cluster = local#https://10.30.91.80:8080/v1

Note that swauth loops right back to Swift in order to serve
account information.

Make sure you've got the right key, too.

-- Pete

___
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] DeltaCloud

2012-02-21 Thread Pete Zaitcev
On Tue, 21 Feb 2012 23:04:22 +0700
Frans Thamura  wrote:

> i think the foundation need to be hurry and work closely with Apache ;0

What do you propose this "work closely with" actually mean?
What do you want Foundation actually do in this regard?
Issue a press release?

-- Pete

___
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] swift keystone help

2012-02-21 Thread Pete Zaitcev
On Tue, 21 Feb 2012 11:24:06 -0600
Paras pradhan  wrote:

> Yeah that was a type when I copy pasted.

You mean, the commented section header #[]?

> keystone-manage tenant add adminTenant
> keystone-manage user add adminUser secretword
> keystone-manage role add Admin
> keystone-manage role grant Admin adminUser
> keystone-manage role grant Admin adminUser adminTenant
> 
> Did I miss something?

You need an endpoint, like this:

keystone-manage service add swift storage "Swift Object Storage Service"
keystone-manage endpointTemplates add RegionOne swift \
  http://kvm-rei.zaitcev.lan/v1/AUTH_%tenant_id% \
  http://kvm-rei.zaitcev.lan/v1.0/ \
  http://kvm-rei.zaitcev.lan/v1/AUTH_%tenant_id% \
  1 1

-- Pete

___
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] Object Storage Swift on rhel6.0

2012-02-20 Thread Pete Zaitcev
On Mon, 20 Feb 2012 09:53:17 +0530
Sudhakar Maiya  wrote:

> i would like to configure object storage swift on rhel6.0..
> 
> can some one provide me the steps to install package/configure on each node.

Start with enabling the EPEL repository, then run
 yum install openstack-swift
It will pull the dependencies automatically, including those not
found in RHEL 6, e.g. python-webob1.0.

The rest is pretty much indentical to Ubuntu.

I have an swauth RPM in case you need to let your users to use your
Swift immediately, here:
 http://people.redhat.com/zaitcev/tmp/

However, if you are just experimenting, it would be better served by
configuring Keystone instead.

-- Pete

___
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] swift keystone help

2012-02-20 Thread Pete Zaitcev
On Mon, 20 Feb 2012 14:34:22 -0600
Paras pradhan  wrote:

> http://paste.openstack.org/show/4912/

Did you notice this:

#[filter:keystone]
use = egg:keystone#tokenauth

Seems commented :-)

The only undocumented trap that I hit was that you MUST create
users and grant roles on a tenant, e.g.

  keystone-manage role grant KeystoneAdmin zaitcev admten

The old configuringservices.rst omited tenant there.

-- Pete

___
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] Swift S3 with Keystone anyone?

2012-02-09 Thread Pete Zaitcev
On Thu, 9 Feb 2012 21:23:06 -0500
Andiabes  wrote:

> Take a peek here ( this is for diablo/stable)
> https://github.com/dellcloudedge/barclamp-keystone/blob/master/chef/cookbooks/keystone/
recipes/server.rb#L160

Thanks a lot, this worked:

  keystone-manage credentials add zaitcev EC2 zaitcev passw0rd admten

Or, actually, it worked so I do not get 403 anymore. Still buckets do
not get listed (I presume containers are buckets, right?).

-- Pete

___
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] git-review change 3988

2012-02-09 Thread Pete Zaitcev
Guys,

Am I going mad? Can't see what's going on. The resulting code after commit
looks is this (copy-pasted precisely):

# Workaround bug in urlparse on OSX
if parsed_url.scheme == "ssh" and hostname[:2] == "//":
hostname = hostname[2:].split("/")[0]
# Workaround bug in urlparse on OSX
elif parsed_url.scheme == "ssh" and hostname[:2] == "//":
hostname = hostname[2:].split("/")[0]

How is this supposed to work? The conditions looks absolutely identical!
Therefore

if A:
   foo
elif A:
   foo

How could elif evaluate to true and the second foo run?

-- P

___
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] Swift S3 with Keystone anyone?

2012-02-09 Thread Pete Zaitcev
On Thu, 2 Feb 2012 19:03:54 +0900
Akira Yoshiyama  wrote:

> I modified the wiki:
> http://wiki.openstack.org/Keystone-BP-S3Token
> 
> I added authtoken in main pipeline just now.

I am still unable to figure out how to add the right password.
So far, the only thing I figured out is that you do not use the
Swift password that I expected. Instead, something like this
happens:

keystone/logic/service.py:
def authenticate_s3(self, credentials):
creds = self.credential_manager.get_by_access(credentials.access)
#  c.access is "zaitcev" above

keystone/backends/sqlalchemy/api/credentials.py:
def get_by_access(self, access, session=None):
result = session.query(models.Credentials).\
 filter_by(type="EC2", key=access).first()

So, clearly "keystone-manage user add zaitcev passw0rd admten" is
not sufficient.

Would you share the proper incarnation for keystone-manage to add
a "EC2" type password?

Yours,
-- Pete

___
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] Swift and devstack.

2012-02-06 Thread Pete Zaitcev
On Mon, 6 Feb 2012 18:53:36 +0100
Chmouel Boudjnah  wrote:

> Another thing I want to implement is to add Swift as a back-end to Glance.

Wait, what is this then

[zaitcev@lembas glance-tip]$ ls glance/store/swift.py
glance/store/swift.py
[zaitcev@lembas glance-tip]$ cat .git/HEAD
ref: refs/heads/master

-- Pete

___
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] Swift S3 with Keystone anyone?

2012-02-05 Thread Pete Zaitcev
On Thu, 2 Feb 2012 19:03:54 +0900
Akira Yoshiyama  wrote:

> I modified the wiki:
> http://wiki.openstack.org/Keystone-BP-S3Token
> 
> I added authtoken in main pipeline just now.

I was unable to find the official configuration for "authtoken".
Since it's only a name of convention, I cannot even guess what
module is meant here.

Some people seem to use authtoken like this:

[filter:authtoken]
paste.filter_factory = keystone.middleware.auth_token:filter_factory
service_protocol = http
service_host = 127.0.0.1
service_port = 5000
auth_host = 127.0.0.1
auth_port = 35357
auth_protocol = http
auth_uri = http://127.0.0.1:5000/
admin_token = 999888777666
;Uncomment next line and check ip:port to use memcached to cache token requests
;memcache_hosts = 127.0.0.1:11211

Is it what you meant? If yes, what does it do in case of S3?
The diagram in the wiki does not mention it.

-- Pete

___
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] Swift S3 with Keystone anyone?

2012-02-01 Thread Pete Zaitcev
Hello:

Does anyone happen to have Swift running with S3 and Keystone? If yes,
send me the proxy-server.conf, please. Also, I'd like to ask a few
questions, if I may. I tried to piece it together from the code,
but failed.

The authentication is done with a special hook into Keystone. It supplies
middleware, keystone/keystone/middleware/s3_token.py, which invokes
a POST to v2 Keysone with OS-KSS3:s3Credentials, then sets a req. header
X-Auth-Token. So far so good.

However, how does it fit in with Swift? The actual S3 operations are
implemented by swift/common/middleware/swift3.py, which rolls up the
canonical string, then stuffs it into env['HTTP_X_AUTH_TOKEN'].
The intent is, as I understand, to invoke the special purpose
code in tempauth and thus is useless for Keystone. So, how is this
supposed to work?

I imagine the pipeline should look something like this:

  [pipeline:main]
  pipeline = healthcheck cache s3auth swift3 proxy-server

  [filter:s3auth]
  use = egg:keystone#swiftauth
  service_protocol = http
  service_host = 192.168.129.18
  service_port = 5000

  [filter:swift3]
  use = egg:swift#swift3

Except... There is no entry point for s3_auth in keystone egg.

Documentation seems to be absent. I suppose I could put it together,
if I got it all working at least once.

Confused,
-- Pete

___
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] Swift Consistency Guarantees?

2012-01-20 Thread Pete Zaitcev
On Fri, 20 Jan 2012 15:17:32 -0500
Nikolaus Rath  wrote:

> Thanks! So there is no way to reliably get the most-recent version of an
> object under all conditions.

If you bend the conditions hard enough to hit the CAP theorem, you do.

-- Pete

___
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] Listing non-public images in Glance

2012-01-19 Thread Pete Zaitcev
On Thu, 19 Jan 2012 16:48:55 -0500
Jay Pipes  wrote:

> >  a) If authentication is in effect, can users list their own images?
> 
> Yes. If authentication is enabled and a user calls GET /images, they
> see a list of non-deleted, non-killed-status *public* images
> (is_public=True) AND any images where the owner_id is the user's
> Tenant or User ID AND any images that have manually been shared with
> the Tenant or User ID via the image-memberships functionality.

Thanks, sounds logical. Now I just need to ensure it works, and likely
update the doc/source/glanceapi.rst a bit.

-- Pete

___
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] Listing non-public images in Glance

2012-01-19 Thread Pete Zaitcev
Hello:

This clearly seems like I am missing something obvious, but is it
possible to list non-public images in Glance?

It came up because I have a Glance setup without Keystone or other
authentication for now, like this:

  [pipeline:glance-api]
  pipeline = versionnegotiation context apiv1app

Images that have "X-Image-Meta-Is_public: False" do not get listed
with "glance index". I am not saying that it is wrong per se, all the
documentation implies that a GET to /v1/images only produces a listing
of public images, and it looks like all functional and unit tests
in ./glance/tests set the public flag as necessary. But I'm wondering:

 a) If authentication is in effect, can users list their own images?
It is easy to forget what you have. The Image Warehouse service
in Aeolus permits to list images regardless, as long as bucket
is accessible.

 b) If authentication is not in effect, should we chage to listing
everything, public and not? I can file a bug and see it implemented.

-- Pete

___
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] swfit / keystone auth

2011-12-13 Thread Pete Zaitcev
On Tue, 13 Dec 2011 11:27:28 -0500
andi abes  wrote:

> A few questions (about keystone 2012.1)

Just to facilitate the tip-sharing, here's what I know - not being
an expert in either Swift of Keystone.

> a) does the  swift middleware work with v1.0 or 2.0 auth?

I "heard" that v2.0 is not ready to be used with Swift. BTW, I am at
swift 1.4.3, maybe it wasn't back then. Your 2012.1 should be Essex,
which, AFAIK, is not even branched yet. Anyhow, I configured /v1
(no JSON, just good old X-Storage-Url etc.).

> b) are folks using swift-keystone2 or the middleware bundled with keystone
> (auth_token + swift_auth).

I am not quite sure what to make out of this question, but here's
what I have, middleware-related

/etc/swift/proxy-server.conf:
[pipeline:main]
pipeline = healthcheck cache keystone proxy-server
[filter:keystone]
use = egg:keystone#tokenauth
auth_protocol = http
#auth_host = 127.0.0.1
auth_host = 192.168.129.18
auth_port = 35357
admin_token = 758ce883df47
delay_auth_decision = 0
service_protocol = http
service_host = 192.168.129.18
service_port = 5000
service_pass = dTpw
 < I know that keystone ignores a bunch of these

[DEFAULT]
service-header-mappings = {
'nova' : 'X-Server-Management-Url',
'swift' : 'X-Storage-Url',
'cdn' : 'X-CDN-Management-Url'}
[pipeline:admin]
pipeline = urlrewritefilter admin_api
[pipeline:keystone-legacy-auth]
pipeline = urlrewritefilter legacy_auth RAX-KEY-extension service_api
[filter:legacy_auth]
paste.filter_factory = keystone.frontends.legacy_token_auth:filter_factory

> c) when trying to use auth_token and swift_auth, I see the keystone log
> below trying to stat an account. []

Curious...

> This was triggered with:
>  swift -A http://192.168.124.82:5000/v2.0/ -V 2.0 -U openstack:user -K
> password stat

My tests run like so:
 swift -A http://kvm-rei:5000/v1.0 -U admin -K adminpass stat -v

-- Pete

___
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] High I/O on idle Swift devices

2011-12-13 Thread Pete Zaitcev
On Tue, 13 Dec 2011 02:30:14 +
Rustam Aliyev  wrote:

> [...] During this period, I can see 
> constant read I/O of 3MB/s on each swift device. When I shutdown 
> object-server I/O goes to zero.

Killing swift-object-server is tantamount to unplugging a disk:
the I/O goes to zero, but it was not the entity that requested the I/O.

I'd look in the logs to see if rsync was flopping around failing
or something of that nature. You need to go up the chain and see
what activity was triggering the I/O in the first place.

-- Pete

___
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] 404 for account on nodes

2011-12-06 Thread Pete Zaitcev
Greetings:

This is most likely to be an administration problem, but I am trying to
use it as a hook to gain understanding into workings of Swift.

I have a test cluster with 2 VMs and 4 "nodes". At some point, I reinstalled
one of the nodes, and now this 404 happens from time to time:

Dec  6 19:08:19 kvm-ni account-server 192.168.129.18 - - [07/Dec/2011:02:08:19 
+] "HEAD /vdb/18239/AUTH_1" 404 - "-" "-" "-" 0.0010 ""

The root cause, apparently, is that this account does not exist.
On the system which shows no such symptom, we have:

[root@kvm-rei log]# ls -l /srv/node/vdb/accounts/
total 12
drwxrwxrwx. 3 swift swift 4096 Nov 19 00:22 124217
drwxrwxrwx. 3 swift swift 4096 Nov 30 15:36 18239
drwxrwxrwx. 3 swift swift 4096 Nov 18 18:44 236930

On the problem node, we have:

[root@kvm-ni log]# ls -l /srv/node/vdb/accounts/
total 8
drwxrwxrwx. 3 swift swift 4096 Nov 18 22:22 124217
drwxrwxrwx. 3 swift swift 4096 Nov 18 16:50 236930

All I know at present is this blurb in the Administration Guide:

  Replication updates are push based. For object replication,
  updating is just a matter of rsyncing files to the peer.
  Account and container replication push missing records over
  HTTP or rsync whole database files.

So, the suspicion is that the account updater is not running.

Why is it that the accounts are not synchronized? Or in a more
interesting way, what part of code, if any, is supposed to be
responsible for keeping the cluster consistent?

-- Pete

___
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] Keystone + Swift integration

2011-11-28 Thread Pete Zaitcev
On Sat, 26 Nov 2011 20:52:36 +
Ziad Sawalha  wrote:

> Hi Pete - the brackets were a mistake in the documentation. The correct
> syntax is %tenant_id%.

Thanks, makes sense. I saw your commit just now, too.

I'm still unable to coax Keystone into giving me X-Storage-Url:,
so if I run swift CLI, it tracebacks (it receives X-Auth-Token fine and
assumes that X-Storage-Url must be there too). It looks like the
endpointTemplates wasn't added for some reason. Very mysterious.

-- Pete

___
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] Keystone + Swift integration

2011-11-25 Thread Pete Zaitcev
On Wed, 23 Nov 2011 09:28:01 -0300
Leandro Reox  wrote:

> keystone-manage endpointTemplates add RegionOne swift
> http://172.16.0.88:8080/v1/AUTH_%tenant_id% http://172.16.0.88:8080/
> http://172.16.0.88:8080/v1/AUTH_%tenant_id% 1 1

I'm curious, did you actually put the '%' (percent) into those URLs,
or you replaced it with the appropriate tennant ID? The documentation
(doc/configuration.rst) tells to use square brackets, not percents,
which is probably another hint to substitute the actual tenant ID.
But what to do if we have 2 tenants?

-- Pete

___
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] Queue Service

2011-02-14 Thread Pete Zaitcev
On Mon, 14 Feb 2011 09:51:42 -0800
Eric Day  wrote:

> [] A queue service can
> not only provide a useful public cloud service, but can also provide
> one of the building blocks for other services.

> I'm looking forward to your feedback. Thanks!

Do you have a specific application and/or testbed in mind? Can you give
us any specifics?

The question of pub/sub and queues seem to be floating around but I never
can find a good use case to study. Proponents of queueing architectures
keep saying how wonderful they are, but I do not see what's so good
about them.

-- Pete

___
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] Some insight into the number of instances Nova needs to spin up...

2010-12-30 Thread Pete Zaitcev
On Wed, 29 Dec 2010 19:27:09 +
Erik Carlin  wrote:

> The 1M host limit still seems reasonable to me. []

In my opinion, such numbers are completely out of whack. Google's Chubby
article says that the busiest Chubby has 90,000 clients (not hosts!) and
the biggest datacenter has 10,000 systems. They found such numbers
pushing the border of unmanageable. Granted they did not use
virtualization, but we're talking the number of boxes in both cases.

So to reach 1M hosts in a Nova instance you have to have it manage
100 datacenters. There are going to be calls for federation of Novas
long before this number is reached.

Sustaining a high flap rate is a worthy goal and will have an
important practical impact. And having realistic sizing ideas is
going to help it.

-- Pete

___
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] Authoritative euca2ools

2010-12-01 Thread Pete Zaitcev
Hello:

I am looking into a migration of some scripts (currently used to build
EC2 images mostly) from Amazon's ec2-ami-tools and ec2-api-tools to
euca2ools. So I am just curious if OpenStack uses a separately maintained
version, or relies on the one that Eucalyptus maintains?

Thanks,
-- Pete

___
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 core components library

2010-08-26 Thread Pete Zaitcev
On Thu, 26 Aug 2010 15:04:01 -0400
Jay Pipes  wrote:

> My proposal is to create another project on Launchpad called
> openstack-common that will contain a Python library that standardizes
> and consolidates all the above-mentioned overlap and makes an
> easy-to-use, well-documented library of common utilities and modules
> for the OpenStack family of projects to use. []

I am not familiar with OpenStack code yet but in Hail we eventually
did exactly that, although not for efficiency, but because we were
tired of carefuly porting bugfixes. Also it allowed outside-of-family
programs to use the Amazon S3 C bindings without installing
unrelated packages. You might want to consider throwing a couple
of CloudFiles clients into openstack-common too.

-- Pete

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