Tuesday, 2016-12-06

*** devlaps has joined #openstack-storlets04:58
openstackgerritAkihito Takai proposed openstack/storlets: Add functional Tests for storlet app written in python language  https://review.openstack.org/40005706:19
openstackgerritKota Tsuyuzaki proposed openstack/storlets: WIP: add test for long running tasks to find which part should be fixed  https://review.openstack.org/40734206:45
openstackgerritKota Tsuyuzaki proposed openstack/storlets: WIP: add test for long running tasks to find which part should be fixed  https://review.openstack.org/40734206:49
openstackgerritKota Tsuyuzaki proposed openstack/storlets: Fix a space which is not a problem in running  https://review.openstack.org/40734906:52
openstackgerritKota Tsuyuzaki proposed openstack/storlets: WIP: add test for long running tasks to find which part should be fixed  https://review.openstack.org/40734207:26
kota_Thanks eranrom for quick review!07:34
eranromkota_: welcome.07:35
openstackgerritMerged openstack/storlets: Fix a space which is not a problem in running  https://review.openstack.org/40734907:52
openstackgerritKota Tsuyuzaki proposed openstack/storlets: WIP: add test for long running tasks to find which part should be fixed  https://review.openstack.org/40734208:02
openstackgerritKota Tsuyuzaki proposed openstack/storlets: WIP: add test for long running tasks to find which part should be fixed  https://review.openstack.org/40734208:32
openstackgerritKota Tsuyuzaki proposed openstack/storlets: WIP: add test for long running tasks to find which part should be fixed  https://review.openstack.org/40734210:21
kota_eranrom: done for walking through the v3 patch, basically code looks great.10:44
eranromkota_: thanks. any comments / questions?10:44
kota_eranrom: I found some places using/setting tenant_name for the ansible10:44
kota_eranrom: I added inlines for that, could you make sure that is in your intention or we need to fix them?10:45
eranromLet me fix them10:45
eranromthanks!10:46
kota_thanks, I'm not sure for kesytone v3 but my limited understanding, tenant_name is unecessary anymore.10:46
kota_yup :-)10:46
eranromkota_: in fact tenant_name is now project_name10:46
kota_eranrom: that fits my idea ;-)10:47
eranromand I should change the internal variables naming in ansible (I think this is what you saw...)10:47
kota_yup10:47
kota_eranrom: if you address them today, I'll circle back to tommorow morning to give my +2 ;-)10:48
eranromthanks. I will try to do this now.10:48
eranromThanks!10:48
* kota_ is going to be back home10:52
openstackgerritEran Rom proposed openstack/storlets: Kestone auth version to v3  https://review.openstack.org/39416811:08
*** devlaps has quit IRC14:21
openstackgerritEran Rom proposed openstack/storlets: Minor Fixes  https://review.openstack.org/40755915:14
openstackgerritEran Rom proposed openstack/storlets: Minor Fixes  https://review.openstack.org/40755915:14
*** devlaps has joined #openstack-storlets16:07
openstackgerritEran Rom proposed openstack/storlets: Minor Fixes  https://review.openstack.org/40755919:05
*** devlaps has quit IRC19:16
*** devlaps has joined #openstack-storlets19:17
eranromkota_: Regarding the test_long_run_storlet:19:33
eranromFirst, in order to use your testing code, I needed few minor fixes (https://review.openstack.org/#/c/407559/)19:33
eranromWith those fixes in place I raised the storlet_timeout to 500 seconds so as to make sure that our code is not in the way.19:35
eranromInterestingly, for PUT there was no problem to run the storlet with 400sec sleep, everything worked like charm!19:36
eranromThis was the case when invoking the storlet both on the object server as well as on the proxy. So far so good.19:37
eranromNote that all through my testing the swift node_timeout is set to 120 seconds.19:37
eranromNow for the GET. In the GET data path we timeout on the node_timeout which results with 503.19:38
eranromAgain this happens when running the storlet either in the object or in the proxy servers. I believe that the reason for having the same behaviour19:39
eranromfor both object and proxy is that when running on proxy we do a get form the object and then execute the storlet so from the proxy's perspective its19:40
eranromas if the read from the object node was timedout.19:40
eranromI believe that the actual timeout is coming from: proxy/controllers/base.py where a call to either next or read from our iterator times out.19:43
eranromTo summarise, I think that there are two problems we need to solve:19:44
eranrom1. In PUT, allow a long running storlet without the need to have an unlimited storlet_timeout value.19:45
eranrom2. In GET, allow a long running storlet, again without the need to have an unlimited node_timeout19:45
eranromHere is what I think the solution for both:19:45
eranromAdd a keepalive mechanism to the 'protocol' with the storlet. That is give the Storlet an API call that it needs to call every now and then.19:47
eranromIf the storlet does not call this API in more then storlet_timeout then we consider the storlet stuck and kill it as we do today upon storlet_timeout.19:47
eranromFor a GET scenario, this keepalive call needs to be intercepted in the read/next methods of our iterator (storlets/gateway/common/stob.py FileDescriptorIterator)19:51
eranromThis will resolve the GET when the storlet is executed on the object node.19:55
eranromThe PUT and GET when executed on proxy is more tricky IMO, and may require changes outside of the storlet module, but I need more time to investigate.19:56
eranromBTW the keepalive can be implemented using an additional pipe where the storlet side call would write to the pipe and in the read/next methods we add the read end of the pipe19:58
eranromto the select fd set.19:58
eranromHope this all make sense...19:58
*** devlaps has quit IRC20:10
*** devlaps has joined #openstack-storlets21:06

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