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

2.9 into develop #14488

Merged
merged 95 commits into from
Aug 20, 2022
Merged

2.9 into develop #14488

merged 95 commits into from
Aug 20, 2022

Conversation

ycliuhw
Copy link
Member

@ycliuhw ycliuhw commented Aug 19, 2022

Merge branch '2.9' into develop

# Conflicts:
#       .github/workflows/smoke.yml
#       apiserver/common/tools_test.go
#       apiserver/facades/client/application/application_unit_test.go
#       apiserver/facades/client/application/mock_test.go
#       apiserver/facades/client/application/package_test.go
#       apiserver/facades/client/cloud/cloudV2_test.go
#       apiserver/facades/client/cloud/cloud_test.go
#       caas/kubernetes/provider/application/application.go
#       cmd/juju/commands/upgradecontroller_test.go
#       cmd/juju/commands/upgrademodel.go
#       cmd/juju/commands/upgrademodel_test.go
#       cmd/juju/controller/kill.go
#       go.mod
#       go.sum
#       scripts/win-installer/setup.iss
#       snap/snapcraft.yaml
#       tests/suites/deploy/bundles/lxd-profile-bundle.yaml
#       tests/suites/deploy/bundles/telegraf_bundle.yaml
#       tests/suites/deploy/bundles/trusted_bundle.yaml
#       tests/suites/deploy/deploy_charms.sh
#       tests/suites/network/network_health.sh
#       tests/suites/ovs_maas/ovs_netplan_config.sh
#       tests/suites/spaces_ec2/juju_bind.sh
#       tests/suites/spaces_ec2/upgrade_charm_with_bind.sh
#       tests/suites/upgrade/streams.sh
#       upgrades/operations.go
#       upgrades/upgrade_test.go
#       version/version.go

Includes PRs:

jack-w-shaw and others added 30 commits August 3, 2022 15:34
This is in part to build a foundation to convert the JujuConnSuite test
in this package
Until now Juju has required ipv6 support to be disbaled on the network
bridge created by lxd. We can now safely operate with ipv6 in Juju.
juju#14424

Until now Juju has required ipv6 support to be disbaled on the network bridge created by lxd. We can now safely operate with ipv6 in Juju.

## Checklist

- ~[ ] Code style: imports ordered, good names, simple structure, etc~
- ~[ ] Comments saying why design decisions were made~
- [x] 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

Install a fresh lxd daemon with ipv6 enabled on the default bridge and bootstrap juju. Confirm that no errors happen during bootstrap.

Deploy a workload and confirm that the agent.conf file gets the v6 address of the controller correctly.

## Documentation changes

N/A

## Bug reference

N/A
[ck test] increase teardown timeout to 60m
juju#14430

CK test teardown is still timing out after an hour. Instead we will forcibly remove the controller with `juju kill-controller`.

## Checklist

- ~[ ] 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

*Commands to run to verify that the change works.*

```sh
cd tests
./main.sh -v ck
```
LP 1983386. Validate local bundles, but allow --force to work as well.
juju#14427

Check the response for parsing a local bundle for any UnmarshalErrors. If they exist, print and fail the deploy unless --force is used. Not done for repository bundles, who knows what havoc that might wreak.

Developer friendly structure data is available with `--logging-config "juju.charm=TRACE" --show-log`

## QA steps

Deploy local charms, repository charms and bundles, no changes to be found.

```sh
# Deploy the following bundle without force
name: slurm
description: A suite of codified operations to asssemble, install, deploy, and operate Slurm.
website: https://omnivector-solutions.github.io/osd-documentation/master/
docs: https://omnivector-solutions.github.io/osd-documentation/master/
source: https://github.com/omnivector-solutions/slurm-bundles/
issues: https://github.com/omnivector-solutions/slurm-charms/issues

series: focal

applications:
 slurmctld:
 charm: slurmctld
 num_units: 1
 contstraints: instance-type=c5a.large root-disk=20G

$ juju deploy ./bundle-min.yaml --dry-run
ERROR cannot deploy bundle: unmarshal document 0: yaml: unmarshal errors:
 line 1: field name not found in bundle
 line 3: field website not found in bundle
 line 4: field docs not found in bundle
 line 5: field source not found in bundle
 line 6: field issues not found in bundle
 line 14: field contstraints not found in applications
$ juju deploy ./bundle-min.yaml --dry-run --force
Located charm "slurmctld" in charm-hub, channel stable
Changes to deploy bundle:
- upload charm slurmctld from charm-hub for series focal with architecture=amd64
- deploy application slurmctld from charm-hub on focal
- add unit slurmctld/0 to new machine 0
```

## Bug reference

https://bugs.launchpad.net/juju/+bug/1983386
…es-metadata-for-arm-64-test-suite

juju#14437

This patch fixes "no matching agent binaries available" error in test-deploy suite (for arm64), by adding agent-metadata-url and agent stream to pre_bootstrap function in case of non-amd64 architecture in selected in MODEL_ARCH env var.

## 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~
- ~[ ] [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
TBW
```
juju#14439

Add credential format example for GCE for add-credential command;

## Checklist

- [ ] ~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

```console
$ juju help add-credential

```

## Documentation changes

No

## Bug reference

No
ycliuhw and others added 18 commits August 17, 2022 15:45
are not incorrectly marked as not being started.

We need to indicate the started status as unknown, otherwise teardown
does not remove the VM.
…-val

juju#14465

A change made under juju#13034 altered the behaviour of the KVM manager to report VMs as not running by default.

This was in error because VMs should have an unknown running state (nil boolean pointer) that is queried at need. Setting it to false by default was causing the linked bug, because in this case we eschew tear-down of the actual VM when decommissioning a machine.

Here we ensure it is unknown until it is queried.

## QA steps

- Deploy a unit to some KVM-on-machine.
- Remove the unit.
- Check that `juju ssh <machine> "sudo virsh list --all"` indicates no VMs.

## Documentation changes

None.

## Bug reference

https://bugs.launchpad.net/juju/+bug/1982960
…s-default

juju#14470

The latest track is no longer synonymous with the default track. Therefore keep latest when specified for a channel. Specifying a risk only will return a channel with the default track and specified risk.

When upgrading or migrating, ensure the charmhub charms without a track in their applications' charm-origin get the track of "latest" to ensure they do not switch to a default channel if one is created for a charm with an existing deployment.

## QA steps
```console
$ juju deploy mysql-router
Located charm "mysql-router" in charm-hub, revision 34
Deploying "mysql-router" from charm-hub charm "mysql-router", revision 34 in channel 8.0/stable on focal
$ juju deploy mysql-router --channel latest mysql-router-latest
Located charm "mysql-router" in charm-hub, revision 15
Deploying "mysql-router-latest" from charm-hub charm "mysql-router", revision 15 in channel latest/stable on focal

# the channel here should be latest/stable, however there is a bug in charmhub server right now.
$ juju deploy ubuntu
Located charm "ubuntu" in charm-hub, revision 20
Deploying "ubuntu" from charm-hub charm "ubuntu", revision 20 in channel stable on focal
```

Test upgrade from 2.9.32 to this version, the channel for the ubuntu charm should change to latest/stable. Same for after migration.

## Bug reference

https://bugs.launchpad.net/juju/+bug/1984061
[JUJU-1655] Fix upgrade controller step in smoke test
…ss_levels_revoke

juju#14468

Include access levels in revoke commands help text

- ~[ ] 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

Verify that access levels are included in revoke and revoke-cloud help text
```
$ make install
$ juju help revoke
...
Valid access levels for models are:
 read
 write
 admin

Valid access levels for controllers are:
 login
 superuser

Valid access levels for application offers are:
 read
 consume
 admin
...
$ juju help revoke-cloud
...
Valid access levels are:
 add-model
 admin
...
```

Repeat, replacing `revoke` with `grant`
…rver_client_cloudtests_to_use_gomock_generated_mocks

juju#14383

This PR replaces most of the old handwritten mocks in the cloudfacade api unit tests with `GoMock` generated mocks.

## Checklist

 - ~[ ] Requires a [pylibjuju](https://github.com/juju/python-libjuju) change~
 - ~[ ] Added [integration tests](https://github.com/juju/juju/tree/develop/tests) for the PR~
 - ~[ ] Added or updated [doc.go](https://discourse.charmhub.io/t/readme-in-packages/451) related to packages changed~
 - ~[ ] Comments answer the question of why design decisions were made~

## QA steps

```sh
go test -check.v -check.f cloudSuiteGomocks github.com/juju/juju/apiserver/facades/client/cloud/
```
…help_text

juju#14483

- ~[ ] 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

```sh
$ juju help scp
...
 # Copy a file ('chunks-inspect') from localhost to /loki directory
 # in a specific container in a juju unit running in Kubernetes:
 juju scp --container loki chunks-inspect loki-k8s/0:/loki
...
```
@wallyworld
Copy link
Member

/merge

@jujubot jujubot merged commit edf5703 into juju:develop Aug 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
10 participants