| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2019-12-13 | |||
| 16:49:53 | finucannot | dansmith: I'm heading off, but can you make sure you're happy with https://review.opendev.org/698890 before you leave for the year? | |
| 16:50:18 | finucannot | gmann should probably look at it too, but I think the main concern about us breaking the DevStack default has been resolved now | |
| 16:50:34 | dansmith | finucannot: I skimmed it earlier, it's just reverting the stuff now that the devstack default is py3 yeah/ | |
| 16:50:45 | finucannot | 'zactly | |
| 16:51:10 | dansmith | ack fine with me | |
| 16:51:14 | finucannot | ta | |
| 16:51:16 | dansmith | but yeah, gmann | |
| 16:51:19 | mriedem | we might want to consider taking the boot_index part of this spec and doing it on its own https://specs.openstack.org/openstack/nova-specs/specs/train/approved/detach-boot-volume.html#proposed-change since there is some confusion going on in -sdks about knowing when a server is volume-backed or not | |
| 16:51:23 | finucannot | agreed | |
| 16:51:30 | mriedem | and twould be helpful if we exposed the boot_index of the attached volumes | |
| 16:51:43 | finucannot | dansmith: have a good one 🎄 | |
| 16:51:49 | dansmith | o/ | |
| 16:52:08 | gmann | dansmith: stephenfin +1 | |
| 16:53:07 | gmann | its m-1 also so is anyone is break its time foe them to merge the py2 drop patch. | |
| 16:53:21 | mriedem | dansmith: is there a standard way to check the type on a field? | |
| 16:53:33 | dansmith | mriedem: isinstance | |
| 16:53:55 | mriedem | heh yeah i was doing if isinstance(field, fields.ObjectField) but that didn't work | |
| 16:54:09 | mriedem | so i did value = getattr(target_obj, field) and if isinstance(value, fields.ObjectField): but that doens't work either | |
| 16:54:11 | dansmith | should work | |
| 16:54:48 | dansmith | mriedem: https://github.com/openstack/nova/blob/master/nova/objects/instance.py#L773 | |
| 16:54:53 | mriedem | ok i'll tinker, got a call with HR in 5 minutes | |
| 16:54:56 | dansmith | oh I see what you're doing | |
| 16:55:03 | dansmith | the actual data isn't in the field, the field is in obj_fields | |
| 16:55:43 | mriedem | yeah http://paste.openstack.org/show/787566/ | |
| 16:55:56 | mriedem | oh nvm | |
| 16:55:57 | mriedem | i see | |
| 16:56:09 | mriedem | obj_fields yields the field name | |
| 16:56:44 | dansmith | obj_fields is a dict, | |
| 16:56:54 | dansmith | so you need to either get the field by name or iterate over the values() | |
| 16:57:19 | mriedem | @property | |
| 16:57:19 | mriedem | def obj_fields(self): | |
| 16:57:19 | mriedem | return list(self.fields.keys()) + self.obj_extra_fields | |
| 16:57:30 | mriedem | fields is the dict | |
| 16:57:32 | mriedem | so yeah i've got you | |
| 17:25:19 | mriedem | huh, i was trying to use the test_objects.MyObj for my test and that was failing the 'field in target_obj' checks but changed to Instance with a nested Flavor and it's working now, so go figure | |
| 17:26:44 | openstackgerrit | Matt Riedemann proposed openstack/nova master: Fix accumulated non-docs nits for cross-cell-resize series https://review.opendev.org/698935 | |
| 17:37:40 | openstackgerrit | Matt Riedemann proposed openstack/nova master: api-ref: avoid mushy wording around server.image description https://review.opendev.org/698976 | |
| 17:37:41 | openstackgerrit | Sundar Nadathur proposed openstack/os-traits master: Add a trait that compute manager can handle accelerator requests. https://review.opendev.org/698961 | |
| 17:39:38 | openstackgerrit | Matt Riedemann proposed openstack/nova master: api-ref: avoid mushy wording around server.image description https://review.opendev.org/698976 | |
| 18:13:05 | openstackgerrit | Balazs Gibizer proposed openstack/nova master: Move _update_pci_request_spec_with_allocated_interface_name https://review.opendev.org/696574 | |
| 18:14:43 | openstackgerrit | Balazs Gibizer proposed openstack/nova master: Support live migration with qos ports https://review.opendev.org/695905 | |
| 18:22:34 | gibi | efried_afk: I'm +2 on the vtpm spec (thanks to my nephew who let me read the diff while watching back to the future 3) | |
| 18:38:29 | openstackgerrit | Ghanshyam Mann proposed openstack/nova-specs master: [ussuri][goal] Drop python 2.7 support https://review.opendev.org/698988 | |
| 19:14:29 | openstackgerrit | Merged openstack/nova master: Add confirm_snapshot_based_resize conductor RPC method https://review.opendev.org/637075 | |
| 19:18:03 | KeithMnemonic | dansmith I updated that change with my +1 after verifying the fix in Pike and added you as a reviewer. Thanks for your help! | |
| 19:29:16 | dansmith | ack | |
| 19:32:07 | efried_afk | gibi: thanks! | |
| 19:46:15 | openstackgerrit | Eric Fried proposed openstack/nova master: DRY: Build ImageMetaPropsPayload from ImageMetaProps https://review.opendev.org/698803 | |
| 19:54:59 | openstackgerrit | Matt Riedemann proposed openstack/nova master: doc: define boot from volume in the glossary https://review.opendev.org/699009 | |
| 19:55:47 | efried | gmann: are you keeping up with your own drop-py27-support patches or are repo owners expected to pick them up? | |
| 19:56:17 | efried | Specifically https://review.opendev.org/#/c/698988/ -- I don't mind editing it, just lmk | |
| 19:56:27 | gmann | efried: owner first if they do not do then i push | |
| 19:57:19 | openstackgerrit | Eric Fried proposed openstack/nova-specs master: [ussuri][goal] Drop python 2.7 support https://review.opendev.org/698988 | |
| 19:57:47 | efried | gmann: okay, I updated ^ | |
| 19:57:51 | efried | and +2ed | |
| 19:58:17 | efried | oh | |
| 19:58:21 | gmann | efried: that might fail. requirement check job is adjusted for py2 requirement matches only | |
| 19:58:22 | efried | That was, apparently, wrong. | |
| 19:58:32 | efried | I don't know that the nova-specs repo has requirements check tho | |
| 19:58:37 | efried | I wouldn't expect it to. | |
| 19:58:56 | efried | And dropping py2 "support" from nova-specs is a bit pro forma anyway :P | |
| 19:59:00 | gmann | ah yeah. as long as it pass it is fine | |
| 19:59:47 | gmann | at the end all py3 specifier will be cleanup too | |
| 19:59:57 | efried | yeah, looking at the previous run, it's only pep8 and docs. | |
| 20:00:01 | efried | so it ought to work. | |
| 20:06:29 | openstackgerrit | Matt Riedemann proposed openstack/nova stable/rocky: Add --dry-run option to heal_allocations CLI https://review.opendev.org/698525 | |
| 20:06:30 | openstackgerrit | Matt Riedemann proposed openstack/nova stable/rocky: Add --instance option to heal_allocations https://review.opendev.org/698529 | |
| 20:06:30 | openstackgerrit | Matt Riedemann proposed openstack/nova stable/rocky: Add BFV wrinkle to TestNovaManagePlacementHealAllocations https://review.opendev.org/698531 | |
| 20:17:27 | mriedem | efried: i replied for gibi on https://review.opendev.org/#/c/696574/ - see if that answers your question | |
| 20:19:22 | efried | thanks mriedem, +A | |
| 20:19:49 | efried | mriedem: wanna hit this trivial +A? https://review.opendev.org/698988 | |
| 20:23:49 | efried | dansmith: bikeshedding opportunity: | |
| 20:23:56 | mriedem | done | |
| 20:24:59 | efried | RequestSpec needs a field (possibly two) to store root_required (which can take required or forbidden (with !) just like regular required). This is parallel with requested_resources. | |
| 20:25:31 | efried | It's what we always wanted to use from those request_filters rather than hacking into the flavor and doing obj_reset_changes(), which I'll fix up at the same time. | |
| 20:25:33 | mriedem | that can't be hacked into the RequestGroup? | |
| 20:25:50 | efried | No, specifically because it's not per request group. | |
| 20:25:51 | dansmith | right, was just going to say.. why isn't it inside requested_resources? | |
| 20:26:02 | efried | That's it's whole raison d'être | |
| 20:26:11 | efried | requested_resources is a list of RequestGroup. | |
| 20:26:14 | mriedem | the issue i always had with the RequestGroup for that traits-only stuff is the RequestGroup stuff in the scheduler made resources required | |
| 20:26:35 | dansmith | oh because requested_resources is a list of requestgroup objects | |
| 20:27:09 | dansmith | that field probably should have been an ObjectField('PlacementyShit') | |
| 20:27:11 | efried | well a) pretty sure that's not a thing anymore, I think we did away with that on the placement side; but b) that's exactly what root_required is for: so you can specify required/forbidden traits that you *for sure* want to look for on the root RP, without association with any request groups | |
| 20:27:12 | mriedem | can you have a root unnumbered group or something for modeling this? | |
| 20:27:26 | mriedem | DictOfStringsField(put all the crap) | |
| 20:27:58 | mriedem | so building on RequestGroup as an object would probably just be confusing for tihs right? | |
| 20:28:11 | efried | would make no sense | |
| 20:28:24 | efried | a request has N RequestGroup. It only has one root_required | |
| 20:28:39 | efried | RequestGroup contains resources, traits, aggregates. root_required only traits. | |
| 20:28:41 | dansmith | efried: what is your actual quesiton? | |
| 20:28:46 | efried | what should we name those fields | |
| 20:28:54 | dansmith | field or fields | |
| 20:28:54 | dansmith | ? | |
| 20:28:56 | efried | One for required, one for forbidden. SetOfStringsField. | |
| 20:29:03 | efried | root_required, root_forbidden? | |
| 20:29:14 | efried | root_required_traits, root_forbidden_traits? | |
| 20:29:21 | mriedem | feels like a field explosion | |
| 20:29:28 | efried | requested_root_traits_required, requested_root_traits_forbidden? | |
| 20:29:30 | dansmith | how about we add PlacementyShit and put them on that object, so that when we have the next thing, we don't keep adding placementy fields to reqspec? | |