model migration fails on cloud name mismatch

Bug #1850579 reported by Ian Booth
12
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Canonical Juju
Triaged
High
Unassigned

Bug Description

When doing a model migration, a pre-check fails if the target controller does not have a cloud with the same name as the model being migrated.

This is too restrictive - the check should be on cloud type and region.

Consider the case where a lxd controller has had a microk8s cluster added as a cloud. And then you bootstrap a new controller to microk8s and want to migrate to that. It should work cause it's the same underlying cluster but it fails because "microk8s" != "myk8scloud".

Ian Booth (wallyworld)
tags: added: k8s model-migration
Changed in juju:
milestone: 2.7.1 → 2.7.2
Changed in juju:
milestone: 2.7.2 → 2.7.3
Changed in juju:
milestone: 2.7.3 → 2.7.4
Changed in juju:
milestone: 2.7.4 → 2.7.5
Changed in juju:
milestone: 2.7.5 → 2.7.6
Ian Booth (wallyworld)
Changed in juju:
milestone: 2.7.6 → 2.8.1
Tim Penhey (thumper)
Changed in juju:
milestone: 2.8.1 → 2.8-next
Ian Booth (wallyworld)
Changed in juju:
milestone: 2.8-next → 2.8.10
Changed in juju:
milestone: 2.8.10 → 2.8.11
Revision history for this message
John A Meinel (jameinel) wrote :
Changed in juju:
milestone: 2.8.11 → 2.9-next
Harry Pidcock (hpidcock)
Changed in juju:
milestone: 2.9-next → 3.2-beta1
Changed in juju:
milestone: 3.2-beta1 → 3.2-rc1
Changed in juju:
milestone: 3.2-rc1 → 3.2.0
Changed in juju:
milestone: 3.2.0 → 3.2.1
Changed in juju:
milestone: 3.2.1 → 3.2.2
Ian Booth (wallyworld)
Changed in juju:
milestone: 3.2.2 → 3.1.6
Revision history for this message
Ian Booth (wallyworld) wrote :

To fix this, we need to determine if the target controller contains the source model's cloud, allowing for the fact that it might be a different name. In fact, the current checks are somewhat wrong I think. It looks like there's no check for cloud at all, expect for the side effect of adding a credential and the model with the source cloud name. This checks for a cloud with that name, but not whether it's the same cloud or not. It might just be a coincidence that the target controller has a cloud of that name.

There should I think be a check for a target controller cloud with the same fundamental connection endpoints and type, regardless of name. However, the model YAML sent across from the source controller only has cloud name and region, so there's not enough to go on.

It looks like this functionality was done 7 or so years ago, only thinking about public clouds, where just the name and region are enough to go on.

Changed in juju:
milestone: 3.1.6 → 3.1.7
Changed in juju:
milestone: 3.1.7 → 3.1.8
Harry Pidcock (hpidcock)
Changed in juju:
assignee: nobody → Ian Booth (wallyworld)
Harry Pidcock (hpidcock)
Changed in juju:
milestone: 3.1.8 → 3.5-beta1
assignee: Ian Booth (wallyworld) → nobody
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.