Wednesday, 2014-10-08

*** joeljwright has joined #openstack-swift00:00
*** joeljwright1 has joined #openstack-swift00:01
*** joeljwright2 has joined #openstack-swift00:03
*** joeljwright has quit IRC00:04
*** joeljwright1 has quit IRC00:06
*** joeljwright2 has quit IRC00:08
*** dmsimard is now known as dmsimard_away00:16
*** kyles_ne has joined #openstack-swift00:17
*** gyee has quit IRC00:20
*** lpabon has quit IRC00:32
*** dmorita has joined #openstack-swift00:32
*** kopparam has joined #openstack-swift00:33
*** NM has joined #openstack-swift00:36
*** kopparam has quit IRC00:38
*** shri has quit IRC00:48
*** nitika2__ has quit IRC00:50
*** joeljwright has joined #openstack-swift01:02
*** joeljwright has quit IRC01:06
*** andreia_ has joined #openstack-swift01:08
*** kyles_ne has quit IRC01:25
*** kyles_ne has joined #openstack-swift01:26
swift_fanAre there companies out there that provide *only* cloud storage,01:28
swift_fanand not any other cloud services ?01:28
swift_fanFor example, you would see that Amazon has cloud storage, but also a variety of other cloud services as well.01:28
swift_fanBut are there some companies (small, medium, or large), that focus only on offering/providing cloud data storage ?01:29
*** kyles_ne has quit IRC01:30
swift_fan(And if there are, then are those companies mainly offering main persistent storage, or backup+archive storage) ?01:30
*** kopparam has joined #openstack-swift01:34
*** corvus has quit IRC01:36
*** corvus has joined #openstack-swift01:37
*** kopparam has quit IRC01:39
*** andreia_ has quit IRC01:45
swift_fanpersistent* storage01:45
swift_fanor backup+archive storage01:45
*** nosnos has joined #openstack-swift01:51
*** NM has quit IRC01:59
*** joeljwright has joined #openstack-swift02:02
*** joeljwright has quit IRC02:06
*** mrsnivvel has joined #openstack-swift02:09
*** hhuang has joined #openstack-swift02:10
*** NM has joined #openstack-swift02:14
openstackgerritA change was merged to openstack/swift: Add a reference to the OpenStack security guide  https://review.openstack.org/12670902:17
*** swift_fan has quit IRC02:27
*** swift_fan has joined #openstack-swift02:28
*** NM has quit IRC02:35
*** kopparam has joined #openstack-swift02:35
*** kopparam has quit IRC02:39
*** NM has joined #openstack-swift02:41
*** NM has quit IRC02:53
*** dmsimard_away is now known as dmsimard02:54
*** joeljwright has joined #openstack-swift03:02
*** occupant has quit IRC03:03
*** joeljwright has quit IRC03:06
*** kyles_ne has joined #openstack-swift03:13
*** dmsimard is now known as dmsimard_away03:19
*** oomichi has joined #openstack-swift03:28
*** nosnos has quit IRC03:30
*** kopparam has joined #openstack-swift03:36
*** oomichi has quit IRC03:38
*** kopparam has quit IRC03:40
*** kyles_ne has quit IRC03:42
*** kyles_ne has joined #openstack-swift03:43
*** miqui has quit IRC03:44
*** kyles_ne has quit IRC03:47
*** hhuang has quit IRC04:00
*** joeljwright has joined #openstack-swift04:02
*** joeljwright has quit IRC04:06
*** nosnos has joined #openstack-swift04:19
openstackgerritMadhuri Kumari proposed a change to openstack/swift: Convert maximum length to integer in name_check  https://review.openstack.org/12531504:29
*** kopparam has joined #openstack-swift04:36
*** kopparam has quit IRC04:42
*** joeljwright has joined #openstack-swift05:02
*** hhuang has joined #openstack-swift05:04
*** joeljwright has quit IRC05:07
*** kyles_ne has joined #openstack-swift05:22
*** HenryG_ has joined #openstack-swift05:29
*** HenryG has quit IRC05:30
*** kopparam has joined #openstack-swift05:36
*** zaitcev has quit IRC05:55
*** echevemaster has quit IRC06:01
*** joeljwright has joined #openstack-swift06:02
*** ttrumm has joined #openstack-swift06:03
*** ttrumm_ has joined #openstack-swift06:04
*** joeljwright has quit IRC06:06
*** ttrumm has quit IRC06:07
*** oomichi has joined #openstack-swift06:34
*** shakamunyi has joined #openstack-swift06:35
*** joeljwright has joined #openstack-swift06:38
*** joeljwright has quit IRC06:42
*** kyles_ne has quit IRC06:43
*** kyles_ne has joined #openstack-swift06:43
*** kyles_ne has quit IRC06:48
*** joeljwright has joined #openstack-swift07:02
*** joeljwright has quit IRC07:06
*** k4n0 has joined #openstack-swift07:08
openstackgerritChristian Schwede proposed a change to openstack/python-swiftclient: Use skipTest from testtools instead of inherited Exception  https://review.openstack.org/12532307:09
openstackgerritChristian Schwede proposed a change to openstack/python-swiftclient: Use skipTest from testtools instead of inherited Exception  https://review.openstack.org/12532307:10
*** kopparam has quit IRC07:12
*** shakamunyi has quit IRC07:18
*** shakamunyi has joined #openstack-swift07:18
*** acoles_away is now known as acoles07:22
acolesnotmyname: ack meeting time07:26
*** geaaru has joined #openstack-swift07:28
*** joeljwright has joined #openstack-swift07:35
*** Krast has joined #openstack-swift07:38
*** kota_ has joined #openstack-swift07:39
*** kopparam has joined #openstack-swift07:56
acolesnotmyname: metadata backport review only allowed me +/-108:03
*** foexle has joined #openstack-swift08:06
*** jistr has joined #openstack-swift08:10
*** jistr has quit IRC08:12
*** jistr has joined #openstack-swift08:20
*** shakamunyi has quit IRC08:24
*** kevinbenton has quit IRC08:28
*** kevinbenton has joined #openstack-swift08:36
*** shakamunyi has joined #openstack-swift08:50
*** nellysmitt has joined #openstack-swift08:52
*** Krast has quit IRC08:52
*** shakamunyi has quit IRC08:55
*** Krast has joined #openstack-swift09:01
*** Krast has quit IRC09:04
*** jamiehannaford has joined #openstack-swift09:05
*** Krast has joined #openstack-swift09:05
*** dmorita has quit IRC09:28
*** mkollaro has joined #openstack-swift09:35
*** oomichi has quit IRC09:36
*** haomaiwang has joined #openstack-swift09:48
*** shakamunyi has joined #openstack-swift09:50
*** shakamunyi has quit IRC09:55
*** aix has joined #openstack-swift10:00
*** nosnos has quit IRC10:09
*** mkollaro has quit IRC10:16
*** jistr has quit IRC10:17
*** joeljwright1 has joined #openstack-swift10:18
*** joeljwright has quit IRC10:19
*** Krast has quit IRC10:22
*** jistr has joined #openstack-swift10:22
*** mahatic has joined #openstack-swift10:37
*** nosnos has joined #openstack-swift10:38
*** shakamunyi has joined #openstack-swift10:51
*** shakamunyi has quit IRC10:56
*** mrsnivvel has quit IRC11:03
*** mrsnivvel has joined #openstack-swift11:06
*** haomaiwang has quit IRC11:08
*** openstack has joined #openstack-swift14:14
*** openstackstatus has joined #openstack-swift14:15
*** ChanServ sets mode: +v openstackstatus14:15
*** CaioBrentano has quit IRC14:15
*** kopparam has quit IRC14:15
*** CaioBrentano has joined #openstack-swift14:15
*** kopparam has joined #openstack-swift14:16
zigoHey, I got a question here. Is it ok to use the latest swift with Icehouse?14:19
zigoI wonder, because I'm not sure which version of Swift I should upload for Debian Jessie (which freeze on the next 5th of November).14:20
zigoShould I plan for an upload to Debian Unstable of swift 2.2.0 ?14:20
*** ttrumm has joined #openstack-swift14:20
*** kopparam has quit IRC14:20
vr1swifterdarrel: OK14:20
zigochmouel: Your opinion?14:21
chmouelzigo: i think notmyname would be able to let you know when is up (PST time) ^14:22
zigoOk, thanks.14:22
*** ttrumm_ has joined #openstack-swift14:22
*** ttrumm_ has quit IRC14:23
wasmumremoving storage nodes.  set_weight 0 in the ring but devices still getting put requests, is there a better way to move data to the other devices and remove these nodes?14:23
notmynamezigo: yes it's ok to use the latest swift with icehouse14:25
zigonotmyname: Ok, will upload that soon then.14:25
*** ttrumm has quit IRC14:25
notmynamezigo: to be pedantic, the icehouse release includes swift 1.13.1, and there have been a couple of backports there. what I'm saying is that juno release of swift should work just fine with the icehouse release of other openstack projects14:26
zigonotmyname: I think it's best to have the latest, considering Swift has a rapid pace for releasing...14:27
notmynamezigo: I support that :-)14:27
zigonotmyname: I hope to get 3 years of support for 2.2.0 then! :)14:28
zigo(security patches, I mean...)14:28
notmynamezigo: nice14:28
notmynamezigo: thanks14:28
zigoI meant, from you guys ...14:28
* notmyname commute time14:28
notmynamezigo: we'll do what we can14:28
zigo:)14:28
*** andreia_ has quit IRC14:35
*** haomaiwang has joined #openstack-swift14:35
openstackgerritPrashanth Pai proposed a change to openstack/swift: fsync() on directories  https://review.openstack.org/12692314:36
cschwedemahatic: you don’t need "@mock.patch('swiftclient.service.Connection')" for this test, because swiftclient fails earlier and doesn’t create a new connection14:37
cschwedemahatic: you would need it if you expect the operation to succeed, to actually mock out the connection and make it testable without a running swift cluster at the other side14:38
swift_fanJust curious, but does anyone know whether Swift is good for storing structured data ?14:38
swift_fanI've read somewhere that it's used for unstructured data14:38
*** vr1 has quit IRC14:38
swift_fanbut didn't hear much about its stance on structured data .....14:38
swifterdarrellswift_fan: how would you characterize the difference between structured data and unstructured data?  particularly with respect to read/write access patterns?14:39
swift_fanswifterdarrell : Are you unsure about what "structured vs unstructured data" means ?14:39
swift_fanStructured data - data where you know the semantics/labels of the values (a good example would be database tables).14:40
swifterdarrellswift_fan: I'm unsure what *you* mean in your question and I'm asking for a clarification14:40
mahaticcschwede, oh okay. Also, I would be putting this test under this class : class TestShell, correct? (I'm sorry if you don't exactly remember the class name, I will send the change in any case)14:40
swift_fanUnstructured data - where there is no such labeling of data -- a text document would be a good example.14:40
swift_fanswifterdarrell ^14:40
cschwedemahatic: yes, afaik that is the right class name14:40
*** tdasilva has quit IRC14:41
swifterdarrellswift_fan: great! so on to: how would you characterize the difference between structured data and unstructured data with respect to read/write access patterns?14:41
swift_fanswifterdarrell : That, I'm not sure.14:41
cschwedemahatic: so the whole thing about all this mock stuff in swiftclient is either:14:41
cschwede1) avoid an actual call to Swift (which is not available in the test)14:41
swifterdarrellswift_fan: cool, when you can answer that, you can answer whether Swift would work well for structured data14:41
cschwede2) or make something testable, like the output from a print command14:41
swift_fanswifterdarrell : Just curious, then, what types of read/write access patterns are recommended for Swift ?14:42
*** shakamunyi has joined #openstack-swift14:42
swifterdarrellswift_fan: basically Swift will store data for you at a location, and give it back to you when you ask for it at that location, and you can overwrite all the data at a location (subject to eventual consistency as already discussed), and you can read ranges of the data (HTTP range requests)14:42
swift_fanswifterdarrell : I'll try to get back with a read/write characterization of structured data, too.14:42
swifterdarrellswift_fan: but you cannot do partial writes to an object14:42
*** bsdkurt has quit IRC14:43
swifterdarrellswift_fan: so if you had a Swift object and what was stored in it was some binary representation of a database table, and you wanted to update one row, what would happen?14:43
mahaticcschwede, ah okay. I just discovered through these tests about mock object library in python.14:44
swift_fanswifterdarrell : It seems from your explanation of what exactly Swift does, that wouldn't be possible .....14:44
swift_fanswifterdarrell : Because "you cannot do partial writes to an object".14:44
swifterdarrellswift_fan: well, it'd be *possible*, it'd just be prohibitively slow (you'd have to overwrite the entire table for every row update)14:44
swifterdarrellswift_fan: correct14:45
swift_fanswifterdarrell : So, then why doesn't Swift have a feature that allows for partial writes to an object ?14:45
swift_fanswifterdarrell : Or, why can't Swift be modified to allow for that ?14:45
swifterdarrellswift_fan: engineering tradeoffs14:45
swift_fanswifterdarrell : This makes me curious.14:45
swifterdarrellswift_fan: I'm afraid I don't have time to go into that14:46
swift_fanswifterdarrell : engineering tradeoffs? As in, you *have* to give up one or more things, in order to allow partial writes to an object ?14:46
swift_fanswifterdarrell : And is that one thing extremely crucial ?14:47
swift_fanswifterdarrell : Ok, if you don't have time now that's fine. I'll try to look into it, and perhaps follow up on that later. Thanks14:48
mahaticcschwede, after my changes, i will do the pep8 tests (tox -e pep8) and will run "run_tests.sh", anything else i should be checking before submitting for review?14:50
*** vr1 has joined #openstack-swift14:50
*** shakamunyi has quit IRC14:50
wasmumremoving storage nodes.  set_weight 0 in the ring but devices still getting put requests, is there a better way to move data to the other devices and remove these nodes?14:51
vr1swifterdarrell: if you have the container servers on the proxy servers and let's say you have 3 proxy-servers14:52
vr1if the replication factor is 314:52
vr1and one machine fails14:52
vr1some DB won't be accessible no ?14:52
swifterdarrellswift_fan: for fun and excitement, you can check out this old patch for allowing *appending* (only) to objects, but it didn't get through: https://review.openstack.org/#/c/11969/14:52
swift_fanswifterdarrell : Ok, thanks. I thought up of something that may or may not be a good idea -- why not have each database row (or any portions of the database) be its own Swift "object"/file ?14:54
*** tdasilva has joined #openstack-swift14:54
cschwedemahatic: if you have a running swift cluster (saio) you could run the functional tests too: „sh .functests“14:54
swift_fanswifterdarrell : So that Swift wouldn't have to do partial writes to an object, in order to update/modify a database.14:54
cschwedewasmum: hmm, that should not happen. is the modified ring.gz file distributed to all nodes?14:55
swifterdarrellvr1: with >= 1 replica available, reads can succeed, and with CEIL(replica_count / 2) replicas available (quorum), writes can succeed14:56
swifterdarrellvr1: so in your example, reads and writes to containers would be fine with one node down14:56
swifterdarrellvr1: fire up some VMs and try it!14:56
mahaticcschwede, ah yes. and also i forgot, this one too "sh .unittests"14:57
cschwedemahatic: in that case you could skip „run_tests.sh“14:58
mahaticcschwede, oh okay14:59
*** mkollaro has quit IRC15:05
mahaticcschwede, I'm getting this error when i run the tests: "AssertionError: SystemExit not raised"15:10
mahaticcschwede, http://paste.openstack.org/show/119650/ -> While my test has the above syntax, the rest of them are called differently. Could that be a reason?15:11
*** shakamunyi has joined #openstack-swift15:15
cschwedemahatic: hmm, no, i don’t think so. The test passed fine during my test - I assume you need to do a „python setup.py develop“ (or install) in swiftclient, sounds like it’s not using the modified code (and in that case the error is correct).15:17
mahaticcschwede, hmm, i did run "python setup.py develop"15:20
mahaticcschwede, http://paste.openstack.org/show/119653/ that's the error15:21
cschwedemahatic: what is the output from python -c "import swiftclient; print swiftclient.__file__“ ?15:23
*** aerwin has joined #openstack-swift15:24
mahaticcschwede, "swiftclient/__init__.pyc" that's the output15:25
cschwedemahatic: which is fine. strange. can you upload your new patchset to gerrit, and i have a look at the code there?15:26
mahaticcschwede, sure, will do it15:26
swift_fanswifterdarrell : Would it be a good idea to support database storage in Swift by configuring Swift to upload each database row (or a smaller or larger piece) as its own object, since Swift does not seem to support partial writes to an object ?15:39
swift_fanswifterdarrell : (Instead of storing the whole database or table as an object).15:40
swift_fanswifterdarrell : There's got to be a way to make it work well ..........15:40
openstackgerritMahati proposed a change to openstack/python-swiftclient: Adds a user friendly message when --segment-size is a non-integer  https://review.openstack.org/12527515:44
*** vr1 has quit IRC15:45
*** hhuang has quit IRC15:46
mahaticcschwede, strangely enough, now the tests have passed! Submitted new patchset15:46
glangeswift_fan: that's an interesting idea (the swift as db, objects as rows thing) -- you should try that out and let us know how it goes15:47
*** Nadeem has joined #openstack-swift15:47
cschwedemahatic: great! will review the new patchset later15:48
mahaticcschwede, sure, thank you!15:49
*** k4n0 has quit IRC16:00
*** SkyRocknRoll has joined #openstack-swift16:04
*** SkyRocknRoll has quit IRC16:04
*** SkyRocknRoll has joined #openstack-swift16:05
*** SkyRocknRoll has joined #openstack-swift16:05
*** kyles_ne has joined #openstack-swift16:07
*** SkyRocknRoll has quit IRC16:09
*** SkyRocknRoll has joined #openstack-swift16:09
*** aerwin has quit IRC16:09
*** kyles_ne_ has joined #openstack-swift16:13
*** kyles_ne has quit IRC16:14
*** SkyRocknRoll has quit IRC16:14
*** SkyRocknRoll has joined #openstack-swift16:15
*** SkyRocknRoll has joined #openstack-swift16:15
notmynamegood morning16:16
notmynamemahatic: did you see that I added another OPW project idea. it's more complex than the first one, but it's an option now16:20
notmynameacoles: I too only have +/- 1 on backports https://review.openstack.org/#/c/126645/. we'll have to get ttx to land it, I think16:21
notmynameacoles: probably needs one more core +1 for good measure16:21
acolesnotmyname: ok16:22
*** jistr has quit IRC16:22
mahaticnotmyname, oh cool, looking at it16:23
notmynamethere's a WIP patch for fsync'ing directories. https://review.openstack.org/#/c/126923/16:23
notmynameportante: FYI ^16:23
mahaticnotmyname, great, you're done with the schedule too! And also, i noticed, this one https://review.openstack.org/#/c/93788/ overrides this patch https://review.openstack.org/#/c/119193/16:24
mahaticcorrect?16:24
notmynamemahatic: yes16:26
*** kenhui has joined #openstack-swift16:26
notmynamemahatic: you and nitika are both interested in swift OPW projects, so I'm not sure what happens if you both apply for the same one16:27
mahaticnotmyname, hmm, maybe you should get in touch with one of the coordinators?16:27
notmynamemahatic: for that multinode doc patch, at the same time I'd say that both are good. removing the document until it can be updated completely is best for now, but that isn't a commentary on your UUID/label patch16:28
notmynamezigo: re 3 years of support for swift 2.2.0, I'm not sure we've ever made that promise, at least to that degree, before16:29
zigonotmyname: That's the life of a Debian release.16:30
zigoThere's been very few security issues in Swift in the past.16:30
notmynamereminder to all that today's swift team meeting (in #openstack-meeting) is pushed back 30 minutes to 1930UTC (12:30pm pacific) and will be only 30 minutes max16:30
zigonotmyname: I don't expect so many patches to be backproted, do you?16:30
mahaticnotmyname, sure, makes sense. I was just confused about its status. It's mandatory for OPW to have a patch merged.16:30
notmynamezigo: true. we've done backports to openstack integrated releases before, but only for as long as openstack is maintaining that integrated release16:30
notmynamezigo: and at the same time (and this probably conflicts with debian policy) our primary view is that you can upgrade to each release with no downtime or client breakage16:31
mahaticnotmyname, and here is a doc that could help you about the opw process: https://wiki.gnome.org/OutreachProgramForWomen/Admin/InfoForMentors16:31
mahatichelp you with*16:31
notmynamezigo: not saying we won't backport16:32
zigonotmyname: Things in Debian Stable never see upgrades from one version to the next (appart from a very few exception like Firefox...).16:32
zigoSo no way to upgrade in Debian Stable.16:32
*** kyles_ne_ has quit IRC16:33
notmynamezigo: heh. sounds like that's inviting projects to add internal "update the code to the new version" tools ;-)16:33
*** kyles_ne has joined #openstack-swift16:33
zigonotmyname: Which would not respect the Debian policy. :)16:33
zigonotmyname: There must be only *one* way to upgrade software, and it's called apt.16:34
zigo(or other implementations like aptitude)16:34
zigonotmyname: We consider this kind of features as evil backdors.16:34
*** NM has quit IRC16:36
*** SkyRocknRoll has quit IRC16:41
*** marcusvrn_ has quit IRC16:43
*** bsdkurt has joined #openstack-swift16:45
notmynamezigo: yeah yeah :-)16:45
notmynamezigo: /me has zero plans to start typing that sort of code for swift16:46
*** shakamunyi has quit IRC16:46
notmynameppai: is https://review.openstack.org/#/c/126923/ your patch? (I'm guessing at IRC nicks)16:54
*** NM has joined #openstack-swift17:01
*** aix has quit IRC17:15
*** dmsimard is now known as dmsimard_away17:19
*** dmsimard_away is now known as dmsimard17:20
*** HenryG is now known as HenryG_afk17:20
ppainotmyname, yes17:23
notmynameppai: great! thanks for working on that!17:23
ppainotmyname, :)17:24
notmynameah, good. the metadata backport was approved (/cc hurricanerix)17:26
*** cutforth has joined #openstack-swift17:27
notmynamecutforth: did you see that today's meeting is pushed back? (I know you normally attend)17:29
cutforthnotmyname: yes, I have noticed that.  thanks for the heads up.17:30
notmynamehttp://goo.gl/9UsZoY <-- more different swift review dashboard. this one focuses on things that need to get through jenkins17:35
tdasilvanotmyname: what time is the meeting today?17:36
notmynametdasilva: 1930 (3:30 eastern)17:37
notmynametdasilva: 30 minutes later than normal17:37
tdasilvanotmyname: ok, thanks17:37
*** HenryG_afk is now known as HenryG17:44
*** acoles is now known as acoles_away17:47
*** marcusvrn_ has joined #openstack-swift17:57
*** occupant has joined #openstack-swift17:57
swift_fanglange -- You weren't joking about that ?17:57
*** mrsnivvel has quit IRC17:58
portantenotmyname, ppai: sweet17:58
swift_fannotmyname : Why does Swift not support partial writes/updates to existing objects in the cluster ?18:01
portanteswift_fan: do you mean to ask why objects are immutable?18:01
swift_fanportante : I suppose that may mean the same thing.18:02
swift_fan:/18:02
portanteI believe because of atomicity concerns, GETs need to return a consistent view of the object18:02
swift_fanportante : But I thought that Swift doesn't care about atomicity ; (e.g., eventual consistency).18:02
swift_fan(because it's eventually consistent).18:03
portanteI don't think they are the same concept18:03
swift_fanportante : Then why do GETs need to return a consistent view of the object ?18:03
notmynameswift_fan: a lot of detail on those issues in object storage are described in that Hitachi paper I linked for you yesterday18:03
swift_fanportante : I thought eventual consistency meant that they *don't*.....18:03
portantewhen reading an object being updated on all three replicas, concurrent writes will return potentially conflicting data18:04
swift_fanportante : I wasn't referring to concurrent writes ; I was talking about why partial writes to an object isn't supported.18:05
swift_fanasking, rather18:05
*** mrsnivvel has joined #openstack-swift18:05
swift_fanportante : Not sure why 'concurrent writes' comes into the picture for that .....18:05
*** echevemaster has joined #openstack-swift18:06
portanteswift_fan: I think I am answering that, but perhaps we need to examine all the possible operations on an object, how they can be applied concurrently, and then how the current implementation addresses them18:06
wasmumcschwede: yes, the ring has been pushed to all files and replication has started.  I can see the data moving off of partitions (df -h) but logging is still showing puts to the same (weight 0) partitions18:07
swift_fannotmyname : I remember opening up a lot of links ; do you have that particular one on hand ?18:07
swift_fannotmyname : If not, then no worries.18:07
wasmumusing grizzly on an ubuntu build18:07
notmynameswift_fan: https://dl.dropboxusercontent.com/u/21194/distributed-object-store-principles-of-operation.pdf18:08
swift_fanportante : Because in regards to partial writes to an object, it seems that the binary encoding of the part of the object, can be considered a "sub-object" itself.18:08
swift_fanportante : So I don't see why Swift doesn't support portioning off part of the object just for an update.18:09
portanteswift_fan: so you want swift to do the read/modify/write update itself as a convenience?18:09
swift_fanportante : After all, the portion/part of the object is just a BLOB (binary large object).18:09
portanteand recalculate the MD5 checksum for the entire object so that the API constraints are satisfied?18:10
swift_fanportante : Are you saying that Swift doesn't do the read/modify/write update itself ? Then what does ?18:10
portantethe API definition is such that with no update, a PUT of an object replaces the entire previous version18:10
portanteso a client is responsible for read/modify/write18:11
swift_fannotmyname : Thank you.18:11
swift_fanportante : What I don't get is why the API definition wasn't first made to say "yes, you can do updates".18:12
portanteperhaps you should code a read/modify/write middleware that would accept the existing etag, offset, block of data, and return the new etag, such that it works under all the existing constraints18:12
portanteswift_fan: not sure why, but perhaps if you attend to implement it, you might get a better insight into what is happening18:12
swift_fanportante : So would it be a better solution to store lots of small objects as "pieces" of the file ?18:14
swift_fanportante : Somewhat like the concept of Static Large Objects.18:14
portanteswift does have that, SLO and DLO, static/dynamic large objects18:14
swift_fanportante : maybe not exactly like that, though.18:14
*** geaaru has quit IRC18:14
portanteCeph does something like that, along with Kinetics drives (if I understand things correctly)18:15
swift_fanportante : So is it recommended to store a database / database tables by using SLO and/or DLO ?18:15
portantehmm ...18:15
portantedatabase?18:15
swift_fanportante : Yes, for instance (just an example; not limited to) -- having each database row be its own object.18:15
swift_fanportante : So that if you want to update/modify only a particular row(s)18:16
swift_fanportante : You don't need to update the entire table (if the table were its own object).18:16
swift_fanportante : Or, in general, I'm wondering if databases are ever stored (in the real production environment), using Swift.18:16
notmynameswift_fan: no18:16
portanteprobably not18:16
swift_fanportante : Basically, whether enterprises ever choose to use Swift, or any Object Storage, to store their databases, ever ?18:17
notmynameno18:17
notmynameif by "database" you're referring to some SQL store that supports ACID18:17
swift_fannotmyname portante : See, here we get into the ACID/consistency debate again -- why does SQL in that case need to support ACID ?18:18
notmynameswift_fan: I get the impression that you need to read up on ACID and strong vs eventual consistency. and distributed systems18:18
swift_fannotmyname : Why does a database storage particular need to be ACID ??18:18
swift_fanparticularly*18:18
swift_fannotmyname portante : It doesn't seem like there's anything special about it that makes it not be able to use eventual consistency as well ?18:19
swift_fanlike Swift.18:19
swift_fannotmyname portante : I have a college-level understanding of ACID, strong, and eventual consistency (in regards to what they are).18:19
swift_fannotmyname portante : In regards to the deep technical motivations of why certain systems (for instance databases) *have to be* ACID, for instance,18:20
swift_fannot so much knowledge there.18:20
claygisn't the c like... consistency?  like *strong* consistency?18:20
claygI think some "datastores" aren't acid, and some "document stores" aren't acid - some of them (mongodb, couch) still support queries...18:21
notmynameswift_fan: go read the hitachi paper I gave you a link for. it does a great job of explaining the need for object storage, the use cases, and the problems implementations have to solve18:21
hurricanerixnotmyname: hurrah! (regarding metadata backport)18:22
swift_fannotmyname portane : Well, I get that SQL databases have to be ACID, since the original designers decided it that way (like how Swift's API places constraints such as no partial updates to objects) -- but the question is why, were these constraints ever in place to begin with ?18:22
claygso you can have a thing that's not acid, and you can call it a database if you want - but I'm sure some popele would disagree with your use of the term - but it's just language - use it however you want - what you say doesn't even have to be true!18:22
swifterdarrellmaybe we should all just drop acid18:22
claygi don't think folks started with "I want to build a thing called acid" it was more of an observed property of a number of similar systems18:23
claygI think many applications have proven you can do interesting things without an acid compliant datastore18:23
notmynameclayg: eventual consistency is best consistency18:24
swift_fannotmyname : Ok, I will read the Hitachi paper for the answer to why Swift API does not support partial updates/writes to an object; however, I'm still confused as to why you can't have SQL databases stored on Swift.18:24
ctennisbecause when you update object data, then immediately read it back you don't have a guarantee that you will get back your updated value.18:26
alpha_oriswifterdarrell: lol18:26
alpha_oriswifterdarrell: you're so subversive18:26
swift_fannotmyname : The fact that SQL databases support ACID is a well-known fact, but it doesn't seem to explain very much.18:26
ctennisTechnically you could write a SQL database that uses Swift as long as you don't make a guarantee on the consistency of the data.18:27
alpha_orinotmyname: eventual consistency is the best inconsistency18:27
swift_fanctennis : So that is what discourages everybody from using Swift to store SQL databases ?18:28
swift_fanctennis : Is that a correct conclusion ?18:28
ctennisI guess nobody has had a need to do that, there are already plenty of SQL databases that use other things18:28
ctennisIt would also be horribly slow, because of the HTTP layer18:28
swift_fanctennis : What "other things" do SQL databases use ?18:31
ctennisthey talk directly to a filesystem on a machine18:31
*** elambert has joined #openstack-swift18:31
swift_fanctennis : Are you sure they aren't talking directly to *block storage*, and not to a filesystem ?18:33
ctennisyes, in some cases they do that too18:33
swift_fanctennis : Why would they talk to a filesystem, when they could have direct access to *block storage* ?18:34
ctennisdepends on the implementation, you're getting way off topic though18:34
swift_fanctennis : sorry18:34
ctennisthe point is, you can layer whatever you want on top of swift, some things will work better than others from a performance and fit standpoint18:36
ctennisjust like a block or filesystem18:36
swift_fanctennis : By "layer whatever you want", to clarify, you mean "you can store whatever you want"18:39
swift_fanctennis : ?18:39
ctennissure18:39
swift_fanctennis : Sorry, was just clarifying whether that was what you meant.18:40
swift_fanto see.18:41
*** gyee has joined #openstack-swift18:41
ctennisyeah.  You're fine, no worries.18:41
*** aix_ has joined #openstack-swift18:50
swift_fanctennis : Then is Swift (or other Object Stores) used for *storing* database data when the data isn't being operated on?18:59
*** jistr has joined #openstack-swift18:59
swift_fanctennis : kind of like a form of persistent storage for the databases.18:59
ctennismaybe if it was an archival of that data, but likely not something where you're going to operate directly on the data18:59
swift_fanctennis : Or do enterprises/people try to use cloud *block* storage for that ?18:59
ctennisyou could probably get away with it either way..the main differentiator is that object storage is orders of magnitude cheaper than block storage19:00
*** mahatic has quit IRC19:01
swift_fanctennis : cheaper, you mean in terms of dollars per GB of storage ?19:03
swift_fanctennis : Why so ?19:04
*** kyles_ne has quit IRC19:04
ctennisbecause it's how the market works I guess19:04
*** kyles_ne has joined #openstack-swift19:04
* portante wonders if there is a team meeting today?19:05
peluseportante, it starts 30 min later today19:05
portantek thanks19:06
* portante is out of the loop19:06
* peluse had to scroll up a few screens to find out :)19:06
*** kyles_ne has quit IRC19:09
*** jamiehannaford has quit IRC19:11
*** ejgaunga has joined #openstack-swift19:16
*** mahatic has joined #openstack-swift19:17
* notmyname is out of the earlier meeting19:20
notmynameswift team meeting is in 10 minutes in #openstack-meeting19:20
*** zaitcev has joined #openstack-swift19:21
*** ChanServ sets mode: +v zaitcev19:21
swift_fanHow long is the meeting, usually ?19:22
notmynameswift_fan: normally up to an hour. today it will be max 30 minutes19:23
openstackgerritpaul luse proposed a change to openstack/swift: Allow Diskfile to choose whether to cleanup old files per policy  https://review.openstack.org/11244919:23
*** nshaikh has joined #openstack-swift19:26
*** acoles_away is now known as acoles19:26
ctennisswift_fan: you seem very keen for informational input, why don't you look at some of the broken things at https://bugs.launchpad.net/swift and pick an easy one to fix?  The more you do that, the more exposure you'll get to Swift, and the more you'll understand19:27
notmynameok, meeting time :-)19:30
notmynamein #openstack-meeting19:30
swift_fanctennis : Thanks :)19:30
*** lpabon has joined #openstack-swift19:31
*** ttrumm has joined #openstack-swift19:33
*** kyles_ne has joined #openstack-swift19:35
swift_fanDoes anyone know how to enable healthcheck from the HAProxy end ?19:38
swift_fanI believe in order to enable it from the Swift cluster end, you just insert it into the /etc/swift/*.conf pipelines ?19:38
swift_fanBut how do you make it so that you enable HAProxy to use the Swift cluster's healthcheck feature ?19:39
swift_fan(and how do you verify/check that it's working?)19:39
*** kyles_ne has quit IRC19:39
*** tsg has joined #openstack-swift19:40
*** ttrumm_ has joined #openstack-swift19:46
*** mkollaro has joined #openstack-swift19:50
*** ttrumm has quit IRC19:50
*** kyles_ne has joined #openstack-swift19:51
*** kyles_ne has quit IRC19:55
ahalelook for 'option httpchk' in haproxy manual20:00
*** tsg has quit IRC20:01
*** tsg has joined #openstack-swift20:01
*** lpabon has quit IRC20:02
swift_fanahale : I've been doing that, but I'm in need of a way to verify that it's actually doing the healthcheck.20:02
*** acoles is now known as acoles_away20:02
swift_fanahale : properly20:02
ahalekill a proxy and see what happens on the haproxy stats page for that backend? this is more a question for the haproxy community20:03
*** nellysmi_ has quit IRC20:03
*** jistr has quit IRC20:08
swift_fanahale : ok. wasn't able to access the haproxy stats page for some reason ... any other method ?20:13
*** ejgaunga has left #openstack-swift20:14
*** kyles_ne has joined #openstack-swift20:16
*** ttrumm has joined #openstack-swift20:21
swift_fanahale : Or maybe a way to check that the HAProxy healthchecks are working from the Swift nodes' point of view ??20:22
ahalelogfiles...?20:22
*** ttrumm_ has quit IRC20:24
swift_fanahale : Which one ? I don't see anything referring to healthcheck ...........20:27
swift_fanahale : And I don't know if that's because Swift log files don't store that information, or if it's because healthcheck isn't working.20:27
ahalei dunno wherever you set your healthcheck to - its just a plain get to /healthcheck - theres nothing hard or magical about it20:27
ahaleset your proxy to*20:28
swift_fanahale : ok, so where would that be ?20:29
ahalesrsly? wherever you set it to log to20:30
*** kyles_ne has quit IRC20:32
*** ttrumm has quit IRC20:36
*** kyles_ne has joined #openstack-swift20:37
*** kenhui has quit IRC20:41
swift_fanahale : Okay, I basically added this line into my HAProxy configuration :20:43
swift_fanoption  httpchk HEAD /healthcheck HTTP/1.020:44
swift_fanand am wondering if that is correct, and should make it work.20:44
swift_fanand also, changed the config line that says "mode tcp" to "mode http".20:44
mahaticacoles_away, thank you for your comments. When I move up the check (after line 1183), make the other suggested changes, and run the tests, it throws this error: http://paste.openstack.org/show/119726/20:45
swift_fanIs the above configuration what is needed to make healthcheck work ?20:46
swift_fanAnd is it recommended to use HTTP/1.0 as such :20:49
swift_fanoption  httpchk HEAD /healthcheck HTTP/1.020:49
swift_fanor HTTP/1.1 as such(?) :20:50
notmynamemahatic: which patch?20:50
swift_fanoption  httpchk HEAD /healthcheck HTTP/1.120:50
mahaticnotmyname, https://review.openstack.org/#/c/125275/20:50
*** miqui has quit IRC20:51
swift_fannotmyname : Do you know how to make HAProxy--Swift healthcheck work ??20:52
notmynamemahatic: looking20:52
mahaticokay20:53
mahaticnotmyname, maybe i should move my check before line 1201, correct?20:57
notmynamemahatic: yes, acoles_away's suggestion was a good one20:57
notmynamemahatic: as was cschwede's to use the .get() instead of the try/except20:59
NMclayg: and notmyname I changed the conntrack parameters a few hours ago and no syncing error untill now. It helped a lot :)21:00
notmynameNM: great!!21:00
notmynamemahatic: why don't you make whatever changes are pending, then push that version up so that we can be looking at the same thing21:00
mahaticnotmyname, oh, instead of try/except? I thought it was a better way to replace the existing call. And when i do that, i get a TypeError21:01
notmynameNM: "until now". does that mean you just had an error or that so far you haven't seen any21:01
mahaticnotmyname, alright, will do that21:01
notmynamemahatic: ah, ok21:01
notmynamemahatic: mostly I just want to see the same thing you see :-)21:01
mahaticnotmyname, yes sure :)21:01
NMnotmyname: My bad. I haven't seen any. This blog post was quite helpfull: http://www.pc-freak.net/blog/resolving-nf_conntrack-table-full-dropping-packet-flood-message-in-dmesg-linux-kernel-log/21:02
notmynameNM: great21:03
notmynameNM: we mention conntrack in http://docs.openstack.org/developer/swift/deployment_guide.html#general-system-tuning but also https://bugs.launchpad.net/swift/+bug/1354909.21:05
NMnotmyname: I also found this https://bugs.launchpad.net/swift/+bug/1183152. Do you think it might be the case we were talking about? I mean, the statd error shouldn't be reported as syincing error.21:07
notmynameNM: hmm...and it looks like I'm the one who patched that ;-)21:08
notmynameNM: you're using an older version of swift right? ie not 2.1.021:09
NMI'm upgrading today! I'm upgrading today!21:09
* NM enough shame using python 2.621:10
notmynamelol21:10
mahaticnotmyname, how do i add Closes-Bug line? Should i have to manually link the launchpad bug?21:11
NMBtw, a swiftstack post says it's better to upgrade SN before the proxy. I thought it would be the opposite.21:11
notmynamemahatic: it's just a line you type in to your commit message21:11
notmynameNM: I wrote that one too :-)21:11
notmynameNM: so the main reason is that a proxy being down can handle storage nodes being down. and the storage nodes generally do less than the proxy. so do storage nodes, then proxy. and all of it zone by zone21:12
notmynameNM: and then ask ahale because he's probably the most expert on that in here ;-)21:12
NMI saw it. But the way, did you choose that momment of Joe Arnold on purpose?21:13
notmynamemoment?21:13
*** tgohad has joined #openstack-swift21:13
NMHe is with his mouth open, on the youtube screenshot.21:13
mahaticnotmyname, for this https://bugs.launchpad.net/swift/+bug/1244506, I would put "Closes-Bug: #1244506" ? (excuse for sounding silly!)21:13
ahalemmm, probably it doesn't really matter that much to be honest - just its good to be structured about these things and have an order and stick to it21:14
notmynameNM: oh, heh. actually no. youtube chooses the poster frame (via magic as far as i can tell) and users can't choose it21:14
*** tsg has quit IRC21:15
notmynamemahatic: yup. exactly right. here's an example on a different patch https://review.openstack.org/#/c/126645/21:15
mahaticnotmyname, okay, thank you21:17
openstackgerritMahati proposed a change to openstack/python-swiftclient: Adds a user friendly message when --segment-size is a non-integer  https://review.openstack.org/12527521:17
NMahale: thank you! Any other tip?21:17
ahalewell, thinking about it - most of the weirdness when updating a new cluster is going to be in proxies - the storage is pretty straightforward most times.. so its nicer to confirm that proxy weirdness is from proxy and not interaction with previous version storage.. so thats a reason for storage first21:19
notmynamemahatic: looking21:19
mahaticokay21:19
notmynamemahatic: "FAILED (id=39, failures=3 (+1))" is that what you're seeing?21:20
ahaletake it slowly, when you do proxies, only do one first.. watch the logs for changes.. remember things can be cached and dont always show up first.. be prepared to stop stuff if you're not sure.21:20
*** cdelatte has quit IRC21:20
ahalewe run pretty recent swifts so can see things that haven't popped up before so maybe im a bit more careful than really needed21:21
*** mkollaro has quit IRC21:21
notmynameahale: just means the rest of us can watch https://github.com/rackerlabs/swift/tree/rackspace_production ;-)21:21
mahaticnotmyname, i don't see anything yet. I mean jenkins hasn't posted anything right? Or you mean the error in my local?21:22
notmynamemahatic: ya, locally21:22
ahale:)21:22
NMahale: Waht kind of errors have you seen upgrading swift?21:22
ahaleall kinds ! :)21:22
ahalenah i joke normally its fine21:22
notmynameahale: and by "all kinds" you mean "very few" ;-)21:22
mahaticnotmyname, http://paste.openstack.org/show/119743/ that's what i see in my local21:23
ahaleyeah indeed - very occasionally we get bit by things, normally memcache is involved21:23
notmynamemahatic: what did you run? I ran `./.unittests`21:24
swift_fanWhenever my HAProxy configuration has "mode http", instead of "mode tcp", I keep getting the following error when trying to issue a swiftclient command:21:24
openstackgerritJames Page proposed a change to openstack/swift: Adjust MAX_FILE_SIZE default on 32 bit systems  https://review.openstack.org/12703021:24
swift_fan"_ssl.c:492: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol"21:25
*** joeljwright1 has left #openstack-swift21:25
swift_fanCan anyone figure out why?21:25
*** cds has joined #openstack-swift21:25
cdsanyone around who is familiar with swift's auth mechanisms?21:25
notmynamecds: what are you curious about?21:26
mahaticnotmyname, I see this when i run "./.unittests" -> FAILED (id=25, failures=1)21:27
cdsi have a pretty large swift cluser as part of an (old) openstack deployment21:27
mahaticnotmyname, i earlier ran "sh run_tests.sh"21:27
cdswe need to bring up a completely new openstack cloud, but keep the swift cluster21:27
cdswith the accounts being in the format AUTH_some-keystone-uuid21:28
notmynamehttps://review.openstack.org/#/c/127030/ <<-- first response: "What?!"21:28
notmynamecds: cool21:28
cdshow are my new openstack tenants going to see the containers in the old accounts?21:28
cdswould i have to go into the DB and change the names?21:28
swifterdarrellnotmyname: hahahaha, I remember when I only had 32 bits21:28
notmynameswifterdarrell: back in my day we had 8 bits. and we were grateful!21:29
notmynameswifterdarrell: back in my day a byte only had 7 bits. and we were grateful!21:29
notmynamecds: will you still be using keystone in the new setup?21:32
cdsyes21:32
cdsand even if we use the same tenant names, wouldn't the uuids still be different21:32
notmynamecds: ok. so conceptually I think that's pretty simple and totally possible. probably will take some careful planning though21:32
notmynamecds: keystone is a map of user ID to swift account. so conceptually it's just* making sure the new keystone instance has the right mapping.21:33
cdswell hopefully is is possible without having to transfer 100TB+ out of the original swift cluster :)21:33
notmyname* I hate the work "just"21:33
notmynameword21:33
notmynamecds: right. that should be avoided :-)(21:33
NMahale: Would you suggest to restart the memcahe? Or only if necessary?21:34
notmynameNM: no!21:34
openstackgerritJames Page proposed a change to openstack/swift: Adjust MAX_FILE_SIZE default on 32 bit systems  https://review.openstack.org/12703021:34
ahaleoh as little as possible for us! it kills auth endpoints21:34
notmynameNM: well, it depends on your usage. normally no, though21:34
notmynameahale: "this kills the keystone"21:34
notmyname(or whatever auth you have)21:35
ahaleyeah21:35
cdsnotmyname: thanks, I can probably figure it out21:35
notmynameahale: I remember when auth guys were complaining that the auth load from swift was causing them trouble. then we found out we had a 1% cache miss rate. we were only sending them 1% of the traffic!21:35
cdsnotmyname: one more question, how safe would you feel upgrading swift essex straight to juno?21:36
*** jamespage has joined #openstack-swift21:36
ahaleahh good times notmyname - sometimes scale can be scary21:36
notmynamecds: I'd suggest moving in a couple of steps. one marker would be 1.13.1 (the last 1.X series) before moving to 2.2.021:37
cdsswift --version21:38
cdsswift 1.021:38
cdslol :)21:38
notmynamecds: no, that's the version of the CLI21:38
cdsoh21:38
*** foexle has quit IRC21:38
notmynamecds: and that's not because I'm too concerned about upgrades, it's just to give you some places to check. read over the CHANGELOG. it should have the important things listed that would affect upgrades21:39
mahaticnotmyname, when i run "./.unittests" again now, i get "FAILED (id=26, failures=1)"21:39
notmynamecds: let me go find the essex release21:39
notmynamecds: the openstack essex integrated release included swift 1.4.821:40
*** ppai has quit IRC21:40
*** tdasilva has quit IRC21:40
openstackgerritPrashanth Pai proposed a change to openstack/swift: fsync() on directories  https://review.openstack.org/12692321:40
mahaticnotmyname, I'll call it a night. Please leave your comments, will check them in the morning21:42
notmynamemahatic: ok. have a good night!21:44
cdsnotmyname: is there something exposed by the swift api to download files by the date last modified? ie download oldest files first?21:44
notmynamecds: no21:45
openstackgerritDavid Goetz proposed a change to openstack/swift: Ssync does not replicate custom object headers  https://review.openstack.org/12703321:46
*** shri has joined #openstack-swift21:48
notmynamedfg: is that the bug you mentioned last week? ^^21:54
dfgnotmyname: ya21:55
*** nellysmitt has joined #openstack-swift22:00
*** nellysmitt has quit IRC22:05
*** tgohad has quit IRC22:08
*** echevemaster has quit IRC22:13
NMGood night guys :)22:14
*** CaioBrentano has quit IRC22:16
*** NM has quit IRC22:20
*** cdelatte has joined #openstack-swift22:21
*** shakamunyi has joined #openstack-swift22:21
*** swift_fan1 has joined #openstack-swift22:24
*** swift_fan has quit IRC22:26
*** shakamunyi has quit IRC22:35
*** nshaikh has left #openstack-swift22:40
*** themadcanudist has joined #openstack-swift22:42
themadcanudisthey guys, is there an apachetop like tool for swift proxy logs? Or something to easily convert the logs to apache common/combined format22:42
*** Nadeem has quit IRC22:44
*** pberis has quit IRC22:44
*** dmsimard is now known as dmsimard_away22:45
*** kyles_ne has quit IRC22:47
*** kyles_ne has joined #openstack-swift22:47
*** kyles_ne has quit IRC22:51
*** marcusvrn_ has quit IRC22:52
*** pberis has joined #openstack-swift22:56
notmynamethemadcanudist: swift has a lot more info in the log lines that is in an apache CLF log line. so yeah, you could (probably with a "simple" sed/awk script), but you'll lose info22:59
notmynamethemadcanudist: here's your starting point (we now have it all documented!) http://docs.openstack.org/developer/swift/logs.html22:59
notmynamethemadcanudist: but the quick answer to your original questions is "not that I know of"23:00
*** kyles_ne has joined #openstack-swift23:03
*** dmsimard_away is now known as dmsimard23:07
*** kyles_ne has quit IRC23:07
themadcanudistnotmyname: thanks!23:12
*** kyles_ne has joined #openstack-swift23:15
*** Tyger has quit IRC23:29

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