Tuesday, 2016-08-16

openstackgerritKota Tsuyuzaki proposed openstack/storlets: Cleanup code for FileManager and invocation_flow  https://review.openstack.org/34983401:48
kota_just rebased01:49
openstackgerritKota Tsuyuzaki proposed openstack/storlets: Creanup redundant README.md and README.rst  https://review.openstack.org/34727802:00
openstackgerritKota Tsuyuzaki proposed openstack/storlets: Creanup redundant README.md and README.rst  https://review.openstack.org/34727802:01
openstackgerritKota Tsuyuzaki proposed openstack/storlets: Add capability for crazy things  https://review.openstack.org/34725802:02
kota_meeting in 15 minutes?06:44
kota_ah, ok 17:00 in JST07:04
kota_so in 55 minutes.07:04
*** takashi has joined #openstack-storlets07:34
eranromright :-)07:51
kota_hello08:00
takashimeeting time :-)08:00
takashikota_: hi08:00
eranromHi08:00
takashieranrom: o/08:01
eranromFrom some reason I could not edit the agenda08:01
takashieranrom: np08:01
eranrombut one subject for today is the TC IRC meeting tomorrow08:01
eranromabout making storlets official.08:01
kota_yup08:01
eranromwhat else do we want to discuss?08:01
kota_no specific one08:02
kota_from me08:02
takashieranrom: I have a small topic about pipelining in proxy, but we can start with talking about becoming the official project08:02
takashiI think it is more important for all of us08:03
eranromok, I also would like to update on spark-storlets but lets do this at the end08:03
eranromSo.08:03
eranromJohn has pinged me yesterday and told me he was asked to give a comment on the patch. He gave a very supportive comment08:04
kota_which patch?08:04
eranromhttps://review.openstack.org/#/c/353693/08:04
patchboteranrom: patch 353693 - governance - Storlets to become official - Proposed governance ...08:04
kota_thanks08:04
eranromkota raised yesterday the concern of our usage of c and java08:05
takashieranrom: I saw that discussion log08:06
eranromThe best answer I can think of is that Java is a language binding for us (much like go and java and more used by the OpenStack SDK)08:06
eranromand that we are also working on Python08:07
takashiCan we refer monasca about the use of java? https://github.com/openstack/monasca-api08:08
eranromtakashi: sure. It official right?08:09
takashieranrom: I'm now trying to find that evidence.08:10
takashihttps://github.com/openstack/governance/blob/master/reference/projects.yaml08:11
takashiWe can find that monasca is listed in L2603.08:12
eranromright, and the API is also listed there.08:13
eranromgreat08:13
eranromAnother question we may be asked is why do we want to become official08:13
eranrommy answer is that its a way to gain traction and hopefully get deployers and developers try that08:14
eranromthoughts? other concerns?08:14
kota_no other concerns, basically we need to get official because we need to follow other openstack module (speficically swift)08:16
takashieranrom: agree08:17
kota_and to do so, we need offical support from openstack gevernance, e.g. summit slot to discuss, work with as cross projects,08:17
takashikota_: right08:17
eranromjust being a devil advocate here (I do agree with you). What if we are told that we can do all this without being official?08:18
kota_and i think storlets is definately different with other openstack project on the focus so it's unique.08:18
kota_eranrom: good question08:18
eranromkota_: right, and according to John this may play against us - I am afraid...08:18
kota_thinking...08:19
takashieranrom: There are some points which supports us to become an official project, IMO08:21
eranromWell, I think that if we feel that the TC is reluctant due to us being different, we can always try and say that this is an advantage08:21
takashi1. As kota_ mentioned, storlets is different from all of the other OpenStack projects, so should be independent08:22
takashi2. storlets is gaining diversity. People from some organizations are surely working about it.08:23
takashi3. We need foundation's support for internal activity, and cross project activity (with swift)08:23
takashisupport means, for example, a room for discussion in design summit08:24
eranromAgree. will keep those in mind during the discussion. that helps08:24
takashi4. We already have codes which works08:25
eranromand do something useful@08:25
eranromuseful!08:25
takashieranrom: yes08:25
eranromhas unittests, functional tests well integrated into OpenStack CI08:26
takashieranrom: they are all currently in my mind. If I come up with other things, I'll tell them to you08:27
eranromgreat thanks!08:27
eranromare you planning on joining?08:28
kota_i support takashi's thought. we are now working with other openstack project as an eco-system. to work continiously with them, official support is a good way.08:28
kota_i think08:29
takashiAs we need to be well integrated with Swift but can't be totally merged to swift, we need to stand at the similar position as swift, one independent official project.08:29
takashieranrom: Can I ask the meeting time?08:29
eranromsec.08:29
kota_5:00 am in jST08:29
kota_tommorow morning08:30
takashikota_: ok08:30
kota_tomorrow08:30
eranromkota_: thanks. here is the link to their meeting page: https://wiki.openstack.org/wiki/Meetings/TechnicalCommittee08:30
takashieranrom: will join08:31
eranromgreat!08:31
takashineed to set alarm clock08:31
takashi:-)08:31
eranrom:-)08:31
eranromPlease do not feel obligated.08:31
kota_me too08:32
eranromyou too :-) pls do not feel obligated08:32
eranromnext topic?08:32
takashieranrom: ok08:33
eranromproxy piplining?08:33
takashieranrom: ok08:33
takashiafter merging copy fix, we noticed two things08:33
takashi1st, In patch 347225, we assumed that copy middleware is listed in pipeline08:34
patchbottakashi: https://review.openstack.org/#/c/347225/ - storlets - Fix COPY request (MERGED)08:34
takashibut currently proxy automatically adds copy in its middleware, even if it is not listed in pipeline configration.08:35
takashis/its middleware/its pipeline/08:35
takashilike gatekeeper or so on08:35
eranromgotcha08:35
takashiAkihito is now working about it, but we need to think about that point.08:36
kota_https://github.com/openstack/swift/blob/master/swift/proxy/server.py#L54108:36
kota_ref for the pipeline modification code, just fyi08:36
takashikota_: thx!08:36
eranromthx.08:36
takashiThe second one is about quota08:37
takashithe patch 347225 introduces a little difference in the behavior about quota, in Liberty swift and Mitaka swift08:38
patchbottakashi: https://review.openstack.org/#/c/347225/ - storlets - Fix COPY request (MERGED)08:38
takashiIn liberty swift, we place storlet_handler in the left of slo, and as the result we place storlet_handler in the right of quota08:38
takashiIn Mitaka swift, we place storlet_handler in the left of copy middleware, which is placed also in the left of quota middlewares08:39
takashiAs the result, we place storlet_handler in the left of quota when using Mitaka swift08:39
eranromand this is a problem because we create an object without a content-length?08:40
takashiIn liberty swift, we checked a size quota besed on the content-length of "input object"08:40
takashiIn Mitaka swift, we don't check a size quota, because we remove content-length before passing it to quota middleware08:41
takashiI'm wondering which is more desiable bahavior08:41
eranromwell, what if the user uploads a file with no content-length (using chunked transfer encoding). I think this is possible....08:42
takashieranrom: Swift does not check size quota. Swift only checks count quota.08:42
kota_takashi: plus, check the exisitng volume w/o incomming request length08:43
takashikota_: right, thanks08:43
kota_if the total size of objects in the container exseeded the quota limit, it will reject the request.08:44
eranromI guess I am misunderstanding something. If a user can upload an object without a content-length isn't it the same as our middleware being to the left of the quota middleware?08:44
eranromkota_: ok gotcha.08:45
kota_eranrom: true08:45
takashieranrom: but previously our middleware was placed in the right of quota.08:45
takashiMy question is, should we move storlet_middleware in the left of quota middlewares when using it with liberty swift?08:46
eranromok gotcha. So if I got kota right this does not matter really. and if its simpler then lets do it.08:47
takashieranrom: ok08:47
eranromregarding the first point - you probably know better then I am - if we can tell the version of swift, perhaps we can decide upon the version instead of looking for the copy middleware08:48
takashieranrom: that can be one solution08:49
takashieranrom: I'm currently checking if we need to add copy middleware explicitly in the proxy pipelining, when it does not appeard in conf file.08:50
takashiIf we need it, we need to check the verison of swift, and update proxy-server.conf based on that information.08:50
kota_sounds reasonable08:51
eranromtakashi: sounds good to me08:51
takashieranrom, kota_: thx. will update you later, after some more deep looking08:51
eranromok. thanks Takashi. next item?08:52
takashithat's all from my side today08:52
takashieranrom: yes08:52
eranromok, so I am working on a new repository called spark-storlets which allows spark to connect to Swift with storlets. Its already in github and I will update the documentation soon.08:53
eranromWhile working on that I found a bug that is closely related to the discussion you had at the time of controlling what is happening after the storlet08:53
takashieranrom: so cool!08:53
eranromhas started streaming and our middleware is non in control anymore08:54
eranroms/non/not08:54
eranromhere is my thinking:08:54
kota_cool08:54
eranromWe need to pass the storlet an additional fd, call it stderr08:54
eranromwhenever the storlet runs into a critical situation, it uses stderr to "say that"08:55
kota_what does 'critical situation' mean?08:56
kota_sounds like atomic operation? or something secret?08:56
eranromOut iterator will "monitor" the other end of stderr, and once it sees a critical event it will do whatever cleanup (in eventlet?) is needed and somehow break the connection08:56
eranromcritical - say it fails to read the input08:56
eranromor runs into an exception that makes its output worthless08:57
eranrommeaning something that the client should know about08:57
eranromThe problem I ran into, was that the read within the storlet failed, so I did not consume all the data, and the client did not know about it08:58
eranromthat is the storlet did not consume all the data08:58
takashieranrom: We need to think the way to return that error to clients.08:58
eranromtakashi: right, what happens today if there is a disk error after the object server already started to stream the data back?08:59
eranromthat is, we already answered 200OK started to stream back the data and then, oops, bad sector...08:59
takashieranrom: the proxy server will try to connect the next object server to get the remaining data09:00
takashieranrom: However, in storlets, we can not do that way, because we can't indicate 'response range'.09:00
eranromtakashi: right. what if all replicas are down? will the client experience a timeout?09:01
takashieranrom: I think so09:01
kota_i'm wondering that we can solve the problem?09:01
kota_sounds like same thing if swift got the sector error on disk while reading body...09:01
eranromkota_: well, a timeout is better then nothing...09:02
eranromat least the client knows an error occured.09:02
kota_it might be detected with comparing content-length though.09:02
takashikota_: but we can't get content-length for storlet execution result09:02
kota_hmm....09:02
kota_yes09:02
eranrom:-)09:02
kota_i know09:02
eranromI thought I will look into HTTP ref to see what can be done in such a case?09:03
eranromcase/09:03
eranromcase.09:03
kota_i think transfer-encoding has a syntax too09:03
kota_so if the socket closed with EOF, basically client can find the error ocurred.09:04
eranromright. I think that when using chunked transfer encoding one can send headers 'inline' the body09:04
kota_unless i am dreaming09:04
eranrom:-) How can the client tell the EOF is not a legit close...09:04
eranrom?09:04
kota_IIRC, 0 bytes chunks is for the EOF in transfer encoding09:04
kota_I saw the RFC when developing EC thing on upstream swift...09:05
eranromok, will look into it. At any rate currently the WSGI framework hides this from us.09:05
eranromso we are not directly writing into the 'raw socket'09:06
eranrombut perhaps the protocol does give something to work with.09:06
takashieranrom: yes09:06
eranromok, so this was my update. :-)09:06
eranromAnything else?09:07
takashieranrom: I'll looking forward to seeing your doc update.09:07
takashinothing from my side09:07
kota_ok, i'll try to make sure my thought.09:08
takashis/I'll/I'm/09:08
eranromtakashi: sure, will update as soon as its there.09:08
takashieranrom: :-)09:09
kota_:-)09:09
kota_my daughter calling me to sit down dinner table :/09:09
eranrombonappetite :-)09:10
eranromThanks for joining09:10
takashithank you09:10
kota_thank you09:10
takashikota_: have a nice dinner09:10
kota_takashi: :-)09:11
kota_bye09:11
*** eranrom has quit IRC09:20
*** eranrom has joined #openstack-storlets09:30
openstackgerritTakashi Kajinami proposed openstack/storlets: Refactor SBusDatagram  https://review.openstack.org/34934810:46
*** takashi has quit IRC11:29
openstackgerritDoron Chen proposed openstack/storlets: remove pushing of local docker images  https://review.openstack.org/35591813:25
openstackgerritDoron Chen proposed openstack/storlets: Install Swift and the Storlet Engine on a Docker container.  https://review.openstack.org/35235618:00
*** jroll has joined #openstack-storlets21:01
jrolleranrom: have y'all looked at zerovm at all?21:01
jrollthey tried to do something similar using google (chrome's?) NACL thing, was super interesting21:01
jrollbasically restricts syscalls to a known set of things21:01
kota_jroll: sounds interesting21:03
kota_jroll: http://www.zerovm.org/ is correct to link that?21:04
jrollkota_: indeed, I played with it a bit a couple years ago21:04
jrollhttp://www.zerovm.org/21:04
jrollyes21:04
kota_jroll: eranrom might be going to offline becuase it's midnight on his timezone.21:04
jrollsure, no worries21:05
jrolljust wanted to point it out :)21:05
kota_jroll: ok, I7ll take a look21:05
kota_I'll21:05
eranromhi I am here.21:05
eranromYes I have been looking deeply into zerovm21:05
eranromA very cool project. Since they have been acquired by rackspace they have gone silent.21:06
eranromthanks for pointing21:06
jrollyeah, it's sad, dunno what happened to them21:07
jroll(and I work for rackspace!)21:07
eranrom:-)21:07
kota_jroll: nice! are you in San Antonio? I visited Rackspace HQ in the last month to join Swift mid-cycle21:08
jrollkota_: nope, I work from home :)21:09
kota_jroll: got it21:09
notmynameAFAIK most (all?) of the people working on zeroVM at rackspace have since left the company21:09
eranromjroll: in a nutshell the difference would be: zerovm is perhaps more secured compared to Linux containers but has a proprietary tool chain for code development21:09
jrollindeed21:10
eranromnotmyname: I met their founder in IL, just before he moved the team to Rackspace HQ to work on cloud files. So I guess he left the company.21:10
notmynameeranrom: (or anyone) is there any sort of logo or similar for storlets?23:33
notmynamewhat's on the storlets tshirt? ;-)23:33

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