Earlier  
Posted Nick Remark
#openstack-nova - 2020-08-25
11:59:48 openstackgerrit sean mooney proposed openstack/nova master: libvirt: delegate ovs plug to os-vif https://review.opendev.org/602432
12:19:33 lyarwood stephenfin: https://review.opendev.org/#/q/topic:bp/nova-image-download-via-rbd any chance you could add this to your queue, I'll get to the vTPM stuff tomorrow if that's okay
12:28:55 gibi stephenfin, sean-k-mooney: could you confirm that the "any number" here is a doc bug? https://github.com/openstack/nova/blame/master/doc/source/user/flavors.rst#L549-L551 I belive if hw:numa_nodes is not specified then it is defaulted to 1
12:36:25 jsuchome gibi, lyarwood so who could we ask for another +2?
12:36:50 gibi jsuchome: I think lyarwood just asked stephenfin above
12:38:48 lyarwood yup I did
12:39:46 sean-k-mooney gibi: it depends on the context but ill check now
12:40:44 sean-k-mooney gibi: the docs are correct
12:41:17 gibi sean-k-mooney: they why I remember that nova does not automatically split resources between host NUMA nodes?
12:41:27 gibi for a single instance
12:41:46 sean-k-mooney gibi: it does not but it does not crete a numa toplogy by default either
12:42:15 sean-k-mooney hw:numa_cpus and hw:numa_mem are only used if hw:numa_nodes>=2
12:42:40 gibi OK, so if nothing numa related are requested then we split resource between host numa nodes
12:42:43 sean-k-mooney and by default vms without a numa toplogy float over all host numa nodes
12:42:57 sean-k-mooney gibi: no we dont split them
12:42:58 gibi but if we request huge pages then a numa topology is created
12:43:11 sean-k-mooney we simply do not limit them to a specific numa node
12:43:15 gibi and then numa_nodes defaults to 1 if not specified
12:43:18 sean-k-mooney the kernel will split and move tehm as it sees fit
12:43:25 sean-k-mooney yes
12:43:44 sean-k-mooney if you request hugepage or cpu pinning or pmem we default to 1 numa node
12:43:50 gibi OK, cool
12:43:56 gibi then it is not a doc bug
12:44:00 gibi it is just a complication
12:44:06 gibi thanks
12:44:12 sean-k-mooney no worries
12:44:40 sean-k-mooney the other complication is while we support numa affinity policies with pci device/sriov ports we dont create a numa toplogy when you use them by default
12:44:56 sean-k-mooney we just enforce those policies if you also request numa for an instance
12:45:05 gibi I see
12:46:24 sean-k-mooney the descrioption of FLAVOR-NODES is not really correct
12:46:33 sean-k-mooney for a different reason
12:46:41 sean-k-mooney no of these values are related to host toplogy
12:47:02 sean-k-mooney hw:numa_nodes is the number of virtual numa_nodes that we present to the guest
12:47:34 sean-k-mooney the relationship with the host numa nodes is a libvirt driver implemeatnion detail and is not guarenteed by the api currenly
12:47:53 sean-k-mooney althogh it is the behavior the numa toplogy filter will give you
12:47:57 gibi it talks about where the cpus are run on and in that sense it is correc that they can run on any host numa nodes
12:48:21 sean-k-mooney yes
12:49:53 sean-k-mooney but we technically would be allowed to change the meaning of hw:numa_nodes in libvirto to mean spread to at most N host numa nodes instead of exactly N numa nodes with out violating that api guarentees today. although the proposed placment work will actully guarentee a 1:1 mapping
12:51:02 gibi ahha
12:51:12 sean-k-mooney well actully it does not have too but we likely will to keep the same behavior
12:52:31 sean-k-mooney the one thing we are not allowed to do by the current api semantics is take a vm that reqest 1 numa node and spread it across several host numa nodes
12:53:20 sean-k-mooney i.e. we cant split virutal numa nodes across host numa nodes without regressing performance
12:53:35 gibi yes, that would be a serious bug
12:54:01 sean-k-mooney the other way around is ok but if we allow it in the futrue we would likely want to contol it via policy
12:54:30 sean-k-mooney e.g. hw:numa_packing=true or something like that and default to false
12:55:01 sean-k-mooney anyway we dont need to worry about that right now anyway
12:55:34 gibi thanks for the explanation
12:56:53 sean-k-mooney the more this tribal knowadge spreads the less of a bus factor there is
13:01:08 gmann stephenfin: thanks, will check.
13:01:25 gmann stephenfin: gibi this is last patch for deprecated api policy-work - https://review.opendev.org/#/c/747784/
13:02:47 gibi gmann: thanks
13:02:50 gibi +2
13:07:56 stephenfin gmann: Some grammar nits on the reno
13:08:29 gmann stephenfin: thanks, will fix
13:09:06 openstackgerrit Ghanshyam Mann proposed openstack/nova master: Add reno for deprecated APIs policy changes https://review.opendev.org/747784
13:09:11 gmann stephenfin: ^^
13:09:40 stephenfin ta
13:10:18 gibi approved
13:10:44 rs_goyal__ Hi guys, I am attaching second network interface to a compute instance based on Ubuntu OS. The issue I am facing is the name of second interface that gets created on instance when I try different ways to attach the network. First way is to attach the second interface while instance creation in which case the interface name comes as 'ens4'. Second way is attaching the interface after vm is created, where the
13:10:45 rs_goyal__ interface name is 'ens6'. This is only happening in case of ubuntu as it follows the 'ens*' naming of interfaces. Is there a way so that only one interface name comes in both cases so that it will be easy to create network configuration?
13:18:54 gibi rs_goyal__: I think what you are looking for is interface tagging https://notartom.net/2016/09/28/device-tagging-new-in-newton/
13:32:17 artom gibi, rs_goyal__, and the follow-up: https://notartom.net/2017/06/20/virtual-device-role-tagging-better-explained/
13:32:36 artom (How long have I been saying that I should include this in an official guide?)
13:34:46 gibi there is even a sequel?! \o/
13:38:02 rs_goyal__ @artom @gibi
13:38:53 rs_goyal__ Is this only supported via nova cli or can be done via openstack cli also?
13:42:50 gibi rs_goyal__: looking at the help text it is not supported by the openstack cli
13:43:28 artom rs_goyal__, I know *I* didn't add it to osc :)
13:45:18 rs_goyal__ okay Thanks.
14:01:26 openstackgerrit Alexandre Arents proposed openstack/nova master: Add a lock to prevent race during detach_interface https://review.opendev.org/747957
14:09:58 openstackgerrit sean mooney proposed openstack/nova master: Set migrate_data.vifs only when using multiple port bindings https://review.opendev.org/742180
14:14:47 rs_goyal__ https://www.irccloud.com/pastebin/BUiY7qIX/
14:14:49 sean-k-mooney lyarwood: this might be of interest to you https://review.opendev.org/#/c/747957/
14:15:07 gmann stephenfin: gibi any of you can review this - https://review.opendev.org/#/c/738126/17
14:15:48 rs_goyal__ @gibi
14:15:53 sean-k-mooney you were fixing issue we had with persitent xml and transient getting out of sync but maybe the locking will also help
14:16:29 sean-k-mooney aarents: there is potentially a seperate cause to that bug
14:16:37 sean-k-mooney https://bugs.launchpad.net/nova/+bug/1892870
14:16:37 openstack Launchpad bug 1892870 in OpenStack Compute (nova) "concurrent interface detach/attach may accidently unbind port" [Undecided,In progress] - Assigned to Alexandre arents (aarents)
14:17:32 sean-k-mooney aarents: Detaching interface %(mac)s failed because the device is no longer found
14:17:34 sean-k-mooney on the guest.
14:18:00 sean-k-mooney this can happen for other reasons then a race at lest that seamed to be the case for volumes
14:19:03 sean-k-mooney aarents: that siad i dont nessacarly thing adding a lock is a bad thing although your commit mentions
14:19:05 sean-k-mooney multiple detach/attach are run
14:19:08 sean-k-mooney concurrently
14:19:12 sean-k-mooney but you are only locking detach
14:19:31 sean-k-mooney you might want to use a shared lock between attach and detach
14:19:44 sean-k-mooney and add a lock to attach too
14:20:00 lyarwood sean-k-mooney: yeah I think we already lock for disks
14:20:24 aarents sean-k-mooney: Yes because the race exists only because of detach that sends multiple UNBIND
14:20:49 aarents if it is fixed on detach attach should be consistent I think
14:20:51 sean-k-mooney what happens if we do multiple attach api calls concurrently
14:21:39 sean-k-mooney aarents: since the syconisation woudl be on the interface uuid i think it would be fairly cheap to just lock both operation
14:23:23 aarents sean-k-mooney: hum why not
14:23:42 sean-k-mooney lyarwood: and yes we already lock in detach_volume using the volume_uuid
14:24:22 aarents lock only on interface uuid not instance_uuid-interface_uuid but on bot attach and detach ?
14:24:59 sean-k-mooney so volumes lock on both attach and detach
14:25:47 sean-k-mooney i would change teh lock name from 'detach_interface-%s-%s' to 'interface-%s-%s'
14:26:16 sean-k-mooney you can pass the instance uuid and port but honestly the neutron port uuid will be unique so the instance uuid is not actully needed
14:26:53 aarents sean-k-mooney and put it on both detach and attach ?

Earlier   Later