Earlier  
Posted Nick Remark
#openstack-nova - 2018-04-05
19:41:04 eandersson oh
19:41:29 eandersson we have been adding them to the nova/schedulers/filters etc :D
19:41:35 mriedem cfriesen_: if you're around and https://bugs.launchpad.net/nova/+bug/1417667/comments/45 is accurate, we should work on closing out that bug to reflect reality since Liberty
19:41:35 openstack Launchpad bug 1417667 in OpenStack Compute (nova) "migration/evacuation/rebuild/resize/unshelve of instance with NUMA topology needs to recalculate NUMA topology" [Medium,In progress] - Assigned to sahid (sahid-ferdjaoui)
19:41:49 mriedem eandersson: we == ?
19:41:50 mriedem suse?
19:42:02 eandersson *I have :D for my deployment
19:42:23 melwitt you mean adding custom out-of-tree ones right? if you have generally useful weighers/filters you can upstream them
19:42:57 eandersson Yea for sure :D
19:42:59 melwitt do we allow custom out of tree ones? I thought maybe not
19:43:02 mriedem eandersson: https://docs.openstack.org/nova/latest/user/filter-scheduler.html#writing-your-own-filter
19:43:08 mriedem melwitt: yes we do
19:43:15 melwitt I can't remember if we restricted it to in-tree only
19:43:18 melwitt okay, nevermind then
19:43:18 mriedem that's also why scheduler hints are wild west
19:43:40 mriedem hell you can even load your own scheduler driver
19:44:01 eandersson I think we may just have backported some of the newer filter fixes
19:44:16 mriedem eandersson: which release are you on?
19:44:23 eandersson mitaka atm
19:44:33 openstackgerrit Tyler Blakeslee proposed openstack/nova stable/queens: Add __repr__ for NovaException https://review.openstack.org/559158
19:47:53 mriedem ok so i think i was wrong about the plugin,
19:47:59 mriedem i think that might just be the scheduler driver entrypoint
19:48:14 mriedem https://github.com/openstack/nova/blob/master/nova/scheduler/filters/__init__.py#L64
19:48:21 mriedem loads up the filters from nova/scheduler/filters as you said
19:48:46 mriedem https://docs.openstack.org/nova/latest/user/filter-scheduler.html#writing-your-own-filter doesn't mention that you have to drop them into the code tree
19:49:09 eandersson It would be a nice feature, because someone might write a scheduler to automatically upgrade their computes
19:49:17 eandersson you know sounds like a cool thing
19:49:27 melwitt it used to be free-form pluggable but it locked down more recently, IIRC. and the doc not updated
19:49:36 eandersson I see
19:49:39 mriedem eandersson: typically nova is anti-plugin
19:49:55 mriedem and have slowly evolved over time to cut out plugin points, as they aren't tested and we break them as such
19:50:07 mriedem plus, interop is a concern with too many plug points
19:50:30 mriedem for a private cloud that just wants to customize everything, interop isn't a concern, but it's a concern for public cloud
19:50:52 mriedem well, could be a concern for private cloud if it ever wants to use the same APIs on a public cloud
19:51:18 melwitt yeah, I've seen it bite private cloud when people used other open source tools that talk to openstack
19:51:29 melwitt that expected the APIs to be a certain way
19:53:09 eandersson Yea - makes sense
19:53:32 melwitt they thought "oh I can use this tool to talk to the openstack private cloud" and something custom in the cloud API tripped it up so they couldn't use the tool
19:54:11 mriedem i can't see anything in loadables or filters that used to use extension points
19:54:23 mriedem looks like it's just always been classpath loading since 2012
19:54:28 eandersson Yea - the first place I always look is setup.cfg
19:56:52 melwitt oh, hm. okay
19:57:05 melwitt I dunno what I was thinking of. maybe I dreamed it
19:57:19 mriedem naw i thought they were loadable via ext point too
19:57:23 mriedem i know the driver is
19:57:43 mriedem and compute rest api extensions used to be loadable via ext point
19:57:58 mriedem i think that was also killed in liberty
19:58:11 melwitt right
19:58:39 eandersson btw more crazy questions... why was a notifaction on instance rename never implemented?
19:58:58 mriedem no one ever asked for/wrote it?
19:59:09 mriedem there are notifications on instance.update
19:59:09 eandersson I see - that simple huh? :D
19:59:11 mriedem which is what a rename is
19:59:24 mriedem https://docs.openstack.org/nova/latest/reference/notifications.html#versioned-notification-samples
19:59:57 mriedem although it's not like create where you have a start/end notification
20:00:24 mriedem oh, well looky here: "old_display_name": null,
20:00:56 mriedem http://git.openstack.org/cgit/openstack/nova/tree/nova/notifications/base.py#n121
20:01:00 mriedem so yeah, instance.update is what you want
20:01:15 eandersson cool - maybe I can add that to designate
20:01:29 eandersson https://github.com/openstack/designate/blob/master/designate/notification_handler/nova.py#L73
20:01:56 mriedem hmm, i don't think the display_name is what you're looking for
20:02:20 mriedem "host_name": "some-server",
20:02:30 mriedem host_name is what's used for the DNS entry i think
20:02:35 eandersson Yea - it is
20:02:50 melwitt yeah and host_name is derived from the display_name during create
20:02:53 mriedem and you can't change that via the REST API
20:03:09 mriedem https://developer.openstack.org/api-ref/compute/#update-server
20:05:08 melwitt yeah, display_name -> hostname thing only happens during create, I don't see it for update
20:05:48 melwitt https://github.com/openstack/nova/blob/master/nova/compute/api.py#L524
20:06:45 openstackgerrit Mathieu Gagné proposed openstack/nova-specs master: Multiple Fixed-IPs support in network information https://review.openstack.org/312626
20:07:37 mriedem if we updated the hostname that would also likely imply a rebuild needed to get it into the guest
20:07:41 melwitt would this be a problem if anything in the exception message (like string substitutions like display_name) has unicode characters in it? https://review.openstack.org/#/c/555812/5/nova/exception.py@108
20:07:42 mriedem or at least a reboot
20:08:04 mriedem melwitt: ah, yes, probably
20:08:16 melwitt yeah. it would take some doing. I think people have asked for it before but not sure what all would be involved
20:09:10 melwitt was thinking about it since you brought up str() on a different review and someone just proposed a queens backport for the __repr__ one
20:09:26 mriedem efried: do you have the ability to sametime tyler blakes?
20:09:31 mriedem *blakeslee
20:09:36 mriedem i see you guys are bff's
20:09:47 efried mriedem: looking...
20:09:55 eandersson I tested evacuate in mitaka and it failed :'(
20:10:05 melwitt ruh roh
20:10:21 mriedem eandersson: with an instance that has numa?
20:10:32 eandersson Yea - I created 5 instances on two computes with numa pinning
20:10:40 mriedem did it fail because of numa or because of something else?
20:10:47 efried mriedem: Got him on slack. Whaddayaneed?
20:11:04 mriedem efried: see the comment in https://review.openstack.org/#/c/555812/ about unicode
20:11:18 eandersson and evacuated two of them to the other compute, and the two evacuated now have conflicting numa pinning
20:11:32 mriedem eandersson: did you evacuate them at the same time?
20:11:35 eandersson Yes
20:11:38 mriedem well,
20:11:44 mriedem that's your problem :)
20:11:46 efried mriedem: Ack. But... I thought they fixed that issue down at the oslo.log level.
20:11:59 eandersson So the two vms are not conflicting with each other
20:12:08 mriedem eandersson: the numa resource claim happens on the compute service, not in the scheduler, so you're racing with concurrent evac requests to claim the same thing
20:12:09 eandersson they both kept their pinnings
20:12:19 efried mriedem: Hum, that totally wouldn't help here, huh?
20:12:26 mriedem efried: no
20:12:31 eandersson they are conflicting with vms that already were on the compute
20:12:44 mriedem eandersson: hmm

Earlier   Later