Thursday, 2018-06-21

torgomatic_yep, py3 won't decode that, so on py3, check_utf8 simplifies to   try: candidate.decode("utf-8") except UnicodeDecodeError: return False00:03
*** lifeless_ has joined #openstack-swift00:06
*** lifeless has quit IRC00:06
openstackgerritTim Burke proposed openstack/swift master: Have check_drive raise ValueError on errors  https://review.openstack.org/50434100:15
mattoliverautimburke: lol, I spend a bunch of yesterday reading the same thing about wsgi strings, and been hacking the contraints patch to do almost the same, though yours is a little smarter (re:latin1 encoding), from an quick initial look. I'll play with it today.00:15
timburkemattoliverau: sorry, i didn't mean to trample all over your patch -- i just sometimes find it easier to start from master and see where i get with py3 :-/00:17
mattoliverautimburke: no its fine, I'm still new to all this py3 stuff. And the patch was stuck.00:19
mattoliverauit was zaitcev that pinged the patch, and so I had another go and did more reading rather then just getting tests to pass.00:19
mattoliveraubut was still unsure about the latin stuff. so I appreciate the time you put in. But confirms to me we're on the right track :)00:20
timburkehave i mentioned before how weird it feels to be paying *so much* attention to types in a dynamically typed language?00:21
timburkeit's all getting better as a result... it's just painful. especially since we (apparently) have to think in terms of FOUR different types of strings00:22
mattoliverau+100, all the unicode, bytestring, native string in 2 different versions does my head in sometimes :P00:22
torgomatic_seriously; writing code that works with both bytes/str in py3 and contagious Unicode in py2 is a royal PITA00:23
timburke(and that's not even getting into the quoted vs unquoted debacle that lead me down the https://review.openstack.org/#/c/571905/ patch chain...)00:23
patchbotpatch 571905 - swift - Fix quoting for large objects00:23
torgomatic_Agreed. I either don't want to think about the types of things and just jam string-like things together and have it work, *or* I want explicit, compiler-enforced types on these four string-ish things so I'm not playing whack-a-mole with type errors.00:49
zaitcevhttps://github.com/zaitcev/slasti/commit/42f73d700604ff5533e25633a0c49e9c288e6589#diff-6b651c1bae4c691328dbf80764c69372R15500:50
*** two_tired has joined #openstack-swift00:54
openstackgerritMerged openstack/swift master: specify test selector with py3 packages in bindep  https://review.openstack.org/57699301:05
*** gyee has quit IRC01:25
*** two_tired has quit IRC01:27
*** links has joined #openstack-swift01:33
vpc+acloes01:50
vpc+acoles are you there01:50
vpc+mattolievarau01:57
vpc+kota_01:57
*** lifeless_ has quit IRC02:26
*** vpc has quit IRC02:39
*** kei_yama has quit IRC02:39
*** itlinux has joined #openstack-swift02:43
*** lifeless has joined #openstack-swift02:43
*** psachin has joined #openstack-swift02:46
*** spsurya has joined #openstack-swift02:51
*** rcernin has quit IRC02:52
*** kei_yama has joined #openstack-swift02:53
*** rcernin has joined #openstack-swift03:10
*** mwheckmann has quit IRC03:24
*** vpc has joined #openstack-swift03:24
vpchi guys03:24
mattoliverauvpc: o/03:30
vpco/03:32
vpcHi03:32
vpc+mattoliverau03:32
vpcMy swift_proxy_server container cant start due to error: No module named webhook03:33
mattoliverauhave you installed the webhook middleware?03:35
mattoliverauthe proxy needs to be able to find the middleware via an extry point, so needs to be installed in your python path somehow. where is the webhook middleware coming from03:36
mattoliverauvpc: ^03:36
*** kei_yama has quit IRC03:45
vpcahm no03:47
vpci didnt install it03:47
vpcon swift_proxy_Server container03:47
vpci added it on proxy-server.conf03:47
vpc+mattoliverau how can i install if it if i cannot access the container?03:55
*** rcernin has quit IRC03:55
mattoliverauwhy can't you access the container? you should be able to ssh or join or something to the container right? I guess I don't understand enough about the environment you've set up03:57
*** kei_yama has joined #openstack-swift04:02
*** germs has quit IRC04:07
*** lifeless has quit IRC04:08
*** rcernin has joined #openstack-swift04:14
*** lifeless has joined #openstack-swift04:14
*** lifeless has quit IRC04:20
*** lifeless has joined #openstack-swift04:20
*** prasen has quit IRC04:22
*** lifeless has quit IRC04:25
*** lifeless has joined #openstack-swift04:26
*** torgomatic_ has quit IRC04:27
*** StevenK has quit IRC04:29
*** lifeless has quit IRC04:30
*** cshastri has joined #openstack-swift04:30
*** lifeless has joined #openstack-swift04:31
*** cshastri_ has joined #openstack-swift04:33
*** lifeless has quit IRC04:36
*** cshastri has quit IRC04:36
*** cshastri_ has quit IRC04:36
*** lifeless has joined #openstack-swift04:37
*** cshastri has joined #openstack-swift04:39
*** lifeless has quit IRC04:41
*** lifeless has joined #openstack-swift04:43
*** lifeless has quit IRC04:47
*** lifeless has joined #openstack-swift04:48
*** lifeless has quit IRC04:52
*** lifeless has joined #openstack-swift04:54
*** prasen has joined #openstack-swift04:55
*** lifeless has quit IRC04:58
*** lifeless has joined #openstack-swift04:59
*** lifeless has quit IRC05:04
*** lifeless has joined #openstack-swift05:04
*** lifeless has quit IRC05:09
*** lifeless has joined #openstack-swift05:10
*** lifeless has quit IRC05:14
*** lifeless has joined #openstack-swift05:15
*** ccamacho has quit IRC05:21
*** silor has joined #openstack-swift05:21
*** torgomatic has joined #openstack-swift05:31
*** ChanServ sets mode: +v torgomatic05:31
*** links has quit IRC05:32
*** cshastri has quit IRC05:38
vpci disable first the webhook in pipeline +mattoliverau. How can i install the webhook05:38
*** psachin has quit IRC05:38
mattoliveraufirst where are you getting it from? what was the link to the guide your following again?05:39
vpchere05:39
vpchttps://github.com/stmuraka/OpenStackSwift-OpenWhisk/tree/master/OpenStackSwift/Webhook05:39
*** vpc_ has joined #openstack-swift05:42
vpc_hi +mattoliverau sorry i dc05:42
vpc_here is the link https://github.com/stmuraka/OpenStackSwift-OpenWhisk/tree/master/OpenStackSwift/Webhook05:42
*** vpc has quit IRC05:44
mattoliverauvpc_: ok, so how is swift installed in the proxy container? is the source repo checked out somewhere and then pip installed?05:47
mattoliverauthe howto is adding the middleware directly to the swift source. So if your following that, you need to add it to the source, then use something like pip to install it.05:48
vpc_im using kolla05:55
vpc_and it have image05:55
vpc_docker image05:55
*** links has joined #openstack-swift05:56
*** silor has quit IRC05:57
vpc_where can i find the middleware source code?05:57
vpc_since i cannot put in the dokcer image05:58
mattoliverauok, I haven't used docker, but the container image has swift installed inside it. you'll need to get the webhook middleware in there as part of the code or the proxy wont be able to find it as it isn't apart of swift.05:58
mattoliverausorry I mean I haven't used kolla05:58
mattoliverauwhen deploying with kolla, does it deploy it's services git code, ie git? and can you change this repository?05:59
mattoliveraubecuase you could get into the container and attempt to update the code there, or if you can give kolla another repo, you can clone the swift repo and add the code and then point kolla to it.06:00
vpc_im just pulling the image from dockerhub06:01
*** cshastri has joined #openstack-swift06:01
vpc_can i just install the code via pip?06:01
mattoliverauthat will install the code, but pip has upstream code, so without the webhook.06:02
mattoliverauthe webhook middleware you want to use, isn't apart of upstream swift, so you have to get it in there06:02
mattoliverauhttps://docs.openstack.org/kolla/latest/admin/image-building.html#build-openstack-from-source06:02
mattoliverau^ that seems to suggest you could point it at some git repo.06:03
mattoliverauso you can use kolla build.06:03
vpc_what is the git repo the middleware?06:05
mattoliverauwhich middleware? the webhook? its the link you sent me :)06:06
mattoliveraulooks like that kolla build link says you can point it local. So you could checkout the upstream swift code somethere, add the webhook middleware then point kolla at it to build the image06:07
*** StevenK has joined #openstack-swift06:07
vpc_i already added the webhook.py on swift/common/middleware folder06:07
vpc_is that what you mean06:08
vpc_?06:08
mattoliverauto where? in the proxy container?06:09
vpc_yes06:09
vpc_on all the swift container06:09
mattoliverauin site-packages?06:10
*** psachin has joined #openstack-swift06:10
mattoliverauor some other folder (noting I don't use kolla so not sure of their folder layout)06:10
vpc_here06:11
vpc_swift/common/middleware06:11
mattoliveraufull path?06:11
vpc_thats where all the py script is06:12
vpc_http://paste.openstack.org/show/723995/06:13
mattoliverauin the /swift folder can you try and run: pip install .06:14
mattoliverauor something.06:14
mattoliverauif the proxy isn't finding it, then it isn't either in the python patch (hopefully pip install will put it there) or the proxy hasn't been restarted to look for it06:15
vpc_pip install what06:16
mattoliverau.06:16
vpc_Directory '.' is not installable. File 'setup.py' not found.06:16
mattoliverauok so it isn't the repo, just the source code.06:16
mattoliverauwhat does ls /swift show (in a paste)06:16
vpc_http://paste.openstack.org/show/723996/06:17
mattoliverauthat is the repo06:17
mattoliverauso: cd /swift && pip install .06:17
mattoliveraubecause there is a setup.py there06:18
vpc_http://paste.openstack.org/show/723997/06:18
mattoliveraunice, looks like it installed it. so try and restart the proxy and see if it can find the webhook06:19
vpc_wait06:22
*** cshastri has quit IRC06:23
*** ccamacho has joined #openstack-swift06:24
*** cshastri has joined #openstack-swift06:27
*** mvk has joined #openstack-swift06:44
*** gkadam has joined #openstack-swift07:05
*** tesseract has joined #openstack-swift07:11
*** bharath1234 has joined #openstack-swift07:12
*** armaan has joined #openstack-swift07:20
*** links has quit IRC07:21
*** links has joined #openstack-swift07:21
*** pcaruana has joined #openstack-swift07:22
*** geaaru has joined #openstack-swift07:42
*** links has quit IRC07:42
*** geaaru_ has joined #openstack-swift07:43
*** geaaru_ has quit IRC07:46
*** geaaru_ has joined #openstack-swift07:47
*** rcernin has quit IRC07:47
*** geaaru_ has quit IRC07:49
*** links has joined #openstack-swift07:55
*** bharath1234 has quit IRC08:03
*** cbartz has joined #openstack-swift08:04
*** hseipp has joined #openstack-swift08:07
*** vpc_ has quit IRC08:14
*** bharath1234 has joined #openstack-swift08:28
*** vpc has joined #openstack-swift09:24
vpc+mattoliverau im reconfigure sorry wait09:24
bharath1234timburke: All the functional tests are running fine when i run them now. But yesterday for some reason, they didnt work. i am not entirely sure if i can reproduce them also09:33
bharath1234i have eventlet 0.22.109:34
acolesbharath1234: some of the tox test envs run the functional tests against an 'in process' swift i.e. the test sets up an instance of a swift cluster using a predetermined config, so does not require you to have a running swift cluster. For example, [testenv:func-ec]. That can be a useful cross check if the func tests are failing on your SAIO.09:39
*** rcernin has joined #openstack-swift09:39
bharath1234I also get broken pipe errors when running the probe tests. They are traced to the eventlet package.09:39
bharath1234acoles:yup i ll run tox tests now09:40
acolesnote that probe tests require a very specific cluster setup i.e. nodes, policies and rings as per vanilla SAIO installation09:42
acolesif you change your SAIO rings then probe tests may fail09:42
openstackgerritYash Murty proposed openstack/slogging master: Fix log source issue of Public and Service category  https://review.openstack.org/57711209:44
bharath1234acoles: I did play around a bit with the ring-builder commands and created some new rings outside the SAIO installation09:44
acolesnot sure that would explain broken pipe errors though09:45
bharath1234acoles: I only got 3 broken pipe errors. I ll post the entire error message on the launchpad and put the link here09:45
acolesok09:45
bharath1234https://bugs.launchpad.net/swift/+bug/177802809:52
openstackLaunchpad bug 1778028 in OpenStack Object Storage (swift) "Broken pipe errors during probetests" [Undecided,New]09:52
bharath1234please do tell if more context is required09:52
*** rcernin has quit IRC09:53
*** silor has joined #openstack-swift09:54
*** spsurya has quit IRC09:58
*** silor has quit IRC10:05
*** silor has joined #openstack-swift10:07
acolesbharath1234: I may not get time to look into that today10:08
bharath1234acoles: cool cool. whenever you have the time10:15
*** silor has quit IRC10:30
*** mpasserini has joined #openstack-swift10:40
*** rcernin has joined #openstack-swift10:55
*** bharath1234 has quit IRC11:04
*** bharath1234 has joined #openstack-swift11:14
*** mpasserini has quit IRC11:15
*** vpc has quit IRC11:16
*** rcernin has quit IRC11:19
*** armaan_ has joined #openstack-swift11:24
*** armaan has quit IRC11:27
*** bharath1234 has quit IRC11:38
*** rcernin has joined #openstack-swift11:39
*** rcernin has quit IRC11:44
*** bharath1234 has joined #openstack-swift12:03
*** mpasserini has joined #openstack-swift12:15
*** prasen has quit IRC12:16
*** mpasserini1 has joined #openstack-swift12:17
*** mpasserini has quit IRC12:20
*** mpasserini1 has left #openstack-swift12:24
*** cshastri has quit IRC12:41
*** links has quit IRC12:43
*** kei_yama has quit IRC12:43
*** mwheckmann has joined #openstack-swift12:46
*** armaan_ has quit IRC13:06
*** armaan has joined #openstack-swift13:08
bharath1234the value of the swift version has not changed in the swift-ring-builder file in my /usr/local/bin (being specific) folder13:36
bharath1234after pulling the master code to update the version, when i ran ring-builder, i got a distribution error. This was solved by changing the __requires__ = 'swift==2.18.1.dev97'. Is that something we have to deal with at every new release?13:37
*** bharath1234 has quit IRC13:37
acolesyou probably need to run 'pip install -e .' (note the . at end)13:39
acolesafter pulling new version13:40
*** bharath1234 has joined #openstack-swift13:43
*** bharath1234 has quit IRC13:43
*** spsurya has joined #openstack-swift13:44
*** jistr is now known as jistr|mtg13:49
*** ccamacho1 has joined #openstack-swift13:54
*** ccamacho has quit IRC13:54
*** armaan has quit IRC14:00
*** armaan has joined #openstack-swift14:00
*** silor has joined #openstack-swift14:00
*** bharath1234 has joined #openstack-swift14:03
*** links has joined #openstack-swift14:17
*** links has quit IRC14:23
*** itlinux has quit IRC14:31
*** armaan has quit IRC14:37
*** armaan has joined #openstack-swift14:37
*** zhongjun__ has joined #openstack-swift14:55
*** pcaruana has quit IRC14:56
*** hseipp has quit IRC14:57
*** hseipp has joined #openstack-swift15:03
*** silor has quit IRC15:03
*** silor has joined #openstack-swift15:04
*** gkadam has quit IRC15:17
*** itlinux has joined #openstack-swift15:19
*** silor has quit IRC15:19
*** hseipp has quit IRC15:22
*** bharath1234 has quit IRC15:23
*** silor has joined #openstack-swift15:33
*** jistr|mtg is now known as jistr15:36
*** jistr is now known as jistr|off15:47
*** ianychoi has joined #openstack-swift15:48
*** geaaru has quit IRC15:51
*** tesseract has quit IRC16:09
*** cbartz has left #openstack-swift16:11
*** gyee has joined #openstack-swift16:12
*** silor has quit IRC16:16
timburkegood morning16:18
notmynamegood morning16:21
*** d0ugal has quit IRC16:23
*** spsurya has quit IRC16:28
*** mwheckmann has quit IRC16:31
*** ccamacho1 has quit IRC16:36
acolesclayg: zaitcev torgomatic : some thoughts re object server version 'discovery' https://etherpad.openstack.org/p/swift-put-post16:38
*** armaan has quit IRC16:38
zaitcevacoles: I'll have a look. At present I do not understand just what you don't like about expanding the path.16:39
acolesclayg: option 4 is what I was describing last night but since then a simple option 3 occurred to me16:39
*** armaan has joined #openstack-swift16:39
acoleszaitcev: fair point, I'll add some comment to the etherpad16:40
*** raopajay has joined #openstack-swift16:46
*** armaan has quit IRC16:54
*** armaan has joined #openstack-swift16:54
*** armaan has quit IRC16:57
*** psachin has quit IRC16:58
*** mwheckmann has joined #openstack-swift17:08
*** geaaru has joined #openstack-swift17:18
*** hseipp has joined #openstack-swift17:27
*** bharath1234 has joined #openstack-swift17:44
*** germs has joined #openstack-swift18:05
*** germs has quit IRC18:05
*** germs has joined #openstack-swift18:05
*** hseipp has quit IRC18:05
*** germs has quit IRC18:10
timburkehmm... it occurs to me, log analysis may be an argument in favor of new verbs... at least for the POSTs? though, i suppose if you're interested in what *clients* are doing, you're probably just going to look at proxy-server logs, not object-server...18:20
*** gkadam has joined #openstack-swift18:36
torgomatictimburke: good point; you'd also get statsd logging so you could see the timings of the different steps of an encrypted-EC-object-PUT request. Re-using PUT and POST means we'd have to do extra work to break the stats out.18:37
torgomaticProbably not much extra work, but a non-zero amount.18:37
timburkei feel like reusing PUT may not be the worst thing? *shrug*18:39
*** notkevin has joined #openstack-swift18:42
notkevinI have noticed errors like the following on my swift cluster:18:45
notkevinrsyncd[313]: rsync: mkstemp "/37/objects/612077/eed/956ed42383a57ba5d8925be3c60c6eed/.1528878191.30118.ts.tEdzpD" (in object) failed: No such file or directory (2)18:45
torgomaticI mean, it's not bad, it's just that there may be something slightly better. I don't have a strong opinion either way, but I have a weak preference for different verbs.18:45
notkevinI look on the sending server and that file does not exist, and it doesn't exist on the receiving server, but /objects/612077/eed/956ed42383a57ba5d8925be3c60c6eed/1528878191.30118.ts exists on both18:45
notkevinAny idea why I am getting those error messages?18:46
zaitcevHmm. I'd look at path= in rsyncd.conf first. What if you middle-buttoned something there.18:48
notkevindefault_perms_for_dir: sys_acl_get_file(eed/956ed42383a57ba5d8925be3c60c6eed, ACL_TYPE_DEFAULT): No such file or directory, falling back on umask18:49
notkevinIs also on the sending side in the log files18:50
notkevinthe path in /etc/rsync.conf is /srv/node18:51
zaitcevAlso, do you really have a device called "37"?18:51
notkevinYeah, 60 disk jbods18:51
notkevinThe file /srv/node/37/objects/612077/eed/956ed42383a57ba5d8925be3c60c6eed/1528878191.30118.ts exists18:52
*** gkadam has quit IRC18:55
zaitcevMysterious.18:57
notkevinDoes the object-replicator make a .filename.random-text file before rsyncing it to the new node?19:03
notkevinand is that file getting removed from the source before it is copied to the destination?19:03
notkevinBecause a few lines up, this is in the logs object-replicator[1976]: <f+++++++++ eed/956ed42383a57ba5d8925be3c60c6eed/1528878191.30118.ts19:04
zaitcevI'm pretty sure it's how rsync itself works.19:04
notkevinWhich I thought meant that the rsync was successful19:04
notkevinHere is the logs from that period: https://pastebin.com/tN8xERVP19:21
*** geaaru_ has joined #openstack-swift19:21
notkevinIt looks like the command is set to exclude "--exclude=.*.[0-9a-zA-Z][0-9a-zA-Z][0-9a-zA-Z][0-9a-zA-Z][0-9a-zA-Z][0-9a-zA-Z]" which should ignore the temp files?19:23
*** geaaru has quit IRC19:23
*** bharath1234 has quit IRC19:50
zaitcevThis may happen if 37 is suddenly unmounted by the drive-audit.20:07
*** mwheckmann has quit IRC20:40
timburkeam i reading this right? does https://github.com/openstack/swift/blob/2.18.0/test/unit/container/test_updater.py#L217 depend on the particular choices of hash prefix/suffix up at https://github.com/openstack/swift/blob/2.18.0/test/unit/container/test_updater.py#L40-L41 ?20:49
notmynametimburke: would seem so, at first glance20:53
timburkethat makes me a little grumpy :-/20:53
timburkebut i don't feel like fixing it right now...20:54
openstackgerritTim Burke proposed openstack/swift master: container-updater: Always report zero objects/bytes used for shards  https://review.openstack.org/57729720:54
notmynameoh, yikes. that's an important patch timburke21:06
timburkemaybe? we'd kinda acknowledged that during review and said "eh, it probably doesn't matter..."21:07
timburkebut now i've got a complaint from an actual user who's collecting account stats across the whole cluster, so... yeah, patch.21:08
timburkeit's easy enough to just ignore .shards_* accounts, i guess? but it'd be nicer if we didn't do it to begin with, IMO21:09
notmynamebah. bad on me for not noticing that :-(21:09
torgomaticinteresting, so the propagation of stats from shard to root is done by the container sharder, not the container updater?21:13
notkevinzaitcev: The errors appear to only show up when replacing a failed drive or rebalancing the ring21:33
notkevinBased on reviewing the logs from 201821:34
zaitcevnotkevin: I don't have a better idea. Just noticed that 35 works great, 37 fails.21:35
timburketorgomatic: yeah, ultimately, i'd be rather happy to have the stats-reporting move to the updater, the moving-object-rows (both as misplaced objects and as cleaving) move to the replicator, and have the sharder only live on to identify shard ranges (if at all; maybe this could move to the replicator, too?)21:36
timburkeoh, and the shard-audit stuff move to the auditor21:36
*** d0ugal_ has joined #openstack-swift21:44
torgomaticright; that all sounds like a good long-term plan. Probably the stats-reporting move is the highest priority since that's affecting steady-state containers.21:50
*** itlinux has quit IRC22:04
torgomatictimburke: I'm looking at patch 577014 and thinking about the surrogateescape parts. I've convinced myself that the to/from_wsgi stuff is necessary, but I'm not convinced about the need for dodging errors.22:09
patchbothttps://review.openstack.org/#/c/577014/ - swift - py3: Port common/constraints22:09
torgomaticDon't we already enforce that header names and values are UTF-8, in which case there's no error-handling required?22:10
timburkenot for objects :-(22:11
timburkehttps://review.openstack.org/#/c/577014/1/test/unit/common/test_constraints.py@63 in particular is a problem22:12
patchbotpatch 577014 - swift - py3: Port common/constraints22:12
torgomatictimburke: ah, so then all the surrogateescape stuff is necessary since we're not guaranteed anything but "here are some bytes"22:17
timburkeyup22:17
timburkeb'\xff' -> u'\xdcff' and we can *kinda* work with it22:17
*** germs has joined #openstack-swift22:18
*** germs has quit IRC22:18
*** germs has joined #openstack-swift22:18
torgomaticand that's why we need surrogateescape on encode as well, since otherwise it won't eat those surrogates22:18
timburkehttps://en.wikipedia.org/wiki/Universal_Character_Set_characters#Surrogates calls out python for taking an "interesting" approach to undecodable bytes22:19
*** notkevin has quit IRC22:22
torgomaticso that mostly looks good, but now I'm wondering if wsgi_to_str() returning wacky strs is going to be a problem. Generally, if I've got some string S in py3, I expect that S.encode('utf-8') will work, but that's not the case here.22:24
torgomaticI mean, it has to have wackiness in it since you can use arbitrary bytes as object names, but it still sort of violates my expectations22:25
*** rcernin has joined #openstack-swift22:26
torgomaticthen again, Swift did make a choice to allow those arbitrary byte strings in object names; maybe it's just time to pay the piper22:29
*** germs has quit IRC22:31
openstackgerritTim Burke proposed openstack/swift master: py36: Fix test_get_logger_sysloghandler_plumbing  https://review.openstack.org/57731322:43
openstackgerritSamuel Merritt proposed openstack/swift master: Add clarifying comment about surrogate check  https://review.openstack.org/57731522:45
timburkeyou haven't wrestled with sys.argv on py3 enough yet ;-)22:56
timburkepython3 -c 'import sys; print(sys.argv[1])' $(echo -e '\xff')22:57
timburkedoesn't work either --> python3 -c 'import sys; print(sys.argv[1].encode("utf8"))' $(echo -e '\xff')22:58
timburke"works" --> python3 -c 'import sys; print(sys.argv[1].encode("utf8", "surrogateescape"))' $(echo -e '\xff')22:59
timburkeactually round-trips --> python -c 'import sys; print(sys.argv[1])' $(echo -e '\xff')22:59
timburkeround-tripping with py3 --> python3 -c 'import sys, os; stdout=os.fdopen(sys.stdout.fileno(), "wb"); stdout.write(sys.argv[1].encode("utf8", "surrogateescape"))' $(echo -e '\xff')23:02
timburke*obviously*23:02
torgomaticoof23:09
*** itlinux has joined #openstack-swift23:10
*** kei_yama has joined #openstack-swift23:18
mattoliveraumorning23:20
openstackgerritTim Burke proposed openstack/swift master: Reverse shard ranges later  https://review.openstack.org/57026523:36

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