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 3.2 into develop #15494

Merged
merged 171 commits into from Apr 17, 2023
Merged

Merge 3.2 into develop #15494

merged 171 commits into from Apr 17, 2023

Conversation

jujubot and others added 30 commits March 29, 2023 08:54
…force_when_forcing

juju#15399

Also flyby fix a spelling mistake

## QA steps

```
$ juju bootstrap aws/eu-west-2 aws
$ juju add-model m
$ juju add-machine
$ juju add-machine lxd:0
$ juju model-config mode="requires-prompt"
$ juju remove-machine 0
WARNING This command will perform the following actions:
will remove machine 0
will remove machine 0/lxd/0

This will require `--force`

Continue [y/N]? n

$ juju remove-machine 0 --force
WARNING This command will perform the following actions:
will remove machine 0
will remove machine 0/lxd/0

Continue [y/N]? y
```

## Bug reference

https://bugs.launchpad.net/juju/+bug/2011629
…oken_user_access

juju#15395

This PR ports the fix for the broken user access reported in juju#15351 and juju#15324 

## Checklist

*If an item is not applicable, use `~strikethrough~`.*

- [ ] Code style: imports ordered, good names, simple structure, etc
- [ ] Comments saying why design decisions were made
- [ ] Go unit tests, with comments saying what you're testing
- [ ] [Integration tests](https://github.com/juju/juju/tree/develop/tests), with comments saying what you're testing
- [ ] [doc.go](https://discourse.charmhub.io/t/readme-in-packages/451) added or updated in changed packages

## QA steps

Refer to juju#15324 for QA steps.
The following scopes a context to the tombs lifecycle. This is the same
as the db accessor.

We'll need to make some sort of design pattern around this, as there
seems to be a lot of footguns here.
The scoped context is a context that is scoped to the lifetime of the
worker. If the catacomb is shut down, then all child contexts are also
shut down.
The juju/worker package now exposes a Context method. This method allows
a context to be tied to the lifetime of a catacomb. Internally, this is
tied to the internal tomb of the catacomb.
…text

juju#15414

This is a straight cherry-pick backwards of the commits in juju#15403.

The QA steps were effectively executed against this branch, it just landed after 3.2 was created from develop.
`test_attach_resources`
- rename supply_res_rev test to disambiguate
juju#15417

Changes to the Makefile for cgo introduced build number into unit tests. This should be allowed, but some tests need to be made resilient to this.

## QA steps

Run unit tests with and without `-ldflags "-X github.com/juju/juju/version.build=12345"`

## Documentation changes

N/A

## Bug reference

N/A
juju#15418

28640b5 deleted the `test_attach_resources` test in the resources suite, but didn't remove the reference from `task.sh`. Test runs were failing with
```
18:39:48 suites/resources/task.sh: line 18: test_attach_resources: command not found
```

Also, change the `name` in `run_resource_refresh_no_new_charm_rev_supply_res_rev` to disambiguate from `run_resource_refresh_no_new_charm_rev`. This test is still failing, unfortunately.

## QA steps

```sh
cd tests
./main.sh -v resources
```
juju#15419

The `branches` tests were failing because the `mongodb` charm doesn't have a `latest/stable` channel. Install it from `3.6/stable` as [recommended by Charmhub](https://charmhub.io/mongodb).

## QA steps

```
cd tests
./main.sh -v -s '"test_active_branch_output"' branches test_branch
```
file where they are used. Various comment clarifications are included.
No functional changes.
…230404

juju#15420

Merge 2.9 to 3.0 after juju#15418 and juju#15419 changes.

## To be propagated here

972fb56 (upstream/2.9, 2.9) Merge pull request juju#15419 from barrettj12/branch-test
e71fe4b Merge pull request juju#15418 from barrettj12/resource-func-not-found
We are able to satisfy the same requirements (see the lease expiry
worker running transactions without retries), but we don't risk
interactions with a raw sql.DB that don't use a context.

We also ensure that all interactions use an explicit transaction.
hmlanigan and others added 25 commits April 13, 2023 13:42
juju#15475

- juju#15473 from jack-w-shaw/JUJU-3486_improve_logging
- juju#15472 from hpidcock/no-prompt-password
- juju#15470 from jack-w-shaw/JUJU-3486_fix_verbosity
- juju#15465 from barrettj12/bundle-arm


Conflicts:
* cmd/juju/user/change_password_test.go
juju#15476

prdesc juju#15475 from hmlanigan/merge-to-3.0

No conflicts
juju#15477

prdesc juju#15476 from hmlanigan/merge-3.1

No merge conflicts
…-tests

Fix use of `juju info` in suites, channel-map is now channels.
Use recommended storage from ck overlay.
The following updates the go-dqlite dependency independantly from
another PR as there are some required changes because of this update.
The worker may not actually be killed if it does not actually start up.
The channel synchronisation aspect adds no value and is removed.
The following yaml hack to ensure the correct type case of the node info
type is no longer required.

We still have two failing tests which need to be sorted, but at least
the hack is gone.
tomb.ErrDying if dbApp is nil.
This preserves the exit error of the worker's catacomb, particularly
important for tests, where we clean kill it.
Attempting to run the node database tests locally will fail if you don't
pass the right build tags. This just makes it offical.
Most of the time they're constant, ens5 primary and ens6 hotplugged, but
this is not always the case. This was causing occassional failures. Fix
this by using ip to figure out which interfaces we should use instead of
hard coding them
juju#15485

There is a tricky race possible in the `db-accessor` worker because in `openDatabase` the function that is passed to `StartWorker` is not invoked synchronously.

Under juju#15450 a change to lock+check the `dbApp` was made to appease the race checker, but there is still a race that can occur in tests where we `CleanKill` the worker, but get an error because the tracker worker start function returns one for a nil `dbApp`.

The solution here is to return `tomb.ErrDying`, which prevents us exiting with an error when we have killed the parent worker with `nil`.

Some other superfluous test composition is also tidied up.

## QA steps

Execute `make run-go-tests TEST_ARGS=-race TEST_PACKAGES=./worker/dbaccessor` in a loop.
…ability_of_spaces_ec2

juju#15486

Most of the time they're constant, ens5 primary and ens6 hotplugged, but this is not always the case. This was causing occasional failures. Fix this by using ip to figure out which interfaces we should use instead of hard coding them

## Checklist

- [x] Code style: imports ordered, good names, simple structure, etc
- [x] Comments saying why design decisions were made
- ~[ ] Go unit tests, with comments saying what you're testing~
- [x] [Integration tests](https://github.com/juju/juju/tree/develop/tests), with comments saying what you're testing
- ~[ ] [doc.go](https://discourse.charmhub.io/t/readme-in-packages/451) added or updated in changed packages~

## QA steps

```sh
./main.sh -v -c aws -R eu-west-2 spaces_ec2 test_upgrade_charm_with_bind
./main.sh -v -c aws -R eu-west-2 spaces_ec2 test_juju_bind
```

Should both pass
juju#15484

The following updates the go-dqlite dependency independantly from another PR as there are some required changes because of this update.

## Checklist

- [x] Code style: imports ordered, good names, simple structure, etc

## QA steps

Test pass in the following package: 

```sh
$ go test -v ./database -check.v
```

Additionally a quick smoke test:

```sh
$ juju bootstrap lxd test --build-agent
$ juju enable-ha
$ juju add-model default
$ juju deploy ubuntu -n 3
```
@juanmanuel-tirado
Copy link
Contributor

I would wait for #15474 and #15488 . Anyway, let's wait for the CI to be green.

Copy link
Member

@anvial anvial left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Checked build, checked bootstrap lxd

@jack-w-shaw
Copy link
Member Author

/merge

@jujubot jujubot merged commit 44387bc into juju:develop Apr 17, 2023
17 of 18 checks passed
@jack-w-shaw jack-w-shaw deleted the 3.2-into-develop branch April 18, 2023 09:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet