Re: [openstack-dev] [nova] [placement] placement update 18-10

2018-03-14 Thread Chris Dent

On Mon, 12 Mar 2018, Tetsuro Nakamura wrote:


# Questions

What's the status of shared resource providers? Did we even talk
about that in Dublin?



In terms of bug fixes related to allocation candidates, I'll try to answer
that question :)


Thanks very much for doing this.


* https://review.openstack.org/#/c/533396
AllocationCandidates.get_by_filters ignores shared RPs when the RC exists
in both places


I've just manually rebased the stack that includes the above to
account for the move of the resource provider objects which has
caused merged conflicts all over the place.


Besides these bugs, how we collaborate and merge existing logic of shared
resource provider and now being constructed logic of nested resource
provider remains one of the challenges in Rocky in my understanding.


Indeed.

--
Chris Dent   ٩◔̯◔۶   https://anticdent.org/
freenode: cdent tw: @anticdent__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [nova] [placement] placement update 18-10

2018-03-11 Thread Tetsuro Nakamura
# Questions
> What's the status of shared resource providers? Did we even talk
> about that in Dublin?


In terms of bug fixes related to allocation candidates, I'll try to answer
that question :)
Most of the bugs that have been reported in
https://bugs.launchpad.net/nova/+bug/1731072 are sorted out and already
fixed in Queens.

But we have some items left.

* https://review.openstack.org/#/c/533396
AllocationCandidates.get_by_filters ignores shared RPs when the RC exists
in both places

* https://review.openstack.org/#/c/519601/
* https://review.openstack.org/#/c/533437/
AllocationCandidates.get_by_filters does not handle indirectly connected
sharing RPs
-> In the PTG, we discussed if we need “anchor” RPs in the response of the
API, and if I get it correctly the agreement was "let’s re-open this once
we face a concrete use case." I have updated the patches according to that
conclusion.

* https://review.openstack.org/#/c/533195/
Placement returns no allocation candidate for request that needs both
compute resources and custom shared resources
-> This is already fixed, and trivial comment fix is left and ready for
review.

* No fix proposed - https://bugs.launchpad.net/nova/+bug/1724633
AllocationCandidates.get_by_filters hits incorrectly when traits are split
across the main RP and aggregates
-> This is hard to fix as long as traits belong not to resource classes but
to resource providers. While the current design allows a consumer to pick
resource classes from multiple resource providers (in the same aggregate),
we have no way to know which trait corresponds to which resource class.

Besides these bugs, how we collaborate and merge existing logic of shared
resource provider and now being constructed logic of nested resource
provider remains one of the challenges in Rocky in my understanding.

Thanks!
__
OpenStack Development Mailing List (not for usage questions)
Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


[openstack-dev] [nova] [placement] placement update 18-10

2018-03-09 Thread Chris Dent


Welcome back to your regularly scheduled placement update. I'm still
gathering loose ends from the PTG, so plenty of this will be context
setting, but I'll try to provide the usual too many links.

As mentioned in the last update I'm going to adjust these reports a
bit to make them a bit more focused and also (I hope) shrink the
amount of time it takes to create them. The main visible changes
are:

* The name: it will just be "placement update" now as resource
  providers doesn't really cover it.

* I'm going to focus more on reviews and specs that are directly
  focused on how placement is changing or used, and less on those
  that are "nova using placement as it is". This is not to suggest
  that that work is in any way less important, simply an acceptance
  that there's a lot of work in progress and this can't cover all of
  it. Also there's a useful boundary there that we want to keep as
  strong as possible. So, for example, the way in which minimum
  bandwidth requirements will use traits is not in, but the fact
  that that work may require a way to merge traits is.

* I'm adding a section on placement extraction. This is one of my
  primary occupations at the moment, so I'd like to keep track of
  it somewhere, here seems good. That work also informs the "useful
  boundary" stuff above.

* A questions section has been added for things that seem important
  but I don't know about, discovered while creating these things.

# Most Important

Jay posted a good review of what happened at the PTG and how it will
impact priorities:

http://lists.openstack.org/pipermail/openstack-dev/2018-March/128041.html

There are few specs that came out of that, or were already in
progress, listed below.

Some of the items in Jay's message are TODOs that need a volunteer
to blueprint and spec.

In the meantime many things are dependent on the update provider
tree work, so getting that merged sooner than later is important.

# What's Changed

A big new concept from the PTG is the idea of consumer uuid's
getting a generation so that allocations for a single consumer can
be managed from multiple parties and those parties can "confirm
their view".

There's also code in progress such that a generation is available
immediately when first creating a resource provider. And code to
ensure that generations are used when managing aggregates.

There's a bit of theme here.

# Questions

What's the status of shared resource providers? Did we even talk
about that in Dublin?

# Bugs

* Placement related bugs without owners:  https://goo.gl/TgiPXb
* In progress placement bugs: https://goo.gl/vzGGDQ

# Specs

* https://review.openstack.org/#/c/497733/2
  Report CPU features to placement service by traits API

* https://review.openstack.org/#/c/548903/
  Return Generation from Resource Provider Creation

* https://review.openstack.org/#/c/550244/
  Propose standardized provider descriptor file

* https://review.openstack.org/#/c/548915/
  Express forbidden traits in placement API

* https://review.openstack.org/#/c/549067/
  VMware: place instances on resource pool
  (using update_provider_tree)

* https://review.openstack.org/#/c/549184/
  Spec: report client placement version discovery

* https://review.openstack.org/#/c/548237/
  Update placement aggregates spec to clarify generation handling

* https://review.openstack.org/#/c/418393/
  Provide error codes for placement API

* https://review.openstack.org/#/c/502575/
  WIP:Specification for using cache as a resource using cache
  allocation support
  (This is something that probably should be more placement oriented
  than it currently is.)

* https://review.openstack.org/#/c/545057/
  mirror nova host aggregates to placement API

* https://review.openstack.org/#/c/541507/
  Support traits in Glance

# Main Themes

## Update Provider Tree

The ability of virt drivers to represent what resource providers
they know about--whether that be numa, or clustered resources--is
supported by the update_provider_tree method. Part of it is done,
but some details remain:

https://review.openstack.org/#/q/topic:bp/update-provider-tree

## Request Filters

These are a way for the nova scheduler to doctor the request being
sent to placement, using a sane interface.

https://review.openstack.org/#/q/topic:bp/placement-req-filter

## Mirror nova host aggregates to placement

This makes it so some kinds of aggregate filtering can be done
"placement side" by mirroring nova host aggregates into placement
aggregates.

https://review.openstack.org/#/q/topic:bp/placement-mirror-host-aggregates

## Forbidden Traits

A way of expressing "I'd live resources that do _not_ have trait X".
Just a spec so far:

https://review.openstack.org/#/q/topic:bp/placement-forbidden-traits

## Consumer Generations

Not yet started.

# Extraction

I wrote up an email with the current state of and plan for
extracting placement to its own project: