| Posted | Nick | Remark | |
|---|---|---|---|
| #openstack-nova - 2018-03-09 | |||
| 15:25:43 | kashyap | Ah, he's out of the channel | |
| 15:26:03 | finucannot | I'm back | |
| 15:26:08 | finucannot | Well, that was fun | |
| 15:26:18 | finucannot | #FridayBants | |
| 15:27:24 | mriedem | i dropped the +2, feel free to make the changes you want | |
| 15:27:36 | mriedem | also, goo.gl | |
| 15:28:08 | openstackgerrit | Jay Pipes proposed openstack/nova-specs master: Allow overriding a compute node's UUID https://review.openstack.org/551315 | |
| 15:28:12 | leakypipes | giblet: ^ | |
| 15:28:46 | finucannot | mriedem: Rejected it as an invalid link (probably because of all the encoding) | |
| 15:29:43 | Systemotic | All this activity makes me sad you folks will be on your weekend for my next two days of work :P | |
| 15:30:00 | mriedem | leakypipes: giblet: ew what is that for? | |
| 15:30:22 | superdan | ugh, really? | |
| 15:30:29 | giblet | leakypipes: thanks | |
| 15:30:41 | leakypipes | mriedem, superdan: thx for your vote of confidence. | |
| 15:30:52 | mriedem | well changing uuids is generally pretty terrible | |
| 15:30:57 | mriedem | we can all agree | |
| 15:31:06 | leakypipes | mriedem: it's for *new* compute hosts that haven't started up. | |
| 15:31:14 | leakypipes | it's not changing anything. | |
| 15:32:03 | superdan | oh this is that neutron thing | |
| 15:32:07 | leakypipes | mriedem: this is to solve the chicken-and-egg problem where external agents cannot manage child provider resources because there's no way to tell the agent what the UUID of the compute node resource provider is. | |
| 15:32:11 | leakypipes | mriedem: right. | |
| 15:32:12 | giblet | mriedem, superdan: for me it is just a usage example to better understand the intention of https://review.openstack.org/#/c/550244/ | |
| 15:33:14 | openstackgerrit | Takashi NATSUME proposed openstack/nova stable/queens: [placement] Add sending global request ID in get https://review.openstack.org/543116 | |
| 15:35:16 | mriedem | so operator defines a yaml file of the compute node and all of it's nested providers and their inventory and traits, etc, and all services that care about it read from that file when creating new things, rather than rely on their own information | |
| 15:37:27 | mriedem | can we make it xml and conform to CIM standards? :) | |
| 15:39:17 | mriedem | so this is just the uuids or everything? | |
| 15:39:28 | mriedem | like a heat template for placement? | |
| 15:40:03 | mriedem | what happens when nova-compute says that the inventory the operator put into the yaml file is different from what it calculates? | |
| 15:41:25 | openstackgerrit | Stephen Finucane proposed openstack/nova master: Fix indentation in doc/source/cli/* https://review.openstack.org/549166 | |
| 15:41:40 | finucannot | mriedem: ^ the things I do for docs | |
| 15:42:22 | finucannot | That God awful formatting of block comments in openstackdocstheme really needs to be fixed too | |
| 15:43:54 | rabel | finucannot: thank you! while you're at it, could you have a look at https://review.openstack.org/#/c/549180/ too? it's glance's cli docs and probably has the same problem | |
| 15:44:11 | finucannot | rabel: Sure :) | |
| 15:46:43 | finucannot | rabel: That ones not as bad because they're using definition lists correctly - they just happen to have them indented wrongly | |
| 15:46:54 | finucannot | Some comments left all the same, if you fancy tackling them | |
| 15:49:39 | rabel | finucannot: did you post the comments? i can't see them | |
| 15:49:49 | finucannot | whoops | |
| 15:50:01 | finucannot | rabel: actually published now | |
| 15:50:37 | leakypipes | mriedem: no. I specifically did *not* make the provider config YAML format include nested providers. One file per provider. | |
| 15:51:23 | rabel | finucannot: thanks | |
| 15:51:40 | finucannot | rabel: FYI this is the defacto reference guide for all things reStructuredText http://docutils.sourceforge.net/docs/user/rst/quickstart.html | |
| 15:51:40 | mriedem | leakypipes: ok, so it's a yaml file per provider, and can include the full provider description, including inventory, allocations, traits, aggregates, etc? | |
| 15:51:49 | leakypipes | mriedem: if a virt driver or external agent wishes to set overrides on a bunch of resource providers (possibly in a tree of providers), they can use multiple YAML files. I have left the implementation details of that stuff to the agent implementors. | |
| 15:51:49 | finucannot | The actually Sphinx docs are awful (I'm working on it) | |
| 15:51:58 | leakypipes | mriedem: no allocations. | |
| 15:52:02 | leakypipes | mriedem: no aggregates. | |
| 15:52:09 | leakypipes | mriedem: only inventory and traits. | |
| 15:52:10 | mriedem | so just what the RT would report today | |
| 15:52:15 | leakypipes | correct. | |
| 15:52:26 | mriedem | and then the RT will overwrite those, b/c that's what it does today | |
| 15:52:58 | leakypipes | mriedem: I have only submitted a spec describing the behaviour of a single override -- the resource provider's UUID -- in the resource tracker. | |
| 15:53:13 | mriedem | leakypipes: the spec says it can also be inventory and traits | |
| 15:53:31 | leakypipes | mriedem: I haven't discussed overriding inventory or traits in the resource tracker yet. I've only commented on a possible format for describing those inventory/traits overrides. | |
| 15:53:38 | mriedem | https://review.openstack.org/#/c/551315/1/specs/rocky/approved/override-compute-node-uuid.rst@84 | |
| 15:54:01 | mriedem | then ^ should probably come out | |
| 15:54:07 | leakypipes | mriedem: why? | |
| 15:54:29 | mriedem | we need to be clear about what happens if an operator is going to put inventory and trait information in this yaml file, | |
| 15:54:32 | superdan | leakypipes: if we just let them explicitly set the name on the provider, then can't we avoid providing a generic override mechanism so that other services can use the name to sync up? | |
| 15:54:36 | mriedem | because today the RT is going to override that | |
| 15:54:54 | mriedem | if you plan to support out of band inventory/traits definitions, then the spec needs to discuss fixing the override so that nova merges those in | |
| 15:55:05 | leakypipes | mriedem: I'm happy to remove that from the use cases list. | |
| 15:55:28 | leakypipes | mriedem: I planned on another spec to discuss the implementation of inventory and trait overrides in the resource tracker. | |
| 15:55:37 | leakypipes | mriedem: that spec is just for the compute node UUID override. | |
| 15:56:39 | leakypipes | superdan: UUID or name, I don't really care. But there has to be a way of signaling to the resource tracker not to use the CONF.host value. | |
| 15:57:11 | superdan | leakypipes: or we just define a new conf option for the name of the RP, default=None means use CONF.host | |
| 15:57:19 | mriedem | ^ was just thinking that | |
| 15:57:25 | superdan | and then roll from there, without having to provide generic override mechanisms, hard coding uuids, etc | |
| 15:58:03 | leakypipes | superdan: and how does that signal to other agents running in other containers what the value should be that they look up? | |
| 15:58:36 | superdan | the same way as if this override yaml file is present and has a uuid set I guess? | |
| 15:59:26 | superdan | for the container file namespace issue, you can put that one option in its own conf file in a common location | |
| 15:59:39 | superdan | *filesystem namespace I mean | |
| 15:59:43 | leakypipes | superdan: how so? the agent may a) be managing multiple compute nodes and need information on multiple providers and b) needs some way of indicating what those compute node identifiers are. | |
| 16:00:10 | leakypipes | superdan: "one option in its own conf file" vs a standardized descriptor file format for resource providers? | |
| 16:00:25 | superdan | I'm confused. | |
| 16:00:31 | leakypipes | superdan: I would have thought you'd be supportive of not adding yet more configuration options. | |
| 16:00:51 | mriedem | leakypipes: this spec doesn't talk about non-nova agents managing multiple compute nodes | |
| 16:01:08 | openstackgerrit | Balazs Gibizer proposed openstack/nova-specs master: Network bandwidth resource provider https://review.openstack.org/502306 | |
| 16:01:23 | mriedem | i'm reading this all as 1:1 with a single compute node | |
| 16:02:21 | leakypipes | mriedem: I can add text about 1:M because that's what neutron agents do... many of them run on controller nodes and manage resources for hundreds of compute nodes. | |
| 16:03:46 | mriedem | sorry for my lack of neutron agent know-how, but that's not the case for OVS and LB is it? | |
| 16:03:55 | mriedem | otherwise how would os-vif plugins work for those? | |
| 16:04:03 | mriedem | since we don't use rpc or rest apis in os-vif | |
| 16:04:44 | mriedem | i'm not trying to be snarky, i just don't know the details on how neutron agents can all be deployed, and for which types of neutron backends | |
| 16:06:38 | leakypipes | mriedem: imagine a neutron agent that is managing network bandwidth resources for a rack of compute nodes. it needs to know the UUIDs (or compute node names) of those compute node resource providers so that it can add child providers to each compute node that represent the PFs that have a limited supply of ingress/egress bandwidth for physical networks. That agent could run on a single compute node or it could run on the TOR, or it could run | |
| 16:06:38 | leakypipes | in a container on a controller... | |
| 16:08:20 | mriedem | is that a thing today with the traditional OVS agent? or is this a neutron agent of the future? | |
| 16:08:32 | giblet | Kevin_Zheng, alex_xu_: I've updated the bandwidth spec based on the comments so far https://review.openstack.org/#/c/502306 | |
| 16:08:33 | mriedem | like, a new agent service for managing placement type resource information | |
| 16:10:55 | leakypipes | mriedem: I'm not entirely sure where you're going with these questions... I can remove the multi-provider stuff from the spec, but frankly, I don't see why we'd want to limit ourselves to agents that only work with a single resource provider. | |
| 16:11:49 | mriedem | leakypipes: i'm just trying to understand. i don't know if i'm just retarded and don't know how neutron agents work *today*, or if you're talking about something that could be built off of this spec for a new neutron agent in the future. but if it's a problem then i'll just stop asking questions. | |
| 16:11:58 | leakypipes | superdan: to answer your question above about "if we just let them explicitly set the name on the provider, then can't we avoid providing a generic override mechanism so that other services can use the name to sync up?", we will need to provide trait override information in the (near) future -- think about the whole forbidden traits and cpu_model stuff. Do you propose adding more CONF options for trait overrides as well? | |
| 16:12:34 | leakypipes | mriedem: I'm feeling ganged up on. | |
| 16:12:37 | mriedem | operators, or external services, can set traits | |
| 16:12:50 | mriedem | nova just needs to not overwrite them | |
| 16:13:07 | mriedem | i don't think we need config options for that | |
| 16:13:12 | leakypipes | mriedem: and how do we signal to nova not to override *some* traits but not others? | |
| 16:13:13 | mriedem | it's why we have the rest api | |
| 16:13:21 | mriedem | CUSTOM_? | |
| 16:13:48 | mriedem | i thought there was some discussion about that at the ptg about overriding standard vs custom traits | |
| 16:13:50 | mriedem | would have to look | |