Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge 2.6 Into Develop #10367

Merged
merged 29 commits into from
Jun 22, 2019
Merged

Merge 2.6 Into Develop #10367

merged 29 commits into from
Jun 22, 2019

Conversation

manadart
Copy link
Member

Description of change

Merge into develop, bringing forward:

SimonRichardson and others added 28 commits June 18, 2019 14:56
The machines profile watcher was missing the ability to tie itself
to the provisioner task life-cycle, which means that when a
provisioner task was killed or restarted then the watcher was still
spinning and never cleaned up, leaking as a resource.

There is another problem that @jameinel spotted in the creation of
the provisioner task, is that if the provisioner errored out on
the construction of the provisioner task, then we never killed the
other watchers and they could also be leaked. We should look at
those in the near future to ensure that any watchers that die on
construction are also cleaned up.
juju#10341

## Description of change

The machines profile watcher was missing the ability to tie itself
to the provisioner task life-cycle, which means that when a
provisioner task was killed or restarted then the watcher was still
spinning and never cleaned up, leaking as a resource.

There is another problem that @jameinel spotted in the creation of
the provisioner task, is that if the provisioner errored out on
the construction of the provisioner task, then we never killed the
other watchers and they could also be leaked. We should look at
those in the near future to ensure that any watchers that die on
construction are also cleaned up.

## QA steps

Ensure that the following test passes:

```console
go test -v ./worker/provisioner/... -check.v -check.f=ProvisionerTaskSuite.TestStartStop
```

## Bug reference

https://bugs.launchpad.net/juju/+bug/1833155
multiwatcher, allwatcher and modelcache worker. Including helper
functions to get the data from the model cache.
juju#10359

## Description of change

Add Created, CreatedBy, and CompletedBy to a Branch in the model cache,
multiwatcher, allwatcher and modelcache worker. Including helper
functions to get the data from the model cache.

## QA steps

Not directly used yet. Unit tests should all pass and no difference in juju functionality found.
juju#10346

## Description

Rename commit command to branch. Enhance renamed branch command 
to display current branch if none provided.

## QA steps

1. export JUJU_DEV_FEATURE_FLAGS=generations
2. juju bootstrap
3. juju branch <- Active branch is "master"
4. juju add-branch testme
3. juju branch <- Active branch is "testme"
3. juju branch master <- Active branch set to "master"
3. check 'see also' of other branch related commands
4. juju help branch

## Documentation changes

This feature is still under development, however any docs referencing juju commit should be updated to use juju branch in the develop stream and enhancement noted.
…rors-25

juju#10354

## Description of change

Occasionally, juju does not corectly check provider 'not found" errors which get propagated and are surfacing to the users causing confusion.

This PR improves error checks in provider code. I have examined all providers and am fairly certain that I have covered all occurrences.
 
## QA steps

1. bootstrap on gce
2. deploy something sizable.. I've used ```juju deploy cs:canonical-kubernetes```
3. once things settle, run ```juju kill-controller --debug -y -t0 <your controller> --show-log``` and watch the logs...

Before this PR, you'd get a few ```ERROR juju.provider.gce.gceapi conn_instance.go:131 while removing instance "juju-71b3b8-7": googleapi: Error 404: The resource 'projects/juju-239814/zones/us-east1-b/instances/juju-71b3b8-7' was not found, notFound```
After this PR, you will not get any ERROR (if killing is successful)

## Bug reference

https://bugs.launchpad.net/juju/+bug/1831527
# Conflicts:
#	worker/provisioner/provisioner_task.go
# Conflicts:
#	worker/provisioner/provisioner_task.go
…king a changed branch.

Includes misleading vestigial comment fixes.
…etermination

juju#10364

## Description of change

This patch fixes an edge case in the cache charm config watcher where a unit not tracking any branch would start tracking a branch changed in the cache.

Includes some outdated comment updates.

## QA steps

See new unit test; fails before, passes after.

## Documentation changes

None.

## Bug reference

N/A
… state directly.

Recruits new test controller in logging config API server tests.
…ructure

juju#10366

## Description of change

This patch generalises functionality for putting state entities directly into a cache for testing purposes. It obviates the need for running a multi-watcher and cache-worker for cache population.

Included is a relocation of uniter API server access control methods to their own module to tidy up the API constructor.

## QA steps

Tests from `apiserver/facades/agent/logger` and `worker/modelcache` continue to pass.

## Documentation changes

None.

## Bug reference

N/A
@manadart manadart changed the title 2.6 into develop Merge 2.6 Into Develop Jun 21, 2019
@manadart
Copy link
Member Author

Zero conflicts; self approved $$merge$$.

@manadart
Copy link
Member Author

$$merge$$

@jujubot jujubot merged commit fb537d3 into juju:develop Jun 22, 2019
@manadart manadart deleted the 2.6-into-develop branch June 22, 2019 16:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants