14:00:57 #startmeeting Smaug 14:00:58 hi 14:00:58 Meeting started Tue Feb 23 14:00:57 2016 UTC and is due to finish in 60 minutes. The chair is gampel. Information about MeetBot at http://wiki.debian.org/MeetBot. 14:00:59 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 14:01:01 The meeting name has been set to 'smaug' 14:01:13 Hi edison 14:01:13 hi 14:01:46 #info: edison, chenying in the meeting 14:01:46 hi, i am xiangxinyong 14:02:11 hello, guys 14:02:14 hey 14:02:27 #info: xiangxinyong , gampel ,yinweimac, saggi1 14:02:44 Hi everyone we want to start 14:02:50 #topic Announcements 14:03:09 I want to propose Saggi as core in Smaug 14:03:28 Lets do a vote about it 14:03:28 Hi all 14:03:39 ok 14:03:42 +1 14:03:50 Hi @avishay welcome 14:04:12 gampel: +1 14:04:24 hi 14:04:27 xiangxinyong:+1 14:04:45 hi zhonghua-li 14:04:49 gampel: +1 14:05:23 +1 14:05:26 though i'm not a core reviewer:) 14:05:47 So i will update the core list and add Saggi it will help allot with th review and merging all the code 14:06:05 Thank you everyone for your support 14:06:21 next we have two new sub projects for dashboard and client for Smaug 14:06:22 ^-^ 14:06:29 #link: https://review.openstack.org/#/c/281019/ 14:07:22 Saggi welcome and you are deserve it thank you for all the good work 14:07:52 you just want me take care of the merging for you ;) 14:08:20 xiangxinyong123: zhonghua-li: do you want to update regarding the new sub projects the status 14:08:27 :) 14:08:49 yeah 14:09:08 gampel: yes 14:09:20 The patch in project-config is still in review 14:10:00 I am alreadly working on the client for Smaug project. I am waiting for the project-config merging. 14:10:15 Ok lets hope that we can merge it this week 14:10:27 hope so 14:10:36 #topic Smaug UI Design 14:10:46 http://www.screencast.com/t/SLqCyOwtBRl 14:10:57 #link: http://www.screencast.com/t/SLqCyOwtBRl 14:10:58 i upload a video in the above link. 14:11:12 looks good 14:11:45 what's this video used for? gampel. 14:12:21 it is used as a mock up to show the UI to everyone here and get their feedback 14:12:47 do we plan to do a really demo? 14:13:16 yeah. 14:13:27 Yes I think that the UI design is in a good state and we could start coding 14:13:38 any feedbacks / 14:13:40 ? 14:13:48 i have made a horizon ui framework. 14:13:52 I'm very pleased with it 14:14:07 if the project-config is merged, i will add the ui framework to git 14:14:26 xiangxinyong123: You did a very good job 14:14:28 gampel: we must create the project successfully fist 14:14:36 thanks 14:14:57 yes but i hope next week we could start sending patches for UI and client 14:15:09 meanwhile you can work offline on it 14:15:22 ok. i will do 14:15:32 gampel: good idea 14:15:57 is there any comments on the UI 14:16:17 no 14:16:25 Merge Proposed Smaug API v1.0 14:16:26 Missing operation log will be added in another patch 14:16:26 @avishay what do you think 14:17:55 Ok lets move to next topic we can continue comment on the UI latter 14:17:57 #topic Merge Proposed Smaug API v1.0 14:18:15 yes we are missing the operation log log 14:18:23 we ant to add it in another patch 14:18:54 We want to merge the current API and add the operation log next 14:18:59 gampel: about the GUI? looks good, reflects the API, maybe can make more user friendly in the future, need to think about it 14:19:45 Ok lets try to have a talk about it I will send you HTML mock up as well so we can get your feedbacks 14:20:32 Please all review the API assuming that we have another patch for the operation log 14:20:48 welcome to suggestion and feedback. 14:20:58 I want to merge it only when we have enough votes 14:21:34 #action all, review the API patch https://review.openstack.org/#/c/244756/ 14:21:49 will 14:21:57 any comments on the API 14:22:21 #topic Protection Service design spec 14:22:34 #link: https://review.openstack.org/#/c/261455/ 14:22:55 @yinwei can you please update the status 14:23:45 sure 14:23:48 let me check 14:24:16 I thought this patch has already been merged 14:24:35 so currently the issue is about the serialization of checkpoint, right? 14:24:42 I see that @saggi thinks that implementation detail of the provider instead of a pluggable class 14:24:53 the checkpoint serialization 14:25:41 I agree that checkpoint serialization is the bank driver issue 14:26:10 I don't want to introduce another factor for incompatibility between sites 14:26:39 Otherwise you need to configure a BankPlugin and a BankSerializer. 14:26:48 Or CheckpointSerializer 14:27:05 sorry, I think there may be some misunderstanding 14:27:11 which gives the user options it doesn't need or want for the price of configuration complexity IMHO 14:27:31 I didn't mean to make checkopint serializer as a pluggable class 14:28:08 saggi1: we can use single Serializer 14:28:08 The bank knows the optimal format it wants to save information. 14:28:16 The design just want to decouple the serialization from checkpoint collection 14:28:31 We can't since a mongo bank would require serializing to it's format. 14:28:37 difference banks plugin will serialize differently 14:28:40 since it doesn't use blobs but documents 14:29:23 yes, different bank will serialize differently. some will but some won't 14:29:30 it should be a bank driver implementation's detail 14:29:41 I don't think serialization should be done inside bank 14:29:53 In side the bank plugin the driver 14:30:06 some stupid bank would just take key/value 14:30:22 some higher level bank like db would do serialization 14:30:35 yes so that bank driver/plugin code in Smaug will need to take care of that 14:30:44 that's why I make serialization in a higher layer otherthan bank 14:31:30 if we have bank to take care of serializtion, it needs understand the class to be stored 14:31:50 where we only want to leave bank as a simple writer, isn't it? 14:31:51 we have the same issue in other projects that use DB layer and pubsub and every driver will do a different serialization 14:32:32 yinweimac: It will need to be able to handle dictionaries. Since this is what we pass to the plugins. 14:32:43 yes we need to define the Object we Pass to the Bank Plug in 14:32:43 the point here is, I want to make bank a simple writer, which doesn't care what it writes 14:33:39 take checkpoint as example 14:34:42 if we want to choose xsd or gpb as the serialize way, we don't want bank to handle the proto of each object 14:35:06 yinweimac: Checkpoint will not serialize to a single file. We need might need to have serialize to dict function in the Checkpiont. Similar to how oslo serializers do it. 14:35:34 So that the bank only handles basic types. strings\numbers\lists\maps. 14:36:01 So that the object is responsible for implementing the conversion to a dict. 14:36:15 or whatever primitive 14:36:22 hmm, that's the divergence 14:36:33 so let's take it step by step 14:36:47 what's the interface of bank write do we want" 14:37:28 Similar to json. We give it an object and it should be able to save it if it's a basic type that maps to json. 14:37:54 yinweimac: we think that with this basic primitive we cover all the parameters info, .... 14:37:58 we could have a to_bank_format() function that the bank probes. If it exists it will call it and store the result. 14:38:05 you're talking about the serialization way 14:38:16 I'm talking about the interface of bank 14:38:34 the bank has write_object(key, value) 14:38:38 json is just a way of serialization and it doesn't provide compression 14:38:40 where key must be a string 14:38:54 what'a bout the value 14:39:12 any basic type similar to what json.dumps() accepts 14:39:21 If the bank wants to compress it could 14:39:27 it could be part of it's options 14:39:43 Since this is the on disk format 14:39:55 it should be the responsibility of the bank 14:40:03 we should just convert it to a basic type 14:40:05 so our difference is on the value part 14:40:40 IMO, the serializator is just to change the object to dict or json,am i correct? 14:40:40 this could be solved by adding to_bank_format() to objects that are not basic. That way any class we create can be saved in any bank. 14:40:44 what n my mind is the value is a tuple of bytes, which is a serialized value 14:40:57 could be json, xsd, gdp 14:41:10 but bank doesn't care 14:41:17 it's only a simple writer 14:41:29 serialization should be done in the Bank driver,we should have one format above 14:41:51 only checkpoint collection layer interpret the content write there 14:42:05 we want to make bank simple, right? 14:42:07 yinweimac: This forces blob storage on the bank. 14:42:24 while we want to leave more flexibility on serialization way, right? 14:42:35 yinweimac: saggi: i think we should continue in the review 14:42:43 gampel: sure 14:43:09 we understand the differences and we should all think about it and try this week to resolve 14:43:45 #action @saggi @yinweimac @gampel agree on the Checkpoint serialization 14:44:13 #topic protection-plugin-design 14:44:16 ok, saggi1, let's talk about it offloine 14:44:38 maybe a pseudo code would better explain it 14:45:06 Yingzhe Zeng: can you share the status of this BP 14:45:30 protection plugin is dependent on graph walker listener, isn't it? 14:45:40 #link: https://blueprints.launchpad.net/smaug/+spec/protection-plugin-design 14:46:08 yinweimac: yes it does it was merged 14:46:19 from saggi's latest patch, I still can't see how to pass down the recursive result 14:46:27 this's just for the internal interfaces definition, to confirm with DJ product. 14:47:00 zengyingzhe_:which one? 14:47:01 Ok we need to define the reference implementation 14:47:16 protection Plugins Volume and VM 14:47:21 yinweimac: I will add an example test for passing information. 14:47:24 oh 14:47:40 yeah, it's a reference implementation 14:47:44 saggi1, thanks! 14:47:59 likes ABC 14:48:02 #link: https://review.openstack.org/#/c/274308/ 14:48:20 comments from saggi and me is why not define it as abs ? 14:48:29 gampel, hu rong is working on a volume protection plugin 14:48:42 I think we have updated on the epad 14:49:17 what we dicussed with @smcginnis 14:49:30 I note that saggi's comments:define abs in the code instead of md file. I think abc class code can be submitted in another patch. 14:49:32 but before that, we need confirm how to pass recursive result in graph wolker listener 14:50:00 that in the reference we should call cider backup and store the back id in the bank checkpoint 14:50:25 yes, that's the plugin hu rong is working on 14:50:39 Other vendor protection plugin could bypass cinder and call their driver directly 14:51:34 Ok so @hu rong and @zengyingzhe_ should sync and collaborate on this 14:51:44 Yes default reference call cider backup 14:51:56 but first we need a basic protection plugin as a sample or base class, like singleTaskProtectionPlugin, which only returns one task in before/after functions 14:52:36 #action @zengyingzhe_ and @hurong sync and collaborate on Volume protection plugin 14:53:09 yinweimac: yes I think that we need to define it first as abs do you agree 14:53:22 sure 14:53:38 that's what I want to express 14:53:38 Ok lets move on we do not have much more time 14:53:48 My design is just for our product. If the plugins can follow it, that would be good. If not, we can discuss it. 14:53:55 first implement abstract backup plugin 14:54:24 first implement abstract singleTaskPlugin 14:54:37 we should first show how to do it in the reference implementation 14:54:47 #topic Operation Service Status 14:55:00 any upadtes 14:55:04 updates 14:55:36 any updates about the API Service Status 14:56:06 we need to continue merging all the stack of patches, please all try to help in the review 14:56:17 API service: 14:56:17 plan Controller is done. restore is working. chenzeng will working on schedule and trigger resources Controller. 14:56:33 anyone can develop this refer to the plan Controller. 14:57:07 very good job chenying: and chenzeng: thank 14:57:17 yeah, chenzeng has also a good progress in operation engine service. 14:57:32 yes is he here ? 14:57:57 #topic Open Issues 14:58:01 gampel: not yet 14:58:15 Ok i will catch him tomorrow morning 14:58:33 any other subject 14:58:40 we do not have much time left 14:59:06 if not thank you every one for the good work 14:59:38 lets continue discussing the issues in the patches/review 14:59:55 ok,thanks, bye 14:59:57 bye and thanks everyone good night 15:00:02 88 15:00:07 bye 15:00:10 bye 15:00:22 see you 15:00:36 #endmeeting