Tuesday, 2015-03-10

*** theanalyst has joined #openstack-swift00:00
openstackgerritpaul luse proposed openstack/swift: Erasure Code Reconstructor  https://review.openstack.org/13187200:24
*** dmorita has joined #openstack-swift00:25
*** ho has joined #openstack-swift00:28
homorning!00:29
*** rdaly2 has joined #openstack-swift00:30
*** rdaly2 has quit IRC00:35
*** jrichli has joined #openstack-swift00:44
*** gyee has quit IRC00:44
openstackgerritMerged openstack/swift: Fix param description on _make_request  https://review.openstack.org/16259200:50
*** wshao has quit IRC00:53
mattoliverauho: morning01:00
*** thumpba has quit IRC01:04
*** bkopilov has joined #openstack-swift01:24
*** zhill_ has joined #openstack-swift01:33
*** zhill_ has quit IRC01:34
*** tellesnobrega_ has joined #openstack-swift02:14
*** tellesnobrega_ has quit IRC02:14
*** Anticimex has quit IRC02:43
*** wshao has joined #openstack-swift02:54
*** ho has quit IRC02:55
*** ho has joined #openstack-swift02:55
*** wshao has quit IRC02:58
*** haomaiwang has joined #openstack-swift03:19
*** bkopilov has quit IRC03:30
*** theanalyst has quit IRC03:48
*** jrichli has quit IRC03:55
*** ppai has joined #openstack-swift04:05
*** theanalyst has joined #openstack-swift04:20
*** panbalag has quit IRC04:26
*** wshao has joined #openstack-swift04:48
*** SkyRocknRoll has joined #openstack-swift04:53
*** wshao_ has joined #openstack-swift04:53
*** wshao has quit IRC04:57
*** daniel___ has joined #openstack-swift04:59
*** zaitcev has quit IRC05:04
*** daniel___ has quit IRC05:07
*** bkopilov has joined #openstack-swift05:16
openstackgerritClay Gerrard proposed openstack/swift: Prefer policy to policy_index  https://review.openstack.org/16277505:40
openstackgerritClay Gerrard proposed openstack/swift: Return 400 from object server if policy does not exist  https://review.openstack.org/16269605:54
*** ho__ has joined #openstack-swift05:56
*** ho has quit IRC05:58
*** km_ has joined #openstack-swift05:58
*** km has quit IRC05:59
*** ppai has quit IRC06:06
claygtdasilva: I didn't even try to go find the object-versioning patch today - hope that's still going well06:09
*** wshao_ has quit IRC06:10
*** ppai has joined #openstack-swift06:19
*** zhill_ has joined #openstack-swift06:27
*** david-lyle has quit IRC06:30
*** rdaly2 has joined #openstack-swift06:35
*** david-lyle has joined #openstack-swift06:39
*** rdaly2 has quit IRC06:39
*** zhill_ has quit IRC06:48
*** wshao has joined #openstack-swift06:50
*** wshao has quit IRC06:57
*** silor has joined #openstack-swift07:03
*** bkopilov has quit IRC07:07
openstackgerritYuan Zhou proposed openstack/swift: Fix copy from different type policy  https://review.openstack.org/16289007:10
*** david-lyle is now known as david-lyle_afk07:11
*** chlong has quit IRC07:21
*** bkopilov has joined #openstack-swift07:22
*** nshaikh has joined #openstack-swift07:26
*** jistr has joined #openstack-swift07:31
*** openstackgerrit has quit IRC07:35
*** openstackgerrit has joined #openstack-swift07:36
*** ppai has quit IRC07:39
*** km_ has quit IRC07:44
*** mmcardle has joined #openstack-swift07:52
*** ppai has joined #openstack-swift07:54
*** rledisez has joined #openstack-swift08:09
openstackgerritYuan Zhou proposed openstack/swift: Fix Etag check on EC put for if_none_match  https://review.openstack.org/16290508:13
*** silor has quit IRC08:14
*** Anticimex has joined #openstack-swift08:20
*** geaaru has joined #openstack-swift08:23
*** ho__ has quit IRC08:27
*** haomaiwang has quit IRC08:32
*** rdaly2 has joined #openstack-swift08:36
*** haomaiwang has joined #openstack-swift08:37
*** rdaly2 has quit IRC08:41
openstackgerritYuan Zhou proposed openstack/swift: Fix EC PUT on HTTP_CONFLICT or HTTP_PRECONDITION_FAILED  https://review.openstack.org/16204708:58
*** acoles_away is now known as acoles08:58
*** silor has joined #openstack-swift08:59
*** ho has joined #openstack-swift09:01
openstackgerritDaisuke Morita proposed openstack/swift: object-updater runs for all async_pending directories  https://review.openstack.org/14125209:05
*** nellysmitt has joined #openstack-swift09:06
*** aix has joined #openstack-swift09:19
*** nshaikh has quit IRC09:20
*** david-lyle_afk has quit IRC09:30
*** david-lyle_afk has joined #openstack-swift09:30
*** jistr has quit IRC09:34
*** jistr has joined #openstack-swift09:46
*** bkopilov has quit IRC10:15
*** chlong has joined #openstack-swift10:17
*** me has joined #openstack-swift10:30
*** me is now known as Guest251410:30
donaghacoles:  I just re-read the crypto spec...there was a paragraph I could not parse; otherwise looking good.10:31
Guest2514good morning everybody! :)10:31
*** aix has quit IRC10:32
acolesdonagh: thanks!10:32
Guest2514i'm deploying swift on a ubuntu14.04 VM using this doc http://docs.openstack.org/developer/swift/development_saio.html#common-post-device-setup10:32
Guest2514i get an error when i try to build swift10:33
Guest2514cd $HOME/swift; sudo python setup.py develop; cd -10:34
Guest2514running develop10:34
Guest2514running egg_info10:34
Guest2514writing pbr to swift.egg-info/pbr.json10:34
Guest2514writing requirements to swift.egg-info/requires.txt10:34
Guest2514writing swift.egg-info/PKG-INFO10:34
Guest2514writing top-level names to swift.egg-info/top_level.txt10:34
Guest2514writing dependency_links to swift.egg-info/dependency_links.txt10:34
Guest2514writing entry points to swift.egg-info/entry_points.txt10:34
Guest2514[pbr] Reusing existing SOURCES.txt10:34
Guest2514running build_ext10:34
Guest2514Creating /usr/local/lib/python2.7/dist-packages/swift.egg-link (link to .)10:34
Guest2514swift 2.2.2.post113 is already the active version in easy-install.pth10:34
Guest2514Installing swift-account-audit script to /usr/local/bin10:34
Guest2514Installing swift-account-auditor script to /usr/local/bin10:34
Guest2514Installing swift-account-info script to /usr/local/bin10:34
Guest2514Installing swift-account-reaper script to /usr/local/bin10:34
Guest2514Installing swift-account-replicator script to /usr/local/bin10:34
Guest2514Installing swift-account-server script to /usr/local/bin10:34
Guest2514Installing swift-config script to /usr/local/bin10:34
Guest2514Installing swift-container-auditor script to /usr/local/bin10:34
Guest2514Installing swift-container-info script to /usr/local/bin10:34
Guest2514Installing swift-container-replicator script to /usr/local/bin10:34
Guest2514Installing swift-container-server script to /usr/local/bin10:34
Guest2514Installing swift-container-sync script to /usr/local/bin10:34
Guest2514Installing swift-container-updater script to /usr/local/bin10:34
Guest2514Installing swift-container-reconciler script to /usr/local/bin10:34
ekarlsoGuest2514: ... please use pastebin :p10:34
Guest2514Installing swift-reconciler-enqueue script to /usr/local/bin10:34
Guest2514Installing swift-dispersion-populate script to /usr/local/bin10:35
ekarlsopaste.openstack.org10:35
Guest2514Installing swift-dispersion-report script to /usr/local/bin10:35
Guest2514Installing swift-drive-audit script to /usr/local/bin10:35
Guest2514Installing swift-form-signature script to /usr/local/bin10:35
Guest2514Installing swift-get-nodes script to /usr/local/bin10:35
Guest2514Installing swift-init script to /usr/local/bin10:35
Guest2514Installing swift-object-auditor script to /usr/local/bin10:35
Guest2514Installing swift-object-expirer script to /usr/local/bin10:35
Guest2514Installing swift-object-info script to /usr/local/bin10:35
Guest2514Installing swift-object-replicator script to /usr/local/bin10:35
Guest2514Installing swift-object-server scr10:35
Guest2514Installing swift-object-updater script to /usr/local/bin10:35
Guest2514Installing swift-oldies script to /usr/local/bin10:35
Guest2514Installing swift-orphans script to /usr/local/bin10:35
Guest2514Installing swift-proxy-server script to /usr/local/bin10:35
Guest2514Installing swift-recon script to /usr/local/bin10:35
Guest2514Installing swift-recon-cron script to /usr/local/bin10:35
Guest2514Installing swift-ring-builder script to /usr/local/bin10:35
Guest2514Installing swift-temp-url script to /usr/local/bin10:35
Guest2514Installed /home/med/swift10:35
Guest2514Processing dependencies for swift==2.2.2.post11310:35
Guest2514Searching for xattr>=0.410:35
Guest2514Reading https://pypi.python.org/simple/xattr/10:35
Guest2514Best match: xattr 0.7.510:35
Guest2514Downloading https://pypi.python.org/packages/source/x/xattr/xattr-0.7.5.tar.gz#md5=42e727fef24c8eda20ea00d89da2c9e110:35
Guest2514Processing xattr-0.7.5.tar.gz10:35
Guest2514Writing /tmp/easy_install-RHVL6g/xattr-0.7.5/setup.cfg10:35
Guest2514Running xattr-0.7.5/setup.py -q bdist_egg --dist-dir /tmp/easy_install-RHVL6g/xattr-0.7.5/egg-dist-tmp-Yu1xM910:35
Guest2514Searching for cffi>=0.410:36
Guest2514Reading https://pypi.python.org/simple/cffi/10:36
Guest2514Best match: cffi 0.9.110:36
Guest2514Downloading https://pypi.python.org/packages/source/c/cffi/cffi-0.9.1.tar.gz#md5=8dbdf23c600845b75654024e434601ce10:36
Guest2514Processing cffi-0.9.1.tar.gz10:36
Guest2514Writing /tmp/easy_install-RHVL6g/xattr-0.7.5/temp/easy_install-M1u9rq/cffi-0.9.1/setup.cfg10:36
Guest2514Running cffi-0.9.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-RHVL6g/xattr-0.7.5/temp/easy_install-M1u9rq/cffi-0.9.1/egg-dist-tmp-WnXLZu10:36
Guest2514Package libffi was not found in the pkg-config search path.10:36
Guest2514Perhaps you should add the directory containing `libffi.pc'10:36
Guest2514to the PKG_CONFIG_PATH environment variable10:36
Guest2514No package 'libffi' found10:36
Guest2514Package libffi was not found in the pkg-config search path.10:36
Guest2514Perhaps you should add the directory containing `libffi.pc'10:36
Guest2514to the PKG_CONFIG_PATH environment variable10:36
Guest2514No package 'libffi' found10:36
Guest2514Package libffi was not found in the pkg-config search path.10:36
Guest2514Perhaps you should add the directory containing `libffi.pc'10:36
Guest2514to the PKG_CONFIG_PATH environment variable10:36
Guest2514No package 'libffi' found10:36
Guest2514Package libffi was not found in the pkg-config search path.10:36
Guest2514Perhaps you should add the directory containing10:36
Guest2514to the PKG_CONFIG_PATH environment variable10:36
Guest2514No package 'libffi' found10:36
Guest2514compiling '_configtest.c':10:36
Guest2514__thread int some_threadlocal_variable_42;10:36
Guest2514x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -c _configtest.c -o _configtest.o10:36
Guest2514success!10:37
Guest2514removing: _configtest.c _configtest.o10:37
Guest2514c/_cffi_backend.c:13:17: fatal error: ffi.h: No such file or directory10:37
Guest2514 #include <ffi.h>10:37
Guest2514                 ^10:37
Guest2514compilation terminated.10:37
Guest2514error: Setup script exited with error: command 'x86_64-linux-gnu-gcc' failed with exit status 110:37
Guest2514can anybody help me on that ?10:37
*** rdaly2 has joined #openstack-swift10:38
*** nellysmitt has quit IRC10:41
*** rdaly2 has quit IRC10:42
*** chlong has quit IRC10:51
openstackgerritAlistair Coles proposed openstack/swift: Allow swift-object-info to inspect .meta and .ts files  https://review.openstack.org/16230610:51
*** ho has quit IRC10:52
*** haomaiwang has quit IRC10:53
*** aix has joined #openstack-swift10:57
ahaleapt-get install python-cffi ? should probably find a pastebin too or something10:58
Guest2514@ahale: thank you it worked !! xD11:02
Guest2514that package have to be  mentioned in  the 'dependencies section' of the doc11:03
ahaleyep I'm surprised it wasn't pulled in by something else, should probs get added indeed11:08
acolesGuest2514: which doc are you following? did you install the packages listed here?11:09
ahalefwiw, I build a SAIO by copy pasting the docs at the weekend with no problems11:09
*** nellysmitt has joined #openstack-swift11:09
*** Krast has quit IRC11:09
acolesGuest2514: sorry, forgot link http://docs.openstack.org/developer/swift/development_saio.html#installing-dependencies11:10
Guest2514i following the official doc http://docs.openstack.org/developer/swift/development_saio.html11:10
Guest2514i dont know,may  be "python-cffi" is installed by defaut in some distros. I had to install it manually in my 14.04 VM11:14
ahalehm, from your paste you have xattr getting installed by pip pulling in cffi, while my 14.04 vm got it in the second apt-get install11:20
openstackgerritAlistair Coles proposed openstack/swift-specs: Updates to encryption spec  https://review.openstack.org/15431811:23
*** bkopilov has joined #openstack-swift11:25
*** SkyRocknRoll has quit IRC11:28
rsFFHi there,11:29
rsFFcould someone give me some information on this, https://bugs.launchpad.net/swift/+bug/142886611:29
openstackLaunchpad bug 1428866 in OpenStack Object Storage (swift) "swift-object-info display for sysmeta" [Wishlist,In progress] - Assigned to Ricardo Ferreira (rsff)11:29
*** Guest2514 is now known as notme11:30
*** notme is now known as Guest1130911:30
*** Guest11309 is now known as m_h11:31
*** m_h is now known as m_han11:31
acolesrsFF: i can try to help, do you have a specific question?11:44
*** panbalag has joined #openstack-swift11:47
rsFFyes acoles, the output is somewhat like this:http://pastebin.com/938SSZHK11:49
rsFFIm not understanding what should be in a line11:49
rsFFcos I can grep each field of that output...11:50
acolesrsFF: if i understand the bug report from clayg the goal is to separate 'user metadata' from 'sysmeta' in the output11:52
acolesrsFF: see http://docs.openstack.org/developer/swift/development_middleware.html#swift-metadata for info on sysmeta11:52
rsFFhummmm ok, separate what is sysmeta vs meta...11:53
acolesrsFF: so print_obj_metadata would need to iterate over the metadata dict and parse keys to match either x-object-meta-* or x-object-sysmeta-*11:54
acolesrsFF: and group them separately in the output11:54
rsFFroger11:54
rsFFty11:55
acolesrsFF: and, secondly, looks like clayg would like them listed one per line11:55
acolesrsFF: check out https://github.com/openstack/swift/blob/master/swift/common/request_helpers.py#L136-136 for useful helper methods11:56
openstackgerritDenis Cavalcante proposed openstack/swift: Add storage policy support for sorting method  https://review.openstack.org/16087711:56
acolesrsFF: and note that a client request cannot set sysmeta (it is reserved for internal use and stripped from client requests by proxy server) so actually getting some sysmeta into an object .data file to test will require a request direct to the object server - ask if you need help11:59
rsFFyeah i would like that, also if you have any more tips on setting up and env for testing, i currently use vim and print for the debug process, is it possible to integrate some IDE with remote debugging?12:02
*** SkyRocknRoll has joined #openstack-swift12:03
*** SkyRocknRoll has quit IRC12:03
*** SkyRocknRoll has joined #openstack-swift12:03
*** dmorita has quit IRC12:24
*** rdaly2 has joined #openstack-swift12:40
*** rdaly2 has quit IRC12:44
*** jistr has quit IRC12:47
*** jistr has joined #openstack-swift12:48
*** nellysmitt has quit IRC12:49
*** annegentle has joined #openstack-swift12:51
openstackgerritYuan Zhou proposed openstack/swift: Fix EC PUT on HTTP_CONFLICT or HTTP_PRECONDITION_FAILED  https://review.openstack.org/16204712:53
*** cdelatte has joined #openstack-swift13:01
*** bkopilov has quit IRC13:04
*** zul has quit IRC13:04
*** jistr has quit IRC13:04
*** jistr has joined #openstack-swift13:05
*** zul has joined #openstack-swift13:09
*** fifieldt has joined #openstack-swift13:14
*** bkopilov has joined #openstack-swift13:18
acolesrsFF: this may help with creating some sysmeta in a .meta file to test against https://gist.github.com/alistairncoles/b7d67db06eda62d4bed213:19
acolesrsFF: or maybe swiftly https://github.com/gholt/swiftly13:20
*** mahatic has joined #openstack-swift13:21
*** ppai has quit IRC13:27
openstackgerritStuart McLaren proposed openstack/python-swiftclient: Allow reading from object body on download  https://review.openstack.org/15529113:33
openstackgerritElvis Teixeira proposed openstack/swift: Use assertTrue/False instead of assertEqual(*, True/False)  https://review.openstack.org/16300013:33
*** mmcardle has quit IRC13:34
*** rdaly2 has joined #openstack-swift13:44
*** mmcardle has joined #openstack-swift13:48
*** annegentle has quit IRC13:51
*** lcurtis has joined #openstack-swift13:57
*** mahatic has quit IRC14:01
*** nshaikh has joined #openstack-swift14:03
*** rdaly2 has quit IRC14:03
notmynamegood morning14:07
*** annegentle has joined #openstack-swift14:08
*** rdaly2 has joined #openstack-swift14:09
*** annegentle has quit IRC14:11
rsFFacoles - thanks!14:11
acolesnotmyname: morning!14:14
*** mahatic has joined #openstack-swift14:15
*** SkyRocknRoll has quit IRC14:22
openstackgerritElvis Teixeira proposed openstack/swift: Use assertTrue/False instead of assertEqual(*, True/False)  https://review.openstack.org/16300014:23
openstackgerritDonagh McCabe proposed openstack/swift: Support HTTP_X_SERVICE_IDENTITY_STATUS in keystoneauth  https://review.openstack.org/15663414:25
*** Guest75125 has joined #openstack-swift14:30
cschwedeHello everyone!14:36
acolescschwede: hi14:39
cschwedeacoles: hello Alistair!14:41
notmynameguten tag14:43
*** Guest75125 is now known as notsogentle14:43
*** notsogentle is now known as agentle_14:43
*** nshaikh has quit IRC14:44
*** agentle_ has quit IRC15:05
*** david-lyle_afk is now known as david-lyle15:23
*** jrichli has joined #openstack-swift15:28
notmynamereminder that there is no meeting tomorrow15:31
*** thurloat has quit IRC15:35
*** swat30 has quit IRC15:35
*** delattec has joined #openstack-swift15:37
*** cdelatte has quit IRC15:39
*** swat30 has joined #openstack-swift15:39
*** thurloat has joined #openstack-swift15:40
*** gyee has joined #openstack-swift15:46
*** fifieldt has quit IRC15:57
*** bill_az has joined #openstack-swift16:01
*** bkopilov has quit IRC16:02
*** mahatic has quit IRC16:09
*** zhill_ has joined #openstack-swift16:09
*** agentle_ has joined #openstack-swift16:10
*** delatte has joined #openstack-swift16:10
*** delattec has quit IRC16:13
straycatHi16:13
straycatI'm running into trouble with swift, I've configured it to use v2 apis as per http://docs.openstack.org/juno/install-guide/install/apt/content/swift-install-controller-node.html but the logs tell me it's using v3, I haven't been able to find out why yet16:14
*** homegrown_ has quit IRC16:18
acolesstraycat: what did you do to specifically configure v2 api? looks like that doc configures using keystone, but not a specific api version16:19
straycatacoles, I thought the api version was specified by the auth_uri, which in this case is 'auth_uri = http://controller:5000/v2.0'16:20
straycatIf that's not the case how is the api version used determined?16:24
acolesstraycat: its identity_uri that specifies the keystone service endpoint16:24
acolesstraycat: auth_uri is a value that gets returned in www-authenticate header if request is denied16:25
straycatAhh okay16:25
acolesstraycat: the identity_uri api version is auto-discovered and these days defaults to v316:25
straycatSo can/should I specify the api version in the identity_uri?16:26
acolesstraycat: so auth_uri should be publically visible endpoint your client can go to to re-authorize, whereas identity_uri may only be visible to the swift service16:27
* straycat nods16:27
acolesstraycat: err, i'm not sure about specifying api in identity_uri :/ if you did, you'd add either /v2.0 or /v316:28
straycatRight16:28
acolesstraycat: but as i say afaik it now 'discovers' the latest available api and defaults to that (preferring v3 over v2.0)16:29
straycatOkay that might explain the problem I'm having, I'll check my keystone config out more carefully16:30
acolesstraycat: i'll just try adding v2.0 to identity_uri and get back to you...16:31
claygmorning16:32
straycatacoles, wow thanks, i appreciate the help16:32
claygacoles: evening16:32
acolesclayg: hi16:33
claygyuanz: yay!  162890  copy fix!16:35
* clayg runs off to run functests16:35
*** delattec has joined #openstack-swift16:35
*** mahatic has joined #openstack-swift16:36
*** delatte has quit IRC16:38
acolesstraycat: adding /v2.0 to identity_uril wasn't good. adding auth_version = v2.0 inf [filter:authtoken] seems to work and judging by keystone logs is making calls to v2.0 api. ymmv of course :)16:38
*** rdaly2 has quit IRC16:39
acolesstraycat: for ref, config opts are here https://github.com/openstack/keystonemiddleware/blob/master/keystonemiddleware/auth_token/__init__.py#L240-240 . sorry to point you at code but in my experience is that unfortunately the authtoken middleware docs may not be up to date16:40
straycatacoles, no problem thanks for all your help :)16:40
acolesstraycat: ok good luck16:43
*** rdaly2 has joined #openstack-swift16:46
*** delatte has joined #openstack-swift16:51
*** delattec has quit IRC16:51
*** agentle_ has quit IRC16:58
acolesclayg: been on other stuff so far today, not looked at the policy/policy-index patch(es) - but thanks for the comments16:59
*** gyee has quit IRC17:00
*** jistr has quit IRC17:01
acolesclayg: i kinda get you about int(policy) - big hint about the type17:01
*** gyee has joined #openstack-swift17:02
*** thumpba has joined #openstack-swift17:03
*** thumpba_ has joined #openstack-swift17:07
*** gyee has quit IRC17:07
*** thumpba has quit IRC17:10
openstackgerritClay Gerrard proposed openstack/swift: Prefer policy to policy_index  https://review.openstack.org/16277517:20
claygacoles: yeah no worries17:20
acolesclayg: i just started looking over then again17:21
claygacoles: ok, well I'd like to chat soon without you about the per-policy-diskfile idea - obviously tons of functional stuff we still need to work out but i really appreciate your help and would love to also be helpful to you17:21
claygs/without/with :P17:21
torgomaticholy scrollback, Batman17:21
acolestorgomatic: lol you hit the setup.py stacktrace i presume17:22
torgomaticacoles: yup17:22
acolesclay: ack.17:22
acolesclay lol - chatting *without* me could be the better way to go17:23
claygno no no17:23
*** zhill_ has quit IRC17:26
*** rledisez has quit IRC17:29
*** silor has quit IRC17:31
acolesclayg: peluse: torgomatic: notmyname: about the .durable files...presumably we should be fsync'ing them? because without them we have no object.17:40
torgomaticmakes sense to me17:40
notmyname+117:40
acolesin which case we would't want to go fsyncing the dir until both the data and durable are written, like if we were to fscync the dir ever17:41
acolesone dir fsync is bad enough, two would be profligate17:43
*** Nadeem has joined #openstack-swift17:44
claygacoles: in an ideal world - sure17:45
*** geaaru has quit IRC17:49
*** fbo has quit IRC18:01
*** tab_ has joined #openstack-swift18:01
*** rdaly2 has quit IRC18:03
*** tsg_ has quit IRC18:04
*** bkopilov has joined #openstack-swift18:05
*** rdaly2 has joined #openstack-swift18:10
*** dencaval has joined #openstack-swift18:15
*** gyee has joined #openstack-swift18:17
*** fbo has joined #openstack-swift18:25
acolesclayg: ok i had a quick look but a bit pressed or time this evening - no problem at all with you taking/squashing 162696 into 162775 or whatever - if i don't have to go through the multi-FI patch checking for policy != None all over the place then I'm happy :)18:28
acolesclayg: and yeah lets chat on per-policy-diskfile soon (tomorrow?) but i gotta go now, sorry18:29
straycatIt's odd that swift detects a v3 api, there's no v3 endpoint.18:33
*** thumpba_ has quit IRC18:38
*** thumpba has joined #openstack-swift18:40
*** thumpba_ has joined #openstack-swift18:41
torgomaticI'm a little confused about the direction some of the EC work is going; what's up with all the storage-policy knowledge getting into the object servers?18:42
torgomaticit started out being do-what-the-proxy-tells-you and now it's getting more smarts-in-the-object-server18:43
*** thumpba has quit IRC18:45
*** panbalag has quit IRC18:45
*** panbalag has joined #openstack-swift18:45
claygacoles: tommorrow wfm18:46
acolesclayg: ok18:46
*** agentle_ has joined #openstack-swift18:50
*** agentle_ has quit IRC18:55
*** agentle_ has joined #openstack-swift18:55
*** wshao has joined #openstack-swift19:00
*** wshao has left #openstack-swift19:02
*** wshao has joined #openstack-swift19:03
*** acoles is now known as acoles_away19:05
pelusetorgomatic, tell me about it!19:15
*** erlon has joined #openstack-swift19:22
*** bill_az has quit IRC19:24
*** wshao has quit IRC19:35
*** wshao has joined #openstack-swift19:37
*** vishy has joined #openstack-swift19:38
*** wshao has quit IRC19:41
claygtdasilva: hey!  you know what I want - anything I can do to help?19:42
tdasilvaclayg: Hey! sorry, i've just been really busy with some other work19:42
tdasilvabut getting back on obj. versioning today19:42
claygtdasilva: it's no problem, i'm really not trying to rush - I'm really just looking for anything I can do to help - but if you don't have anything that I could be useful doing - I'm happy to wait - just let me know19:45
tdasilvaclayg: I did have a question for you tho. Last friday we talked about that issue I raised about the Delete with ACLs and we decided to fix it so that users don't need any acls on the versioned container19:46
tdasilvabut I was thinking that the current behavior could actually be used as a feature :-)19:46
tdasilvasimilar to what cschwede has proposed before19:47
tdasilvawhere users would be able to write to a container and objects get versioned and maybe never be deleted19:47
tdasilvawithout admin access19:47
claygtdasilva: ok, yeah let me think about that19:48
tdasilvaclayg: ok...feel free to tell it's a really dumb idea :P19:48
claygbecause - yes - i totally agree there's an overlap with the undelete and versions - and I like the idea that an operator or account admin could give access to a container that is "safe" w/o having to give access to the backups/shadow-copies/versioned objects that are protecting it19:49
tdasilvaright!19:49
claygi just don't know if that requires the existing version middleware to not work in this state...19:50
claygbrb19:50
tdasilvaok19:50
*** NM has joined #openstack-swift19:53
NMHello guys.19:55
NMDo you use any kind of script to test a storage node after an upgrade? I was thinking about writing a code do upload a file and then using swift-ring-builder check if everything is fine.19:55
*** Tahmina has joined #openstack-swift19:55
*** aix has quit IRC19:57
*** mahatic has quit IRC19:59
*** dencaval has quit IRC20:12
claygNM: swift-dispersion-report sends out object writes to some % of the partition space (maybe up to 100%) - and it talks to nodes directly on the backend - be a good script for some other reasons and may cover some of the goals you're describing20:13
claygtdasilva: I'm pretty much convinced myself that allowing zero-byte PUT but making DELETE return some sort of 40X is only the illusion of protection20:14
tdasilvawell..not if the object gets versioned, no?20:14
tdasilvai'd agree with you if there was no versioning20:14
claygtdasilva: if anything the lack of the x-version-location container listing calls into question the usefulness of the existing version implementation - there's no good way to do a restore20:15
NMclayg: That seens nice. I'll read about it.20:15
claygtdasilva: well i just mean it doesn't prevent the source location for having data removed - but i guess i see what you mean about making it so they can't delete *any* versions of the object - maybe from like an audit perspective20:16
claygtdasilva: I think it's a pretty janky use-case - but if it's existing behavior I suppose there's some change some client is expecting it20:16
claygtdasilva: more likely if someone has a read/write acl'd container with a version location they're storing objects in it but don't realize they can't delete - i'd guess20:17
tdasilvaclayg: Yeah, the thought just came to mind that with the current behavior we can actually meet different use cases20:19
*** delatte has quit IRC20:19
tdasilva1. regular object versioning: jsut give read and write to both containers20:19
tdasilva2. auditing: just give write source container20:19
tdasilvabut I also did think of the fact that we might already be trying to provide a similar feature with undelete20:20
tdasilvaso no need to fuss with it in object versioning20:20
claygtdasilva: i dont know - you might have a case20:22
claygtdasilva: if it didn't *already* work this way I think i'd be pretty skeptical - but justifying any change in behavior needs to be pretty solid - http://xkcd.com/1172/20:24
tdasilvarofl..do you keep a log of these links somewhere? you always seem to have the perfect analogy for the discussed topic20:25
*** cdelatte has joined #openstack-swift20:41
clayggoogle just finds them for me20:46
mattoliverauMorning21:13
*** Tahmina has quit IRC21:17
*** rdaly2 has quit IRC21:26
tdasilvamattoliverau: hi! how's the long weekend?21:30
*** rdaly2 has joined #openstack-swift21:31
mattoliverautdasilva: nice, my parents were visiting so was great catching up :) nice work on all the EC stuff you've been working on, I for one have been impressed :)21:32
mattoliverauAnd an extra day of is always nice ;)21:33
tdasilvamattoliverau: yes, definitely21:33
tdasilvamattoliverau: looks like there's a a thon of activity with EC in the past few days so I need to catch up with reviews21:34
mattoliverauYou and me both :)21:36
*** tsg has joined #openstack-swift21:39
*** chlong has joined #openstack-swift21:40
*** NM has quit IRC21:48
claygtdasilva: it would be a huge contribution to the EC effort to get get versioned objects extracted to middleware - boarderline superhuman if you manage to eek out COPY as well21:57
tdasilvaclayg: I think I found a couple of issues with that ACL scheme that makes it not work as a good auditing tool. 1. If user writes just one version of the object, then he will be able to delete it, because we only version on the 2nd PUT. 2. If only read access is given to x-versions-location, then on a DELETE system will copy previous version to source container, but not DELETE the object in x-versions-location21:58
claygtorgomatic: did you see yuanz's fix for COPY - this controller routing stuff has teeth :\  (https://review.openstack.org/#/c/162890/)21:58
tdasilvaclayg: have you seen this: https://review.openstack.org/#/c/156923/ ?21:59
claygtdasilva: idk, I thought we do the container listing before the delete - won't it blow up early enough that DELETE's just wont work at all w/o read access to the target container21:59
claygtdasilva: i haven't looked at it much - it seemed not quite finished21:59
claygtdasilva: have you tried it?  you think it'll work?22:00
tdasilvano, it is not...was just pointing out that the work has started22:00
tdasilvaplanning to help ppai with it22:00
claygversions first - I'd be happy to help as well - if it seems manageable it's in front of the ECObjectController PUT refactor22:00
tdasilvayep22:01
claygnotmyname: I took a stab at making loadapp work with a default config string22:01
claygnotmyname: it would... "work" - but... well I don't see any better options :'(22:01
claygnotmyname: I mean upstream patch obviously - we should get config_dir upstream too because it would make an olso migration much more palitable if paste supported loading from config dir's naitively22:02
tdasilvaclayg: so back to versions: yes, the container listing is done before the DELETE, but the COPY as well...so if an admin gave the user read (but not write) then they would be able to do listing and even the copy, but not the final delete, which i think leaves it in a weird state where you overwrite the object in the source container, but did not delete it from the x-versions-location22:03
*** tsg has quit IRC22:03
openstackgerritClay Gerrard proposed openstack/swift: Trick paste.deploy's loadapp into reading a config from a string  https://review.openstack.org/16320922:05
clayg^ defintely the worst hack evar - anyone that needs a laugh should go check it out22:06
claygtdasilva: oic, so DELETE, DELETE, DELETE just keeps copying the same object over - but you get an error back right?22:07
*** chlong has quit IRC22:07
tdasilvayes22:07
*** agentle_ has quit IRC22:07
tdasilvaand I think point 1 above is really bad too22:07
tdasilvaat least to claim this as a feature for auditing purposes22:08
claygtdasilva: anyway I think that behavior sucks - and at lest with read access to the container you can do some sort of sane restore workflow22:08
claygtdasilva: oh, if they have read access to the version location the listing will pass, turn up empty and remove the object without ever having a copy in the version location where it's safe - got it22:09
claygyeah I think the new rev of versions that works more like shadow copy will cover this usecase better22:10
claygit'll be great to have in middleware - easier to experiment with different workflows and use-cases22:10
claygso yeah point 1 kills the audit workflow - it's amazing it almost worked as well as it did since that was obviously not the intention22:11
claygtdasilva: but if you don't give read or write access to the version location that does efectively implement no data is ever deleted - only moved when you PUT22:11
claygbut it's so wonky I don't think it's worth trying to maintain22:12
*** rdaly2 has quit IRC22:12
tdasilvatrue and true22:12
clayglet's assume anyone with a version location that doesn't have read/write is broken, so we're back to either fixing PUT or fixing DELETE - and I think we honestly could surprise someone with 40X if we make PUT not work until the ACL the version location22:13
claygi'm as skeptical as ever that someone would be surprised if DELETE started "working" - but I guess it's possible - fuuuuuu22:14
tdasilvayeah..i was thinking of just fixing DELETE to use preauth, then I think we just need to document it really well22:15
claygof course at least if we fix PUT they have a way to fix it - assuming they weren't relying somehow on the fact that a user can write to the source but not the version location22:15
claygit's such a non feature to begin with - if you don't have read access to the version location you can't do a restore - if we allow DELETE to pop entries out of the version location you basically have write - so it's sorta crazy to maintain the preauthed behavior22:17
claygi feel like fixing PUT might somehow be more defensible - i'm pretty sure we were all surprised it worked at all22:18
tdasilvado you mean "fix PUT" to be something like return 40X if user doesn't have read/write to versions-location?22:19
claygtdasilva: anyway, fix it whichever way it's easier to code - but leaving the current behavior I think is wrong22:19
claygtdasilva: yeah you can't PUT to a versioned container unless you have write access to the version location, you can't DELETE from a versioned container unless you have read access to the version location - something like that would make perfect sense I think22:20
claygit's not a security audit feature - I'm not really sure how the write path managed to sneak past an authorization check on the version location container really22:20
*** agentle_ has joined #openstack-swift22:25
tdasilvaclayg: sorry, but just thought of something else: how big of a concern or how much do you think ops rely on having a single versions-location container for multiple containers. The reason I ask is because we have code specifically to handle that scenario and my concern is that if ops like that feature, then they might not be happy with giving read access to x-versions-location. If this is a true concern, then we might22:36
tdasilva need to fix DELETE instead22:36
*** jrichli has quit IRC22:41
*** agentle_ has quit IRC22:47
claygtdasilva: well version location isn't22:49
claygcross account22:49
claygso it'd be multiple containers in the account - so id' think an admin/swift_owner still has read access22:50
claygbecause of DELETE and restore being broken I think *maybe* someone doesn't have *write* access to version location - but they probably have *read* - maybe?22:50
*** lcurtis has quit IRC22:52
tdasilvaclayg: I was concerned for the case of one account and multiple "regular" users, with each just having access to their own container22:52
tdasilvaclayg: is that a scenario you have seen before?22:53
claygmultiple non-swift-owner users with read/write to subset of containers sure - but I'm not sure if any of those containers would have an x-version-location to a container that they don't have read access too22:54
claygtdasilva: i'm spinning up master now to play around with current behavior22:54
tdasilvaok...i'm sending up a new patchset for you to take a look and we can adjust accordingly22:54
tdasilvasorry if it seems like we are just spinning our wheels but new use cases just keep coming up22:55
claygtdasilva: isn't having multiple containers pointing to the same x-versions-location broken because of the duplicate object name issue?  like the little 3 char hash maybe only uses the source object name - not the source container/object name?22:58
tdasilvayes, but I think that was done in the first place to handle that exact scenario, it seems like it was just done with a bug :)22:59
claygoh weird - it's just a length of the object name - i have no idea why that's there - notmyname?23:02
*** erlon has quit IRC23:11
openstackgerritThiago da Silva proposed openstack/swift: versioned writes middleware  https://review.openstack.org/13434723:13
claygman it's really hard to reason about which object is where because there's no x-timestamp mangling - it's just the time when the copy happened nothing referencing the original objects life cycle23:24
claygwith read access to the x-versions-location DELETE is quite confusing indeed23:25
claygwrite access to the x-version-location doesn't seem to have any effect on the behavior23:26
claygtdasilva: i'm seeing no read access to x-versions-location disables all deletes (even the first one if there's no old versions)23:30
claygtdasilva: so no read access to x-versions-location is a possible audit in that you can upload objects forever and never delete them (but you also can't restore old versions :\)23:31
tdasilvaclayg: i see, because that would return an error right away23:32
tdasilvaas the listing fails23:33
*** david-lyle is now known as david-lyle_afk23:33
claygtdasilva: yeah23:40
claygtdasilva: you know I'm not sure the ability to write to the x-versions-location isn't a regression... I don't *really* see the code that is allowing it - when PUT constructs the COPY I think it's expecting the PUT to the x-version-location to call authorize...23:41
*** tab_ has quit IRC23:44
tdasilvabut that COPY request does not container "swift.authorize", right?23:45
tdasilvaclayg: ^https://github.com/openstack/swift/blob/master/swift/proxy/controllers/obj.py#L54123:45
claygtdasilva: yeah i just confirmed that it does not23:46
*** chlong has joined #openstack-swift23:54
claygtdasilva: so if i was going to try and fix master it'd be much easier to use make_subrequest when building the copy_req I think than it would be to add preauth requests to DELETE's listing and COPY requests23:55
*** gyee has quit IRC23:55
tdasilvayou mean use make_subrequest on the PUT, right?23:56
claygwhat'd I say?23:56
*** dmorita has joined #openstack-swift23:56
claygyeah I think the line you linked predates common.wsgi.make_subrequest - if that code was being written today i'd be more obvious to use that and let the ACL's work as expected23:57
tdasilvayes, got it!23:58
claygI mean the comment that retuns client_error even says "or bad permissions"23:58
tdasilvatrue true23:58
claygi'm not saying that means we have a more obvious path forward23:58
tdasilvawell...i think we have determined that either way it sounds like we need to change some behavior23:59
claygunless by some mircale the ability to write to the x-version-location is a regression - then we can totally just say we're fixing a regression in the name of security!23:59
claygtdasilva: yeah current behavior is the worst23:59
*** zul has quit IRC23:59

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