Earlier  
Posted Nick Remark
#openstack-nova - 2019-05-24
20:51:57 kaiokmo btw, the is being loaded correctly by the scheduler. LOG.debug placed before host_passes appear on the logs
20:53:28 melwitt kaiokmo: this might be a problem with your config, the enabled_filters and available_filters are supposed to be lists. I wonder if that's what's wrong?
20:56:00 melwitt I can never remember how to format lists in ini conf
20:57:29 melwitt looks like it's just comma separated: enabled_filters = RetryFilter,AvailabilityZoneFilter
20:58:38 efried iiuc you're using the same config file as before?
20:59:13 efried kaiokmo: Oh, disregard the thing about reverting that patch. I misread your original issue, you said this was working on pike and broke on rocky. That patch went back to pike, so probably isn't to blame.
20:59:33 melwitt I was wondering the same thing. because according to this, it should be the class name only, not the whole path. but I don't know whether having the whole path would hurt or not
20:59:57 kaiokmo melwitt: yes. metadata on aggregate is custom: "aggregate" with "test" value
21:00:29 kaiokmo metadata on flavor is "aggregate_instance_extra_specs:aggregate" with "test" value
21:01:39 melwitt kaiokmo: when you added your own debug messages, did you put one here? https://github.com/openstack/nova/blob/master/nova/scheduler/filters/aggregate_instance_extra_specs.py#L48 wondering if you would see that one?
21:02:52 kaiokmo melwitt: yes, it is LOG.debug("***OMG***") :)
21:03:24 melwitt haha xD
21:04:20 melwitt did you put one right at the beginning of host_passes before anything else? because if that's not showing, then you're right the filter isn't running
21:05:22 melwitt if the filter isn't running, I'd try to use config options like available_filters = AggregateInstanceExtraSpecsFilter enabled_filters = AggregateInstanceExtraSpecsFilter and then see if you see the filter run
21:06:25 kaiokmo yes. I put one on the beginning of the function, and it is not showing. but, I also did put one right before the function and this one appears on the logs when the nova-scheduler service is restarted (which I think means that the filter was loaded)
21:07:27 kaiokmo that's what I did: this is the filter section on nova.conf for nova-scheduler http://paste.openstack.org/show/752054/
21:07:58 melwitt yeah, I agree, the message you do see indicates the class was loaded by something
21:08:16 melwitt I'd try also changing available_filters to match enabled_filters, i.e. use class name only
21:08:39 kaiokmo ok. trying that now
21:08:50 melwitt because available_filters is a superset of enabled_filters
21:09:55 melwitt if that doesn't work to get the filter to run, then I will be lost again
21:10:36 openstackgerrit Matt Riedemann proposed openstack/nova master: Fix hard-delete of instance with soft-deleted referential constraints https://review.opendev.org/661398
21:14:07 kaiokmo melwitt: well, if available_filter is class only, oslo importutils (called by nova-scheduler) doesn't seem to be able to load the filter
21:14:18 kaiokmo ValueError: Empty module name
21:14:34 melwitt :\
21:16:03 melwitt ok, then I guess the config help on that one is wrong. these available_filters and enabled_filters are supposed to work the same way
21:16:18 melwitt next I would try commenting out the available_filters setting altogether and let it default to all filters
21:16:36 melwitt it will still only use what you have in enabled_filters and won't use any additional filters
21:17:27 melwitt and if that enables the filter to run, then it sounds like we have some kind of bug or config help doc problem with the available_filters option
21:18:39 melwitt I can't find any examples of it being used and not being left as the default, so I don't know it's intended to be set as a list
21:19:04 melwitt *how it's intended
21:34:33 kaiokmo melwitt: did as you said. the filter was loaded (like before), but it did not run (also like before)
21:36:40 melwitt ... I don't understand what is going on
21:37:11 melwitt I'm going to try on my devstack
21:38:03 kaiokmo me neither
21:40:56 melwitt ok, when I appended AggregateInstanceExtraSpecsFilter to enabled_filters in devstack it runs the filter
21:42:24 kaiokmo runs it or loads it? did you created a host aggregate and a flavor (both with the proper metadata)?
21:42:43 melwitt runs it, I added a log message right at the beginning inside the host_passes method
21:43:41 melwitt no, I didn't do anything with aggregate and flavor. the filter not running would be unrelated to aggregate/flavor AFAIK
21:44:16 melwitt I'll try it
21:44:46 kaiokmo doesn't seem to work for me. I configured nova.conf as you suggested, with enabled_filters=AggregateInstanceExtraSpecsFilter and I left available_filters commented to load all filters by default
21:45:12 kaiokmo in which tag are your nova/devstack on?
21:45:32 openstackgerrit Dustin Cowles proposed openstack/nova master: Introduces SDK to IronicDriver and uses for node.get https://review.opendev.org/642899
21:45:32 openstackgerrit Dustin Cowles proposed openstack/nova master: Use SDK instead of ironicclient for node.list https://review.opendev.org/656027
21:45:33 openstackgerrit Dustin Cowles proposed openstack/nova master: Use SDK instead of ironicclient for validating instance and node https://review.opendev.org/656028
21:45:34 openstackgerrit Dustin Cowles proposed openstack/nova master: Use SDK instead of ironicclient for setting instance id https://review.opendev.org/659690
21:45:34 openstackgerrit Dustin Cowles proposed openstack/nova master: WIP: Use SDK instead of ironicclient for add/remove instance info from node https://review.opendev.org/659691
21:46:00 melwitt I'm at a5e3054e1d6df248fc4c00b9abd7289dde160393 in train
21:47:58 melwitt when I set enabled_filters = AggregateInstanceExtraSpecsFilter I get only the one filter running
21:52:46 melwitt gonna try now with aggregate and flavor
21:53:37 kaiokmo ok, thank you. it is probably gonna work, since the filter is running
21:54:36 kaiokmo I'm at 18.0.0, deployed with OSA
22:00:09 melwitt ok, booting with matching metadata works. now I'll try no match
22:01:41 kaiokmo my knowledge about nova behaviou (api and etcetera) is limited. could this be related with the placement service or something?
22:01:42 melwitt nonmatch fails to boot
22:01:58 kaiokmo s/behaviou/behavior
22:02:11 melwitt I thought about whether placement could be involved, but that would *not* affect whether your filter runs
22:03:05 melwitt when something changes related to placement, it would a change where the host candidates coming back from placement are problematic in some way
22:03:17 melwitt placement will pre-filter hosts before they run through the nova scheduler filters
22:03:55 kaiokmo ah. I see
22:04:25 melwitt the fact that your filter isn't running at all is bizarre and I can't think of how that could be happening other than a config problem
22:14:02 melwitt kaiokmo: when the nova-scheduler service starts up, the DEBUG log will show what values it picked up for available_filters and enabled_filters. you might take a look at that to see if it yields any clues
22:14:08 openstackgerrit Merged openstack/nova master: Move get_pci_mapping_for_migration to MigrationContext https://review.opendev.org/643023
22:14:16 openstackgerrit Merged openstack/nova master: Allow driver to properly unplug VIFs on destination on confirm resize https://review.opendev.org/643024
22:14:57 melwitt for example May 24 21:46:45 ubuntu-xenial nova-scheduler[15474]: DEBUG oslo_service.service [None req-3351fca8-ca06-4931-bebb-e1f40771a478 None None] filter_scheduler.enabled_filters = ['AggregateInstanceExtraSpecsFilter']
22:15:26 melwitt May 24 21:46:45 ubuntu-xenial nova-scheduler[15474]: DEBUG oslo_service.service [None req-3351fca8-ca06-4931-bebb-e1f40771a478 None None] filter_scheduler.available_filters = ['nova.scheduler.filters.all_
22:15:26 melwitt filters']
22:16:25 kaiokmo mine is filter_scheduler.available_filters = ['nova.scheduler.filters.all_filters']
22:16:33 kaiokmo and filter_scheduler.enabled_filters = ['AggregateInstanceExtraSpecs Filter']
22:17:00 kaiokmo which seems correct
22:17:36 melwitt is the space in the middle of ['AggregateInstanceExtraSpecs Filter'] just a typo in chat or?
22:17:48 melwitt because it should not have a space
22:19:53 kaiokmo typo in chat.
22:20:04 kaiokmo for a moment I thought "omg, it can't be" :)
22:23:11 melwitt scheduler.driver = filter_scheduler should be in the log too
22:25:55 kaiokmo yeah, it is here
22:26:28 melwitt w t f
22:27:23 kaiokmo doesn't make sense for me either
22:28:01 kaiokmo been trying to get this working since yesterday.
22:30:02 melwitt yeah, I dunno what to tell you. I'd be putting prints all over the code and just try to trace it at this point
22:30:09 melwitt do you see a log like this at least? DEBUG nova.filters [None req-4d2d1a33-c0da-4285-a500-3806a3313c4d admin admin] Starting with 1 host(s)
22:30:42 melwitt that's what it says before it starts running filters
22:33:13 kaiokmo not really. only a bunch of "Lock acquired...", "Running periodic tasks...", and "Succesfully synced instances...
22:33:28 kaiokmo so, the filters are not running at all? that's not good
22:34:27 melwitt backing up, you are seeing a server successfully boot right? and it's going onto hosts you don't want?
22:35:23 melwitt if so, are you running one scheduler or multiple? at least one of them should be showing filtering related messages if debug=True in the nova-scheduler config
22:35:57 melwitt unless you are forcing to specific host or something in your nova boot command
22:39:36 kaiokmo yeah, I can boot servers but they are going to whatever host chosen by scheduler. I'm running three schedulers on separated infra nodes, behind a haproxy.
22:40:13 kaiokmo yes, I'm looking for the messages on the three of them, and replicating the same configuration.
22:40:38 melwitt O.o
22:42:03 kaiokmo this is the entire nova.conf I'm using http://paste.openstack.org/show/752060/
22:42:25 kaiokmo doesn't seem to be anything wrong with scheduler and filter_scheduler sections
22:45:19 melwitt I see a few config options whose names have changed in later releases but nothing that should be hurting
22:46:21 melwitt should also see a log message like this on at least one scheduler
22:46:25 melwitt DEBUG nova.scheduler.filter_scheduler [None req-4d2d1a33-c0da-4285-a500-3806a3313c4d admin admin] Filtered
22:49:02 kaiokmo none of the sort. nothing like "nova.scheduler.filter_scheduler"
22:53:35 melwitt is your deployment custom patched or anything?
22:56:14 tonyb dansmith: thanks! and sorry
23:07:11 openstackgerrit Merged openstack/nova master: Move patch_exists() to nova.test.TestCase for reuse https://review.opendev.org/660500
23:39:48 openstackgerrit Adam Spiers proposed openstack/nova master: Move selective patching of open() to nova.test for reuse https://review.opendev.org/661266

Earlier   Later