09:01:04 <saggi> #startmeeting karbor
09:01:05 <openstack> Meeting started Tue Dec  6 09:01:04 2016 UTC and is due to finish in 60 minutes.  The chair is saggi. Information about MeetBot at http://wiki.debian.org/MeetBot.
09:01:06 <openstack> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote.
09:01:08 <openstack> The meeting name has been set to 'karbor'
09:01:13 <saggi> Hi everyone
09:01:35 <edisonxiang> Hello
09:01:38 <zhonghua2> hi
09:01:42 <leon_wang> hi
09:01:51 <chenying_> hi
09:02:26 <saggi> yuval is on reserve duty
09:03:11 <chenying_> I submit a irc meeting topic rightnow.
09:03:44 <saggi> #topic About the operation_logs API
09:03:59 <saggi> who suggested this?
09:04:09 <chenying_> yes I have a question about status in this API.
09:05:17 <chenying_> ◦state in operation_logs have several values (running/finished/failed)
09:05:32 <chenying_> ◦"finished" means protection restAPI is called successfully or the protection action have been done successfully
09:06:02 <saggi> finished means that everything was done successfully
09:06:26 <saggi> this includes all protect\restore\delete requests relating to the operation
09:08:01 <saggi> ok?
09:08:33 <chenying_> It means that when we start vloume backup, the status in operation_logs finished means the checkpoint is available
09:09:26 <saggi> yes
09:10:06 <chenying_> When  protect\restore\delete action is successful, the status of operation_logs must be updated to finished.
09:10:13 <chenying_> OK I see
09:10:40 <edisonxiang> saggi: do you think whether we can reuse the table "scheduled_operation_logs"?
09:10:45 <edisonxiang> https://etherpad.openstack.org/p/operationlogs
09:10:58 <saggi> reuse for what?
09:11:10 <saggi> no
09:11:20 <saggi> since the operation might include multiple actions
09:11:21 <edisonxiang> reuse "scheduled_operation_logs" table to show operation logs
09:11:31 <saggi> and it's only finished when all the actions are over
09:12:41 <edisonxiang> So operation logs are none busineess of scheduledoperation and scheduledoperationlogs?
09:13:00 <saggi> edisonxiang: I don't understand the question
09:13:38 <chenying_> saggi  Does it mean that the operation_logs is inserted into database table in operationengine service, and the status of it is updated in portection service?
09:14:16 <edisonxiang> or creat new tables to finish this feature?
09:15:12 <saggi> The Operation Engine needs to track the progress of all the actions it starts.
09:15:12 <saggi> It needs to mark the result for each run of an operation.
09:15:12 <saggi> The run is successful only if all actions invoked were successful.
09:16:42 <edisonxiang> So can we reuse scheduledoperationlogs to record operationlogs?
09:17:32 <saggi> I might be missing something. What is the difference between scheduledoperationlogs and operationlogs.
09:17:42 <chenying_> saggi xinyong's question is that, Do we use scheduledoperationlogs database table to record thess data, or create a new database table for this api?
09:18:32 <edisonxiang> saggi: I am confused with the difference between scheduledoperationlogs and operationlogs.
09:19:01 <edisonxiang> saggi: but now scheduedoperationlogs only record the protect workflow
09:19:42 <edisonxiang> saggi: perhaps we can take a look at this patch.https://review.openstack.org/#/c/298060/
09:21:19 <saggi> edisonxiang: This is the log for the scheduled operations.
09:21:48 <edisonxiang> saggi: got it
09:22:10 <chenying_> saggi I am clear about this operationlogs API. My question is that when to create/ update these operationlogs data?  xinyong's question is that where to save the data about operationlogs?
09:23:42 <chenying_> xinyong plan to get the operationlogs data from scheduledoperationlogs database table, but its status only mean the protect api have been called successfully.
09:24:21 <edisonxiang> saggi: do you have some ideas what to show in the "operation logs" module of dashboard?
09:25:05 <edisonxiang> show scheduled operation logs or operation logs?
09:26:22 <edisonxiang> I am a little confused about this question
09:27:32 <chenying_> https://review.openstack.org/#/c/298060/ The operationlogs API in this patch only cover the protect action, it doesn't include restore\delete action. At present only protect action is invoked by operationengine service.
09:29:13 <saggi> I don't understand why we even have 2 types of logs.
09:29:30 <edisonxiang> :)
09:30:26 <saggi> AFAIK there should only be a log for scheduled operations runs.
09:30:26 <saggi> When we start a scheduled operation we create a log for it that tracks it's progress.
09:30:31 <zhonghua> so do I
09:30:34 <saggi> What is the other log tracking?
09:31:13 <chenying_> saggi the scheduledoperationlogs database table have introduced to karbor with the implementation of operationengine servie. It is internal. It have not been exposed to user.
09:31:58 <saggi> chenying, what are they for?
09:33:19 <chenying_> saggi It is used for recording the call log of  scheduledoperation.  but its status now mean the protect api have been called successfully.
09:36:59 <edisonxiang> saggi: understood. We will show logs which are created by scheduled operations in the Horizon
09:37:04 <saggi> OK, the original way we planned on doing it was that whenever an scheduled operation is triggered a log is created. That log status is only changed to 'finish' when the whole operation was finished. Everything was done. Each operation can have entries in it. The entries are simple messages. They could notify the user something like: "Protect started on plan", "Protect finished on plan", "Started searching for old checkpoints"
09:37:42 <saggi> That way the user can see the stage the operation is at during it's run
09:38:04 <saggi> The log is like a log file and the entries are log lines
09:38:15 <saggi> The DB schema needs to reflect that.
09:38:45 <edisonxiang> yeah
09:39:08 <edisonxiang> It seems we need to make some changes on the present table stucture
09:39:23 <saggi> 👍
09:39:59 <chenying_> saggi  Yes I see.
09:40:04 <edisonxiang> :P
09:40:37 <saggi> #topic weekly meeting wiki page
09:41:04 <saggi> I saw that other projects replace the entire page instead of keeping historic records of the agenda throughout time.
09:41:10 <saggi> what do you guys think about it
09:41:30 <saggi> I want to only display the next meeting's agenda and delete the old agendas
09:41:49 <zhonghua> how to replace? removement?
09:42:04 <saggi> Just replace, after each meeting clear the page and change the date.
09:43:13 <edisonxiang> saggi: Agree with you
09:43:14 <edisonxiang> +1
09:43:21 <zhonghua> +1
09:43:28 <chenying_> +1
09:43:38 <saggi> Than it's agreed.
09:43:59 <edisonxiang> we can delete the old agendas
09:44:01 <saggi> I think it's better. Now you need to scroll the page to see the agenda
09:44:05 <saggi> I'll do it now
09:44:14 <edisonxiang> Thanks saggi
09:45:09 <saggi> #topic open discussion
09:45:21 <saggi> I saw zengchen gave a +1 on https://review.openstack.org/#/c/397156/
09:45:31 <saggi> chenying if you give a +2 we can merge the spec
09:45:49 <saggi> So please see that you agree with it or give comments
09:46:31 <chenying_> saggi I don't have any comments about yuval's plugins specs.  I have +1 already.
09:47:16 <chenying_> But there are some more work to be considered about the implementations patch. I give some comments about it.
09:47:17 <saggi> chenying, sorry it was deleted because of an update
09:47:36 <saggi> chenying, good. Your feedback is much appreciated
09:47:57 <chenying_> Ok I see. I will review the spec later.
09:48:36 <saggi> Anything else?
09:48:41 <edisonxiang> by the way, https://review.openstack.org/#/c/403965/
09:49:05 <edisonxiang> about this patch, it seems like yizhihui has some questions
09:49:49 <chenying_> karbor/services/protection/protectable_plugins/eisoo/oracle.py About the eisoo client module, I think it belong to the vendors's code, it a part of vendor plugins implementation. It could be moved to the directory of vendor plugins. What's your opinion about it?
09:50:42 <saggi> chenying, you mean like `karbor/services/protection/protectable_plugins/vendor/eisoo/oracle.py` ?
09:52:07 <chenying_> My question is about vendor's client implementation. Put it to where?
09:52:47 <zhonghua> chenying_, what's your suggestion?
09:53:01 <saggi> You mean protectable implementation?
09:53:32 <saggi> The actual client needs to be a dependency not in out codebase like cinder-client
09:53:56 <chenying_> I give a comment about the Directory of  vendor's client implementation in this patch. https://review.openstack.org/#/c/403965/
09:54:27 <edisonxiang> I think the present code structure is very good. "karbor/services/protection/clients/eisoo.py"
09:55:08 <zhonghua> chenying_, do you mean the karbor.services.protection.clents should be move out of framework folder into vendor folder?
09:55:18 <chenying_> The vendor's protectable and protection plugins both need use vendor's client.  So my question is that put it to where?
09:55:24 <zhonghua> s/move/moved
09:55:34 <chenying_> vendor's client implementation.
09:56:09 <zhonghua> ok, the model
09:56:39 <saggi> chenying, I understand. Why should we put it in a different folder?
09:57:26 <saggi> /karbor/services/protection/clients/<vendor_name> is OK with me
09:57:37 <chenying_> saggi IMO, the  client  is part of plugins implementation.
09:58:17 <edisonxiang> saggi: +1
09:58:29 <saggi> chenying what do you suggest?
09:58:29 <zhonghua> saggi, +1
09:58:29 <chenying_> +1
09:58:34 <zhangshuai> +1
10:01:40 <edisonxiang> :)
10:01:47 <chenying_> #endmeeting karbor\