Friday, 2014-10-17

*** otoolee has quit IRC00:29
*** dmorita has joined #openstack-swift00:30
classicsnaildoes anyone know of a swift setup using facebook's mcrouter as the memcache server?00:32
classicsnailseems to be a decent idea on the face of it00:32
*** kyles_ne has quit IRC00:36
*** dmsimard is now known as dmsimard_away00:43
*** kopparam has joined #openstack-swift00:47
*** kopparam has quit IRC00:51
*** exploreshaifali has quit IRC00:53
*** X019 has quit IRC01:06
*** otoolee has joined #openstack-swift01:11
*** kyles_ne has joined #openstack-swift01:12
*** jasondotstar has quit IRC01:17
*** X019 has joined #openstack-swift01:19
*** addnull has joined #openstack-swift01:24
*** X019 has quit IRC01:30
*** nosnos has joined #openstack-swift01:32
*** haomaiw__ has quit IRC01:47
*** kopparam has joined #openstack-swift01:47
*** haomaiwang has joined #openstack-swift01:48
*** kopparam has quit IRC01:52
*** kyles_ne has quit IRC01:52
*** kyles_ne has joined #openstack-swift01:53
*** kyles_ne has quit IRC01:57
*** haomaiw__ has joined #openstack-swift02:04
*** haomaiwang has quit IRC02:04
*** kyles_ne has joined #openstack-swift02:10
*** haomaiwa_ has joined #openstack-swift02:16
*** haomaiw__ has quit IRC02:19
*** kyles_ne has quit IRC02:27
*** kyles_ne has joined #openstack-swift02:28
*** kyles_ne has quit IRC02:30
*** kyles_ne has joined #openstack-swift02:30
*** madhuri has quit IRC02:37
*** madhuri_ has quit IRC02:38
*** kopparam has joined #openstack-swift02:48
*** kopparam has quit IRC02:53
*** kyles_ne has quit IRC03:06
*** kyles_ne has joined #openstack-swift03:06
*** kyles_ne has quit IRC03:10
*** dave-mccowan has quit IRC03:15
*** diablos has joined #openstack-swift03:15
*** mahatic has quit IRC03:16
*** mrsnivvel has quit IRC03:28
*** acoles has quit IRC03:32
*** acoles_away has joined #openstack-swift03:37
*** acoles_away is now known as acoles03:37
*** ChanServ sets mode: +v acoles03:37
*** mrsnivvel has joined #openstack-swift03:46
*** kopparam has joined #openstack-swift03:49
*** kopparam has quit IRC03:54
*** diablos has quit IRC03:54
*** addnull has quit IRC04:01
*** adu has quit IRC04:04
*** hhuang has joined #openstack-swift04:12
*** adu has joined #openstack-swift04:16
*** SkyRocknRoll has joined #openstack-swift04:19
*** SkyRocknRoll has joined #openstack-swift04:19
*** addnull has joined #openstack-swift04:33
*** addnull has quit IRC04:45
*** addnull has joined #openstack-swift04:46
*** kyles_ne has joined #openstack-swift04:48
*** kopparam has joined #openstack-swift04:50
*** addnull has quit IRC04:50
*** ppai has joined #openstack-swift04:52
*** kopparam has quit IRC04:54
*** dmsimard_away is now known as dmsimard04:56
*** acoles has quit IRC05:00
*** addnull has joined #openstack-swift05:03
*** zaitcev has quit IRC05:08
*** acoles_away has joined #openstack-swift05:12
*** acoles_away is now known as acoles05:14
*** ChanServ sets mode: +v acoles05:14
*** otoolee has quit IRC05:15
*** otoolee has joined #openstack-swift05:27
*** kopparam has joined #openstack-swift05:36
mattoliverauGood night swift world, have a great night and weekend.05:38
*** gyee has quit IRC05:42
*** hhuang has quit IRC05:49
*** k4n0 has joined #openstack-swift06:09
*** kyles_ne has quit IRC06:14
*** kopparam has quit IRC06:30
*** addnull has quit IRC06:32
*** addnull has joined #openstack-swift06:33
*** adu has quit IRC06:34
*** ttrumm has joined #openstack-swift06:34
*** echevemaster has quit IRC06:36
*** addnull has quit IRC06:37
*** addnull has joined #openstack-swift06:40
*** echevemaster has joined #openstack-swift06:41
*** echevemaster has quit IRC06:43
*** acoles has quit IRC06:44
*** addnull has quit IRC06:49
*** acoles_away has joined #openstack-swift06:56
*** acoles_away is now known as acoles06:57
*** ChanServ sets mode: +v acoles06:57
*** addnull has joined #openstack-swift07:14
*** dmsimard is now known as dmsimard_away07:15
*** jamiehannaford has joined #openstack-swift07:21
*** otoolee has quit IRC07:28
*** nshaikh has joined #openstack-swift07:29
*** tushar has quit IRC07:35
*** otoolee has joined #openstack-swift07:42
*** jordanP has joined #openstack-swift07:51
*** addnull has quit IRC07:55
*** jamiehan_ has joined #openstack-swift07:58
*** addnull has joined #openstack-swift08:00
*** jamiehannaford has quit IRC08:00
*** jamiehan_ has quit IRC08:12
*** jamiehannaford has joined #openstack-swift08:16
*** otoolee has quit IRC08:19
*** aix has joined #openstack-swift08:19
*** jistr has joined #openstack-swift08:24
*** otoolee has joined #openstack-swift08:33
*** CybergeekDK has quit IRC08:35
*** sileht has quit IRC08:41
*** CybergeekDK has joined #openstack-swift08:42
*** sileht has joined #openstack-swift08:42
*** CybergeekDK has quit IRC08:44
*** CybergeekDK has joined #openstack-swift08:48
*** addnull has quit IRC08:50
*** nellysmitt has joined #openstack-swift08:57
*** addnull has joined #openstack-swift09:10
*** ttrumm has quit IRC09:11
*** astellwag has joined #openstack-swift09:14
*** SkyRocknRoll has quit IRC09:32
*** mkollaro has joined #openstack-swift09:33
*** addnull has quit IRC09:38
*** addnull has joined #openstack-swift09:40
*** addnull has left #openstack-swift09:41
*** addnull has joined #openstack-swift09:41
*** addnull has quit IRC09:45
*** addnull has joined #openstack-swift09:45
*** haomaiwa_ has quit IRC09:59
*** haomaiwa_ has joined #openstack-swift10:00
*** CybergeekDK has quit IRC10:00
*** astellwag has quit IRC10:11
*** astellwag has joined #openstack-swift10:15
*** haomai___ has joined #openstack-swift10:16
*** haomaiwa_ has quit IRC10:16
*** haomai___ has quit IRC10:21
*** haomaiwang has joined #openstack-swift10:21
*** CybergeekDK has joined #openstack-swift10:26
*** mkollaro has quit IRC10:31
*** haomaiwang has quit IRC10:39
*** jamiehan_ has joined #openstack-swift10:45
*** jamiehannaford has quit IRC10:48
*** jamiehan_ has quit IRC10:50
*** jamiehannaford has joined #openstack-swift10:53
*** jamiehan_ has joined #openstack-swift10:55
*** addnull has quit IRC10:58
*** jamiehannaford has quit IRC10:58
*** ppai has quit IRC11:03
*** addnull has joined #openstack-swift11:04
*** jamiehan_ has quit IRC11:04
*** dave-mccowan has joined #openstack-swift11:10
*** X019 has joined #openstack-swift11:10
*** jamiehannaford has joined #openstack-swift11:10
*** nellysmitt has quit IRC11:13
*** dave-mccowan has quit IRC11:14
*** nellysmitt has joined #openstack-swift11:14
*** dave-mccowan has joined #openstack-swift11:15
*** ppai has joined #openstack-swift11:17
*** nellysmitt has quit IRC11:19
*** exploreshaifali has joined #openstack-swift11:21
*** CybergeekDK has quit IRC11:29
*** CybergeekDK has joined #openstack-swift11:31
*** ppai has quit IRC11:35
*** exploreshaifali has quit IRC11:44
*** ppai has joined #openstack-swift11:49
*** jordan__ has joined #openstack-swift11:55
*** ppai has quit IRC11:56
*** jordan__ has quit IRC11:56
*** mkollaro has joined #openstack-swift12:04
*** ppai has joined #openstack-swift12:10
*** dmorita has quit IRC12:25
*** davidhadas has quit IRC12:30
*** g4rg4m3|_ has joined #openstack-swift12:31
*** nosnos has quit IRC12:41
*** nosnos has joined #openstack-swift12:42
*** nosnos has quit IRC12:46
*** k4n0 has quit IRC12:55
*** mrsnivvel has quit IRC13:09
*** haomaiwa_ has joined #openstack-swift13:10
*** openstackgerrit has quit IRC13:19
*** openstackgerrit has joined #openstack-swift13:20
*** exploreshaifali has joined #openstack-swift13:21
*** ppai has quit IRC13:23
*** nshaikh has quit IRC13:27
*** CaioBrentano has joined #openstack-swift13:39
*** addnull has quit IRC13:45
openstackgerritDaniel Wakefield proposed a change to openstack/python-swiftclient: Add MD5 sum that can calculate partial files  https://review.openstack.org/12925413:45
*** adu has joined #openstack-swift13:46
*** dave-mccowan has quit IRC13:47
*** davidhadas_ has joined #openstack-swift13:51
*** adu has quit IRC13:53
*** adu has joined #openstack-swift13:54
*** mahatic has joined #openstack-swift14:04
*** infotection has quit IRC14:04
*** dave-mccowan has joined #openstack-swift14:07
*** adu has quit IRC14:07
*** infotection has joined #openstack-swift14:14
*** hemanthm has joined #openstack-swift14:17
*** infotection has quit IRC14:20
*** infotection has joined #openstack-swift14:22
*** otoolee has quit IRC14:30
*** morganfainberg has quit IRC14:32
*** silor has joined #openstack-swift14:32
*** nellysmitt has joined #openstack-swift14:33
*** infotection has quit IRC14:33
*** morganfainberg has joined #openstack-swift14:33
*** infotection has joined #openstack-swift14:36
*** mkollaro has quit IRC14:38
*** mkollaro has joined #openstack-swift14:40
*** infotection has quit IRC14:40
*** infotection has joined #openstack-swift14:41
*** mahatic has quit IRC14:41
*** infotection has quit IRC14:49
*** infotection has joined #openstack-swift14:50
*** annegent_ has joined #openstack-swift14:50
*** otoolee has joined #openstack-swift14:50
*** infotection has quit IRC14:57
*** CaioBrentano has quit IRC14:58
*** mahatic has joined #openstack-swift14:59
*** infotection has joined #openstack-swift15:01
*** erlon_ has joined #openstack-swift15:03
*** jamiehan_ has joined #openstack-swift15:05
*** jergerber has joined #openstack-swift15:07
*** jamiehannaford has quit IRC15:08
*** infotection has quit IRC15:14
*** infotection has joined #openstack-swift15:15
*** infotection has quit IRC15:19
*** bill_az has joined #openstack-swift15:20
*** lpabon has joined #openstack-swift15:22
*** infotection has joined #openstack-swift15:25
openstackgerritA change was merged to openstack/swift: use replication_ip in ssync  https://review.openstack.org/12880815:29
*** otoolee has quit IRC15:29
notmynamegood morning15:35
*** infotection has quit IRC15:37
pelusegood morning15:37
*** infotection has joined #openstack-swift15:37
*** otoolee has joined #openstack-swift15:37
*** mkollaro has quit IRC15:37
notmynamepeluse: (clayg) I think I'm missing something on the proposed GET path with .durable files15:42
pelusewanna chat on the phone for a few secs?15:42
notmynamesure15:43
peluseI'm at 480 554 368815:43
notmynameFWIW, virtualbox with my SAIO works on yosemite15:43
notmynamecalling15:43
*** exploreshaifali has quit IRC15:45
notmynamethat was easy :-)15:50
notmynameclayg: ok so I had a mistaken assumption, but I'm good now15:51
notmyname1) there is always a .data and .durable pair. the .durable file is what tracks the EC object15:51
notmyname2) on reads, the proxy doesn't hear about anything fromt he object server (body or headers) for any .data file that doesn't have an associated .durable15:51
notmyname3) on write, the object can remove older (.data, .durable) pairs after the current timestamp.durable is written15:52
notmynamepeluse: right?15:52
*** infotection has quit IRC15:54
*** infotection has joined #openstack-swift15:55
hemanthmHey, Swift folks! In Openstack Glance world we need some Swift expertise on a spec that is proposing to use multiple containers to store images15:57
hemanthmGlance uses a single container to store all its images at the moment15:58
hemanthmHere is the spec, https://review.openstack.org/#/c/124522/15:58
notmynamehemanthm: glance is storing info on every image in its own DB, right? so if glance is storing a billion images, there are a billion rows in a glance DB somewhere16:01
hemanthmhemanthm: yes16:02
hemanthmnotmyname: yes16:02
notmynamehemanthm: other than the location of the image, how much data is stored about the image in each row?16:03
notmynamehemanthm: well, let me get to my end question...16:03
notmynamehemanthm: do you expect that glance will continue with this model or that glance will offload that bookkeeping problem to the storage backend (like swift)? alternatively, will glance ever move to some DHT/hash ring sort of placement of images?16:04
notmynameis anyone talking about that? is it realistic that glance will do that in the next year?16:05
hemanthmnotmyname: there is no talk about that at this point16:05
notmynamehemanthm: then the spec looks fine from a swift perspective :-)16:06
notmynameI'll add a note in gerrit16:06
notmynamehemanthm: but first..16:06
*** infotection has quit IRC16:06
notmynamehemanthm: jsut to confirm that I understand what's happening.16:06
hemanthmsure16:06
notmynamehemanthm: you're storing images by UUID, and you're proposing that instead of putting them all in one container you put them in different containers based on the first N bytes of the UUID16:07
notmynamethat's pretty much all I see as the swift-impacting parts of that spec16:07
notmynameand that's a normal pattern for swift usage. and recommended16:07
hemanthmnotmyname: yes, it's actually just following that recommendation16:08
notmynamehemanthm: did I miss or misunderstand anything?16:08
*** davidhadas_ has quit IRC16:09
hemanthmnotmyname: there is a suggestion to use Swift 'account_whitelist' to whitelist glance so that we don't hit the rate-limits, if any16:09
notmynameno, I wouldn't do that16:09
hemanthmnotmyname: another suggestion was to store each image in its own container, so 1 container/image16:09
notmynameratelimits aren't because swift depoyers are mean. it's to protect the system overall16:10
hemanthm+116:10
hemanthm:)16:10
hemanthmI did mention that in one of my comments, but I think it makes more sense coming from a Swift guy16:10
hemanthmnotmyname: from a swift perspective, how does storing each image in its own container sound?16:11
hemanthmis it better or inefficient or .. ?16:12
notmynamesounds like you better not sit next to the swift ops guys or they might one day do things to you that you'd find unpleasant.16:13
notmynamemostly it moves the container issues to the account level. it doesn't avoid any issues overall16:14
*** kyles_ne has joined #openstack-swift16:14
notmynameand there are some deployers that do limit the number of swift containers that you can have.16:14
hemanthmyes, sir! makes so much sense, you'll find my comment mentioning that as well16:16
hemanthmnotmyname: it'd be really helpful if you could mention that on the spec16:16
openstackgerritpaul luse proposed a change to openstack/swift-specs: Updates to EC design spec  https://review.openstack.org/12519016:16
pelusenotmyname, right (to your prior EC related comments)16:17
notmynamehemanthm: done16:19
notmynamepeluse: thanks16:19
*** infotection has joined #openstack-swift16:20
*** dmsimard_away is now known as dmsimard16:20
*** dmsimard is now known as dmsimard_away16:22
hemanthmnotmyname: Glance says thanks! :)16:22
pelusenotmyname, maybe you can take a look at https://review.openstack.org/#/c/128491/  I just re-reviwed and tested and I think we're ready to rock16:24
*** infotection has quit IRC16:46
*** jamiehan_ has quit IRC16:46
*** infotection has joined #openstack-swift16:47
*** gyee has joined #openstack-swift16:50
*** exploreshaifali has joined #openstack-swift16:51
*** annegent_ has quit IRC16:52
*** Rynfar has joined #openstack-swift16:53
RynfarI am looking for some assistance solving an issue when performing  segmented uploads with swift.  I am having difficulty finding a good way to validate the upload.16:54
*** acoles is now known as acoles_away16:56
*** infotection has quit IRC16:56
RynfarNever used IRC... am I just supposed to ask questions here?16:57
notmynameRynfar: yup. and welcome!16:58
RynfarThanks!16:59
*** infotection has joined #openstack-swift16:59
*** jyoti-ranjan has joined #openstack-swift17:00
RynfarWe are trying to find a way to upload content via swift to our cloud storage server, but we are running into problems with content periodically failing hashes.  We manually hash the files before uploading and then after downloading verify against that same hash.17:00
notmynamethat's good (that you send and check the etag17:01
RynfarPart of the problem is i don't understand the hashing done by the cloud storage or how to take advantage of it.17:03
notmynameRynfar: what do you not understand?17:03
*** jordanP has quit IRC17:04
*** dmsimard_away is now known as dmsimard17:04
RynfarWhen I upload content, i need generate a hash of the file and compare it to the etag.  Anytime i have done this it has not matched.  So i started relying on my own hashes.17:05
RynfarWhat is the proper way to generate a hash that will match the tag?17:05
Rynfaretag17:05
notmynameRynfar: this is a normal object right? you aren't using large object manifests, right?17:05
RynfarIm not sure if i can answer that.17:06
Rynfaris that based on the file size?17:06
notmynameyes. objects in swift are limited to 5GB (by default). you can logically tie together objects so that you have a "large object" of arbitrary size17:07
Rynfarok so most of our files are less than 5GB but i am segmenting them in 50 MB chunks in order to speed up our upload process.17:07
notmynameok. and you're getting an error (a hash mismatch) on those 50MB chunks?17:08
RynfarWe are not using the built in hashing of the object storage as we don't know how basically.17:10
RynfarI am using a script to hash the file before uploading it. Then after i download it i use the previous hash to compare.17:10
RynfarI would like to use the built in hashing of the object storage, but cannot find documentation that i can understand.   I am very new to this process.17:11
notmynameRynfar: https://gist.github.com/notmyname/f2873b8370c680bb67bd <<-- here's an example using curl17:11
notmynameRynfar: so let's walk through it17:11
notmynamefirst is an account GET. just so you see that it's there17:11
notmynamesecond, I create the container "c"17:12
notmynamethen `ls -lh 1MB` just to show that it exists locally17:12
notmynamenext I upload it to "obj1", and don't set an etag. swift calculates that and stores it for later auditing17:12
notmynamethen I md5 the local 1MB file17:13
notmynameand then I upload 1MB again, this time to "obj2" and also pass in the etag. note that it all works just fine17:13
Rynfarthis is exactly what i was looking for.17:13
notmynameand finally, I try again to "obj3" but this time I send a bad etag (I changed the last 4 bytes to ffff). note the error17:14
Rynfarfantastic, thank you so much!17:14
notmynameRynfar: np17:15
*** infotection has quit IRC17:15
notmynameRynfar: just out of curiosity, can you share what you're using swift for? I'm always interested to find out how people are using it17:15
RynfarWe are using it for a simple automated file delivery system.  We allow users to drop content into a hot folder and then expose it to them via a webpage.  They can select the files they need and retrieve them via a download manager we have built.17:17
notmynamenice!17:18
RynfarWe previously used ftp to upload to the cloud so our manual hash process made more sense and we were able to trap failures easier...(because we understood it)17:18
RynfarI just recently started using swift to do this so there is a lot of new stuff!17:18
notmynameRynfar: please let me know how I can help!17:18
notmynameRynfar: does your download manager do auth and proxy the serving of the files?17:19
notmynameRynfar: one thing you should look in to is swift's tempurl support http://docs.openstack.org/developer/swift/middleware.html#tempurl17:19
RynfarAwesome thank you, that is actually right in line with what we would be using this for.17:20
RynfarI am sure i will be back here, your answers were "swift" :P17:20
Rynfarand most helpful17:21
notmynameRynfar: are you using your own swift deployment or are you using a service provider?17:21
RynfarWe are using a service provider17:21
notmynameok17:22
RynfarOut of curiosity if a file is segmented with swift, will the ETAG still match?17:25
Rynfaror doe the local file have to be segmented and then hashed to obtain a matching hash?17:25
RynfarThe ETAG is concatenated of the ETAG of each segment correct?17:26
notmynamesegmented with swift?17:26
notmynameso if you eg use `split` and break up a file locally and then upload those segments, those are the things that are hashed. think of it from the perspective of swift. swift checks the hashes on a per-object basis17:27
RynfarOk so we don't split them up locally, but when i call swift i use the split command17:27
notmynamehowever, if you are using large object manifests (which you may want to at some point), then the etag is calculated differently17:27
notmynameswift doesn't have anything to automatically split files17:28
Rynfarhang on let me grab the command i am using17:28
*** infotection has joined #openstack-swift17:28
Rynfar-S 52428800 is the flag i am adding when calling swift on our files.17:29
*** morganfainberg is now known as captainmorgan17:29
notmynameah ok. the `swift` CLI tool17:29
RynfarOh yes, my apologies,  i am probably not using terminology correctly.17:29
notmynameno, you are. it's just confusing because "swift" is both the name of the client-side CLI tool and the whole project17:30
Rynfarright, adds to the confusion!17:30
Rynfarsome of our files are bigger than 5GB, but par to the reason we start using -S was so we could speed up the uploads and add --object-threads 2017:31
notmynameright.17:31
Rynfarwe noticed a huge increase in speeds when we split the files and threaded it.17:32
RynfarBut then we got lost in properly validating our uploads, without doing the silly process we are doing now.17:32
notmynamealso, I'd recommend you using the --use-slo option for static manifests rather than dynamic ones.17:32
Rynfarperfect, i will add that17:33
notmynameRynfar: so when you are using manifests (you are with the -S option), then etags are created differently. it's not just an md517:33
Rynfarah, that explains why it never matched.17:34
notmynameRynfar: reason being, large objects can be very large. and they aren't stored in just one place in the cluster.17:34
RynfarSo each piece must have its own hash?17:34
notmynameie swift (the cluster) can't check a local object against it's md5 if it doesn't have all the data on that particular hard drive17:35
notmynameRynfar: see http://docs.openstack.org/developer/swift/overview_large_objects.html17:36
notmynameRynfar: look for etag there for how to do large object etags17:37
RynfarWow i wish i had found that doc a while back.  That has lot of information i have stumbled upon in it.17:38
notmynameRynfar: http://swift.openstack.org/ is where all of those things I've linked are rooted. those are the dev docs that we the devs write for swift17:38
*** infotection has quit IRC17:39
RynfarOk so i understand now that it is a concatenated md5sum of the segments, which will return a different md5 than that of a single file.  How do you compare this to the single file you originally uploaded?17:41
notmynameRynfar: well, if you're using the CLI, then you don't worry about it. if you are using the API directly (eg either with a launguage SDK or otherwise with HTTP requests), then you do17:44
notmynameRynfar: basically, each chunk can be validated by the md5sum, but the manifest object etag is done differently17:45
RynfarRight now i am using the CLI tool.  But i recently had an upload that didn't match our manually generated hash when it was downloaded. That is why i am trying to figure out how to validate the upload matches the local file before registering the content in out database as "good"17:47
notmynameRynfar: yeah, when downloading large object manifests, the etag will be the alternate way17:50
RynfarThis is where i get lost.  If the ETAG is a concatenated md5sum of the segments and i uploaded a single file.  How do i get the same md5sum locally to compare against what was uploaded?17:51
RynfarMy appologies if i am running in a circle.17:52
Rynfarthe single file has many segments that are summed up to make the md5sum hash which is the ETAG.  But locally i only have a single file to generate a hash from, so this is where i don't understand how to verify.17:53
*** infotection has joined #openstack-swift17:53
Rynfarwhen i request the ETAG and try to match it to my local md5hash it doesn't match.17:53
Rynfareven though the content is technically good when i download it because the hash matches once its pieced back together.17:53
*** acoles_away has quit IRC17:55
Rynfarright now our process is - Hash File > Send MD5 Hash to Database > Upload via Swift > Download File > Get MD5 Hash from Database > Hash File17:55
RynfarI would like to Hash File > Send Hash to Database > Upload File > Verify Hash that was uploaded is good > Download File > Get MD5 Hash from Database > Hash File and verify it is good.17:55
notmynameRynfar: you're local DB?17:56
Rynfaryes17:56
notmynames/you're/your/17:56
notmynameok, so here's how that would have to work for the manifest objects17:56
*** acoles_away has joined #openstack-swift17:57
Rynfarpart of the reason for the redundant need to hash file when uploading and when downloading is we don't trust on the fly hashing when files are downloaded.  We require it to be on disk before performing a final hash.17:58
notmynameyou can store the hash of the whole thing in your DB. and you can calculate the hash that you send on the PUT ("md5 of cat md5s of chunks"). when you GET the object, you calculate the md5 of the bytes you receive from swift and compare that to your stored md5. the etag header that you get from swift won't help you there17:58
*** acoles_away is now known as acoles17:58
*** ChanServ sets mode: +v acoles17:58
Rynfaroh wow, i didn't even think about doing that.17:59
notmynameRynfar: you're hashing only what's on disk? that means you're spooling and would be a bottleneck for scale and throughput right?17:59
Rynfarright, the reason we do this is we don't trust what happens in memory.  We've had more than once hashes pass in memory but then fail when written to disk.18:00
RynfarSometimes we use content as large as 700 GB18:01
RynfarSo we have a post processing time that we plan for18:01
*** CaioBrentano has joined #openstack-swift18:01
notmynameis your download app or server something that is a service or is it a local app that every client is using?18:03
Rynfarevery client is using it.18:04
Rynfarlocally18:04
notmynameah ok18:04
Rynfarwe host the device for them, so we are in control of everything end to end.18:04
*** davidhadas has joined #openstack-swift18:06
notmynameafter your app downloads it and validates it, is the data going on the network again? or is it download to the same box where it's used?18:06
Rynfaronce it is validated it is only moved locally to a new location on the same hard drive.18:06
notmynameok18:06
RynfarWe are moving from a satellite system that does most of this for us, so we are attempting to develop our own electronic solution.18:07
notmynamejust to be clear, because it's important, the etag checking weirdness is only necessary for the large object manifests (ie when you're using the -S option). when you aren't, md5sum == etag18:07
RynfarI am a fairly amateur python programmer taking over this project so there is a lot to learn.  Thus my lack of understanding data.18:08
Rynfarok so that is super helpful to know.18:08
Rynfarthe particular file that failed us was actually only 250mb, but i had it split... no reason to split it at 250 mb in this case.18:08
*** infotection has quit IRC18:09
RynfarDo you happen to have an example of how you md5 a local file in byte segments?18:09
notmynametrue, but it sounds like you have to solve for that case anyway18:09
Rynfari believe you were md5 cat the file?18:09
notmynamewhat do you mean "in byte segments"?18:09
Rynfari meant chunks sorry18:10
Rynfarhang on I'm rereading what you wrote, i think i mis understood it.18:10
Rynfar("md5 of cat md5s of chunks") this is what i am unsure how to do.18:11
Rynfaryou are referring to cat in linux correct?18:12
Rynfarusing cat to read the file and md5 the chunks?18:12
notmynameno, not specifically. I'm referring to the concatenation of the md5 sums of the chunks18:12
Rynfarok heres a better question.  how do you "calculate the hash that you send on the PUT"18:13
notmynameso in python(-ish): h = md5(''.join(md5(x) for x in list_of_all_chunk_bodies))18:14
notmynameclearly that doesn't scale18:14
notmynamebut the idea is there18:14
Rynfaryup that makes sense, that is what i was looking for.18:15
Rynfarthis will give me the redundancy i need but allow me to validate my uploads to the cloud18:16
notmynameredundancy is the wrong word ;-)18:16
notmynamevalidation might be better :-)18:16
notmynameie you aren't storing multiple copies18:16
RynfarAgree'd!18:17
RynfarYou have been extremely helpful today, far more than that of my service provider.18:17
RynfarI think i have everything i need to proceed to a solution.18:17
RynfarMany thanks!18:19
notmynameouch. now I'm really curious about who your service provider is ;-)18:20
*** infotection has joined #openstack-swift18:20
notmynameRynfar: I just approved https://review.openstack.org/#/c/126310/ for merge. which should make your life easier on specifying segment sizes18:25
Rynfar*cough* high winds, don't tell them i said anything!18:26
RynfarHuman readable!  That is a fantastic change!18:26
*** infotection has quit IRC18:37
*** jyoti-ranjan has quit IRC18:37
*** IRTermite has quit IRC18:39
notmynameRynfar: isn't that the CDN for games? or at least that's what they we're advertising a while back18:40
RynfarIts possible, though we use them for another purpose.18:43
RynfarThey are fairly new to open stack.18:44
notmynamepeluse: torgomatic: https://review.openstack.org/#/c/128491/18:46
notmyname+2/+118:46
torgomaticsweet18:46
notmynamepeluse: so I think tsg needs to rebase his PUT path patch on that now?18:49
pelusenotmyname, excellent18:49
peluseI'll ping him in case he's not IRC18:50
notmyname(he's not)18:51
pelusepinged :)18:51
peluseFYI the other priority item for EC that we covered in SC is ready as well (for yours and togomatics review)18:52
torgomaticpeluse: link?18:52
pelusehttps://review.openstack.org/#/c/112449/18:53
pelusejust the diskfile delete thing where we cleaned up some test code - not time critical but might as well knock it out while fresh in the brain if you have a minute18:53
*** tkay has joined #openstack-swift18:54
torgomaticpeluse: sure, I'll take a look at that once I've gotten some lunch :)18:54
pelusegracias18:54
*** zaitcev has joined #openstack-swift18:54
*** ChanServ sets mode: +v zaitcev18:54
pelusethanks for the reminder too - should go eat something too :)18:54
*** infotection has joined #openstack-swift18:57
pelusenotmyname, tsg is on it...19:00
*** kyles_ne has quit IRC19:02
*** kyles_ne has joined #openstack-swift19:03
*** infotection has quit IRC19:06
*** kyles_ne has quit IRC19:07
*** infotection has joined #openstack-swift19:10
openstackgerritAlan Erwin proposed a change to openstack/swift: Ssync_sender bug with creating a delete request  https://review.openstack.org/12935819:12
*** hemanthm has left #openstack-swift19:14
*** annegent_ has joined #openstack-swift19:15
*** IRTermite has joined #openstack-swift19:16
openstackgerritpaul luse proposed a change to openstack/swift: Build up reconstructor with correct node selection  https://review.openstack.org/12936119:18
*** nshaikh has joined #openstack-swift19:18
*** dmsimard is now known as dmsimard_away19:19
openstackgerritAlan Erwin proposed a change to openstack/swift: Ssync_sender bug with creating a delete request  https://review.openstack.org/12935819:19
*** nshaikh has quit IRC19:20
*** bill_az has quit IRC19:22
*** annegent_ has quit IRC19:25
*** infotection has quit IRC19:28
*** infotection has joined #openstack-swift19:29
openstackgerritA change was merged to openstack/python-swiftclient: Allow segment size to be specified in a human readable way.  https://review.openstack.org/12631019:33
*** nshaikh has joined #openstack-swift19:33
*** kyles_ne has joined #openstack-swift19:34
openstackgerritPete Zaitcev proposed a change to openstack/python-swiftclient: Fix the info command with --insecure  https://review.openstack.org/12936419:39
*** kyles_ne has quit IRC19:41
*** infotection has quit IRC19:42
openstackgerritpaul luse proposed a change to openstack/swift: Add another device to SAIO to support the default EC development environment.  https://review.openstack.org/12815419:42
*** astellwag has quit IRC19:51
*** kyles_ne has joined #openstack-swift19:54
*** infotection has joined #openstack-swift19:59
*** aerwin has joined #openstack-swift20:07
*** nshaikh has quit IRC20:08
openstackgerritA change was merged to openstack/swift: Allow sending object metadata after data  https://review.openstack.org/12849120:14
*** infotection has quit IRC20:18
-openstackstatus- NOTICE: Gerrit will be offline from 2100-2130 for project renames20:34
*** ChanServ changes topic to "Gerrit will be offline from 2100-2130 for project renames"20:34
*** silor has quit IRC20:35
*** dave-mccowan has quit IRC20:35
*** infotection has joined #openstack-swift20:48
*** lpabon has quit IRC20:49
*** miqui has quit IRC20:50
*** kyles_ne has quit IRC20:52
*** kyles_ne has joined #openstack-swift20:52
pelusenice placement for Swift:  http://www.openstack.org/software/juno/press-release/20:55
peluseright there near the top of the list!20:55
*** infotection has quit IRC20:56
*** jistr has quit IRC20:58
openstackgerritAnne Gentle proposed a change to openstack/swift-specs: Adds Object Storage v1 API specification information  https://review.openstack.org/12938421:00
*** bill_az has joined #openstack-swift21:03
-openstackstatus- NOTICE: Gerrit is offline from 2100-2130 for project renames21:04
*** ChanServ changes topic to "Gerrit is offline from 2100-2130 for project renames"21:04
claygwhoa just got a 503 on review21:06
*** gyee has quit IRC21:14
notmynameclayg: see the topic21:14
openstackgerritAnne Gentle proposed a change to openstack/swift-specs: Adds Object Storage v1 API specification information  https://review.openstack.org/12938421:15
notmynameannegentle: specs now equals api docs?21:15
*** acoles has quit IRC21:16
notmynamepeluse: yup. pretty cool. swift's storage policies are pretty much getting top billing in all the articles I've seen21:17
*** infotection has joined #openstack-swift21:18
*** acoles_away has joined #openstack-swift21:19
*** acoles_away is now known as acoles21:19
*** ChanServ sets mode: +v acoles21:19
*** tdasilva has quit IRC21:20
*** infotection has quit IRC21:25
*** ChanServ changes topic to "Swift 2.2.0 https://launchpad.net/swift/juno/2.2.0 | Priority Reviews: https://wiki.openstack.org/wiki/Swift/PriorityReviews | Ideas: https://wiki.openstack.org/wiki/Swift/ideas | Review Dashboard: http://bit.ly/1iVBigF | Kilo summit topics: https://etherpad.openstack.org/p/kilo-swift-summit-topics"21:26
-openstackstatus- NOTICE: Gerrit is back online21:26
*** infotection has joined #openstack-swift21:27
*** gyee has joined #openstack-swift21:27
*** captainmorgan is now known as needscoffee21:29
*** needscoffee is now known as captainmorgan21:29
*** kyles_ne has quit IRC21:31
*** kyles_ne has joined #openstack-swift21:33
annegentlenotmyname: only the long form doc21:42
annegentlenotmyname: I have a collection of articles from the object storage long form doc that I'm going to propose for the User Guide21:42
notmynameannegentle: what's the "long form doc"?21:43
annegentlenotmyname: remember these? Sourced from object-api, image-api, compute-api repos? http://docs.openstack.org/api/api-specs.html21:43
notmynameah, yes. I was looking for that earlier today, in fact21:43
annegentlenotmyname: ah yes. Emails went out Aug 20 and Oct 7th letting first PTLs know then the -dev and -docs lists21:44
notmynameannegentle: so you want to move the content of those docs into the respective specs repo?21:44
* notmyname goes to search email21:45
annegentlehttp://lists.openstack.org/pipermail/openstack-dev/2014-October/048001.html21:47
annegentlenotmyname: not all the contents, only spec-ish content21:47
*** acoles has quit IRC21:47
annegentlenotmyname: for object storage, the non-spec-ish content can go in the User Guide - http://docs.openstack.org/user-guide/content/21:48
*** exploreshaifali has quit IRC21:48
notmynamehow do you define "spec-ish"?21:48
annegentlenotmyname: not "how to" -- content that specifies21:48
*** acoles_away has joined #openstack-swift21:49
*** acoles_away is now known as acoles21:49
*** ChanServ sets mode: +v acoles21:49
*** marcusvrn_ has quit IRC21:52
*** CaioBrentano has quit IRC21:56
notmynameannegentle: I've got to go offline now. I want to ask more questions later21:56
annegentlenotmyname: sure thing, post on the review ideally21:57
openstackgerritAnne Gentle proposed a change to openstack/swift-specs: Adds Object Storage v1 API specification information  https://review.openstack.org/12938421:58
*** infotection has quit IRC22:02
*** aerwin has quit IRC22:02
*** infotection has joined #openstack-swift22:02
*** openstackgerrit has quit IRC22:03
*** openstackgerrit has joined #openstack-swift22:05
*** erlon_ has quit IRC22:09
*** infotection has quit IRC22:20
*** infotection has joined #openstack-swift22:32
*** mahatic has quit IRC22:42
openstackgerritAnne Gentle proposed a change to openstack/swift-specs: Adds Object Storage v1 API specification information  https://review.openstack.org/12938422:43
*** mahatic has joined #openstack-swift22:54
*** infotection has quit IRC22:59
*** infotection has joined #openstack-swift22:59
openstackgerritAnne Gentle proposed a change to openstack/swift-specs: Adds Object Storage v1 API specification information  https://review.openstack.org/12938423:05
*** kyles_ne has quit IRC23:12
*** kyles_ne has joined #openstack-swift23:13
*** infotection has quit IRC23:14
*** infotection has joined #openstack-swift23:15
*** infotection has quit IRC23:22
*** tkay has quit IRC23:27
*** kyles_ne has quit IRC23:29
*** kyles_ne has joined #openstack-swift23:29
*** infotection has joined #openstack-swift23:30
*** gyee has quit IRC23:30
*** infotection has quit IRC23:39
*** infotection has joined #openstack-swift23:39
*** gyee has joined #openstack-swift23:44
*** nellysmitt has quit IRC23:45
*** elambert has quit IRC23:45
*** nellysmitt has joined #openstack-swift23:45
*** davidhadas has quit IRC23:46
*** davidhadas has joined #openstack-swift23:46
*** kyles_ne has quit IRC23:50
*** nellysmitt has quit IRC23:50
*** kyles_ne has joined #openstack-swift23:50
*** infotection has quit IRC23:53
*** infotection has joined #openstack-swift23:53
*** kyles_ne has quit IRC23:55

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