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

bug: fix for bootstrap fail on vsphere 7 + multi network #12864

Merged
merged 1 commit into from
Apr 15, 2021

Conversation

lucyllewy
Copy link

Bootstrap on vSphere 7.0 fails when both --primary-network and --external-network are specified. The error provided by juju when the bootstrap fails is:

 - cloning template VM: waiting for task "CloneVM_Task": A specified parameter wERROR failed to bootstrap model: cannot start bootstrap instance in availability zone "Cluster": cloning template VM: waiting for task "CloneVM_Task": A specified parameter was not correct: deviceChange[1].device.key

This PR adds unique temporary keys for the new network interfaces to appease vSphere's requirements in the deviceChange[*].device stanzas.

Checklist

  • Requires a pylibjuju change
  • Added integration tests for the PR
  • Added or updated doc.go related to packages changed
  • Comments answer the question of why design decisions were made

QA steps

Please replace with how we can verify that the change works.

  1. Install vSphere 7.0
  2. Create a datacentre called dc1
  3. Set up multiple networks, named network1 and network2 in vCenter
  4. Configure juju to connect to vCenter with a new cloud called vsphere
  5. Run bootstrap as follows:
juju bootstrap vsphere/dc1 overlord --config primary-network=network1 --config external-network=network2

Documentation changes

This is a bugfix only. It does not affect any workflows other than fixing a currently broken one.

Bug reference

https://bugs.launchpad.net/juju/+bug/1923606

@jujubot
Copy link
Collaborator

jujubot commented Apr 13, 2021

Can one of the admins verify this patch?

3 similar comments
@jujubot
Copy link
Collaborator

jujubot commented Apr 13, 2021

Can one of the admins verify this patch?

@jujubot
Copy link
Collaborator

jujubot commented Apr 13, 2021

Can one of the admins verify this patch?

@jujubot
Copy link
Collaborator

jujubot commented Apr 13, 2021

Can one of the admins verify this patch?

@jameinel
Copy link
Member

I don't have a particular opinion on the concrete fix yet (we might need to be tracking indexes more than just a simple counter). But we probably should be targeting at least 2.9 if not 2.8 for this fix.

Copy link
Member

@hmlanigan hmlanigan left a comment

Choose a reason for hiding this comment

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

Please rebase and point this PR at the 2.8 branch, it'll get merged forward from there.

QA on vSphere 7 is good, with and without the 2nd network. Works on another vSphere with a single network.

@lucyllewy lucyllewy changed the base branch from develop to 2.8 April 14, 2021 22:51
* LP: 1923606
* Add unique temporary keys to new network interfaces in the `deviceChange` when creating a vm.

Signed-off-by: Daniel Llewellyn <[email protected]>
@lucyllewy
Copy link
Author

I've reabsed against 2.8 and redirected the PR :-)

Copy link
Member

@hmlanigan hmlanigan left a comment

Choose a reason for hiding this comment

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

LGTM, chatted with @jameinel as well.

@hmlanigan
Copy link
Member

!!build!!

@hmlanigan
Copy link
Member

running check-multi-juju before merging

@hmlanigan
Copy link
Member

$$merge$$

@jujubot jujubot merged commit 53768cd into juju:2.8 Apr 15, 2021
@wallyworld wallyworld mentioned this pull request Apr 15, 2021
jujubot added a commit that referenced this pull request Apr 15, 2021
#12880

Merge 2.8 with:

#12864 fix for bootstrap fail on vsphere 7 + multi network

Conflicts (accept 2.9 version)
```
# caas/kubernetes/provider/ingress.go
# caas/kubernetes/provider/ingress_test.go

```

## QA steps

See PR
@wallyworld wallyworld mentioned this pull request Apr 21, 2021
jujubot added a commit that referenced this pull request Apr 21, 2021
#12909

Merge 2.9

#12827 Unsubscribe from hub when closing state pool
#12829 Correct default bootstrap-timeout value displayed in help.
#12840 Constraint tags can be used for pod affinity
#12842 Fix upgrade series agent version handling
#12794 Add disk provisioning customization
#12845 Restore space support for manual machines
#12839 Support merging of netplan configs
#12853 Add display type for network-get results
#12854 Fix for LP1921557 sni in Juju login.
#12850 Use Base in Charmhub packge and its response structures.
#12858 Ensure assess-upgrade-series does not report started prematuremly
#12860 Removed logging from core annotations.
#12861 Fixes bug where empty error can happen in storage
#12865 Update Pebble version to include new files API
#12866 Workaround for k8s dashboard URL with k8s client proxy
#12862 Fix/lp 1923051
#12867 Fix/lp 1923561
#12870 Use channel logic in charm library
#12873 Add support for setting pod affinity topology key
#12874 Use Patch instead of Update for ensuring ingress resources
#12831 Integration fixes
#12879 Ensure refresh uses version
#12864 bug: fix for bootstrap fail on vsphere 7 + multi network
#12883 Initial work to allow juju trust for sidecar charms
#12884 Fix ssh with sidecar charms and containers.
#12886 Charmhub bases
#12881 Use charm pkg updates
#12889 Ignore projected volume mounts when looking up juju storage
#12890 Fix passing empty string container name to unit params
#12893 Add CLA checker GH action and remove codecov push action
#12897 Use production charmhub endpoint
#12887 Resource validation error
#12888 Ensure we validate the model target
#12898 Remove usage of systems package from CAAS application provisioner
#12899 CAAS bundle deployments
#12900 Bump up Pebble version to include user/group in list-files
#12901 charm Format helper
#12902 charm Iskubernetes helper
#12903 Display ... for really long k8s app versions in status
#12904 Filter out more full registry paths for app version in status
#12905 Fix k8s bundle deploys with v2 charms
#12906 Register resource-get for containeragent binary

Conflicts mostly due to charm v8 vs v9 imports.
The other one was due to changes to dashboard CLI.
```
# Conflicts:
# api/common/charms/common.go
# api/common/charms/common_test.go
# apiserver/facades/client/application/application.go
# apiserver/facades/client/application/charmstore.go
# apiserver/facades/client/application/update_series_mocks_test.go
# apiserver/facades/client/charms/client.go
# apiserver/facades/client/charms/convertions.go
# apiserver/facades/client/machinemanager/types_mock_test.go
# apiserver/facades/controller/caasoperatorprovisioner/provisioner.go
# cmd/juju/application/deployer/bundlehandler_test.go
# cmd/juju/application/refresh_test.go
# cmd/juju/application/refresher/refresher_mock_test.go
# cmd/juju/dashboard/dashboard.go
# core/charm/strategies_mock_test.go
# core/model/model.go
# core/model/model_test.go
# go.mod
# go.sum
# resource/resourceadapters/charmhub.go
# scripts/win-installer/setup.iss
# service/agentconf_test.go
# snap/snapcraft.yaml
# state/charm.go
# state/migration_export.go
# state/state.go
# version/version.go
# worker/caasfirewallerembedded/applicationworker.go
# worker/caasfirewallerembedded/applicationworker_test.go
```

## QA steps

See PRs
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.

4 participants