Add relations to the cache, and extra model details. #11124
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In order to provide the information to the upcoming model summary watcher (which will be implemented in the cache), we need to get some extra information into the cache.
There is a drive by that renames the ModelUpdate type from the core/multiwatcher package back to ModelInfo. This was renamed previously when the type was moved into the apiserver/params package and we had to deal with a naming collision. Renamed it back for this type for consistency with the rest of the package.
Adds three pieces of information from the state.Model in through the allwatcher: Cloud, Region, and Credential. Each of these is just a string value in the underlying document, so just adding these to the multiwatcher info type is sufficient to pass them along. Also needed to add these to the cache change type, and this makes them available to the internals of the cache.
The cache needed to know about relations, so pass the relation changes from the modelcache worker though to the controller, and add methods to add and remove the relations to the cached model.
QA steps
Nothing is exposed to the outside world yet, that is coming.
Documentation changes
Everything is internal, no user facing change.