Thursday, 2015-02-26

notmynameakhivin: what's the error you got?00:01
akhivinnotmyname, AssertionError: 400 != 20400:01
*** abhirc has quit IRC00:02
akhivin   self.assertEquals(resp.status_int, 204)00:02
zaitcevYou don't happen a Swift installed on that box?00:04
*** joeljwright has quit IRC00:05
zaitcevIf you do, and follow tutorial, it's going to test the installed Swift with in-tree tests, and may end with funny results.00:05
zaitcevMy solution is to run "python setup.py build", then use PYTHONPATH=$(pwd) ./.unittests00:05
akhivinzaitcev, it is a clean virtual machine installed for this tutorial00:06
notmynameakhivin: tests just passed for me on my saio00:10
*** jrichli_ has quit IRC00:11
zaitcevokay. There's no class TestAuthMultiplePrefixes in test/unit/common/middleware/test_tempauth.py.00:12
zaitcevakhivin: Where did you get that "Swift"?00:12
zaitcevakhivin: or even better, paste the exact clone command, I'm curious.00:12
*** gyee has joined #openstack-swift00:13
zaitcevcould be some kind of Mirantis or other hacked-up thing with broken tests00:13
*** cpallares has quit IRC00:13
*** david-lyle is now known as david-lyle_afk00:14
notmynamezaitcev: there is :-)00:14
akhivinzaitcev, no. no Mirantis hacks. just git clone https://github.com/openstack/swift.git00:15
notmynamezaitcev: just recently added by acoles_away donagh00:15
zaitcevokay, go go gadget git pull00:15
zaitcevHmm. Now this works   (cd test/unit && PYTHONPATH=/q/zaitcev/hail/swift-tip nosetests common/middleware/test_tempauth.py:TestAuthMultiplePrefixes.test_acls_propagate_to_sysmeta)00:16
zaitcevakhivin: sorry, seems to work fine here.00:16
zaitcevI wonder if we accidentially created a test that blows if $HOME does not support xattr.00:16
*** Manshoon has joined #openstack-swift00:17
*** Manshoon has quit IRC00:18
*** dmorita has joined #openstack-swift00:25
akhivinzaitcev,  notmyname thanks for your help. Still fails. Will try to understand. May be I doing something wrong00:28
zaitcevwell, what does  getfattr -d setup.py  say?00:29
zaitcevactually, n/m00:30
zaitcevit seems working on everything nowadays00:30
notmynameakhivin: sorry, been a little distracted. now I can focus on this00:30
notmynameakhivin: can you run the test by itself and pastebin the output?00:31
notmynameakhivin: eg https://gist.github.com/notmyname/53a6fd6b17e76d4f16e300:32
akhivinnotmyname, yes. just a moment00:32
akhivinhttp://paste.openstack.org/show/182185/00:35
akhivinnotmyname, http://paste.openstack.org/show/182186/00:38
notmynameakhivin: we're looking00:43
akhivinhttp://paste.openstack.org/show/182192/ is four failed00:43
akhivinthis four00:43
notmynamewhat version of python are you running?00:43
akhivinPython 2.7.6 (default, Mar 22 2014, 22:59:56)00:45
akhivin[GCC 4.8.2] on linux200:45
notmynameakhivin: I honestly have no idea00:45
zaitcevakhivin: sorry if I step of notmyname's toes, but could you add "print resp.status" in front of that self.assertEquals(resp.status_int, 204) and run nosetests -s00:45
openstackgerritSamuel Merritt proposed openstack/swift: EC: Multi-phase commit conversation for erasure-coded PUTs  https://review.openstack.org/15384300:45
openstackgerritSamuel Merritt proposed openstack/swift: Bump eventlet version to 0.16.1  https://review.openstack.org/14540300:45
* notmyname tags zaitcev00:45
zaitcevbut00:45
zaitcevI need to step aside for a moment00:46
torgomatictsg: okay, I think I got the multistep PUT thing all pieced together with the GET00:46
torgomaticmostly it was a matter of eliminating self._quorum_size as a method on the various controllers and just plumbing the right thing through at the right times00:47
notmynametorgomatic: did you see that eventlet 0.17[.1] was just released? check the changelog http://eventlet.net/doc/changelog.html00:47
torgomaticthere is no one-size-fits-all quorum size for EC; it really depends on what you're doing00:47
torgomaticnotmyname: yes; I'm looking forward to working on py3 compatibility *after* EC00:47
notmyname:-)00:47
notmynamealso the ipv6 support is nice00:48
torgomaticmy brain is not big enough to hold both; heck, it's barely big enough to hold EC in it00:48
*** acoles_away has quit IRC00:51
notmynameakhivin: what time zone are you in?00:51
*** kota_ has joined #openstack-swift00:52
akhivinnotmyname, utc +3. 4am at this moment00:52
notmynameyikes :-)00:52
tsgtorgomatic: I was getting ready to post an update to the multiphase patch - this is last night's version https://github.com/tsg-/swift-ec/commits/multiphase_ec_put, and I have some obj server tests added00:53
torgomatictsg: nice; if I've goofed anything up in my rebase of your patch, please throw it away00:54
* torgomatic is not always sure what's going on00:54
notmynameakhivin: actually, that's good for what I'm about to say (assuming you don't sleep all during daylight hours). that's a very recent set of tests that you're seeing fail. which is in part why we're looking at it and not seeing an obvious problem. however, the author is in GMT+0 and may be able to help more00:54
notmynameakhivin: look for acoles00:54
tsgtorgomatic: I am looking :) didn't see the update earlier - was trying to sort out an openstack-infra thing (getting liberasurecode in there)00:55
torgomatictsg: it wasn't there earlier; I just pushed it 10 minutes ago :)00:55
notmynameok, I'm out00:55
notmynamemight be on later tonight. if not, then tomorrow00:56
tsgtorgomatic: thank you - I will take a closer look at the patch ..  a question for you on Putter in the meantime00:56
torgomaticsure00:56
mattoliverauYay so eventlet finally has ipv6!00:56
akhivinzaitcev, http://paste.openstack.org/show/182194/00:56
tsgin Putter.await_response(), we are checking "if not conn.resp" - I was wondering about the logic there00:56
akhivinzaitcev, printed 400 Bad Request00:57
tsgtorgomatic: in a multiphase PUT, I ended up having to set the resp to None specifically to hit that condition (to read the 2nd phase response)00:57
torgomatictsg: I think the idea was that conn.resp would be set only when the "final" response code (>= 200) came down the wire00:58
torgomaticI think if you call conn.getresponse(), it might set conn.resp as a side effect... maybe?00:58
torgomaticit's sort of oddly written right now00:59
tsgtorgomatic: Gotcha.  Do you think it is reasonable to set it to None specifically in get_put_responses(), in the 2-phase case?00:59
tsgtorgomatic: ack :) I have been wondering how to best do it01:00
torgomaticbut the idea was to call await_response() and that would read the next one off the wire, so you'd have current_status = 100, then await_response, then current_status = 100 (again), then await_response, then current_status = 20001:00
torgomaticor 201 or whatever the heck it is01:00
zaitcevakhivin: what about resp.body, then01:00
torgomaticso I'd take await_response and s/conn.resp/self.resp/g in it01:01
tsgtorgomatic: that makes sense - I noticed that we were keeping the self.resp.status around but I never saw it being used :)01:03
torgomatictsg: I don't know if that'll actually work or not, but that's sort of the flow I imagined01:03
tsg(ie current_status() being called)01:03
torgomaticyeah, the battle plan did not survive contact with the enemy01:03
*** comay has joined #openstack-swift01:03
akhivinzaitcev, http://paste.openstack.org/show/182197/01:03
tsgtorgomatic: let me see if I can put self.resp to use01:04
tsgshould be quick to try01:04
torgomaticzaitcev: simplejson strikes again01:05
zaitcevtorgomatic: ouch01:05
comayi was curious about swift 2.2.1 or 2.2.2 - as part of the kilo development, are they only tested with the latter or is it expected they can/should be used on prior releases such as juno?01:05
torgomaticzaitcev: tempauth.py line 458 is what's bad... it's asserting that the values in that list are strings01:06
torgomaticwhich makes sense; you don't want them to be lists or hashes or anything01:06
torgomaticexcept that these are unicodes, which happens when either (a) you do not have simplejson installed, or (b) you do have simplejson installed but without the C bindings01:07
zaitcevoh. I have python-simplejson-3.5.3-2.fc21.x86_6401:07
torgomaticso basically tempauth's acl validator doesn't work unless you are using simplejson *and* the C bindings01:07
* torgomatic really really does not like simplejson01:08
zaitcevso... how are we supposed to fix it? There's no way for akhivin to guess stuff like that. It should be in requirements.txt... Lessee01:09
zaitcevsimplejson>=2.0.901:10
torgomaticzaitcev: remove simplejson from Swift; then decoded JSON strings are Python unicodes everywhere and always, so we don't have bugs like this01:10
zaitcevor... Migrate to py3 :-)01:11
torgomaticor that :)01:11
torgomatictsg: I did this http://paste.openstack.org/show/PTpF6kfaIbjqqjRDxiqs/ and it didn't seem to break anything01:12
torgomaticof course I didn't add any callers of current_status, but I did get rid of that nasty thing you saw01:13
akhivinzaitcev, it works now01:13
akhivini removed simplejson 3.6.5 and installed 3.5.301:13
*** Anticimex has quit IRC01:14
*** Anticimex has joined #openstack-swift01:14
zaitcevI presume you're not on Fedora, then, because we only have 3.5.3.01:17
*** cpallares has joined #openstack-swift01:17
akhivinso should I report a bug on launchpad?01:17
zaitcevakhivin: thanks for bringing this to my attention...01:17
zaitcevakhivin: well, you probably should. Just state the facts and then ask if they forgot C bindings.01:17
*** gyee has quit IRC01:18
zaitcevand/or file a bug against swift to migrate away from simplejson... I'm just not sure that's going to be resolved quickly.01:18
akhivinzaitcev, i really  not understood  about c bindings but requirements contans simplejson>=2.0.9, but may be <3.6 should be added?01:21
zaitcevI suspect we'll add a few .encode() eventually. Maybe.01:24
torgomaticI think the only reason we've still got simplejson is because it's significantly faster on py2.601:27
tsgtorgomatic: yep, it does seem to work if we store resp in just one place :) thx01:28
torgomatictsg: np :)01:29
* torgomatic is out for the day01:29
*** zhill has quit IRC01:36
akhivinzaitcev, notmyname https://bugs.launchpad.net/swift/+bug/142577601:42
openstackLaunchpad bug 1425776 in OpenStack Object Storage (swift) "ACL tests fails with simplejson 3.6.5 " [Undecided,New]01:42
notmynameakhivin: thanks01:42
tsgtorgomatic: still around?01:42
akhivinzaitcev, notmyname thanks for your help01:43
akhivinaway01:43
*** yuan has joined #openstack-swift01:59
*** jrichli_ has joined #openstack-swift02:03
*** kota_ has quit IRC02:07
*** bill_az has quit IRC02:14
*** cpallares has quit IRC02:16
*** SkyRocknRoll has joined #openstack-swift02:27
*** panbalag has quit IRC02:29
*** tsg has quit IRC02:33
*** chlong_ has joined #openstack-swift02:43
*** zhill has joined #openstack-swift02:47
*** zhill has quit IRC02:51
*** zhill has joined #openstack-swift03:03
*** zhill has quit IRC03:05
*** doxavore has joined #openstack-swift03:13
doxavoreis there a recommended way to get timing/performance information re what the proxy node is spending its time on? object storage nodes are reporting 1ms mean times for GET requests and the proxies are ~60ms (according to the statsd reporting)03:15
doxavorei already run account/container DBs on SSDs, and the 3 proxies all run memcached (in a cluster), but if there is something I can be doing to see if there's something in particular it's spending the bulk of that time on...03:17
*** Anticimex has quit IRC03:24
*** Anticimex has joined #openstack-swift03:25
*** SkyRocknRoll has quit IRC03:26
*** bkopilov has quit IRC03:36
*** SkyRocknRoll has joined #openstack-swift03:39
*** cpallares has joined #openstack-swift03:50
*** tsg has joined #openstack-swift03:57
*** silor has joined #openstack-swift04:06
*** ho has joined #openstack-swift04:48
*** bkopilov has joined #openstack-swift04:56
*** zaitcev has quit IRC05:12
*** cpallares has quit IRC05:24
*** SkyRocknRoll has quit IRC05:26
*** doxavore has quit IRC05:27
*** SkyRocknRoll has joined #openstack-swift05:31
*** echevemaster has quit IRC05:38
*** jrichli_ has quit IRC05:40
*** comay has quit IRC05:47
*** wasmum has quit IRC05:49
*** ppai has joined #openstack-swift06:01
openstackgerritOpenStack Proposal Bot proposed openstack/swift: Imported Translations from Transifex  https://review.openstack.org/15901206:10
*** fifieldt has joined #openstack-swift06:26
*** mmcardle has quit IRC06:36
openstackgerritPrashanth Pai proposed openstack/swift: fsync() on directories  https://review.openstack.org/12692306:37
*** pck has quit IRC06:37
openstackgerritMerged openstack/swift: Enable override of container update headers  https://review.openstack.org/15882107:09
*** chlong_ has quit IRC07:42
*** chlong has quit IRC07:43
*** nshaikh has joined #openstack-swift08:23
*** rledisez has joined #openstack-swift08:24
*** geaaru has joined #openstack-swift08:34
*** jistr has joined #openstack-swift08:53
*** jordanP has joined #openstack-swift08:54
*** MasterPiece has quit IRC09:10
*** acoles_away has joined #openstack-swift09:13
*** acoles_away is now known as acoles09:14
*** ChanServ sets mode: +v acoles09:14
*** silor has quit IRC09:49
*** mmcardle has joined #openstack-swift09:57
*** arnaud_o has quit IRC10:03
*** arnaud_o has joined #openstack-swift10:04
*** sluo_laptop has quit IRC10:05
*** EmilienM|afk is now known as EmilienM10:11
*** mmcardle has quit IRC10:13
akhivinbinding10:22
*** mmcardle has joined #openstack-swift10:35
*** nshaikh has quit IRC10:38
akhivinacoles, hello!10:40
akhivinacoles, it seems i understand why tests fail10:40
akhivinacoles, https://bugs.launchpad.net/swift/+bug/1425776/10:41
openstackLaunchpad bug 1425776 in OpenStack Object Storage (swift) "ACL tests fails with simplejson 3.6.5 " [Undecided,New]10:41
akhivinacoles, is it ok?10:41
acolesakhivin: thanks for updating the bug report, glad you found a solution10:44
acolesakhivin: so did you need to take any special steps to have the c bindings installed on 14.04? - I don't remember doing anything special on my 14.04 machine10:45
akhivinacoles, just apt-get install10:46
akhivinacoles, but default package has no bindings compiled10:46
akhivinacoles, so It should previously be removed10:47
acolesakhivin: i see. pip install simplejson also builds the speedups extension10:50
acolescurious that the tox venv did not have it - did you run the tests with tox or directly with nosetests?10:50
akhivinacoles, yes, if there is no previously installed simplejson10:51
akhivinacoles, but it seems in Trusty simplejson installed is by default without the speedup extension10:53
akhivinacoles, so pip install just said "already satisfied"10:56
acolesakhivin: ok. understood. so we may need to add something to docs10:58
akhivinacoles, so it should be "pip install --upgrade" or something like that10:58
acolesakhivin: i'll build a fresh trusty to try to reproduce.10:59
acolesakhivin: have to go to a meeting now. thanks for the info.10:59
*** nellysmitt has joined #openstack-swift11:10
*** pcaruana has joined #openstack-swift11:19
*** SkyRocknRoll has quit IRC11:22
*** SkyRocknRoll has joined #openstack-swift11:34
*** chlong has joined #openstack-swift11:50
*** chlong_ has joined #openstack-swift11:50
*** bill_az has joined #openstack-swift11:54
openstackgerritDonagh McCabe proposed openstack/swift-specs: Composite Tokens and Service Accounts are done  https://review.openstack.org/15942511:55
openstackgerritAlistair Coles proposed openstack/swift-specs: Composite Tokens and Service Accounts are done  https://review.openstack.org/15942512:00
acolesdonagh: ^^ i just added a link to the commit message12:01
*** dmorita has quit IRC12:02
donaghacoles: Good idea.12:02
*** erlon has joined #openstack-swift12:10
*** SkyRocknRoll has quit IRC12:11
*** ppai has quit IRC12:14
*** panbalag has joined #openstack-swift12:17
*** panbalag has quit IRC12:17
*** panbalag has joined #openstack-swift12:22
*** SkyRocknRoll has joined #openstack-swift12:24
*** ppai has joined #openstack-swift12:28
*** annegentle has quit IRC12:33
*** ho has quit IRC12:48
*** km has quit IRC12:49
*** mmcardle has quit IRC12:58
*** aix has joined #openstack-swift13:13
*** bkopilov has quit IRC13:17
*** tsg has quit IRC13:19
*** chlong has quit IRC13:20
*** chlong_ has quit IRC13:20
*** ppai has quit IRC13:26
cschwedeakhivin: i was able to reproduce your bug https://bugs.launchpad.net/swift/+bug/1425776 and wrote a quick fix for this, do you mind if i submit it for review?13:43
openstackLaunchpad bug 1425776 in OpenStack Object Storage (swift) "ACL tests fails on fresh Ubuntu 14.04" [Undecided,Confirmed] - Assigned to Christian Schwede (cschwede)13:43
openstackgerritAlistair Coles proposed openstack/swift: Enable in-process functional test policy to be configured  https://review.openstack.org/15920513:45
acolespeluse: clayg: i improved this ^^ to allow any policy in a swift.conf to be specified for running in-process tests13:46
*** mahatic has joined #openstack-swift13:50
akhivincschwede, I would happy if this thing will be fixed. As I understand, tests  affected by this issue are written by acoles. So may be it would be better to talk with him how to fix this. Because I still dont understand why tests failed without _speedup extension13:58
*** tsg has joined #openstack-swift14:00
*** annegentle has joined #openstack-swift14:02
cschwedeacoles: are you working on a bug-fix for the failing tests if the simplejson speedups extension is missing? if not i push a quick fix using skiptest (which works for me)14:05
acolescschwede: no i've not had time yet. thanks.14:06
cschwedeok14:06
akhivincschwede, do you think that affected tests should be skipped if extension is absent?14:09
cschwedeakhivin: yes, we already do this in some other tests, for example https://github.com/openstack/swift/blob/master/test/unit/common/middleware/test_cname_lookup.py#L2114:13
cschwedeakhivin: i add a skiptest with an explanation why this is skipped, thus a user can upgrade the simplejson pkg14:14
openstackgerritChristian Schwede proposed openstack/swift: Skip failing tests if simplejson speedups extension is missing  https://review.openstack.org/15947814:14
cschwedeakhivin: but at the same time i try to find the underlying reason for this, and see if i can fix that one too14:15
*** mmcardle has joined #openstack-swift14:18
*** doxavore has joined #openstack-swift14:21
openstackgerritAlistair Coles proposed openstack/python-swiftclient: Add improvements to MD5 validation.  https://review.openstack.org/15667714:27
tdasilvapeluse: hello, just noticed that acoles patch got merged, once that makes its way to feature/ec branch I'll submit the patch for etag/size container update14:27
*** lcurtis has joined #openstack-swift14:31
acolescschwede: i'm just looking at the tempauth tests14:34
cschwedeacoles: me too, trying to dig into simplejson and find the speedup calls14:40
*** j_king_ is now known as j_king14:43
lcurtishello all...im trying to get around the containers object limitation by creating thousands of containers. However, I will then have a need to search for objects, which for me will eventually scale into 10s of billions. Any such capability built into swift or a good open source utility others are using for such a purpose?14:45
acolescschwede: akhivin : it appears that tempauth is checking that a value is a str, but without the speedups simplejson appears to deserialize the value as unicode, so tempauth rejects the request, hence 400 response to test14:47
acolesi'll try to fix tempauth14:47
acolestest is good though ;)14:47
cschwedeacoles: yes, i think the same - failing str vs. unicode comparison14:49
acolescschwede: i think i can fix14:49
cschwedeacoles: upstream in simplejson? ;)14:50
acolescschwede: no, make the tempauth check type is basestring14:50
*** SkyRocknRoll_ has joined #openstack-swift14:52
*** SkyRocknRoll has quit IRC14:53
tdasilvacschwede: just a question about your simplejson patch. I removed the file as you mentioned, but when running with tox I noticed that tests did not skip, forgot that tox downsloads it's own version of simplejson15:04
cschwedetdasilva: yes, you’re right - that’s the good thing with tox, it installs a clean environment15:04
tdasilvai guess my question is, for those environments that typically don't have the support for _speedups.so, would their tox environment also not have _speedups.so?15:05
cschwedeat the end, i’m no longer convinced on my patch; i would prefer a fix in tempauth itself15:05
cschwedetdasilva: i think tox creates a new virtualenv, without relying on the hosts env?15:05
tdasilvaright15:06
*** joeljwright has joined #openstack-swift15:07
cschwedetdasilva: virtualenv requires an extra parameter to use the system-wide packages: --system-site-packages15:08
cschwedeand i couldn’t find a hint that this is used by tox15:08
cschwedetdasilva: found it: http://tox.readthedocs.org/en/latest/config.html#confval-sitepackages=True|False15:09
*** dmsimard_away is now known as dmsimard15:10
*** bkopilov has joined #openstack-swift15:12
*** annegentle has quit IRC15:16
*** nellysmitt has quit IRC15:19
tdasilvacschwede: I was wondering more if people that ran into this problem in the first place, would still run into it if they are running tox instead of .functests15:19
cschwedetdasilva: no, i don’t think so15:19
tdasilvacschwede: ok15:19
*** rdaly2 has joined #openstack-swift15:21
acolescschwede: just running tests locally on a tempauth patch15:31
acolescschwede: did you get func tests to pass with _speedups.so removed?15:42
*** jrichli_ has joined #openstack-swift15:42
acolescschwede: i am seeing e.g. test_unicode_metadata (test.functional.test_account.TestAccount) ... ERROR15:43
*** reed has joined #openstack-swift15:48
*** silor has joined #openstack-swift15:56
*** thgomes has joined #openstack-swift16:11
*** zaitcev has joined #openstack-swift16:12
*** ChanServ sets mode: +v zaitcev16:12
*** annegentle has joined #openstack-swift16:16
cschwedeacoles: i see two more account tests failing: test_swift_prohibits_garbage_account_acls and test_invalid_acls16:17
cschwedebut with FAIL, not ERROR16:17
acolesyes those too16:18
acoleswhich suggests to me that there are code paths that rely on the speedup extension, not just tempauth16:19
claygmattoliverau: acoles: cschwede: I don't see why the code can't just work w/o simplejson speedups - i would have swore there was some other code somewhere we realized didn't work with stock json so we just fixed it16:19
cschwedeacoles: but it’s again in the acl part, and that uses simplejson, thus i think you’re right with the failing str-unicode comparison16:20
acolescschwede: i didn't see a link to acl in this test TestAccount.test_unicode_metadata16:21
*** annegentle has quit IRC16:22
*** silor has quit IRC16:23
*** gyee has joined #openstack-swift16:24
*** silor has joined #openstack-swift16:24
acolescschwede: and that test ^^ ERRORS even with my fix to tempauth acl validation16:24
openstackgerritAlistair Coles proposed openstack/swift: Fix tempauth acl checks when simplejson has no speedups  https://review.openstack.org/15953016:25
cschwedeacoles: hmm, i’m wondering if that is related to the simplejson stuff at all? or it is, but more during setup (missing ACL or similar)? but i didn’t looked into that test16:25
acolescschwede: ok, i have to finish early today so I just pushed my fix ^^ but I am not convinced - either we track down the other causes of func test failures, or require speedups?? have we verified it is not installed by default on trusty?16:26
*** bill_az has quit IRC16:28
cschwedeacoles: well, i see the speedups extension in trusty - at least on amd64: http://packages.ubuntu.com/trusty/amd64/python-simplejson/filelist16:29
cschwedesame for i38616:30
cschwedehttp://packages.ubuntu.com/trusty/i386/python-simplejson/filelist16:30
claygdid anyone get any more info on the probetest failure from yesterday - i still can't get it to fail on master when running rsync16:34
acolescschwede: found this exception in proxy log when running that func test on master: http://paste.openstack.org/show/182554/16:35
acolesclayg: i didn't see the probe tests fail with rsync, just ssync, fwiw16:35
acolescschwede: ok, i have to leave to take son to guitar lesson, sorry!16:36
*** david-lyle_afk is now known as david-lyle16:36
cschwedeacoles: thx and have a nice evening!16:36
acolescschwede: and you!16:36
peluseclayg, I totally got the failure before your patch and totoally don't afterwards.  haven't figured out why but didn't put that much time into it (why it fixed) but instead trying to focus on the goodness of the patch itself16:36
peluseclayg, and will be back looking at it here shortly....16:37
*** thgomes has quit IRC16:37
akhivincschwede, I am sorry but how to run test to see skip messages? I ran .unittest --verbosity=3, but don't see messages why tests skipped16:38
*** acoles is now known as acoles_away16:39
*** thgomes has joined #openstack-swift16:40
*** NM has joined #openstack-swift16:44
*** tsg has quit IRC16:44
cschwedeakhivin: the cmd is correct, you should see a lot of output, and somewhere in the middle are these lines:16:45
cschwedetest_acl_syntax_verification (test.unit.common.middleware.test_tempauth.TestAuthMultiplePrefixes) ... SKIP: C speedups extension in Python module simplejson missing16:45
cschwedetest_acls_propagate_to_sysmeta (test.unit.common.middleware.test_tempauth.TestAuthMultiplePrefixes) ... SKIP: C speedups extension in Python module simplejson missing16:45
*** pcaruana has quit IRC16:50
*** tsg_ has joined #openstack-swift16:51
akhivincschwede, found, thanks16:57
*** jistr has quit IRC17:02
peluseclayg, you there?17:07
peluseI'll be off and on for a few hrs, few clarrifying questions on your udpate to efficient replciation.  ping me when around17:08
*** tsg_ has quit IRC17:08
*** annegentle has joined #openstack-swift17:18
*** nellysmitt has joined #openstack-swift17:20
notmynamegood morning world17:22
notmynameacoles_away: cschwede: I saw that there was some conversation about the simplejson stuff17:23
notmynamecschwede: thanks for working on that17:23
notmynamecschwede: I'm looking now17:23
jrichli_good morning17:23
*** annegentle has quit IRC17:23
notmynamejrichli_: hello17:23
*** nellysmitt has quit IRC17:25
*** SkyRocknRoll_ has quit IRC17:25
*** rdaly2 has quit IRC17:28
notmynamecschwede: so this patch to skip tests https://review.openstack.org/#/c/159478/ kinda scares me17:30
notmynamecschwede: I mean, I see how it "fixes" the problem of "not all unit tests pass in condition XYZ", but that seems like the wrong way, on the surface, to fix it17:30
*** tsg_ has joined #openstack-swift17:32
*** rledisez has quit IRC17:40
*** silor has quit IRC17:40
*** nellysmitt has joined #openstack-swift17:41
*** zul has quit IRC17:43
openstackgerritStuart McLaren proposed openstack/python-swiftclient: Retry download after streaming has started  https://review.openstack.org/15920817:45
*** doxavore has quit IRC17:52
*** mahatic has quit IRC17:54
claygpeluse: sorry i was offline for a few, i was about to get on the train17:56
*** cpallares has joined #openstack-swift17:57
claygpeluse: ah... yeah that patch is crazy - kota's a mad man, zaitcev and me totally fell for it17:57
claygi think the clean up helps a bit - the probetests really are showing us a bug - I should write a unittest to demonstrate the issue17:58
claygpeluse: i'll ping you later - heading in18:01
*** jordanP has quit IRC18:01
*** zul has joined #openstack-swift18:09
*** doxavore has joined #openstack-swift18:10
*** shri has joined #openstack-swift18:19
*** annegentle has joined #openstack-swift18:19
*** thgomes has left #openstack-swift18:21
*** annegentle has quit IRC18:24
*** dencaval has joined #openstack-swift18:26
*** mmcardle has quit IRC18:35
*** mmcardle has joined #openstack-swift18:40
*** cpallares has quit IRC18:42
lcurtisAll...would I gain a performance benefit by eventually creating millions of containers and lessening the amount of objects in them? or fewer containers with more obects in them18:45
*** gyee has quit IRC18:48
notmynamelcurtis: depends on (1) the overall capacity of your cluster and amount of hardware serving it and (2) the baseline of what "more" is (eg is it on the order of 100000 or 1000000000)18:51
* torgomatic is around18:55
notmynametorgomatic: sneaky sneaky18:56
*** joeljwright has quit IRC18:58
*** mmcardle has quit IRC19:05
claygpeluse: here19:07
*** geaaru has quit IRC19:15
notmynameso I saw the scrollback in the api-wg meeting today. they weren't very kind to swift19:22
notmynameeg "Well it may not be that we need to accommodate Swift, any more than Swift needs to realize why their current design is ill-considered and why they're currently breaking RFCs and should strive to be incompliance with them"19:22
notmynamefrom http://eavesdrop.openstack.org/meetings/api_wg/2015/api_wg.2015-02-26-16.00.log.html19:23
claygwell... we *strive*19:23
notmynameso, looks like there will be a mailing list discussion about the metadata guidelines. we should pay attention to that when it lands19:23
notmynamewhen I see it, I'll link it in here19:23
notmynameit's about https://review.openstack.org/#/c/141229/19:24
claygyeah that's short sighted - I'd be curious which RFC they think they're following?19:26
notmynameso most of the api-wg stuff is innocuous. some of it is even positive. and I totally support their goal.19:27
claygand I don't just mean "short sighted" as unimplemntable in swift - I mean they're on the road to having the same problem we do as soon as they give the url's to the users as resource names19:27
torgomaticwe do have the odd spot here or there where we don't follow RFC 2616 (or whatever it is now), but it's typically because we goofed a long time ago and have to maintain compatibility19:27
notmynamebut I'm scared of some of it turning into "guidelines that are now requirements" and totally inappropriate for any data-api, much less swift19:28
notmynameso that's why I'm keeping my eye on it and bringing it up19:28
claygtorgomatic: oh sure, i man that's fine - but i thought they were specifically calling out the metadata proposal as if they were doing something standard there - that proposal is mostly not a good idea19:28
torgomaticit pretty much rules out using path parts as positional params; it restricts you to a style like /objects/$objectid/subobjects/$subobjectid where your params are only in even-numbered places19:28
torgomaticand of course forbids slashes in thingy names19:29
claygnotmyname: THANKS!  yeah they throw around MUST like they got a lot of input from different projects API's but when someone says "hey we can't implement that" they act like the unapproved doc review is an RFC?19:29
claygnotmyname: I guess you try to just help them see wy they'll be unhappy with their own proposal followed to it's logical conclusion and in the end they might thing - hrmm... i wonder what the longest lived stable api in openstack is doing?19:30
notmynameya, and any help from anyone else in the comments (gerrit or the upcoming mailing list) would be appreciated too. often you can explain things in a way I can't19:34
notmynamealso, doesn't sticking your foot in that kind of mess just sound like so much fun?!19:35
claygi'll wait for the ML thread19:39
claygdid we loose something in /info that said tempauth supported account acl's?  I feel like I'm getting skip tests I didn't expect...19:39
*** doxavore has quit IRC19:40
claygyeah we totally did :'(19:41
*** dencaval has quit IRC19:41
claygcomposite tokens - i missed that, ffffff19:41
openstackgerritClay Gerrard proposed openstack/swift: Add tempauth back to /info  https://review.openstack.org/15959319:48
clayg^ should be better19:49
*** doxavore has joined #openstack-swift19:51
*** rdaly2 has joined #openstack-swift19:52
notmynamethanks clayg19:53
claygtorgomatic: isn't passing in utf-8 encoded bytestrings through json sort of a no-no?  I thought it had some sort of literal unicode syntax?20:05
torgomaticclayg: oh yeah, that's probably true20:05
* torgomatic will fix it20:07
*** nellysmitt has quit IRC20:09
openstackgerritThiago da Silva proposed openstack/swift: WIP: refactor the PUT method into separate classes  https://review.openstack.org/15682520:10
claygseparate classes!  tdasilva what are you doing?20:10
tdasilvaclayg: ha, was able to remove all the data transfer code to its own class, it really simplified all the single process code20:12
tdasilvathat update is coming next :)20:12
tdasilvaclayg: but please check it out, would like to hear/read your thoughts on it20:13
claygtdasilva: it's pretty simple - i liked patch set 2 a lot better20:16
tdasilvaclayg: well patchset 1 was just a copy of your patch :P20:16
tdasilvaclayg: one of the benefits is that I think it clearly separates the public API handling from the data transfer to object servers20:17
claygmaybe20:19
claygthat change does two things at once20:19
clayg1) extract methods from PUT to make it easier to see the abstraction lines 2) try to flesh out the abstraction20:20
claygthe first part should be stright forward code maintance the second part is going to be hard, and will require thinking about alternative implementations20:20
*** rdaly2_ has joined #openstack-swift20:21
*** rdaly2 has quit IRC20:22
*** aix has quit IRC20:22
tdasilvaclayg: do you think I'd have a better chance at separating the two?20:23
tdasilvaclayg: I liked the approach that EC was taking with multiple controller classes and wanted to build on that20:23
claygyeah abosluately!20:23
claygyeah I think EC will only help - you probably don't even have to drive it - but your input will be invaluable20:23
claygI'd focus on just getting the PUT method abstraction change where you're happy with it - subclass ObjectController directly and go looking at GET20:24
clayg^ might be informed from torgomatic's work on EC since we already have the GET path extracted in the ECObjectController20:24
clayg*personally*20:25
claygi don't have everything you're looking at in your head - but my initial reaction is pretty down on patch set 3 - sorry20:26
claygWhen the ReplicatedObjectController get's pulled out it will either be because (it's an obvious clean pull that removes *all* data-path operations/connections from the BaseObjectController for all verbs - OR - because we have two things in tree and they want to do different things (e.g. ECObjectController and ReplicatedObjectController)20:27
claygthen it matters less how much little common data-plane path gets left behind in BaseObjectController because it's shared20:27
claygIMHO20:28
tdasilvaclayg: I understand you, let me just share a little bit more of what I was thinking...20:29
tdasilva1. I did plan on working on the other verbs too, that would be necessary for the single process work, IMO.20:30
tdasilva2. I was going to introduce a new class (e.g., SingleReplicatedObjectController) that implements its own version of _store_object method20:31
tdasilvain the case of the PUT verb20:31
tdasilvahaven't looked at the other verbs yet, but would dome something similar20:31
tdasilva3. EC then could also have it's own class (which they are already doing)20:32
tdasilvathat's it :)20:32
claygok, well none of that argues that patch set 3 isn't doing two things - in fact I think you're confirming that - so generally speaking it'd be better to have two patch sets doing two things than one20:33
claygI think patch set 2 would probably be mergeable before evaluating other verbs, and I'm less convinced that would be true with a BaseObjectController that still has so much data-path opinionation built in20:34
tdasilvayes, I agree with you! especially that like you said: the second step might require more thinking about alternative implementation20:34
claygesp. given that ECObjectController has started on the other end - seems like there's are more oppertunity to coordinate if we either a) wait for EC to come to master b) work on refactoring on the feature-ec branch to help that effort match our end goal better20:35
tdasilvathe first step is very straight forward20:35
claygif you go with a i think it's an excellent oppertunity to leave PUT refactoring as purely a method extraction w/o attempting the abstraction work - and experiement with single process GET and see how it will relate to ECObjectController GET20:35
tdasilvasounds good to me20:36
tdasilvado you think this PUT refactoring could benefit EC work?20:38
claygyeah me too - I think patch 3 is the future!  but I don't have my flux capaciter handy so i'm left wanting for patch set 220:38
claygyes definately20:38
*** bill_az has joined #openstack-swift20:38
claygtorgomatic has it on his list to refactor the curmdged EC PUT path out over to the ECObjectController and if we can your (patch set 2) change reviewed and landed on master before he starts that work he'll probably be less unhappy in the end20:39
openstackgerritClay Gerrard proposed openstack/swift: Make functests retry auth immediately  https://review.openstack.org/15960020:39
tdasilvaok, so what's the process? Can I abandon just a patch set? to revert to previous one?20:40
claygtdasilva: if you take the change diff from patchset 2 -> 3 and put it up as a dependent change you can continue to iterate on it wrt the other HTTP verbs as extract ReplicatedObjectController20:40
claygtdasilva: oh - yeah you can checkout the sha from patch set 2 and git review it back up as the same change20:41
clayggit you branch your working tree first you can rebase it on patch set 2 as a seperate commit and git review it as a dependent change20:41
claygtdasilva: let me know if you have some struggle with that I think I can pull down everything needed to git that into place20:42
tdasilvaclayg: mm...little lost, haven't done this before, but will try here20:43
claygtorgomatic: what the f is u"á"20:43
torgomaticclayg: single-codepoint unicode string20:43
claygWHY PYTHON WHY -> u'\u00e1' == u'\xe1' == u"á"20:47
claygThere should be one-- and preferably only one --obvious way to do it. (or three if you're a unicode string)20:47
openstackgerritThiago da Silva proposed openstack/swift: WIP: initial pass at refactoring the PUT method  https://review.openstack.org/15682520:53
*** morganfainberg is now known as needscoffee20:57
*** lcurtis has quit IRC21:05
torgomatictsg_: were you going to push a new PUT-path patch today? (Not pestering, just curious)21:07
tsg_torgomatic: yes, the github version I showed you yesterday .. cleaning up a obj server test - hard to get the multiphase stuff into the test cases :)21:08
openstackgerritThiago da Silva proposed openstack/swift: WIP: refactor the PUT method into separate classes  https://review.openstack.org/15961021:09
tsg_torgomatic: I can post what I have for review right away21:09
torgomatictsg_: if you like21:09
tsg_torgomatic: the test can come last21:09
torgomaticthat way I can look sooner :)21:09
peluse+221:09
tdasilvaclayg: I think it worked, thanks!21:10
tsg_torgomatic: getting rid of "prints" and pushing in a few :)21:10
torgomatictsg_: thanks!21:10
peluseyes, gracias!21:10
*** panbalag has quit IRC21:19
*** panbalag has joined #openstack-swift21:20
*** lcurtis has joined #openstack-swift21:21
openstackgerritThiago da Silva proposed openstack/swift: WIP: refactor the PUT method into separate classes  https://review.openstack.org/15961021:24
openstackgerritTushar Gohad proposed openstack/swift: EC: Multi-phase commit conversation for erasure-coded PUTs  https://review.openstack.org/15384321:30
openstackgerritTushar Gohad proposed openstack/swift: Bump eventlet version to 0.16.1  https://review.openstack.org/14540321:30
mattoliverauMorning21:35
pelusewhooop whooop21:35
*** abhirc has joined #openstack-swift21:37
claygglange: redbo: dfg: trying to free up some inodes, some disagreement on the best path forward -> https://review.openstack.org/#/c/134855/  any input?21:39
redboI haven't looked at the code, but I'm fine with the description.21:41
redboyou know, with xfs bulkstat you could probably find all the expired tombstones on a disk in like 20 minutes21:42
claygbulkstat includes the names?21:43
redbono, but you can get the name from the metadata21:43
claygoic21:43
*** lcurtis has quit IRC21:44
*** abhirc has quit IRC21:45
peluseclayg, so I think I'm good with your update to efficient replication patch - wish I had jumped in on the earlier discussions on the original patch.  To amke sure I'm not missing the forrest for the trees, let me summarizze and you can correct me21:46
pelusefor udpates:  only hit one primary in a remote region and let that primary propgoate to others in the morete21:47
pelusefor udpate_delete: first node that we talk to is regular sync who returns in-sync objs which is passed to21:47
pelusesubsequent nodes and an overal intersection is used as the list of things that are assured to be in-sync21:47
peluseenough to delete from the local...21:47
peluseand anything on the remote side that wasn't outside of the intersectino won't be deleted and would21:47
peluseeventually become a candidate for deletion on subsequent repl passes21:47
peluseright?21:47
peluse"wasn't outside" was supposed to read "was outside"21:47
claygpeluse: that's how it's supposed to work - still don't see how it helps the probetests for rsync replication/handoff reversion - and that change wasn't ment to target specifically the issue with ssync and single region, so it ends up doing that plus the bug21:48
peluseyeah, usually I wouldn't be OK with a fix that works for an unknown reason but in this the fix is a side effect so hard to block it because of that :)21:49
claygpeluse: ok, i appreciate your thoughts - although in retrospect I think it could be argued I'm missing some unittests - either added to that change or as a followup21:50
*** shri1 has joined #openstack-swift21:51
*** shri has quit IRC21:53
claygha!21:56
claygit's the *same* dangling elif21:56
claygthe second half is self.conf.get == 'rsync' - but if you have it comment out, no default, then None != rsync21:57
claygthere's an attribute that would have worked too21:57
claygnotmyname: THANKS!21:57
*** joeljwright has joined #openstack-swift22:00
*** jrichli_ has quit IRC22:09
peluseclayg, I guess I tried backing out a different one - nice!22:12
*** NM has quit IRC22:12
*** needscoffee is now known as needsmostcoffee22:12
*** needsmostcoffee is now known as morganfainberg22:13
*** abhirc has joined #openstack-swift22:13
*** erlon is now known as erlon_away22:21
openstackgerritJohn Dickinson proposed openstack/swift: fixed ugly code pattern in probe tests  https://review.openstack.org/15963022:21
notmynameclayg: ^^22:21
doxavorewhen generating a tempurl with unicode characters, should one url-encode them prior to signing?22:22
notmynamedoxavore: yes22:23
claygnotmyname: i'm not so sure about that?22:24
claygi think the real_path - the thing that the proxy will use to hmac is going to be a utf-8 encode bytestring - not a urlencoded22:25
notmynameya that22:25
notmynameutf8, urlencoded22:25
claygoh i'm sure you patch is great22:25
notmynamelol. it's mostly pattern matching. entirely possible it's terrible22:25
claygi'm just saying there's an if block in bin/swift-temp-url that seems to act like if you give it a urlencoded string you use a --quoted flag to make it turn it into utf-8 before making the hamc22:26
claygnotmyname: you have to get rid of the initalizers too right (exc = None)22:27
claygin fact just do the assert on the err22:27
notmynameclayg: ya, I realized that after I submitted. that's what I get for dumb pattern matching22:27
notmynameon it22:28
*** joeljwright has quit IRC22:29
openstackgerritJohn Dickinson proposed openstack/swift: fixed ugly code pattern in probe tests  https://review.openstack.org/15963022:32
notmynameclayg: more better ^22:32
doxavoresorry... so the thought is use the normal utf8 string when signing, but obviously use filename=urlencode(str) ?22:33
doxavoreerr... filename=urlencode(str) for the path when redirecting,etc22:33
openstackgerritpaul luse proposed openstack/swift: Multiple fragment Archive Index Support  https://review.openstack.org/15963722:35
notmynamedoxavore: https://gist.github.com/notmyname/10f9dc38f6c1057ad8eb22:35
zaitcevoh boy. I just spent time adding a comment "no longer needed exc=None?" and ... patch #222:37
notmynamezaitcev: :-)22:37
doxavorenotmyname: got it. thanks!22:37
zaitcevBTW why is it that we get to use assertEquals() but in other projects pep8 bombs22:37
notmynamezaitcev: is that a hacking rule that they enforce?22:38
*** gyee has joined #openstack-swift22:38
zaitcevnotmyname: they do in git-review at least22:38
notmynamezaitcev: are you just curious, or do yu think we should add that rule too?22:39
zaitcevMeh. I'm just glad it works22:39
zaitcevhttps://docs.python.org/2/library/unittest.html:  Deprecated alias(es)  failUnlessEqual, assertEquals22:40
*** gyee has quit IRC22:40
*** gyee has joined #openstack-swift22:42
openstackgerritPete Zaitcev proposed openstack/python-swiftclient: Unindent a chunk of st_list  https://review.openstack.org/15465322:46
*** geaaru has joined #openstack-swift22:50
*** rdaly2_ has quit IRC23:00
*** rdaly2 has joined #openstack-swift23:05
*** rdaly2 has quit IRC23:07
*** IRTermite has quit IRC23:10
*** doxavore has quit IRC23:16
claygnotmyname: zaitcev: FWIW id' be fine enforcing whatever the H is that drops Equal[s] - just because I can't ever remember which one I'm *supposed* to use and end up using them inconsistantly!23:22
zaitcevI don't even know why they started it. Costs them zero to maintain both.23:29
zaitcevBut yeah23:29
openstackgerritThiago da Silva proposed openstack/swift: WIP: new attempt at single-process  https://review.openstack.org/15928523:35
*** panbalag has quit IRC23:47
*** dmsimard is now known as dmsimard_away23:48
*** EmilienM is now known as EmilienM|afk23:49
*** panbalag has joined #openstack-swift23:50
*** panbalag has quit IRC23:53
*** chlong has joined #openstack-swift23:53
*** panbalag has joined #openstack-swift23:55

Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!