Tuesday, 2018-09-04

zaitcevNice00:38
*** rcernin has quit IRC01:24
*** rcernin has joined #openstack-swift01:24
openstackgerritzhulingjie proposed openstack/slogging master: fix bug link in readme  https://review.openstack.org/59947302:00
*** psachin has joined #openstack-swift02:42
*** psachin has quit IRC04:04
*** psachin has joined #openstack-swift04:06
*** links has joined #openstack-swift05:41
*** zigo has quit IRC05:49
*** DHE has quit IRC05:50
*** links has quit IRC06:09
*** hoonetorg has joined #openstack-swift06:23
*** psachin has quit IRC06:25
*** psachin has joined #openstack-swift06:30
*** rcernin has quit IRC06:33
*** ccamacho has joined #openstack-swift07:30
*** cbartz has joined #openstack-swift07:46
*** mikecmpbll has joined #openstack-swift07:58
*** d0ugal has quit IRC08:43
*** psachin has quit IRC08:50
*** tonyb has quit IRC08:50
seongsoochoHi,  I will add new account/container node in existed cluster. Would you check if my procedure is fine?08:57
seongsoocho1. Deploy the ring to new node08:57
seongsoocho2. Wait until the new node get a data from other node.08:57
seongsoocho3. Deploy the ring to all node.08:57
seongsoochoI'm afraid that when different rings are in the cluster at the same time, they will erase each other's data. (That means.. A node says to B node "you have wrong data! delete it!")08:57
*** d0ugal has joined #openstack-swift09:03
*** psachin has joined #openstack-swift09:03
seongsoochoShould I deploy the ring to all server at the same time?09:31
*** DHE has joined #openstack-swift09:53
*** tonyb has joined #openstack-swift09:53
*** hseipp has joined #openstack-swift10:01
*** psachin has quit IRC10:06
*** takamatsu has joined #openstack-swift11:00
*** hseipp has quit IRC11:42
*** ccamacho has quit IRC12:34
tdasilvamattoliverau: congratulations! hope you are all doing well :)12:45
*** ccamacho has joined #openstack-swift13:46
*** itlinux has quit IRC14:15
*** hseipp has joined #openstack-swift14:44
admin6Hi there guys. I’m planning to migrate my swift infrastructure (about 700TB of data mainly on Erasure Coding) which is currently on v2.7. I’d like to migrate it directly to v2.17 (which is packaged in ubuntu 18.04), so it’s a big step of 10 major versions.15:03
admin6I’ve read all the releases notes and nothing seems to be a blocking flag. I’m currently performing the migration on a virtual test environment and so far it seems to work.15:03
admin6However, I’d like some get your precious experts advices on this migration. Do you think it’s a very stupid and risky thing to upgrade 10 versions at once ?15:04
*** itlinux has joined #openstack-swift15:09
*** openstackgerrit has quit IRC15:20
*** Miouge has left #openstack-swift15:29
*** ccamacho has quit IRC15:53
notmynameadmin6: nope. it should work. I mean, of course test it in a lab or even on a VM first. but there's no reason it shouldn't work. we're pretty careful about ensuring that we don't break compat (including configs) and highlighting things in the changelog15:54
notmynamethere may be a couple of config settings that are deprecated, so ensure you've got the configs ready to go. eg if old setting foo changes to new setting bar, you can add bar to your config in the existing cluster15:55
notmynamethe one that comes to mind that you need to pay attention to is the replication concurrency/workers settings15:56
notmyname(also, I'd strongly recommend upgrading to 2.19.0 instead of 2.17.0)15:56
notmynamebut you've got the right idea: check the changelog for important stuff15:56
*** jlvilla-viva is now known as jlvillal15:58
*** hseipp has quit IRC16:24
*** gyee has joined #openstack-swift16:24
*** mikecmpbll has quit IRC16:33
*** silor has joined #openstack-swift17:31
notmynamemattoliverau: congratulations!17:34
timburkemattoliverau: whooo! congrats! get what sleep you can :-)17:37
timburkeseongsoocho: you can deploy the new ring to all nodes at (approximately) the same time. in general, i'd say the sooner you can get the desired topology out there, the better17:40
timburkeseongsoocho: you're right to worry a bit about having multiple versions of a ring in your cluster -- it can lead to extra work where server A has an old ring and pushes data to server B, but server B will look at it and say "I shouldn't have this, let me send it to server C instead"17:42
timburkethe good news, though, it that there's no way to say "you have wrong data! delete it!" -- all deleting of old or handoff data is done as a local decision17:44
timburke(with some caveats about expiring objects)17:44
timburkeadmin6: the biggest thing i'd worry about is https://github.com/openstack/swift/commit/2c3ac54 -- so I'd check what EC schemes you're using and figure out whether you're affected by https://bugs.launchpad.net/swift/+bug/163969117:50
openstackLaunchpad bug 1639691 in PyECLib "EC: Swift can return corrupted Data and be able to go data lost at isa_l_rs_vand policy with >=5 parities" [Undecided,In progress]17:50
timburkei'd make sure liberasurecode is pretty up-to-date -- at least 1.3.1 -- something that includes https://github.com/openstack/liberasurecode/commit/74eaa3717:56
notmynameah, good point timburke17:56
*** cbartz has quit IRC18:21
*** mikecmpbll has joined #openstack-swift18:45
*** itlinux has quit IRC18:58
*** silor has quit IRC19:15
*** openstackgerrit has joined #openstack-swift19:47
openstackgerritPete Zaitcev proposed openstack/swift master: py3: Adapt direct_client and internal_client  https://review.openstack.org/59276119:47
zaitcev" Always two there are, a master and an apprentice... :-) " I meant to answer19:57
zaitcevThe question if there are two of the seg[]19:57
zaitcevtimburke: I think it's a fundamental question if Request.env is an exact clone of WSGI environ passed into the app call. If you retain PEP 3333 format, then every goddamn time anyone refers to anything in there, the user must do the dance. This includes mandator six.PY2 _and_ the encode latin-1, decode utf-8 dance. I thought it was madness.20:03
timburkebut there could be *more than two* as well...20:04
zaitcevThe only upside was that you can refer to PEP-3333 whenever questioned and wash hands20:04
timburkezaitcev: i agree that it's madness, but i'm still worried about it...20:04
timburkeso where do we do the conversion from WSGI stuff to non-madness? how do we ensure it's done once and only once?20:05
zaitcevtimburke: are you worried that someone in China uses a different encoding that miraclously works in the current code despite all UTF-8 assumptions, and now I added a bunch of utf-8 encodings/decodings that may blow up?20:05
zaitcevtimburke: I thought the best place is the constructor for Request.20:06
zaitcevBTW, I took the code for query parameters from slasti wholesale. Battle-tested :-)20:07
zaitcevhttps://github.com/zaitcev/slasti/blob/master/slasti/__init__.py#L15520:08
zaitcevthere's a test, which apparently we lack... a sec20:08
zaitcevhttps://github.com/zaitcev/slasti/blob/master/test/test_unit.py#L10720:09
zaitcevThe mad thing is, you can get all of those by loading different mod_wsgi into Apache20:09
zaitcevFortunately eventlet is not that flexible, but I thought it easier just copy the code I trust.20:10
zaitcevI wish we could prohibit Apache altogether. I think people didn't come by asking running under Apache in a very long time, and it's a dead idea now.20:11
timburkei don't see it happening in the constructor, though; i see it happening in blank()...20:15
zaitcevoh20:15
timburkewhat's the type going to be in the WSGI environ dict? like, i might be amenable to exposing some niceties in the Request attr getters to Do The Right Thing... but going off-script with the WSGI env seems like it's going to cause a bunch of headaches at some point20:16
zaitcevYes, this is not good. There's an opportunity to create Request() that has unconverted environ. It just never happens, but it's a problem.20:17
zaitcevWe can relocate the encoding firewall, so that all the self.member fields are native (or bytes for path_info), but environ is kept as-is. The conversion dance in setters and getters gets heavier.20:19
zaitcevAlso, there's a bunch of places in tests that supply environ argument as a plain dict that they construc.20:20
timburkewon't it happen as soon as we make a request from an environ we get from eventlet? https://github.com/openstack/swift/blob/master/swift/common/middleware/gatekeeper.py#L8020:20
zaitcevyes, this is persuasive20:20
*** itlinux has joined #openstack-swift20:41
openstackgerritMerged openstack/python-swiftclient master: Make py36 unit test job voting  https://review.openstack.org/59902621:08
*** zaitcev has quit IRC21:13
*** itlinux is now known as itlinux-away21:30
*** itlinux-away is now known as itlinux21:30
*** itlinux is now known as itlinux-away21:30
*** itlinux-away is now known as itlinux21:34
*** itlinux is now known as itlinux-away21:35
*** itlinux-away is now known as itlinux21:35
*** itlinux is now known as itlinux-away21:35
*** itlinux-away is now known as itlinux22:01
*** itlinux has quit IRC22:02
*** ianychoi has quit IRC22:22
*** mikecmpbll has quit IRC22:27
*** spartakos has joined #openstack-swift22:48
*** rcernin has joined #openstack-swift22:55
*** itlinux has joined #openstack-swift23:04
*** ianychoi has joined #openstack-swift23:16
*** itlinux is now known as itlinux-away23:34
*** itlinux-away is now known as itlinux23:50

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