Wednesday, 2017-03-08

claygoh whatever pep800:06
clayglol!  it's that guy00:07
claygwe need to attach his twitter account to launchpad!00:07
notmynameheh, yeah :-)00:08
*** tonanhngo has joined #openstack-swift00:08
claygat least we fixed his other bug?  https://bugs.launchpad.net/glance-store/+bug/121317900:09
openstackLaunchpad bug 1213179 in python-swiftclient "swiftclient logs all ClientException (404) at ERROR (with traceback)" [Critical,Fix released] - Assigned to Bartek Żurawski (bartekzurawski1)00:09
*** tonanhngo has quit IRC00:13
*** klamath has quit IRC00:13
*** chsc has quit IRC00:25
claygtimburke: patch 44234200:25
patchbothttps://review.openstack.org/#/c/442342/ - python-swiftclient - Fix logging of the gzipped body00:25
claygwhat is up with "needs_items"00:25
claygwhat does the *real* return!?00:25
claygoh... maybe the test is just misappropriating MockHtpResponse?00:29
timburkein requests-land, there's a headers attr that's a CaseInsensitiveDict. in httplib-land, there's a getheaders method that returns a list of tuples. and in swiftclient-test-land, MockHttpResponse is terrible00:30
timburkethe more i look at things, i think that fake getheaders is just plain wrong. it should always have been item-ized00:31
*** NM has joined #openstack-swift00:31
*** catintheroof has quit IRC00:31
*** jamielennox is now known as jamielennox|away00:41
*** jamielennox|away is now known as jamielennox00:44
*** tonanhngo has joined #openstack-swift00:45
*** tonanhngo has quit IRC00:50
*** NM has quit IRC00:58
openstackgerritClay Gerrard proposed openstack/python-swiftclient master: Cleanup fake in test_swiftclient  https://review.openstack.org/44288101:07
kota_good morning01:11
claygrledisez: oh, it could even just be "if _get_any_lock(fds): break"01:12
*** dja has quit IRC01:20
mattoliveraukota_: morning01:23
kota_mattoliverau: o/01:23
mattoliveraukota_: regarding ring zipper, if we in version 1 at least are forcing different regions per ring, could we sort ring input by region, that way ring order is important? (Just a thought while I'm sitting here making and eating lunch)01:25
mattoliverauRing order isn't important I meant01:26
kota_mattoliverau: ah, it may be good idea to sort by region01:27
kota_mattoliverau: i've been thinking of how we could go that better in the last night, too.01:27
kota_mattoliverau: my idea in the last night, a couple of different way from yours exist01:28
kota_1. add index format like 0:ring_file, 1:ring_file and sort via the index01:29
kota_but it's still painful if the operator lost the index01:29
kota_2. make it the ring zipper as 2-phase like *ringbuilder*01:29
kota_that means the new syntax will be like `swift-ring-zipper add zipper.builder ring_file` for some times, and then `swift-ring-zipper zip zipper.builder`01:30
kota_the rings are sorted by id in the zipper.builder01:31
notmynamezipper zip zip zippy doo01:31
kota_it would be safer but it could be more complex rather than current simple implementatin01:31
kota_notmyname: sounds like disney song :)01:32
notmynamelol01:32
*** squid has quit IRC01:33
kota_mattoliverau: and then, thinking of what stuation will be affected for the ring order, it's IIF EC and each ring is part of ec_k + ec_m01:33
kota_replica case should be safe01:34
kota_ec_duplication and each ring keeps ec_k + ec_m (i.e. # of rings == ec_duplication_factor) is also safe01:35
claygI thought we were going to have .json on disk?01:41
claygso it was swift-ring-builder zip object-1.json -> object-1.ring.gz01:42
claygthen you can just have the json be [region-0.builder, region-1.builder]01:42
kota_clayg: yeah, that was, but IIRC, the format has been not discussed yet?01:42
claygor the idea is that *in* the zipped ring we want to "fix" the 'region' attribute of the node/device entries if the used the same region integer in both?01:43
claygoh01:43
kota_clayg: ah, you want to feed the *builder* file to zipper?01:43
claygsorry I saw a notice of patch - but didn't look at it yet01:43
claygidk, i'm with you - haven't really discussed or thought through it yet01:43
kota_clayg: on the region perspective, I found an issue when the zipper resolve the region namespace01:44
claygit's not *unreasonable* that the swift-ring-builder could handle running rebalance on a list of rings, getting the ring data out and stiching them together01:44
kota_clayg: if the zipper makes new region name from each rings01:44
claygthe goal is region1.builder + region2.builder -> ~magic~ -> composite.ring.gz01:45
claygthe ~magic~ can say "you need to rebalance region1.builder to make region1.ring.gz" or not01:45
claygdepends on the use-case01:45
kota_e.g. [ring-0.ring.gz, ring-1.ring.gz], each ring has region 0, 1. and zipper handles them as different like... maybe region 0-0, 0-1, 1-0, 1-101:45
kota_how does the operator know and how we could set the write/read affinity in the proxy-server.conf01:46
claygyeah... I think maybe the zipper should reject things when it concats the devices list01:47
claygoh... maybe not01:47
claygdepends on the intent and the use-case01:47
kota_clayg: yes, definately01:47
claygfor now as I understand it being used if a zipper said "screw you I'm not zipping these two device lists together because 'thing I expect to be unique between them is not unique'" I would be ok with that01:48
kota_clayg: that's my current implementation at patch 44192101:49
patchbothttps://review.openstack.org/#/c/441921/ - swift - Composite Ring Zipper Implementation01:49
*** tonanhngo has joined #openstack-swift01:49
claygI could see it bailing out if {d['region'] for d in devices1} & {d['region'] for d in devices2} or even if d['ip']!?01:49
kota_for my usecase, it's ok (becuase it's been my idea) to set unique region by the operator and the zipper will reject if same region found in.01:51
kota_Am i thinking too hard?01:53
*** tonanhngo has quit IRC01:53
claygkota_: idk, I like this!  https://review.openstack.org/#/c/441921/2/swift/cli/ringzipper.py01:57
patchbotpatch 441921 - swift - Composite Ring Zipper Implementation01:57
kota_clayg: :)01:57
claygi'm trying to decide if the ip stuff goes far enough01:58
claygI know we don't expect/want the same node to be in both rings!01:58
kota_clayg: probably, https://review.openstack.org/#/c/441921/2/swift/cli/ringzipper.py@122 is what you're looking for01:59
patchbotpatch 441921 - swift - Composite Ring Zipper Implementation01:59
claygI agree trying to magic around when an operator makes a *mistake* (two different region rings with the same region number) instead of encoruging them to do the right/expected thing (use unique region number in each ring) by using fail early and loud error messages is the best thing we can do02:00
claygor ... i'm not sure I said that right02:00
kota_to be simple, I added it as a validation *AFTER* zipped02:00
claygif it's simple not only does it have less bugs - it's easier for an operator to understand (and maybe even patch!)02:00
*** sams-gleb has joined #openstack-swift02:01
claygkota_: so that check only says the same device can't be in the list twice... that's a good check... but that would allow for half a nodes devices to be in one ring and the other half in the other ring02:01
clayg... and that node could be in different region/zones and come from different rings02:02
claygi guess maybe that's not so different from what we have today02:02
claygI mean you can definately have the same node in different zones/regions02:02
kota_clayg: ah, that's correct02:02
clayg... I'm not sure if it's possible to get the same (ip, port, device) combo into a ring with different id's02:03
kota_clayg: that check exists in the *ring builder*02:03
kota_1 sec02:04
kota_https://github.com/openstack/swift/blob/master/swift/cli/ringbuilder.py#L653-L66002:04
clayg*lame*02:05
kota_the ring-builder rejects the device when the operator try to add the device and the ip/port/dev in the builder file02:05
claygthat's only the cli02:05
claygthat's lame02:05
claygI mean... i guess having it is better than not?02:05
clayg... but it should probably be in add_dev ;)02:05
claygdefinatley a good reason to duplicate it in the zipper02:05
*** sams-gleb has quit IRC02:06
claygok, so if you `zipper region1.ring.gz region2.ring.gz` then `zipper region2.ring.gz region1.ring.gz` next time - is that bad?02:06
claygI feel pretty strongly we should just go ahead and bite the bullet and define a data exchagne format for synthetic rings which is esentially a list of dicts, and the dict has one key 'name'02:07
kota_to say correctly, the bad case exists but my use case and almost works well02:07
kota_the bad case is in *normal* ec, I don't know if someone wants to use the zipped ring for *normal* ec though02:09
claygso but I think if you fat finger it - it's bad `zipper r1-8.ring.gz r2-8.ring.gz r3-8.ring.gz r4-8.ring.gz r5-8.ring.gz r6-8.ring.gz r7-8.ring.gz r9-8.ring.gz` ... is that what I typed last time?  did I forget one this time?02:09
claygright, gotcha - if node_index matters the order matters02:10
*** vint_bra has joined #openstack-swift02:10
kota_clayg: yes02:10
claygso, I was hoping we wouldn't grow a new command line tool - I was hoping it would just go in swift-ring-builder and I was hoping we would have a thing - that looks a lot like a builder for most of the cli commands - but instead of .builder - it's a .json - and in the json is a list of pointers to some other builder/rings02:12
claygi don't now why i was thinking that was a good idea02:12
*** vint_bra has left #openstack-swift02:12
claygbut `swift-ring-builder region1.builder remove d1; swift-ring-builder object-1.json rebalance` sounds *awesome*02:12
claygmaybe it's too much for now02:13
claygI wonder what is the surfance area of the RingBuilder api that swift-ring-builder acctually uses?02:14
claygCompositeRingBuilder takes json - wraps a bunch of instances of RingBuilder and exposes a similar interface - or blows up with MethodNotSupported02:15
claygif we have a swift-ring-zipper I think we'll keep it around for a long time - even if we later define the data format and try to improve the ux ...02:16
claygidk!?02:16
claygI'm not going to get to use swift-ring-builder *or* swift-ring-zipper - all of my ring manipulation is programatic02:16
claygso if there was a *class* that somehow abstracted this for me that would be a more interesting thing to consume from upstream02:17
claygidk!02:18
*** tonanhngo has joined #openstack-swift02:19
kota_for the input format and where (builder or zipper) we should implement, IMO, the patch 441921 is good starting point to discuss02:22
patchbothttps://review.openstack.org/#/c/441921/ - swift - Composite Ring Zipper Implementation02:22
kota_the patch is made as *at least* (small enough) features to get composite zipped ring so I am able to adjust some ways which would be more useful.02:24
kota_like json02:24
kota_or builder like interface02:24
*** tonanhngo has quit IRC02:24
kota_or abstracted classes for the programmer02:24
*** dja has joined #openstack-swift02:28
*** JimCheung has quit IRC02:31
*** dmorita has quit IRC02:35
*** dmorita has joined #openstack-swift02:58
*** dmorita has quit IRC03:02
*** JimCheung has joined #openstack-swift03:10
*** chlong_ has joined #openstack-swift03:15
*** JimCheung has quit IRC03:15
*** chlong has quit IRC03:15
*** winggundamth has joined #openstack-swift03:20
*** winggundamth has quit IRC03:28
*** winggundamth has joined #openstack-swift03:31
*** dmorita has joined #openstack-swift03:38
*** dmorita has quit IRC03:42
openstackgerritMerged openstack/python-swiftclient master: Fix logging of the gzipped body  https://review.openstack.org/44234204:01
*** psachin has joined #openstack-swift04:18
openstackgerritOpenStack Proposal Bot proposed openstack/python-swiftclient master: Updated from global requirements  https://review.openstack.org/8925004:25
claygI always get bit by py35 json.dumps returns a string instead bytes04:30
claygit's like ... I *started* with internal representation of a data object - I *want* to exchange it to another system (wire, filesyste, process) - which is *why* I **serialized** it!?  Why you giving me back another non-serializable internal object!?04:31
claygI need bytes, baby!  bytes!04:32
mattoliverauclayg: it does tell you in the function name  'dumps' s for string:P04:32
mattoliverauwe need a dumpb04:32
claygidk, does pickle.dumps return a unicode string?04:32
mattoliverauno idea04:32
clayg>>> pickle.dumps(None)04:33
claygb'\x80\x03N.'04:33
claygpy3504:33
clayg>>> json.dumps(None)04:33
clayg'null'04:33
mattoliverausigh04:33
claygI think I'm on to something here!  py35 json bites me all the time because *its* stupid!04:33
claygit's not me this time!  it's not me this time!  it's not me this time!04:34
mattoliveraui think it might be just that :)04:34
* clayg fully admits timburke will come back with some argument how it's all very internally consistent and in fact...04:34
claygit is me04:34
openstackgerritClay Gerrard proposed openstack/python-swiftclient master: Cleanup fake in test_swiftclient  https://review.openstack.org/44288104:35
*** dmorita has joined #openstack-swift04:40
*** links has joined #openstack-swift04:41
claygOH BS -> https://docs.python.org/3/library/json.html#json.loads py3.6 let's you give loads a bytearray!  but dumps still produces str even tho https://docs.python.org/3/library/json.html#character-encodings clearly states JSON should be UTF-8 - not flipping internal unicode string object sthat you can't jz;lskjdf fliping sending to other ocmputers!04:41
claygthere is a but for this somewhere with the word "unfortuante" in there somewhere04:42
*** dmorita has quit IRC04:44
claygi knew it!  https://bugs.python.org/issue1983704:46
claygNick feels me04:47
patchbotError: You don't have the admin capability. If you think that you should have this capability, be sure that you are identified before trying again. The 'whoami' command can tell you if you're identified.04:47
claygshut up patchbot not in the mood04:47
mattoliverauclayg: are you sure your pen name isn't Nick.. that was your arguement, and looks like it's still in discussion. We might have to throw and encode everywhere we dumps or wrap up our own.  'from swift.common.utils import json' :(04:55
*** dja has quit IRC05:16
*** dmorita has joined #openstack-swift05:20
*** dmorita has quit IRC05:25
*** adriant has quit IRC05:39
*** SJ has joined #openstack-swift05:58
*** SJ has quit IRC06:00
*** sams-gleb has joined #openstack-swift06:08
*** sams-gleb has quit IRC06:12
*** pcaruana has joined #openstack-swift06:43
claygmattoliverau: maybe six will do it for us?  https://github.com/benjaminp/six/issues/18506:53
*** ChubYann has quit IRC06:54
*** dja has joined #openstack-swift06:55
*** furlongm has quit IRC07:29
*** tanee_away is now known as tanee07:29
*** sams-gleb has joined #openstack-swift07:31
*** furlongm has joined #openstack-swift07:33
*** rcernin has joined #openstack-swift07:40
*** tesseract has joined #openstack-swift07:43
*** jlvillal has quit IRC07:51
openstackgerritMerged openstack/swift master: Global EC Under Development Documentation  https://review.openstack.org/43251308:12
*** jlvillal has joined #openstack-swift08:12
*** chlong_ has quit IRC08:18
*** sanchitmalhotra has quit IRC08:27
*** sanchitmalhotra has joined #openstack-swift08:28
*** amoralej|off is now known as amoralej08:31
*** geaaru has joined #openstack-swift08:41
*** kei_yama has quit IRC08:44
*** openstackgerrit has quit IRC09:03
*** hseipp has joined #openstack-swift09:10
*** openstackgerrit has joined #openstack-swift09:15
openstackgerritKota Tsuyuzaki proposed openstack/swift master: Optimize ec duplication and its md5 hashing  https://review.openstack.org/42167309:15
*** cbartz has joined #openstack-swift09:16
claygkota_: didn't you find the bug with mutliple ec polices that made the reconstructor stats errors?09:30
clayghttps://github.com/openstack/swift/blob/b7e0494be295d604aeb2e97e8a0708503c80bbb5/swift/obj/reconstructor.py#L64809:31
clayg^ that worries me a lot now that collect_parts shuffles all of the policies together09:31
claygdoing it right:  https://github.com/openstack/swift/blob/b7e0494be295d604aeb2e97e8a0708503c80bbb5/swift/obj/reconstructor.py#L27209:32
kota_clayg: i had, that was from the stats calculation causes zero division09:32
claygdoing it wrong: https://github.com/openstack/swift/blob/b7e0494be295d604aeb2e97e8a0708503c80bbb5/swift/obj/reconstructor.py#L53409:32
claygnot sure it'd be so trivial to make a unittest - but I think the bug is there09:33
kota_looking09:33
claygi'm not gunna fix it just this moment - but I'd like to get it on launchpad now that I've seen it :\09:33
*** murugesh has joined #openstack-swift09:34
murugeshHi There09:34
murugeshThis time i get 503 service unavailable error09:35
claygI just hate filing bugs "I looked at code and saw a bug"09:35
murugeshwhen i run below command on keystone node09:35
murugeshswift stat --debug09:35
kota_clayg: let me make sure, now I've been filled up the node_index/frag_index semantics and need to try to re-install the reconstruction09:36
claygmurugesh: answer is in the logs09:36
murugeshhttp://paste.openstack.org/show/601892/09:36
*** mvpnitesh has joined #openstack-swift09:36
kota_so you're trying to shuffle the jobs accross the multiple ec policies and then remote_hashes uses self.headers which can be updated in process_job09:37
kota_right? clayg09:37
kota_sounds buggy if it was updated by different policy, when running jobs in parallel.09:38
murugesh@Clayg,09:38
murugeshhere is the log09:38
murugesh proxy-server: Unable to validate token: Identity server rejected authorization necessary to fetch token data09:38
murugeshWhat wrong i am doing here??09:39
kota_murugesh: sounds like you may look at keystone setting in your proxy-server.conf09:40
kota_may need to09:40
murugeshSure +kota, I am using openstack-mitaka version. can you refer me how proxy-server.conf should be??09:42
mvpniteshhi , i'm trying to do a devstack setup of swift and i'm getting the following error " Unable to locate config for container-reconciler , Starting account-server...(/etc/swift/account-server/1.conf), liberasurecode[8512]: liberasurecode_backend_open: dynamic linking error libJerasure.so.2: cannot open shared object file: No such file or directory"09:43
mvpniteshcan any one help me in resolving this issue09:43
kota_murugesh: depends on your keystone api version (v2 or v3) but...09:44
kota_murugesh: current default setting is https://github.com/openstack/swift/blob/master/etc/proxy-server.conf-sample#L325-L34009:45
claygmvpnitesh: the liberasurecode errors are benign09:45
claygmurugesh: my keystone settings look like this -> https://gist.github.com/clayg/c414b01f6e1202a2050ea8c0eb96efa009:47
*** raymond__ has joined #openstack-swift09:47
murugesh+kota_ thanks for your reference09:48
murugeshand my keystone version is 'python-keystoneclient.', DeprecationWarning) 2.3.109:48
murugeshkeystone --version is the right command to check right??09:49
raymond__Hi, are questions about cluster issues okay to discuss here or should help requests be directed to another channel?09:49
murugeshThanks clayg will take look on provided link09:49
claygkota_: re: self.headers and remote_hashes - sure looks like multiple policies could result in some cross contamination?09:50
claygkota_: do we just file the bug "two people agree code looked wrong"?09:50
claygraymond__: this is the spot for everything swift!  You can talk about apple, taylor, w/e - as long as it's not sparrows or martins (touchy subject for notmyname) - swift's only!09:51
openstackgerritMahati Chamarthy proposed openstack/swift master: Limit number of revert tombstone SSYNC requests  https://review.openstack.org/43957209:51
kota_could file but I'd like to add the status incomplete, not sure right now.09:51
kota_clayg:^^09:51
claygmahatic_: !!!! i'm rarely online when you are09:51
clayg2am PST is where it's at - I should stay up late more09:51
murugesh+kota&clayg, I am struggling to fix this issue from past three days09:52
murugeshKindly help me out09:52
*** cshastri has joined #openstack-swift09:52
claygmurugesh: sorry ment to say "keystone --version" is *not* the version of keystone; it's the version of python-keystone client09:52
kota_clayg: it looks 3 p.m. in Indea09:53
murugesh#clayg, how can i check the keystone api version??09:53
claygwhich... AFAIK is deprecated and they mostly use openstackclient for the commandline: https://github.com/openstack/python-keystoneclient#python-bindings-to-the-openstack-identity-api-keystone09:54
mvpniteshclayg: the error is " openstack object store account set --property Temp-URL-Key=password09:54
patchbotError: No closing quotation09:54
mvpnitesh2017-03-08 07:52:51.268 | Internal Server Error (HTTP 500) (Request-ID: tx6c67c03620e14568ae680-0058bfb817)"09:54
claygmurugesh: i have no idea!?  But i'm willing to learn!09:54
raymond__So we're having an issue with object deletion. We rely mainly on the object expirer, which is running as expected but no objects are ever actually deleted09:54
kota_murugesh: i also not have clear answer how to detect your keystone api version09:55
kota_murugesh: but09:55
claygmurugesh: so on my machine `curl http://192.168.8.8/identity | python -m json.tool` show's me v2.0 is deprecated and apparently v3.8 api version is where it's at!09:55
raymond__On a DELETE of an expired object we get the 404 as expected, but the object server just states "ERROR Container update failed (saving for async update later): 404 response from <node>"09:55
kota_murugesh: the request to retrieve the token from your client seems to work, so checking os envrion could help you09:56
raymond__That aync update never seems to happen as the object is never removed from the container listing09:56
claygmurugesh: the api version is maybe more useful for our context than the service version?09:56
murugeshThanks +kota09:56
kota_OS_IDENTITY_API_VERSION09:56
murugesh#clayg my keystone API version is v309:57
mahatic_clayg: :D actually you're often online when I am ;)09:57
mahatic_it's another thing that I'm not so active on IRC in the first half09:57
claygmahatic_: yeah - you should just make more noise09:57
claygraymond__: that's interesting!  is your object-expirer daemon logging anywhere?09:57
mahatic_okay, noted ;)09:57
claygmvpnitesh: do you only get 500's when you try to set account metadata?  does *other* requests work?  like object upload, or stat'ing he account?09:58
claygmurugesh: how do you know your keystone api version is v3?  My proxy-server.conf doesn't say v3 anywhere?  I think the keystone client like auto negotiates the version or something insane?09:59
raymond__Yes, " object-expirer: Pass so far 78487s; 224319 objects expired (txn: tx73ee4a1f64cf4e3abbf10-0058bfd945)"10:00
raymond__It just keeps increasing in the number of objects expired every run10:00
raymond__It accounts for a large amount of our IOPs and we've had to throttle it to serial10:00
murugesh#clayg, I just confirmed with my colleague10:01
raymond__Doing a manual DELETE of one of the expired objects doesn't ever remove it from the container (and I'm suspecting not from the disk)10:01
mvpniteshclayg: i'm also getting s-object failed to start , >/opt/stack/status/stack/s-container.pid; fg || echo "s-container failed to start" |10:01
claygmvpnitesh: ok that's probably related - if the container-server or object-server isn't running stuff should be pretty broken - can you start them!?10:03
claygraymond__: 200K objects to expire doesn't seem that terrible?10:05
mvpnitesh<clayg>: i'm getting this error when i'm trying to do the devstack setup , i've tried to restart those services, it is saying they are not found10:07
claygwho is saying who is not found?  systemctl says a service named swift-object is not found?  bash says a command named swift-object-server is not found?10:09
raymond__clayg: It does for our cluster size and it just constantly increases, we have objects with a 60 day TTL that are still in the container three months after expiry10:10
kota_murugesh: hmm... https://github.com/openstack/keystonemiddleware/blob/master/keystonemiddleware/auth_token/__init__.py#L191-L198 keystonemiddleware config at master looks a bit diffferent10:10
kota_from swift master10:11
raymond__It hasn't _ever_ decreased for the extent of our log collection10:11
claygraymond__: so I found this laying around https://gist.github.com/clayg/5ab6001c13a733ae23b0fdf905af2a6010:12
claygif you don't have a better way to go poking at dot accounts - InternalClient is pretty good10:12
claygit needs/expects rings and stuff10:12
claygif you have some sort of super-admin-reseller-super-user token sort of thing baked into your auth system you may be able to get that to authorize you10:13
kota_no idea for now, on the keystone setting but definitely keystone rejected the token authentication from the log...10:13
murugesh@+kota_, could you pls let me know what you want me to check??10:13
*** mvpnitesh has quit IRC10:14
claygraymond__: were you saying you tried to delete an object "manually" and that didn't remove it from the container listing?10:14
*** mvpnitesh has joined #openstack-swift10:14
kota_the auth_token setting to request the token validation to *correct keystone server* which issued your token.10:15
raymond__clayg, yes and by "manually" I mean a DELETE verb HTTP request10:15
claygis that the case for *any* object - or just expired ones?  When you say "manually" you just mean through a normal DELETE api request -> https://developer.openstack.org/api-ref/object-storage/?expanded=delete-object-detail#delete-object10:15
claygraymond__: is it only some containers?  How many objects are in the container?  > 100M?10:16
murugesh+kota_,shall i paste my current [filter:authtoken] settings??10:17
murugeshwhich was specified in proxy-server.conf file10:17
kota_murugesh: it's ok but I'm not sure I can help you with the paste10:18
claygmurugesh: you said your keystone was like mitaka or something right?  I'm not sure who's going to have a mitaka keystone laying around.  and historically that stuff has changed every release10:18
claygit's hard to keep up :\10:18
murugeshJust take a look on my authtoken settings in proxy-server.conf file10:19
raymond__clayg, some objects seem to work (non-expired) so I'm unsure if it's just some containers. Object per container is pretty consistent in the thousands range10:19
murugeshhttp://paste.openstack.org/show/601898/10:20
claygraymond__: and aside from the status line - the expirer isn't logging any *errors*?10:20
raymond__clayg, in this instance we're using swift as a content addressable store so our key distribution between containers is pretty consistent as the container and key is based on the SHA1 of the content10:20
claygraymond__: and what did you say the client response looked like?  I would expect it 404 - but I would also expect it to drop a tombstone and update the row in the container.10:21
murugeshclayg, Here we are using keystone service as httpd WSGI10:21
raymond__clayg: 204 in the case of a non-expired object, 404 in the case of the expired one10:21
claygmurugesh: so that doesn't look anything like my authtoken config section that works in ocata/pike -> https://gist.github.com/clayg/c414b01f6e1202a2050ea8c0eb96efa010:22
raymond__clayg: tombstones (.ts) files are dropped as expected, though our auditor seems to be having issues with some of them as we're getting "object-server: ERROR Trying to audit /srv/node/sdb1/objects/372/b4a/5d1425792dd17a525056282e8abb6b4a: #012Traceback (most recent call last):#012  File "/usr/lib/python2.7/dist-packages/swift/obj/auditor.py", line 223, in failsafe_object_audit#012    self.object_audit(location)#012  File "/10:22
patchbotError: No closing quotation10:22
claygmurugesh: esp the auth_uri - i'm not sure when the /identity stuff got added; I think keystone listening on 5000 is deprecated or something?  who knows10:23
raymond__clayg: on a number of our nodes (Swift-2.10), I noticed the 2.11 changelog is suppressing that error so we have an update planned10:23
claygraymond__: the interesting bit is at the end of the log message - and your irc message was truncated?10:23
murugeshclayg, thanks then will change like you mentioned above and get back to you10:23
raymond__clayg: "line 271, in object_audit#012    ts = df._ondisk_info['ts_info']['timestamp']#012KeyError: 'ts_info" <-- last section of the stack trace10:24
claygoh, yeah - that was annoying10:24
clayg^ mahatic_ ;)10:24
kota_murugesh: or you may check the project_domain_id, user_domain_id, project_name, username, password setting with your collegue10:24
claygmurugesh: maybe the auth_url!?10:25
kota_murugesh: Swift config example say *they must match the Keystone credentials for the swift service*10:25
claygraymond__: do you monitor async_pendings?  didn't you say async_pendings?10:26
*** sams-gle_ has joined #openstack-swift10:27
*** sams-gle_ has quit IRC10:28
claygraymond__: so in my case a DELETE to an expired object returned 404 (as expected) - but it also overwrote the expired .data with a .ts and immediately updated the container10:29
claygso... that's how it supposed to work10:29
claygmaybe we could try to figure out which part exactly isn't working in your system?10:29
*** sams-gleb has quit IRC10:30
raymond__clayg, we seem to get the .ts but the container update seems to get "Container update failed (saving for async update later)" and never occurs10:30
claygdoes the .data get replaced with a .ts - can you lookup an expired object with swift-get-nodes and try to find the .data on disk (verify with swift-object info /path/to/timestamp.data)10:30
raymond__clayg, yeah I'll follow a transaction through10:30
claygah!  cool - or crazy - probably bad10:30
claygso... do you have a bunch of async_pendings?  it's a tld next to accounts containers objects10:31
openstackgerritAlistair Coles proposed openstack/swift master: Add assertions to test_reconstructor test_get_response  https://review.openstack.org/44248510:31
claygyou can check on them with recon I think?  there's a recon cron thing that counts them up in the background I think10:31
acolesclayg: I rolled your suggestions into patch 442485, thanks!10:32
patchbothttps://review.openstack.org/#/c/442485/ - swift - Add assertions to test_reconstructor test_get_resp...10:32
raymond__clayg, I appears recon wasn't ever set up. I'll have our IT do that and take a look at the async pending10:32
claygso when I break a container node and do a object update I can see a file like this: /srv/node1/sdb1/async_pending/3bb/83656d270fc11826b7aabf06bc5d93bb-1488968887.6484610:33
claygif there's a bunch of files like that it normally means.... well it means the object server isn't succesffully getting updates to the container servers10:33
clayg... there's different reasons that may be the case10:34
claygit's the job of the object-updater to keep trying to send the updates to the container servers10:34
claygraymond__: you might see if the object-updater is logging anything useful (assuming you have some async pending container updates?)10:34
claygacoles: did you add in any [[]] * 10?  that's my new thing that I do now10:35
claygjust random10:35
claygthrow it in every few lines10:35
acoleshehe10:35
claygyeah, i don't test it anything - just throw that in the change and push over peoples patches10:36
acoleshttps://github.com/openstack/swift/blob/master/REVIEW_GUIDELINES.rst#run-it10:37
acolesclayg: ^^ :P10:37
acolesI am ashamed that I got a pep8 error on another patch overnight - I am *sure* I always run pep8 before pushing!10:38
claygacoles: gd!  so this is the follow up to the follow up to the change "inrecase test coverage for reconstructor"10:39
acolesyep. everything is a follow up, nothing is new :)10:40
claygrofl10:40
acolesWe should have another tag: "Precursor-To:" then we can anticipate follow ups:)10:41
claygZOMG10:41
acoles"Causes-Bug:"10:42
*** cbartz has quit IRC10:44
tone_zrtHi all, nice to join Swift family!10:45
tone_zrtI'm new to Swift project. Hope to contribute more.10:45
tone_zrtIn the past several days, I met one problem when I tried to upload object to one container.10:46
tone_zrtPlease refer to https://ask.openstack.org/en/question/103741/upload-object-error-permission-denied-on-debian/10:46
tone_zrtI have no idea on the problem. Could anybody help me?10:46
tone_zrtThanks!10:46
*** dmorita has joined #openstack-swift10:47
* clayg wishes he spent more time on ask :'(10:49
claygstupid tpool_reraise10:51
*** dmorita has quit IRC10:52
tone_zrtclayg, thanks a lot! I did some debug, and foud the error is because the exception from xattr.setxattr() and xattr.getattr()10:53
claygtone_zrt: this is going to sound stupid, but honestly I think you'll save a lot of your time if you just pop the _finalize_put call out the tpool to preserve your traceback real quick:  https://gist.github.com/clayg/ab205aefd407689acc4dfdf7f216765a10:54
clayg... in write_metadata?10:54
tone_zrtyes10:54
tone_zrtI will do the change and check the result10:55
claygmaybe it's a selinux thing?10:56
tone_zrtNo, I don't enable selinux in Debian10:57
claygtone_zrt: so in my devstack config - my object server is configured to drop_privledges to ubuntu and my ring a device named 'sdb1' which is a directory in the object server's configured "devices" directory11:01
*** geaaru has quit IRC11:01
claygthe sdb1 directory (and all directories under that) are 755 ubuntu:ubuntu11:02
tone_zrt0755 should be the dafault setting.11:03
claygthe ask question doesn't show `ls -alhF /opt/stack/data/swift/drives/sdb1/1`11:03
kota_oh, acoles is back to online while I was fighting frag_index world11:04
tone_zrtbecause i debug the problem, i changed to 077711:04
claygdid you create a user 'swift'?  did you fix the storage server configs's "user = swift" setting?11:04
tone_zrtI used "stack"11:04
clayg777 should fix most permission deneid errors :D11:05
acoleskota_: hi! what's up in frag_index world? or do you mean you renamed all our chunk_indexes??11:05
claygacoles: do you mean node_index?11:05
kota_wait a sec, i'll push my idea soon, it's still not sure I'm doing right thing though.11:05
acolesbackend_index??11:05
claygbackend_chunk_node_or_fragment_id11:05
acoleskota_: oh i thought you had pushed a new version11:06
clayghe had!  it's great!  let's ship that one11:06
kota_acoes: i pushed a new version and now trying more improvement11:06
claygok, so I think mvpnitesh got lost murugesh is playing with keystone configs raymond__ is going to track async pendings tone_zrt is going chmod 777 -r / and ....11:07
acoleskota_: I'm sure it's great...go home, sleep :)11:07
claygkota_ & acoles will fix the rest?  mahatic_ will +A11:07
claygsounds like ya'll got it covered11:08
claygg'night11:08
acolesclayg: good night11:08
openstackgerritKota Tsuyuzaki proposed openstack/swift master: Eliminate node_index in Putter  https://review.openstack.org/44307211:08
kota_acoles: that one11:08
acoles"Eliminate" yay!11:08
kota_clayg: good night!11:08
murugeshHi clayg11:14
murugeshYou there??11:14
*** NM has joined #openstack-swift11:14
murugesh+kota_11:14
murugeshThis time i get 500 internal server error11:15
*** hseipp has quit IRC11:15
murugeshwhen i run swift stat --debug on my keystone node11:15
acolestone_zrt: crazy question, but does the object you are uploading have content or is it zero-sized? It's just curious that the permission error comes when setting the xattrs, which is after any object data is written to the file11:15
kota_murugesh: that sounds progressed?11:16
tone_zrtThe size of the file is neat 1.6MB11:16
murugeshand my swift log says the following11:16
acolestone_zrt: ok.11:16
tone_zrtI did the complete thing in Ubuntu, everything is OK11:16
tone_zrtOn Debian, it is failed. :(11:17
acolesyeah, I read the report on ask :/11:17
murugesh+kotla_, the log is11:17
murugeshhttp://paste.openstack.org/show/601905/11:17
murugeshand have changed the authtoken settings in proxy-server.conf as clayg mentioned above11:18
acolesmurugesh: is that log from proxy-server?11:19
murugeshYeah +acoles from /var/log/swift/swift.log11:20
*** catintheroof has joined #openstack-swift11:20
kota_acoles: i think so, that log is from auth_token11:20
murugeshand my current authtoken setting is follows11:20
murugeshhttp://paste.openstack.org/show/601907/11:20
kota_murugesh: i'm surplised at the memcach module is not in requirements.txt!?!?11:21
kota_ah, it should be to acoles11:21
kota_murugesh: that log looks to say you need to install memcache11:21
kota_maybe, `sudo pip install python-memcached`?11:22
acolesor check you have cache = swift.cache in authtoken config section11:23
acolessee https://docs.openstack.org/developer/swift/overview_auth.html#configuring-swift-to-use-keystone11:23
kota_acoles: yes, we need it but it looks to fail at *import*?11:23
murugeshYes already memcached service is up and running11:24
murugeshhttp://paste.openstack.org/show/601908/11:24
kota_murugesh: i think the lack is python-memcached *client* to connect the memcahced service from your python environ11:25
kota_to say correctly, from your swift (running in python)11:25
murugeshIs there any remedy steps for this??11:26
*** mvpnitesh has quit IRC11:26
*** mvpnitesh has joined #openstack-swift11:26
kota_murugesh: did you try to install python-memcahced (client) for your swift?11:28
acolesswift uses its own memcached client, you need the 'cache' middleware in proxy pipeline and also that config option ^^ in authtoken middleware section.11:28
acoleshttps://github.com/openstack/swift/blob/4ee20dba482e8f8e4b9ea574428c72c5728a10a1/etc/proxy-server.conf-sample#L99-L9911:28
kota_acoles: oh, that's correct11:28
*** psachin has quit IRC11:28
kota_acoles: nice follow, i was missing that.11:29
*** sams-gleb has joined #openstack-swift11:29
acolesotherwise, if you don't set cache=swift.cache, then yes I guess you'll need python memcache installed since authtoken will, I presume, default to use that. But I have never run authtoken that way11:30
kota_and auth_token attempts to use another memcached client if no cache setting in the swift pipeline11:30
kota_am i right?11:30
acoleskota_: I guess so? the traceback suggests that :)11:30
acolesmurugesh: can you confirm you have cache=swift.cache in authtoken config section?11:30
* acoles needs coffee, bbiab11:32
murugeshYes +acoles i have mentioned this11:32
murugeshcache=swift.cache in proxy-server.conf11:32
*** JimCheung has joined #openstack-swift11:33
*** sams-gleb has quit IRC11:34
*** psachin has joined #openstack-swift11:36
murugesh+acoles, when i remove authtoken and keystoneauth from pipeline i am getting proper response11:36
*** JimCheung has quit IRC11:37
*** cbartz has joined #openstack-swift11:38
murugeshHere is the successful output11:40
murugeshhttp://paste.openstack.org/show/601909/11:40
*** NM has quit IRC11:44
*** NM has joined #openstack-swift11:51
*** tdasilva has quit IRC11:52
acolesmurugesh: and do you have the cache middleware in the proxy pipeline? to the left of authtoken?11:53
murugeshYes +acoles11:53
acolescould you paste your proxy-server conf to pastebin11:56
*** vint_bra has joined #openstack-swift11:58
*** vint_bra has quit IRC11:59
openstackgerritKota Tsuyuzaki proposed openstack/swift master: Eliminate node_index in Putter  https://review.openstack.org/44307212:05
* kota_ is going to back home12:06
kota_hope, murugesh's problem resolved12:06
murugesh2mins +acoles12:07
murugeshNope +kota_12:07
kota_sorry, it's close to the time I have to go home.12:07
murugeshIts ok +kota thank you so much for your help with this12:09
murugesh+acoles, here is my proxy-server.conf file pastebin link12:10
murugeshhttp://paste.openstack.org/show/601912/12:10
*** hseipp has joined #openstack-swift12:11
acolesmurugesh: in authtoken section you have memcached_servers = 127.0.0.1:11211 - the swift sample conf does not show memcached_servers option being set. IDK but perhaps that option is overriding cache=swift.cache and causing authtoken to try to use a memcache client??? try removing that.12:17
acolesmurugesh: TBH I am guessing - otherwise the config looks ok12:17
acolesyou have memcache_servers set in the cache section, which is correct12:17
acolesauthtoken is maintained by another project (keystone) so I am not hugely familiar with it12:18
openstackgerritChristopher Bartz proposed openstack/python-swiftclient master: ISO 8601 timestamps for tempurl  https://review.openstack.org/42337712:18
murugeshyes +acoles, i have removed it and now im getting following error when i run swift stat --debug in keystone node12:20
murugeshhttp://paste.openstack.org/show/601915/12:21
murugeshsorry above link is incorrect ^^12:23
acolesmurugesh: that is failing to get a token form keystone12:23
acolesah, NM12:23
murugeshI get error 503 service unavailable12:23
acolesbefore it was 500, correct? so did you see a different error in proxy log?12:24
acolesmurugesh: sorry this is proving so difficult for you BTW12:24
murugeshI see this error in /var/log/swift/swift.log12:25
murugeshhttp://paste.openstack.org/show/601916/12:25
*** gkadam has quit IRC12:25
murugeshYes +acoles, its eating up my head from past three days12:25
acolesmurugesh: ok, some progress, authtoken middleware is now making request to keystone to validate your token, but that request is being denied because the authtoken middleware credentials aren't being accepted12:28
acolesso you see Identity server rejected authorization in the logs12:28
murugeshYeah that's correct12:29
acolesyou need to double check that the options you have in authtoken are correct - auth_url, password, somains etc12:29
acolesdomains12:29
*** catinthe_ has joined #openstack-swift12:29
acolesin particular there is often confusion around the domain id12:29
*** catintheroof has quit IRC12:29
*** david-lyle has quit IRC12:30
*** catintheroof has joined #openstack-swift12:30
*** catinthe_ has quit IRC12:31
acolesit's along story sadly, see https://bugs.launchpad.net/swift/+bug/1604674, but double check the id and/or name of your default domain12:31
openstackLaunchpad bug 1604674 in OpenStack Object Storage (swift) "Doc error in Auth Overview for specifying keystone domain " [Undecided,In progress] - Assigned to Alistair Coles (alistair-coles)12:31
openstackgerritJuan Antonio Osorio Robles proposed openstack/python-swiftclient master: Use generic keystone client instead of versioned one  https://review.openstack.org/44310412:32
openstackgerritOpenStack Proposal Bot proposed openstack/swift master: Updated from global requirements  https://review.openstack.org/8873612:33
*** david-lyle has joined #openstack-swift12:33
acolesmurugesh: one way to troubleshoot the authtoken credentials is to verify that you can use keystone client to reach keystone with the same credentials12:33
acolesmurugesh: but good news is we seem to have fixed the first problem :)12:34
murugeshYeah +acoles12:35
murugeshso shall i change the domain ID and domain name values??12:35
*** gkadam has joined #openstack-swift12:36
*** oshritf has joined #openstack-swift12:36
acolesyou should check what they should be first :) or i guess you could take a guess - the most common issue is that the domain *name* is default rather then its *id* being default, so changing the conf to 'user_domain_name = default' and 'project_domain_name = default' *may* help but that is a total guess12:37
acolesyou should be able to list your domains from keystone using openstack client12:38
acolessomething like "openstack domains list" but I don't remember for sure12:38
acolesunfortunately my keystone service is down at the moment so I can't reproduce it12:39
murugeshyes i got output on running the openstack domains list" in my keystone node12:41
acolesmurugesh: also you have /identity at end of auth_url which I have not seen before.12:42
acolesmurugesh: ok, so do you have a domain named 'default', if so what is its id?12:42
openstackgerritkavitha h r proposed openstack/python-swiftclient master: Python 3.4 support is removed  https://review.openstack.org/44311012:42
murugeshi removed /identity in auth_uri and url12:42
openstackgerritJuan Antonio Osorio Robles proposed openstack/python-swiftclient master: Use generic keystone client instead of versioned one  https://review.openstack.org/44310412:42
murugesh[root@cfvsenctrl121 ~]# openstack domain list +----------------------------------+---------+---------+----------------+ | ID                               | Name    | Enabled | Description    | +----------------------------------+---------+---------+----------------+ | 55035e2cb3db412db67bdc81b9fd3d6b | default | True    | Default Domain | +----------------------------------+---------+---------+----------------+12:43
*** gkadam has quit IRC12:43
acolesmurugesh: great. so I think you need this change in authtoken section: 'user_domain_name = default' and 'project_domain_name = default'12:44
acolesi.e. change _id for _name12:45
openstackgerritAlistair Coles proposed openstack/swift master: Support EC policy for in process functional tests  https://review.openstack.org/44274912:46
*** mvpnitesh has quit IRC12:48
murugeshAlready it is _id in authtoken section12:49
murugeshhttp://paste.openstack.org/show/601922/12:49
acolesmurugesh: yes, but make it _name=default, not _id12:52
murugeshSure12:53
acolesthe domain list is telling you that your "Default domain" has name default, id some random UUID12:53
acolesit used to be that the id was default.12:53
acoles:/ it's so confusing12:53
murugesh+acoles, no luck12:58
murugeshsince i changed _id as _name12:59
acoles:( same message in proxy log? 503?13:00
murugeshYes same13:01
murugeshUnable to validate token: Identity server rejected authorization necessary to fetch token data13:01
murugeshproxy-server: Identity server rejected authorization13:01
murugesh proxy-server: Identity response: {"error": {"message": "The request you have made requires authentication.", "code": 401, "title": "Unauthorized"}}13:01
acolesmurugesh: hmmm. so my best suggestion now is to use openstack cli to verify that you can talk to keystone using the exact same credentials as you have in the authtoken conf. i.e. using username swift, project service, the domain names, and your password etc13:03
acolesfor some reason authtoken is being denied when it tries to validate user token13:04
acolesmurugesh: I have to go for a while. you may also get help in #openstack-keystone for the authtoken/keystone interactions13:05
murugeshSure +acoles thank you very much for your help13:06
murugeshI really appreciate your patience13:06
*** geaaru has joined #openstack-swift13:06
acolesmurugesh: NP, I hope it is now just a case of getting the correct credentials/options for authtoken, and having swift service correctly setup in keystone13:07
murugeshyeah will try to get help from #openstack-keystone13:08
*** psachin has quit IRC13:13
*** amoralej is now known as amoralej|lunch13:24
*** links has quit IRC13:25
*** cshastri has quit IRC13:28
*** klamath has joined #openstack-swift13:29
*** klamath has quit IRC13:29
*** oshritf has quit IRC13:30
*** klamath has joined #openstack-swift13:30
*** oshritf has joined #openstack-swift13:30
*** psachin has joined #openstack-swift13:30
*** sams-gleb has joined #openstack-swift13:31
*** dmorita has joined #openstack-swift13:33
*** sams-gleb has quit IRC13:35
*** oshritf has quit IRC13:36
*** dmorita has quit IRC13:37
*** mvk has quit IRC13:40
*** tongli has joined #openstack-swift13:41
openstackgerritJuan Antonio Osorio Robles proposed openstack/python-swiftclient master: Use generic keystone client instead of versioned one  https://review.openstack.org/44310413:44
*** psachin has quit IRC13:46
*** psachin has joined #openstack-swift13:46
*** sileht has quit IRC13:51
openstackgerritJuan Antonio Osorio Robles proposed openstack/python-swiftclient master: Use generic keystone client instead of versioned one  https://review.openstack.org/44310413:52
*** sileht has joined #openstack-swift13:55
*** thiago_ has joined #openstack-swift13:57
*** thiago_ is now known as Guest8430713:57
*** Guest84307 is now known as tdasilva13:57
*** ChanServ sets mode: +v tdasilva13:58
*** dja has quit IRC13:58
*** sileht has quit IRC13:59
*** tdasilva has quit IRC14:03
*** tdasilva has joined #openstack-swift14:04
*** sileht has joined #openstack-swift14:04
*** sileht has quit IRC14:04
*** murugesh has quit IRC14:05
*** sileht has joined #openstack-swift14:08
*** sileht has quit IRC14:08
*** sileht has joined #openstack-swift14:10
*** sileht has quit IRC14:11
*** sileht has joined #openstack-swift14:26
*** amoralej|lunch is now known as amoralej14:26
*** tongli has quit IRC14:30
*** dja has joined #openstack-swift14:39
*** sileht has quit IRC14:47
*** chlong_ has joined #openstack-swift14:48
*** dewanee has joined #openstack-swift14:49
dewaneehello everyone14:49
dewaneesome time ago we uploaded by mistake an old version of the rings to the swift cluster and eventually the node got rebooted14:51
dewaneeanyone cares to chip in as: what now?14:51
dewaneethe main differences between the two versions are the weights of one node using erasure coding14:52
*** sileht has joined #openstack-swift14:54
*** sileht has quit IRC14:54
*** dja has quit IRC14:55
openstackgerritAlistair Coles proposed openstack/swift master: Document SAIO rsync service setup for ubuntu 16  https://review.openstack.org/44316214:57
*** mvk has joined #openstack-swift15:03
openstackgerritAlistair Coles proposed openstack/swift master: Document SAIO rsync service setup for ubuntu 16  https://review.openstack.org/44316215:07
*** tdasilva- has joined #openstack-swift15:08
*** _JZ_ has joined #openstack-swift15:09
*** jaosorior has joined #openstack-swift15:11
*** sileht has joined #openstack-swift15:13
*** tdasilva- has quit IRC15:13
*** tdasilva- has joined #openstack-swift15:28
*** sams-gleb has joined #openstack-swift15:33
*** links has joined #openstack-swift15:36
*** sams-gleb has quit IRC15:37
*** tanee is now known as tanee_away15:40
openstackgerritMonty Taylor proposed openstack/swift master: Replace references to swift.openstack.org  https://review.openstack.org/44319015:48
openstackgerritAndreas Jaeger proposed openstack/python-swiftclient master: Change swift.o.o URL  https://review.openstack.org/44319815:54
jaosoriorcschwede: could you check this out if you get a chance https://review.openstack.org/#/c/443104/ ?15:55
patchbotpatch 443104 - python-swiftclient - Use generic keystone client instead of versioned one15:55
*** rcernin has quit IRC15:58
*** Jeffrey4l_ is now known as Jeffrey4l15:59
*** joeljwright has joined #openstack-swift16:00
*** ChanServ sets mode: +v joeljwright16:00
*** sams-gleb has joined #openstack-swift16:08
cschwedejaosorior: sure, i'll have a look at that today16:14
jaosoriorcschwede: thanks16:14
*** Jeffrey4l has quit IRC16:15
*** Jeffrey4l_ has joined #openstack-swift16:15
*** jaosorior has quit IRC16:24
openstackgerritMahati Chamarthy proposed openstack/swift master: Limit number of revert tombstone SSYNC requests  https://review.openstack.org/43957216:35
*** chsc has joined #openstack-swift16:39
*** chsc has joined #openstack-swift16:39
mahatic_clayg: dropped off early today. didn't notice gate failure!16:39
notmynamegood morning16:43
timburkeclayg: json.dumps always gives you native strings because it's fundamentally a textual format. pickle uses a binary format, so it needs binary data. makes about as much sense as anything to do with strings in the py2-py3 transition...16:45
* notmyname is a little sad that it seems infra want's to remove swift.openstack.org16:49
openstackgerritAlistair Coles proposed openstack/swift master: Test EC chunk_transformer with larger input chunks  https://review.openstack.org/44210816:51
mahatic_clayg: re: "line 271, in object_audit#012    ts = df._ondisk_info['ts_info']['timestamp']#012KeyError: 'ts_info" oops? But don't notice any change suppressing it on master. I still see that bit16:53
* mahatic_ is calling it a night16:54
*** links has quit IRC16:55
claygmahatic_: nah, you fixed that?  something with DiskFileExpired or Deleted or something?16:56
claygdewanee: that should be fine?  I mean some rebalance traffic probably started - some disks might be more full than others - that's not great - but just push out new/better rings - it'll probably start to work itself out16:57
*** winggundamth has quit IRC16:57
mahatic_clayg: right DiskFileDeleted. I thought, that also started leaving some trace back that I wasn't aware of :D what a relief!17:00
mahatic_clayg: you're back online in 6hrs? :O17:02
claygkauphy is superior alternative to zzz17:03
claygnotmyname: don't be sad!  they want to remove ci.openstack.org too!  What they *need* id a DNSaaS project that's widely deployed and maintained so that they can automate and scale self-service horizontal and vertical per-project vanity domain provisioning and maintenance17:05
claygnotmyname: you should write spec and work on it!  that sort of cross project work is what makes OpenStack *one* project17:06
notmynamenah, I was thinking of just being sad about how things aren't the way they used to be17:08
claygoh... yeah that makes sense too17:09
dewaneeclayg, I am not sure I understood completely how rings works when rebalancing is involved17:09
dewaneeI'll clarify: 2 rings one the "parent" of the other17:10
notmynamemagic17:10
dewaneethe parent got pushed by mistake after all the data movement triggered by the rebalanced "child" was complete17:10
* notmyname is not being helpful this morning in any irc channel17:10
claygnotmyname: rings are not magic pixy dust that transport data ;)17:11
dewaneenow assuming I have the same ring running on both server (really small deployment)17:11
notmynameclayg: that's tsync, right?17:12
claygdewanee: do you still have the child ring?17:12
dewaneeyes17:12
claygnotmyname: tsync is not magic pixy dust that transport data ;)17:12
notmynamelol17:12
claygno magic pixy dust!17:12
dewaneeshould I rebalance that one if I need to change weights? or the current runnign one?17:12
claygdewanee: I mean I hate to sound flippant - but just deploy the child rings out - it'll be fine17:12
notmynamedewanee: when you say parent and child, is the parent the first one and the child is after a rebalance?17:13
claygoh... do you *have* weights that need to change?17:13
dewaneechild is after weight change + rebalance17:13
notmynamekk thanks17:13
dewaneewe were taking all the erasure coded stuff out of a node17:13
claygdewanee: the problem is that it takes a long time for the EC reconstructor to get the on-disk state to match the in-ring state17:14
clayglike... a *long* time :\17:14
dewaneeok so let's ask the million dollar question:17:14
dewaneecan data be lost messing up with rings as we unwillingly did17:15
dewanee?17:15
claygdewanee: no, not really17:15
dewaneeconsidering the modification regarded the weight change of the object ring in erasure coding17:16
claygI mean I'm trying to think how that might happen - I can't think of anything - even unlikely17:16
claygdewanee: the thing with rings is they're just a replica2part2dev table - all the replicas of all the parts have to have a device_id filled in the table - *which* device_id can change depending on lots of builder options17:16
dewaneeso the node that had all the segments and find itself having too many of them according to the ring won't simply delete them17:16
claygbut all the replicas of all the parts have to be assigned17:16
claygwhen a node picks up a ring ... if it seems it has a part-replica that isn't assigned to it - it tries to move it to where it goes17:17
claygsimple17:17
dewaneeclayg, you are being really helpful so let me ask one more thing17:17
claygdewanee: no, only after it moves it (successfull) to the new location will it delete it17:17
dewaneeok17:18
claygit's acctually *really* common to *over replicate* during a rebalance17:18
clayglike you have to have the data in 4 places before you can have it only 3 again17:18
*** tesseract has quit IRC17:18
claygor in EC you'll have two copies of a fragment that moved before you have only one copy of each fragment17:19
dewaneeit is my understading that swift won't consider ring that have a timestamp prior to the current loaded ring file17:19
dewaneebut I assume that when the node gets rebooted/service restarted it will use what finds on disk. Is that correct?17:19
*** JimCheung has joined #openstack-swift17:20
claygrings have timestamps?  you mean like mtime?  does that get preserved if you idk, rsync your ring to your servers maybe?17:20
dewaneewe use a deployment system that in principle preserve those17:20
dewaneeI meant mtime , yes17:21
claygdewanee: yeah I guess that's true - i've never really consider the implications there - definately on restart the reload machineary is just going to use whatever ring it finds17:21
*** psachin has quit IRC17:22
claygthat's kind of a weird artificat/side-effect - it wasn't really by design - it's just checking a files mtime with stat is cheaper than .... idk doing some sort of checksum to see "has the ring changed"17:22
dewaneeok so sorry for not having pointed out earlier but the reason I am investigating all this is because we have a 80k replication failures on nodes that appears perfectly sane17:22
dewaneeI thought that might had something to do with this ring mess we did\17:23
claygthe idea is just that running services will pick up "the new" ring after ring_check_interval - no one was trying to prevent an older mtime from being reloaded - I sorta thing that is maybe a surprising behavior in practice that could probably be considerd a bug :\17:23
claygdewanee: maybe it's trying to push data to a node that's full?17:23
dewaneeI wish17:23
*** vint_bra has joined #openstack-swift17:24
claygdewanee: it could also just be getting rejected for concurrency a lot17:24
dewaneeok I'll look into those. It would surprise me as the service has really few users/objects17:25
dewaneethanks meanwhile! time for me to go.17:25
notmynamenah, the replication concurrency.17:25
notmynamenot client17:26
dewaneemmh that could very well be now that you mention it. we had problem with the reconstructor eating up memory and taking an unbelievable amount of time to reconstruct 120 disks17:27
dewaneeso we spawned a few with a more limited scope17:27
dewaneelet's say 12 disks17:27
notmyname120 disks. on one server? or in the cluster total?17:27
dewaneeon one unfortunately17:27
claygplease be in one server!17:27
claygyes yes yes!17:28
notmynamelol17:28
clayglol17:28
dewaneeahah17:28
dewaneenot following17:28
notmynamedewanee: congrats! you win the award of where swift reconstructor is most terrible!17:28
dewaneewe just have 2 nodes right now so not that many disks17:28
notmynamedewanee: clayg has been ranting about this in the office for quite a while and is currently working on this exact problem :-)17:29
*** hseipp has quit IRC17:29
dewaneeeheh we have been thinking of splitting the enclosure between two nodes for some time now17:29
dewaneeso 60 disks would be more manageable17:29
notmyname10 would be better ;-)17:29
dewaneereally?17:29
claygdewanee: get a newer swift that supports reconstructor handoffs_*only* and try this https://gist.github.com/clayg/01e063655c250d6808e2b341ab65594c17:30
dewaneethan it would completely defy the usecase we bought the server for..17:30
claygnotmyname: stop telling people to use dinky storage nodes - not all software problems are "better" addressed with hardware solutions17:30
claygnotmyname: see ^17:30
notmynameclayg: sorry. sorry, dewanee17:30
dewaneeahaha okok17:30
notmynamedewanee: do what clayg says17:31
dewaneeso thanks and talk to you again for sure!17:31
dewaneegoing for real this time17:31
notmynamegood night17:31
notmynameclayg: it's like good cop, bad cop17:32
clayglol17:32
claygi guess I better typey typey17:32
*** cbartz has left #openstack-swift17:39
openstackgerritRomain LE DISEZ proposed openstack/swift master: Use real mocking in unit tests test_cname_lookup  https://review.openstack.org/44324817:40
openstackgerritRomain LE DISEZ proposed openstack/swift master: Allow to configure the nameservers in cname_lookup  https://review.openstack.org/43576817:40
*** dmorita has joined #openstack-swift17:45
claygkota_: I went ahead and filed lp bug #167118017:46
openstackLaunchpad bug 1671180 in OpenStack Object Storage (swift) "Multiple EC policies can cause reconstructor to get wrong remote suffixes" [Undecided,New] https://launchpad.net/bugs/167118017:46
*** dmorita has quit IRC17:49
*** dmorita_ has joined #openstack-swift17:49
*** dmorita_ has quit IRC18:00
*** dmorita has joined #openstack-swift18:17
claygtimburke: FML, so it was *never* a good fake for *anything*18:29
timburkeclayg: yup :'(18:31
*** disaster has joined #openstack-swift18:33
disasterhi i try to put on tempurl but it don't work. public or private container same way... is there a thing to do on acl or something?18:34
disasteri'm on ovh object storage if that can help18:35
claygtimburke: looks like we just dropped the ball here -> https://review.openstack.org/#/c/51901/318:36
patchbotpatch 51901 - python-swiftclient - enhance swiftclient logging (MERGED)18:36
*** chlong_ has quit IRC18:37
claygtimburke: except... it *is* a dict?  DEBUG:swiftclient:RESP HEADERS: {u'X-Account-Storage-Policy-Ec-Bytes-Used': u'0', u'Content-Length': u'0', ...18:37
openstackgerritMerged openstack/python-swiftclient master: Change swift.o.o URL  https://review.openstack.org/44319818:37
claygoh... that's just scrub_headers being robust to bad mocks - gd!18:38
timburkeclayg: it's turtles all the way down... only instead of turtles, sadness18:39
claygoh, nope scrub_headers is use on request and response headers18:40
claygit *has* to be robust to both types18:40
claygok, good - so we're back to Fake's getresponse should return tuples and the world makes sense18:40
claygerr... getheaders w/e18:41
*** rcernin has joined #openstack-swift18:42
claygwho did you say failed when you changed the fakes to return lists of tuples?18:42
rledisezdisaster: it should work if you set the key on the account. did you try to send a mail to cloud@ml.ovh.net? somebody from the team will look at it tomorrow18:43
timburkeclayg: nobody fails with lists of tuples. two fail without the method at all, so it might make sense to rewrite them similar to how you've rewritten that most-recent test18:44
disasterrledisez: i set a key and i call ovh like 15 times for nothing... "I do a internal request for you"18:45
disasterrledisez: more than a week18:45
disasterrledisez: i don't know if french enterprise hate french people but my experience with this technical support is so so bad18:48
*** mvk has quit IRC18:48
*** pxwang has joined #openstack-swift18:48
notmynamedisaster: ouch. let's keep product/company support out of this channel, but if we can help you with the API calls or understanding how it works, we'd be happy to help in here18:49
openstackgerritClay Gerrard proposed openstack/python-swiftclient master: Fix MockHttpResponse to be more like the Real  https://review.openstack.org/44288118:52
disasternotmyname: sorry, i say that cause rledisez tell me to join ovh support and i'm quite mad about it18:52
*** chlong_ has joined #openstack-swift18:53
notmynamedisaster: I completely understand. and it sounds really frustrating18:53
claygdisaster: on behalf of rledisez I'm sure I can say that he's sorry to hear that - everyone here wants you to have great experience using swift and we want to help in anyway we can18:54
notmynameyes!18:54
rledisezsure. we discussed in private. i’ll make sure everything is handled tomorrow :)18:54
claygdisaster: rledisez is a good guy and friend and I know he works for ovh and shares our sentiment18:55
disasterthanks i know you do your best!18:55
disasterclayg: the way you give me for my purpose with tempurl was really good so the madness to can't do it is high18:56
claygI can sympathise it's a hard thing - one person can't always move a mountain - everyone appreciates a little patience and forgiveness - and i don't think anyone here minds some constrcutive criticism18:56
disastersorry for my english i'm not really sure if he is good or not but you seems to undestand what i say ^^18:57
claygI can't definately relate to getting mad as heck when it's not easy to do the right thing!  Don't give up18:57
*** joeljwright has quit IRC18:58
openstackgerritMerged openstack/swift master: Replace references to swift.openstack.org  https://review.openstack.org/44319019:03
disasterthank you i won't complain more today ^^ goodbye19:07
*** disaster has quit IRC19:07
*** pcaruana has quit IRC19:13
*** bkopilov_ has joined #openstack-swift19:14
*** bkopilov has quit IRC19:14
*** mvk has joined #openstack-swift19:24
*** geaaru has quit IRC19:27
jrichliclayg: if CHANGELOG doesn't need to adhere to 80 lines, then that is fine.  I see there is already a link that exceeds that number.  sorry I didn't realize that.19:28
claygjrichli: oh i have no idea - seems like a reasonable goal in practice - but line wrapping long links is always a stickler19:29
notmynamejrichli: yeah, your comment is good. and the patch makes the file uglier. but wrapping links is hard :-/19:30
claygjrichli: your comment led me (incorrectly?) assume you were mostly warm on the change but had one suggestion for improvement - I agreed with that sentiment but tipped toward let's just merge it since monty/infra had already done the leg work to get it that far and it's more us a burden for them than us19:31
jrichliclayg: iz coo19:32
claygjrichli: you know me tho - i'm super hypocritical and inconssitent - one minute I'm like "merge it doen't matter how ugly it looks - it fixes the thing" - then the next I"m like "this trash isn't getting in on *my* watch; it doesn't matter if this is good; it could be *better*"19:33
*** amoralej is now known as amoralej|off19:39
claygtimburke: maybe the lesson is that we don't need shouldn't have MockHTTPResponse and StubResponse?  swift has at least half a dozen fake response things19:39
*** pxwang has quit IRC20:03
*** chlong_ has quit IRC20:16
*** chlong_ has joined #openstack-swift20:28
*** rcernin has quit IRC20:36
*** adriant has joined #openstack-swift20:43
acoles:) I just installed a fresh keystone service for my SAIO, but noticed this bug https://bugs.launchpad.net/swift/+bug/1662473 :(20:51
openstackLaunchpad bug 1662473 in OpenStack Object Storage (swift) "get internal error when try authenticate by keystone. " [Undecided,Confirmed]20:51
jrichliacoles: was this on Ubuntu 14?20:53
*** joeljwright has joined #openstack-swift20:57
*** ChanServ sets mode: +v joeljwright20:57
timburkerelated: https://github.com/openstack/requirements/commit/08b589c20:58
notmynameknow what time it is? best time of the week! swift team meeting time in #openstack-meeting20:59
mattoliveraumorning20:59
*** spotz is now known as spotz_zzz20:59
*** spotz_zzz is now known as spotz21:00
kota_mattoliverau: mornin21:00
*** mathiasb_ is now known as mathiasb21:00
notmynameacoles: clayg: meeting time courtesy ping21:02
*** m_kazuhiro has joined #openstack-swift21:07
*** mkaminski has joined #openstack-swift21:12
*** mkaminski has quit IRC21:16
*** dja has joined #openstack-swift21:26
*** dja has quit IRC21:32
*** mkaminski has joined #openstack-swift21:33
*** dja has joined #openstack-swift21:33
*** Jeffrey4l_ has quit IRC21:34
*** Jeffrey4l_ has joined #openstack-swift21:35
*** mkaminski has quit IRC21:37
openstackgerritRomain LE DISEZ proposed openstack/swift master: Replace replication_one_per_device by custom count  https://review.openstack.org/39078121:39
*** NM has quit IRC21:41
*** joeljwright has quit IRC21:47
claygrledisez: how do you mean "starting multiple processes" - starting multiple swift-object-reconstructor's?  like by hand?  or you have supervisor script you threw together or something?21:48
claygI feel like recon stats aren't really going to be geared toward having multiple instances of swift-object-reconstructor running21:49
clayg... not sure about statsd metrics - but I think it's about the same problem21:49
rledisezclayg: it’s an sys-V initscript that starts N process (N configurable in /etc/default/swift-object-reconstructor). it just needed a small patch in reconstructor to take the list of devices as parameter while running in forever mode21:49
rledisezyeah, stats are a bit messy, but i’m ok with that as long as it works21:50
*** dja has quit IRC21:50
*** dja has joined #openstack-swift21:51
rledisezclayg: i’m thinking, we also separate revert and sync jobs (so, N processes for revert, and N processes for sync)21:52
claygjesus, how do you do that?  like a command line arg for handoffs_only?21:52
claygor sync_jobs_only?21:52
*** sams-gleb has quit IRC21:53
rledisezyes: -r -> revert, -s -> sync. -d sda,sdb,sdc…21:54
claygdoes the existing devices option only effect once mode or something?21:55
claygyeah i guess so - but that's trivial21:56
rledisezyes, that’s part of the patch: use device option in forever mode21:56
claygthen you had to plumb the revert/sync stuff - I feel like there's still a log of ...21:57
claygI mean kudos for getting something that works and leaning on it - but ... did you at least file an upstream bug or anything?21:58
rledisezyeah, it’s a condition in collect_parts()21:58
claygis that patch up somewhere I can look at it more closely?21:58
rledisezclayg: i should not answer your last two questions, you’ll be mad at me ;)21:59
claygit may be a bit out of context without the sysV script that controls it21:59
claygs'fine21:59
rledisezclayg: clearly. it’s not a nice implementation. i prefer the way object-auditor works, but it’s a lot more work21:59
claygi mean I have my little collection of gross hacks too - i'm not always sure how to share them22:00
claygdo you have a similar thing going for you swift-object-replicators?  with the ssync?22:00
rledisezno, it works fine for us, no patch there22:01
claygcool22:02
claygwell crap https://gist.github.com/clayg/b3df9db01d799da645e597e2bd5f5da322:22
claygI'm not sure what I've done in the reconstructor that is more complex than that... tpool reraise or something I guess22:23
claygor some weird side effect of importing swift.common.utils like lp bug #138081522:23
openstackLaunchpad bug 1380815 in OpenStack Object Storage (swift) "swift.common.utils should not patch logging on import" [High,New] https://launchpad.net/bugs/138081522:23
*** chlong_ has quit IRC22:24
*** vint_bra has quit IRC22:28
*** dja has quit IRC22:35
acolesnotmyname: this bug https://bugs.launchpad.net/swift/+bug/1662473 is fixed IMO but fixed in keystonemiddleware, do we mark it as Invalid or Fix committed?22:36
openstackLaunchpad bug 1662473 in OpenStack Object Storage (swift) "get internal error when try authenticate by keystone. " [Undecided,Confirmed]22:36
notmynameacoles: good question. thinking22:39
*** catintheroof has quit IRC22:44
notmynameacoles: I think the hardest part is the words next to each state that LP provides22:46
notmynameacoles: so I think we should mark it as invalid, but not because it wasn't a bug, but because it was resolved without pushing code to swift22:46
notmynamei'll write some words to that effect22:46
acolesyes, thought exactly that i.e. the subtest for Invalid is quite dismissive but as you say its probably the only sensible state to go to22:47
acolessubtext*22:47
acolesnotmyname: you doing it or me?22:48
notmynamei don't care either way. your call22:49
*** tdasilva has quit IRC22:51
acolesI will22:51
notmynameok, thanks22:51
*** dja has joined #openstack-swift22:53
*** sams-gleb has joined #openstack-swift22:54
openstackgerritOpenStack Proposal Bot proposed openstack/python-swiftclient master: Updated from global requirements  https://review.openstack.org/8925022:54
openstackgerritOpenStack Proposal Bot proposed openstack/swift master: Updated from global requirements  https://review.openstack.org/8873622:55
*** m_kazuhiro has quit IRC22:55
acolesnotmyname: done. good night22:56
notmynameacoles: perfect. thanks. good night22:57
claygso i seemed to make some progress, apparently if you start a greenthread before you fork your mutliprocessing workers that bad...22:58
timburkei could see that, yeah...22:59
*** sams-gleb has quit IRC22:59
*** dja has quit IRC22:59
claygtimburke: it's like i guess the fork'd process doesn't understand it's internal hub state entirely22:59
claygI wish eventlet had more explicit control of the hub - as it is I think like the first time you spawn it starts the hub for you if it's not running?23:00
*** dja has joined #openstack-swift23:09
*** dja has quit IRC23:16
openstackgerritClay Gerrard proposed openstack/swift master: Add multiprocessing worker to reconstructor  https://review.openstack.org/44335623:27
*** catintheroof has joined #openstack-swift23:28
*** kei_yama has joined #openstack-swift23:30
*** chsc has quit IRC23:32
*** NM has joined #openstack-swift23:34
*** klamath has quit IRC23:38
openstackgerritClay Gerrard proposed openstack/swift master: Add multiprocessing worker to reconstructor  https://review.openstack.org/44335623:44
*** pxwang has joined #openstack-swift23:44
*** pxwang has left #openstack-swift23:45
*** dja has joined #openstack-swift23:47
*** NM has quit IRC23:49
*** david-lyle has quit IRC23:56
*** dja has quit IRC23:58

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