*** huayi has joined #openstack-smaug | 01:41 | |
*** x00350071 has quit IRC | 02:06 | |
*** x00350071 has joined #openstack-smaug | 02:08 | |
*** huayi_ has joined #openstack-smaug | 02:29 | |
*** huayi has quit IRC | 02:30 | |
openstackgerrit | zengchen proposed openstack/smaug: Implement time trigger with Eventlet https://review.openstack.org/296880 | 03:33 |
---|---|---|
*** yuval has joined #openstack-smaug | 06:12 | |
*** gampel1 has joined #openstack-smaug | 06:21 | |
yuval | ping chenzeng | 07:03 |
yinwei_computer | yuva, chenzeng is on the way flying back to chengdu | 07:06 |
yinwei_computer | gampel1: if we agree that multiple parents is allowed in our resource graph, I will have liu an to implement network protectable in following way | 07:08 |
yinwei_computer | 1. make basic network sub resources into one plugin, including network, port, fixed ip, subnet, router | 07:09 |
yinwei_computer | 2. for get_dependent_resources: if the parent is project, it will return all network resources not attached to any server; if the parent is server, it will return network resource attached to the server; Here the network resource means the item described in item 1; | 07:14 |
yinwei_computer | 3. for both image and volume protectable, it seems that we need add logic to handle dangling resources case. | 07:15 |
chenying | ping gampel1 | 07:16 |
yinwei_computer | ying, you're back? | 07:16 |
yinwei_computer | or work from home? | 07:16 |
chenying | Yes I am back today. in company. | 07:17 |
chenying | yinwei, Will we consider multiple parents now? | 07:21 |
*** Zengchen has joined #openstack-smaug | 07:24 | |
*** Zengchen has quit IRC | 07:27 | |
*** chenhuayi has joined #openstack-smaug | 07:28 | |
yinwei_computer | chenying, I'm still checking it with Eran | 07:40 |
yinwei_computer | there're some cases which couldn't get handled with single parent | 07:40 |
chenying | Ok | 07:45 |
chenying | ping gampel1 | 07:45 |
gampel1 | hi yinwei_comput | 07:46 |
gampel1 | hi chenying | 07:46 |
chenying | Hi Eran Could you help tag python-smaugclient a inital version? | 07:46 |
chenying | smaug-dashboard need a version of python-smaugclient, and add this to requirements.txt. | 07:46 |
gampel1 | I will add you now as core and you could do that sorry for the delay | 07:47 |
chenying | Ok Thanks. | 07:47 |
saggi | Hi everyone! | 07:48 |
chenying | btw, I am back today. in company now. :D | 07:48 |
gampel1 | done | 07:48 |
gampel1 | yinwei: ping | 07:48 |
gampel1 | great we need to move everything fwd | 07:48 |
gampel1 | there are allot of patches with merge conflict and un addressed comments | 07:49 |
gampel1 | chenying: let me know if you need my help | 07:50 |
chenying | yes thanks. | 07:51 |
chenying | saggi Xinyong and I have several questions about the operation log api. Would you pls help address the comments? | 07:53 |
saggi | I'm looking at the patch now | 07:58 |
yinwei_computer | gampel1: I will have Bin, Liu an, Rong to address the comments | 08:02 |
openstackgerrit | wangliuan proposed openstack/smaug: Implement the protection flow https://review.openstack.org/281011 | 08:40 |
*** yinwei_computer has quit IRC | 09:22 | |
*** yinwei_computer has joined #openstack-smaug | 09:22 | |
*** gampel has quit IRC | 10:44 | |
*** gampel has joined #openstack-smaug | 10:45 | |
openstackgerrit | wangliuan proposed openstack/smaug: Fix missing "enabled_providers" in global config https://review.openstack.org/298664 | 11:07 |
yinwei_computer | ping saggi | 11:09 |
yinwei_computer | ping gampel1 | 11:09 |
yinwei_computer | ping yuval | 11:09 |
yuval | yinwei_computer: ping | 11:12 |
yinwei_computer | hello, yuval | 11:13 |
yuval | hey, how are you? | 11:13 |
yinwei_computer | doing good | 11:13 |
yinwei_computer | is saggi there with you? | 11:13 |
saggi | yinwei_computer: I'm ere | 11:14 |
saggi | here | 11:14 |
yinwei_computer | good | 11:14 |
saggi | :) | 11:14 |
yinwei_computer | Eran asked me to check the details of network plugins with you guys | 11:14 |
yinwei_computer | he might be out for another meeting | 11:15 |
saggi | yinwei_computer: He's always in at least two meetings at once | 11:15 |
yinwei_computer | it's good you guys both there | 11:15 |
yinwei_computer | hah | 11:15 |
yinwei_computer | :) | 11:15 |
yinwei_computer | ok | 11:15 |
yinwei_computer | saggi, could you tell more about your reply? | 11:16 |
yinwei_computer | I mean the email reply, where you said the dependency is implicit and not presented in the tree | 11:17 |
saggi | yinwei_computer: Sure, in general we agree that it's a good idea to separate the core from the l3aas. | 11:17 |
saggi | This stems from the general idea that the port and sg are properties of a VM | 11:17 |
saggi | but routers\fip\etc are orthogonal to any single vm | 11:17 |
yinwei_computer | yes, agree | 11:18 |
saggi | But let's imagine that we have a subnet 10.0.0.0/16 | 11:18 |
yinwei_computer | yes, go ahead | 11:18 |
saggi | It's l2 so there might be a VM that has a port on it | 11:18 |
saggi | but there might also be a router that has a port on it | 11:19 |
saggi | This means that there is a logical connection between the l3 component and any l2 component that has a router connected to it | 11:19 |
yinwei_computer | yes | 11:19 |
yinwei_computer | that's what I asked in my reply | 11:19 |
openstackgerrit | Yuval Brik proposed openstack/smaug: Split Provider configuration into files https://review.openstack.org/298673 | 11:19 |
yinwei_computer | if this is the case, it seems that we need first build l2 subnet than l3 router, right? | 11:20 |
saggi | When we restore, we will need to create any subnet for that router even if there is no VM connected to that subnet | 11:20 |
yinwei_computer | yes | 11:20 |
yinwei_computer | then why not this dependency is not in the tree | 11:20 |
yinwei_computer | sorry, why this dependency is not in the tree | 11:21 |
saggi | Since it will show l3 depending on all almost the networks in the system | 11:21 |
saggi | which is not very helpful | 11:21 |
yinwei_computer | it should be explicit | 11:21 |
yinwei_computer | if we don't show this in the tree, how could restore procedure make use of this dependency? | 11:22 |
saggi | It will be in the l3 md | 11:22 |
saggi | I understand that. But from the users | 11:22 |
saggi | point of view | 11:22 |
saggi | it can't really do anything with the dependent l2 networks. | 11:23 |
saggi | since they are required for l3 restore | 11:23 |
saggi | Unlike volumes | 11:23 |
yinwei_computer | when you say user's point of view, do you mean we still make this dependency into the dependency graph smaug internally keeping, but won't show it in UI to users? | 11:24 |
saggi | The problem is that we can't have that. So what I want to figure out is if we can just have the l3 contain all the subnet information as part of it's own md and also each vms | 11:24 |
yinwei_computer | I'm not sure if I get your point | 11:24 |
saggi | vms' l2 info | 11:24 |
saggi | Let's first define how will an l2 resource dependent on a VM look like. | 11:25 |
saggi | From what I understand we don't want to split port\subnet\sg | 11:25 |
yinwei_computer | yes | 11:25 |
saggi | We will just have a single resource like (VM Network Info) | 11:26 |
saggi | Which will contain all the ports\subnet\sg information | 11:26 |
yinwei_computer | let's go through from this begin point | 11:26 |
yinwei_computer | np, go ahead | 11:26 |
saggi | This means that if I back up 3 vms. I will have 3 VmNetworkInfo. Which might contain duplicate information. | 11:27 |
yinwei_computer | and this network resource could be shared with other VMs | 11:27 |
yinwei_computer | as child | 11:27 |
saggi | like a subnet will be defined multiple times. | 11:27 |
yinwei_computer | no | 11:27 |
saggi | how? | 11:27 |
saggi | since the all have different ports | 11:27 |
saggi | So if a VM has 2 ports in 2 different subnet it will have to child NetworkInfos? | 11:28 |
yinwei_computer | let me see | 11:28 |
yinwei_computer | the root is we have l2 sub resources into one resource | 11:29 |
saggi | root? | 11:29 |
yinwei_computer | some of them are 1:1 to vm, some are 1:n to vm | 11:29 |
saggi | root issue? | 11:29 |
yinwei_computer | root cause of the dilemma, I mean | 11:29 |
yinwei_computer | yes | 11:29 |
saggi | ok | 11:29 |
saggi | yes, we might have a subnet\sg defined multiple times | 11:30 |
saggi | since they don't have their own object | 11:30 |
saggi | because they are a must have implicit dependency | 11:30 |
saggi | If you want to back up a port you MUST back up the sg and subnet | 11:31 |
saggi | unlike volumes and vms | 11:31 |
yinwei_computer | I see your point | 11:31 |
yinwei_computer | let me see the sequences | 11:31 |
yinwei_computer | we only allow one unique combination of network subresources, so we only have one l2 protectable/protection plugin | 11:32 |
saggi | yes | 11:32 |
saggi | We could solve it inside the protection plugin for l2. | 11:33 |
saggi | It would make sure to only create the subnet once. | 11:33 |
yinwei_computer | if we limit all l2 resources into one resource node, they might be repeated since some of them are excluded by one vm, like port, some are shared by vms, like l2 | 11:33 |
yinwei_computer | how about this | 11:33 |
yinwei_computer | although we only have one protectable plugin, we still make different resource graph node for different sub resource | 11:34 |
yinwei_computer | since resource graph node is an internal implementation for smaug | 11:34 |
saggi | Internally? | 11:34 |
yinwei_computer | yes, inside the network protectable plugin | 11:35 |
yinwei_computer | does current protectable plugin framework allow for this? | 11:35 |
saggi | You suggest letting protectables add complex entities to the tree | 11:36 |
* saggi is thinking about it... | 11:36 | |
yinwei_computer | one protectable may add more than one kind of resource graph node into the tree | 11:36 |
yinwei_computer | previously, our principle is one protectable only supports one resource type | 11:37 |
yinwei_computer | now, the case is the resource itself may include sub resources | 11:37 |
saggi | We have support for one protectable supporting multiple resource types. | 11:37 |
saggi | The issue is that those resource types shouldn't be visible to the user | 11:38 |
saggi | only internally during tree building | 11:38 |
yinwei_computer | yes | 11:38 |
saggi | You suggest adding "internal protectables" | 11:38 |
saggi | or something similar | 11:38 |
yinwei_computer | those sub resource types are invisible for users | 11:38 |
* saggi is thinking about it a bit more... | 11:38 | |
yinwei_computer | just used for building resource graph and building protect/restore task flow | 11:39 |
saggi | Because protectables already define connections bottom->up we could just have a flag in the registry for internal resource types. | 11:40 |
yinwei_computer | sorry, I didn't get your suggestion | 11:41 |
yinwei_computer | what interface do you mean in protectable plugin? | 11:42 |
saggi | When you define a protectable plugin you define what types you might depend on. Which means that having types that don't report their relationship is simpler than if we had that the other way around. | 11:42 |
saggi | Which means we can register a plugin as hidden for a type. | 11:44 |
* saggi is making a graph to make sure we are on the same page | 11:46 | |
yinwei_computer | ok, thanks | 11:49 |
yinwei_computer | Re-checked current protectable plugin interface, I'm thinking if we could make another abc class:CompositeProtectablePlugin based on protectable plugin interface. It will also implement the the interfaces of the protectable plugin, but it will dispatch the sub resource type to its sub protectable plugin. And in protectable registry, we map all su | 12:00 |
yinwei_computer | b-resources with the same prefix to the composite protecatble plugin. | 12:00 |
saggi | yinwei_computer: yuval just came in I | 12:04 |
saggi | I'm catching him up | 12:05 |
yinwei_computer | say, we define resource type as network-l2, but inside it the protectable plugin provider could define sub resource types, like network-port, network-subnet, network-sg. The network protectable is a CompositeProtectablePlugin, and configured with those sub protectable p | 12:05 |
yinwei_computer | lugins | 12:05 |
yinwei_computer | ok | 12:05 |
yinwei_computer | sure | 12:05 |
yinwei_computer | we guys may need think more about the details | 12:05 |
yinwei_computer | at least, we are clear on the issues: one protectable plugin can't be split, how to share the sub resources and build dependency inside | 12:06 |
*** gampel has quit IRC | 12:10 | |
*** gampel1 has quit IRC | 12:10 | |
*** gampel has joined #openstack-smaug | 12:11 | |
*** saggi has quit IRC | 12:12 | |
*** gampel1 has joined #openstack-smaug | 12:15 | |
yinwei_computer | gampel1: saggi is making a graph while I proposed a comopsiteProtectablePlugin way. I think we both need think more about the implementation detail. | 12:16 |
*** gampel has quit IRC | 12:16 | |
yinwei_computer | I may need catch the bus home, and will check liu an tommorrow as well. | 12:17 |
*** saggi has joined #openstack-smaug | 12:27 | |
*** gampel has joined #openstack-smaug | 12:27 | |
chenying | ping gampel1 | 12:29 |
saggi | chenying: I'm here, what's up? | 12:31 |
chenying | Hi eran I need you help. how to tag python-smaugclients a inital version? | 12:32 |
chenying | Hi saggi Do you know how to tag python-smaugclients a inital version? | 12:35 |
saggi | chenying: Maybe this can help you http://docs.openstack.org/infra/manual/drivers.html ? | 12:38 |
chenying | Ok Thanks | 12:41 |
*** CrayZee has joined #openstack-smaug | 12:56 | |
*** yuval has quit IRC | 13:05 | |
*** chenhuayi has quit IRC | 13:35 | |
*** openstackgerrit has quit IRC | 15:06 | |
*** openstackgerrit has joined #openstack-smaug | 15:06 | |
*** x00350071 has quit IRC | 17:07 | |
*** x00350071_ has joined #openstack-smaug | 17:07 | |
*** huayi_ has quit IRC | 18:29 | |
*** gampel1 has quit IRC | 18:37 | |
*** huayi_ has joined #openstack-smaug | 19:12 | |
*** huayi_ has quit IRC | 20:12 | |
*** huayi_ has joined #openstack-smaug | 20:18 |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!