Monday, 2017-08-28

*** jiaopengju has joined #openstack-karbor00:31
*** zhurong has quit IRC01:28
*** liujiong has joined #openstack-karbor01:51
*** yamamoto has joined #openstack-karbor02:38
*** zhurong has joined #openstack-karbor02:39
*** yamamoto has joined #openstack-karbor02:43
openstackgerritchenying proposed openstack/karbor master: Spec: Add Quotas to Karbor  https://review.openstack.org/49657903:24
openstackgerritchenying proposed openstack/karbor master: Spec: Add Quotas to Karbor  https://review.openstack.org/49657903:45
*** lihi has joined #openstack-karbor06:16
jiaopengjuping yuval chenying06:51
yuvalping jiaopengju07:34
jiaopengjuhi yuval, I saw your comments about the network conflict patch07:35
jiaopengjuThe network protection plugin is orthogonal to the server protection plugin. It protects and restores the network topology. If you do not wish to protect or restore the network topology, don't protect it. — what do you think about adding a mechanism to avoid network conflict?07:37
yuvaljiaopengju: which kind of mechanism have you thought about?07:41
jiaopengjuyuval: as I write in the comments, network resource is not very similar with glance image or cinder volume. So before the restore, we should check if the live resources are conflict with the backup data.07:43
yuvaljiaopengju: fair enough. and if there is a conflict?07:44
jiaopengjuyuval: IMO, if there is a conflict, no need to do the restore.07:45
yuvaljiaopengju: currently, the network protectable includes not only neutron networks, but also subnets, routers, security groups, etc07:46
jiaopengjuyuval: yes, I saw that07:46
yuvaljiaopengju: some of these may be changed, deleted, or added in relation to the protected network07:47
yuvaljiaopengju: that means that we need to do 'contextual' restore - understand which were deleted, which were added, and resolve the diff between changed resources07:47
yuvaljiaopengju: that's something we shouldn't do without the user07:47
yuvaljiaopengju: I can understand if your argument is to split the network protectable into 'networks', 'routers', 'security groups', etc07:48
yuvaljiaopengju: however, there are down sides to that as well07:48
jiaopengjuyuval: I mean that we only restore the changed network resources. If the resources are not changed, we just keep it.07:50
yuvaljiaopengju: what if I changed the dhcp server on a subnet? or the default gateway? or the dns? how can you resolve the changes?07:52
yuvaljiaopengju: since you can't understand the intent of the user in this case, the only way is to offer the merge conflict to the user to resolve as done in get merge conflict, for example07:52
yuvaljiaopengju: and that's something we wouldn't like to do07:53
yuval*in merge conflict07:53
yuval*in git merge conflict07:53
chenyinghi jiaopengju07:53
jiaopengjuyuval: We can check the subnet information. For example, a user have a subnet s1, he do the backup, then change the subnet to s11. Now if he do the restore, karbor need to create a new subnet same as s1.07:56
jiaopengjuhi chenying07:56
yuvaljiaopengju: do you suggest merging the conflict using the resources' names?07:57
chenyingI try to get what you talk about.07:57
yuvalchenying: restoring a network (including subnets, routers, sgs) where the network is already there07:58
yuvalchenying: there are probably ip addresses conflicts07:58
yuvaljiaopengju: how about when restoring the network, give parameters for each subnet, in order to create them with different addresses?07:59
jiaopengjuyuval: currently, we use same resources’ names if we do a restore07:59
yuvaljiaopengju: we can make the restore parameters dynamic per resource07:59
yuvaljiaopengju: I think..08:02
jiaopengjuyuval: “in order to create them with different addresses”, we can’t know what addresses that the users want to use. Or in other words, if we give a new addresses, but users do not want to use them.08:02
yuvaljiaopengju: that's why I'm talking about letting the user choose using parameters08:02
chenyingyuval jiaopengju Most of time, we think that the usecase of restoring the network resource is that restoring the whole network topology to a new site. So all the resoure including the subnets, routers, security groups  is one resource type.08:03
chenyingyuval jiaopengju: So about the possible ip addresses conflicts, what are your oppions about it?08:03
yuvalchenying: jiaopengju: also, maybe a user doesn't want the restore to interfere with a running production deployment08:04
chenyingyvual: maybe a user doesn't want the restore to interfere with a running production deployment. -----IMO, in this usecase the user may don't need to restore the  whole network topology.08:06
jiaopengjuyuval chenying: the ip conflicts only occurs when users do the restore more than one times.08:06
yuvaljiaopengju: are you familiar with the restore parameters?08:06
jiaopengjuyuval: not very familiar with them, I just use them by default.08:09
jiaopengjuyuval: and found this issue with using dashboard08:09
chenyingjiaopengju  yuval:    yuval Do you mean that when user restoring a server, user can pass some value like the ip address with the restore parameters?08:09
yuvalchenying: yes, and when restoring a network, the user can decide subnet range08:10
chenyingjiaopengju: the ip conflicts only occurs when users do the restore more than one times. The reason is that the value about some resource will be checked about when creating a new one like cidr?08:12
jiaopengjuchenying: yes08:13
chenyingyvual: By default the network plugins is retoring the whole network topology belong to one tenant.  We may think about this usecase: when restore a server, the network resource also the sub resource of server. We also need restoring the whole network topology as the sub resource?08:17
chenyingyuval: The parent resource types of network are SERVER_RESOURCE_TYPE, PROJECT_RESOURCE_TYPE. The network plugin do the same thing when as a independent resoure of a project or the sub resource of a server.08:19
jiaopengjuchenying yuval: IMO, when users doing server backup with network, they just want to use the same ip address or make the restore server in same ip range with the backup one. So we may not need to backup the whole network topology.08:19
yuvaljiaopengju: why would you protect the network topology then? you can protect the server and on restore attach it to the existing network08:20
yuvalchenying: do you suggest making the network protectable's parent only project?08:20
chenyingyuval jiaopengju: The network plugin is retoring the whole network topology belong to one tenant. so we don't need restore a new whole network topology when restoring a server.08:21
chenyingyuval: Yes08:21
yuvalchenying: interesting08:21
chenyingjiaopengju: Why jiaopengju get some error about conflicts. Because the network is the sub resource of server. When restoring the server for several times, the network topology will be restoring every time. The restore task about subresore network of the server will be created automatically by workflow of karbor.08:25
yuvalchenying: well, you don't have to protect the network08:26
chenyingjiaopengju yuval: So in this usecase, we don't need restoring the  whole network topology every time.08:26
yuvalchenying: I don't agree with that conclusion08:26
yuvalwe can not resolve a 'merge conflict' on resources, including network08:26
chenyingyuval: When user explicitly add the network resource to the plan.08:27
jiaopengjuyuval: Maybe because I’m not very familar with karbor dashboard. when I doing the backup in the dashboard, I found two network options,one outside the server resource, one in the server resource. So I choice the server resource (contains image and network)08:27
chenyingyuval I don't think this is the problom about the conflict.   The network resource as the whole network topology about a project  being  one subresource of  a (every) server is not unreasonable.08:28
yuvalchenying: alright, I agree with removing the server -> network dependency08:29
yuvalchenying: also, as jiaopengju, it maybe very confusing for resources that have more than 1 dependency (i.e volume depends on server and project, etc)08:30
yuvalchenying: maybe for usability, if a volume is attached, show it only below the server08:30
yuvalchenying: that requires more thinking in the case of image and network08:31
chenyingyuval why would you protect the network topology then? you can protect the server and on restore attach it to the existing network  ------------I agree with you, when user resore one server, he only need care about the network about itself.08:32
yuvalchenying: any possible implications if we remove the server -> network dependency?08:33
chenyingyuval  jiaopengju maybe for usability, if a volume is attached, show it only below the server---- sound good.08:33
jiaopengjuyuval chenying agree08:34
chenyingyuval  jiaopengju  any possible implications if we remove the server -> network dependency? -----NO.08:35
yuvalchenying: can't think of any as well08:35
yuvalchenying: let's do it08:35
chenyingjiaopengju:   After remove the server -> network dependency,  do you have any other questions about restoring the network of a server?08:37
jiaopengjuchenying yuval: we should do a tenant filter for admin users08:37
jiaopengjuchenying yuval: Command 'neutron net-list' or 'openstack network list' seems return all tenants' net info when using admin tenant08:38
yuvaljiaopengju: currently the network protection plugin protects all the networks, including admin?08:38
chenyingjiaopengju yuval: IMO, the netwokr being filtered by a tenant is needed.08:38
yuvalchenying: yes, very important08:39
jiaopengjuyuval: I mean that, I did this test with admin user and found all tenants network info were included.08:39
yuvaljiaopengju: that's a bug08:40
chenyingyuval: Yes, by default the neutron network get method is not filtered by the tennet.08:40
chenyingso jiaopengju, you could fix it.08:40
jiaopengjuchenying ok08:40
yuvalfound the issue08:41
jiaopengjuyuval chenying: thank you very much for your suggestions.08:41
yuvaljiaopengju: probably need to pass 'project_id' in 'args' in clients/neutorn.py08:41
yuvaljiaopengju: maybe08:42
chenyingjiaopengju You are welcome. Passing the 'project_id' to the neutron client net-list methlod maybe can solve the problem.08:43
jiaopengjuchenying yuval: I wll try08:43
yuvaljiaopengju: seems like some other clients are not doing it, so if you fix it, it could be nice if you fix it for them as well08:44
jiaopengjuyuval: :)08:44
chenyingyuval jiaopengju:  As I know, by dafault the resouces in nova/cinder/manial are filtered by the tenant. : )08:46
jiaopengjuchenying: yes08:47
chenyingyuval: Are you free now?08:47
yuvalchenying: no, I'll be available later09:31
*** liujiong has quit IRC09:59
*** jiaopengju has quit IRC10:20
*** yamamoto has quit IRC11:15
*** yamamoto has joined #openstack-karbor11:16
*** yamamoto has joined #openstack-karbor11:31
*** zhurong has quit IRC12:23
*** gouthamr has quit IRC12:24
*** jiaopengju has joined #openstack-karbor12:37
*** gouthamr has joined #openstack-karbor12:45
openstackgerritYuval Brik proposed openstack/karbor master: Neutron: create client with project from context  https://review.openstack.org/49846213:37
openstackgerritPengju Jiao proposed openstack/karbor master: Remove network dependency of server resource  https://review.openstack.org/49825514:13
*** jiaopengju has quit IRC14:58
openstackgerritmelissaml proposed openstack/karbor master: Fix to use "." to source script files  https://review.openstack.org/49852216:52
*** lihi has quit IRC18:11
*** yamamoto has quit IRC21:09
*** gouthamr has quit IRC21:23
*** yamamoto_ has joined #openstack-karbor21:38
*** yamamoto_ has quit IRC22:04
*** yamamoto_ has joined #openstack-karbor22:35
*** yamamoto_ has quit IRC22:43
*** yamamoto_ has joined #openstack-karbor22:49
*** yamamoto_ has quit IRC22:59
*** yamamoto_ has joined #openstack-karbor23:06
*** yamamoto_ has quit IRC23:47
*** gouthamr has joined #openstack-karbor23:53

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