*** zhangshuai has joined #openstack-smaug | 00:45 | |
*** iceyao has joined #openstack-smaug | 00:47 | |
*** yamamoto_ has joined #openstack-smaug | 01:12 | |
*** zhurong has joined #openstack-smaug | 01:25 | |
openstackgerrit | daiki kato proposed openstack/smaug: Fix several typos https://review.openstack.org/348099 | 01:27 |
---|---|---|
*** yamamoto_ has quit IRC | 02:31 | |
*** zhurong has quit IRC | 02:56 | |
*** mingyu has joined #openstack-smaug | 02:58 | |
*** mingyu has quit IRC | 03:00 | |
*** iceyao has quit IRC | 03:01 | |
*** iceyao has joined #openstack-smaug | 03:02 | |
*** zhurong has joined #openstack-smaug | 03:03 | |
*** gampel has joined #openstack-smaug | 05:12 | |
openstackgerrit | zhangshuai proposed openstack/smaug: Add fullstack tests of the resource restores RESTAPI https://review.openstack.org/337083 | 05:14 |
*** gampel has quit IRC | 05:21 | |
*** gampel has joined #openstack-smaug | 05:30 | |
*** gampel has quit IRC | 05:36 | |
*** yamamoto_ has joined #openstack-smaug | 06:27 | |
*** yuval has joined #openstack-smaug | 06:28 | |
openstackgerrit | Merged openstack/smaug: add list and get fullstack for checkpoint https://review.openstack.org/340234 | 06:48 |
openstackgerrit | Merged openstack/smaug: Updated from global requirements https://review.openstack.org/339943 | 06:48 |
*** iceyao has quit IRC | 06:58 | |
openstackgerrit | Merged openstack/smaug: Fix several typos https://review.openstack.org/348099 | 07:17 |
*** xiangxinyong_ is now known as xiangxinyong | 07:44 | |
openstackgerrit | Yuval Brik proposed openstack/smaug: Reimplement the Protection workflow for new design https://review.openstack.org/348163 | 07:54 |
xiangxinyong | Hi guy, what about the new name of project? | 07:56 |
openstackgerrit | Yuval Brik proposed openstack/smaug: Implement Cinder Backup Protection Plugin https://review.openstack.org/348164 | 07:56 |
*** saggi has joined #openstack-smaug | 08:00 | |
yuval | xiangxinyong: Yesterday there was a coin-toss and Kolla won the Koala logo | 08:03 |
xiangxinyong | yuval: so karbor is not suitable for us? | 08:04 |
yuval | xiangxinyong: maybe | 08:04 |
yuval | xiangxinyong: IMO we should decide on a new one | 08:05 |
xiangxinyong | yuval: understood. | 08:05 |
xiangxinyong | thanks | 08:05 |
zhonghua-lee | :( | 08:17 |
zengchen | ping yuval | 08:35 |
yuval | ping zengchen | 08:35 |
zengchen | hi, how are you | 08:35 |
yuval | good, you? | 08:36 |
*** zhongjun_ has quit IRC | 08:36 | |
zengchen | about the issue we discussed yesterday, i have read the material. http://restful-api-design.readthedocs.io/en/latest/methods.html#actions | 08:36 |
yuval | ok | 08:36 |
*** zhongjun_ has joined #openstack-smaug | 08:36 | |
zengchen | do you have time to discuss the implementation? | 08:37 |
yuval | sure | 08:37 |
yuval | please tag me when you send a message here, so I can get a notification | 08:39 |
zengchen | my idea is two define two functions:pause and resume which do the corresponding work seperately. my question is how to route to these two functions if we just use post method with api path '/{project_id}/scheduled_operations/{scheduled_operation_id' | 08:39 |
zengchen | yuval:ok, sorry | 08:40 |
zengchen | yuval:it is better to give me an example. | 08:41 |
yuval | zengchen: ok. If you do POST /{project_id}/scheduled_operations/{scheduled_operation_id | 08:41 |
yuval | zengchen: if the POST has a json body | 08:41 |
yuval | zengchen: and if that body has a 'status' key | 08:41 |
zengchen | yuval:yes | 08:41 |
yuval | zengchen: check the current status and the requested status | 08:41 |
yuval | zengchen: if the current status is available and you asked for 'paused' -> pause the scheduled operation | 08:42 |
yuval | zengchen: if the current status is 'paused' and you asked for available -> resume | 08:42 |
zengchen | yuval:so you still insist that user will update the status? | 08:43 |
yuval | zengchen: what do you mean? | 08:43 |
yuval | zengchen: I don't understand what is 'the user will update the status' | 08:43 |
zengchen | yuval:as you said, user will send an request body with status item | 08:45 |
yuval | zengchen: I don't understand what's the problem | 08:45 |
zengchen | yuval:why do the user will updae the status? | 08:45 |
yuval | zengchen: who is the 'user'? we are speaking about a northbound api | 08:46 |
zengchen | yuval:yes, we are speaking the same. | 08:46 |
zengchen | yuval:the normal user. | 08:46 |
yuval | zengchen: how do you want to pause the scheduled operation without updating the status? | 08:47 |
*** saggi1 has joined #openstack-smaug | 08:47 | |
*** saggi has quit IRC | 08:47 | |
zengchen | yuval:that's the way we implement the requirement by update the status, but not by user to update the status, just by the smaug. | 08:48 |
yuval | zengchen: do you mean why not use '/action'? | 08:49 |
zengchen | yuval:yes | 08:49 |
yuval | zengchen: why use '/actions'? | 08:49 |
yuval | zengchen: if you want to change an attribute, for example, change the status of an object, you update it using a REST API. The only use for /actions is when there are multiple 'pathes' to reach the same status, or an action which affects multiple fields | 08:52 |
yuval | zengchen: unless there is a very good reason to use '/actions', I don't understand why not adhere to the regular REST API | 08:53 |
zengchen | yuval:take the nova for example, when user want to reboot the vm, user just need to invoke the server/{server_id}/action with request body {'reboot':''}, not post a body with some shell command | 08:53 |
yuval | zengchen: because 'reboot' doesn't change the machine status to 'rebooting' as there is no such thing. It shuts down the machine and brings it up again. Have you used POST to change the VM status to 'UP' when it was 'UP', it wouldn't make any sense to reboot | 08:55 |
yuval | zengchen: if what bothers you is the JSON body, this is the way REST APIs work | 08:55 |
yuval | zengchen: I'm going to eat, be back later | 08:58 |
zengchen | yuval:so, do you think the user can update status of scheduled operation? how do they know what status scheduled operation have | 08:58 |
zengchen | yvual:ok, thank you | 08:58 |
*** yamamoto_ has quit IRC | 09:43 | |
yuval | zengchen: back | 09:45 |
yuval | zengchen: by using a GET request they can find the current status | 09:45 |
yuval | zengchen: by using POST they ask to update it | 09:46 |
zengchen | yuval:you can see the show api of scheduled operation will not return the status. | 09:49 |
zengchen | yuval:in other words, we should not expose the status of operation to user, it is the internal attribute. | 09:51 |
yuval | zengchen: that's right, because there is currently no status in the ScheduledOperation model, and we should add it if we want to let user pause/resume ScheduledOperations | 09:51 |
zengchen | yuval:the status of operation is stored in the another table 'scheduled_operation_state' | 09:52 |
*** saggi1 has quit IRC | 09:54 | |
yuval | zengchen: ok, then? | 09:57 |
zengchen | yuval:at present, we don't expose the status to user, if we do as your said, we will add another api to list all valid status in order to send right value when update the operations. | 09:59 |
zengchen | yuval:why not just send an action not update the internal status. | 09:59 |
yuval | zengchen: just to be clear: if we want to pause/resume scheduled operation, regardless of the API to do so, the user MUST know if that ScheduledOperation is currently paused or not | 10:00 |
yuval | zengchen: can we agree on that? | 10:02 |
zengchen | yuval:yes | 10:02 |
yuval | zengchen: great. So why do you think we need to add another API? | 10:03 |
yuval | what do you mean by 'list all valid status'? | 10:03 |
zengchen | yuval:because you want to update the status of scheduled operation, you should send the right parameter | 10:04 |
zengchen | yuval:how to get the right status, you should invoke the list api to get. | 10:05 |
yuval | zengchen: if you want to change the status to 'paused', send JSON: {"status": "paused"} | 10:05 |
yuval | zengchen: are you asking how will the user know to use "paused"? | 10:06 |
zengchen | yuval:yes | 10:06 |
yuval | zengchen: the user has an API reference exactly for that | 10:06 |
zengchen | yuval:what api | 10:06 |
yuval | zengchen: Smaug API | 10:06 |
zengchen | yuval:i mean which api | 10:07 |
zengchen | yuval:i don't have now | 10:07 |
yuval | zengchen: POST /{project_id}/scheduled_operations/{scheduled_operation_id | 10:07 |
*** zhurong has quit IRC | 10:07 | |
zengchen | yuval:how do the user know to use 'paused' | 10:09 |
yuval | zengchen: the user will have an API reference. Just like this: https://www.google.co.il/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwjdi6Se9ZXOAhWG0xoKHZDbBMgQFggaMAA&url=http%3A%2F%2Fdeveloper.openstack.org%2Fapi-ref-blockstorage-v2.html&usg=AFQjCNGWWEZB1P5dcp_-UAdYEvUbdWWq_w&sig2=ReEnrVypRa8r91obS9TzZw&bvm=bv.128153897,d.bGg | 10:09 |
yuval | disregard | 10:09 |
yuval | developer.openstack.org/api-ref-blockstorage-v2.html | 10:09 |
yuval | zengchen: developer.openstack.org/api-ref-blockstorage-v2.html | 10:09 |
zengchen | yuval:ok, i will read, now i will go to have dinner. thank you very much. | 10:10 |
yuval | zengchen: sure, cya | 10:10 |
*** yamamoto has joined #openstack-smaug | 10:46 | |
*** yamamoto has quit IRC | 10:49 | |
*** yamamoto has joined #openstack-smaug | 10:54 | |
zengchen | yuval:which api do you want me to look at in the 'developer.openstack.org/api-ref-blockstorage-v2.html' | 10:59 |
zengchen | yuval:i will go to a conference, please leave me a message. | 11:03 |
yuval | zengchen: not a specific route, just the fact that there is such API reference. It will include the possible statuses | 11:12 |
*** saggi has joined #openstack-smaug | 11:48 | |
*** saggi has quit IRC | 12:11 | |
*** gampel has joined #openstack-smaug | 12:35 | |
*** yamamoto has quit IRC | 12:40 | |
openstackgerrit | Yuval Brik proposed openstack/smaug: Implement Cinder Backup Protection Plugin https://review.openstack.org/348164 | 12:40 |
*** saggi has joined #openstack-smaug | 12:46 | |
*** gampel has quit IRC | 12:53 | |
*** saggi has quit IRC | 12:57 | |
*** saggi has joined #openstack-smaug | 13:05 | |
*** yuval has quit IRC | 13:33 | |
*** yamamoto has joined #openstack-smaug | 13:41 | |
*** yamamoto has quit IRC | 13:46 | |
*** saggi has quit IRC | 13:54 | |
*** iceyao has joined #openstack-smaug | 14:08 | |
*** gampel has joined #openstack-smaug | 14:22 | |
*** saggi has joined #openstack-smaug | 14:27 | |
*** gampel has quit IRC | 14:35 | |
*** zhurong has joined #openstack-smaug | 14:36 | |
*** saggi has quit IRC | 14:59 | |
*** yamamoto has joined #openstack-smaug | 15:06 | |
*** yamamoto has quit IRC | 15:10 | |
*** openstackgerrit has quit IRC | 15:18 | |
*** openstackgerrit has joined #openstack-smaug | 15:18 | |
*** zhurong has quit IRC | 15:27 | |
*** gampel has joined #openstack-smaug | 15:28 | |
*** zhangshuai has quit IRC | 16:14 | |
*** iceyao has quit IRC | 16:22 | |
*** gampel has quit IRC | 16:26 | |
*** gampel has joined #openstack-smaug | 16:29 | |
*** gampel has quit IRC | 16:43 | |
*** gampel has joined #openstack-smaug | 18:04 | |
*** gampel has quit IRC | 18:17 | |
*** zhangshuai has joined #openstack-smaug | 19:06 | |
*** zhangshuai has quit IRC | 19:10 | |
*** yamamoto has joined #openstack-smaug | 21:09 | |
*** yamamoto has quit IRC | 21:21 | |
*** yamamoto has joined #openstack-smaug | 22:22 | |
*** yamamoto has quit IRC | 22:27 | |
*** zhonghua-lee has quit IRC | 23:02 | |
*** zhonghua-lee has joined #openstack-smaug | 23:03 | |
*** yamamoto has joined #openstack-smaug | 23:24 | |
*** yamamoto has quit IRC | 23:29 | |
*** iceyao has joined #openstack-smaug | 23:44 |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!