Boostrap manual 3.3 cloud doesn't register IP address for first controller instance

Bug #2049600 reported by Erik Lönroth
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Canonical Juju
Triaged
Low
Unassigned

Bug Description

I was trying to bootstrap a manual cloud (ha-enabled) with juju 3.3.

I managed to do so, but after the boot, the first instance doesn't look the same as the other instances from juju status. See attached image.

Since I need this information when collecting information about the juju model. This data will be missing and can't be used.

Ideall, there would also be a way to get "instance-id" look different than just "manual: xxxxx" since this information is the only way for me to track it outside of the controller itself.

Revision history for this message
Erik Lönroth (erik-lonroth) wrote :
Revision history for this message
Joseph Phillips (manadart) wrote :

Was the cloud added as a definition in a separate step, or was it directly with "bootstrap manual/ssh:..."?

Revision history for this message
Marcus Segerbjer (omgzilla) wrote (last edit ):

Hey Joseph,
We used "bootstrap manual/ubuntu@<ip>"

So this is basically what we did:
Create a new project infrastructure
$ lxc project create infrastructure --config features.images=false --config features.networks=false --config features.storage.volumes=false

Switch to infrastructure project
$ lxc project switch infrastructure

Add root disk and network to the default profile on project infrastructure
$ lxc profile device add default root disk path=/ pool=default
$ lxc profile device add default eth0 nic name=eth0 nictype=bridged parent=br0

Set limits for profile default
$ lxc profile set default limits.cpu=8
$ lxc profile set default limits.memory=32GB

Launch containers on each node
$ lxc launch ubuntu:jammy jctrl-<id>

Machines included in controller ha
dwellir9:jctrl-0
192.168.110.69/22

dwellir11:jctrl-1
192.168.110.68/22

dwellir15:jctrl-2
192.168.110.67/22

Add your SSH-keys to the containers
$ lxc exec <container-name> -- sh -c "echo '<ssh-key>' /home/ubuntu/.ssh/authorized_keys"

Since confined snaps aren't allowed to read from /tmp/ you need to create a tmp folder inside your home directory and point ssh-agent to use it
$ mkdir ~/tmp
$ eval `ssh-agent -a $HOME/tmp/ssh-agent`

Bootstrap controller
$ juju bootstrap manual/ubuntu@<container-ip> <controller-name> --config identity-url="https://api.jujucharms.com/identity"

Add machine from other lxd-hosts
$ juju add-machine ssh:ubuntu@192.168.110.68
$ juju add-machine ssh:ubuntu@192.168.110.67

Enable HA in juju
$ juju enable-ha -n 3 --to 1,2

Revision history for this message
Joseph Phillips (manadart) wrote :

First of all, we should ensure that the bootstrap instance ID gets set so as to be consistent with others.

At the API, we receive parameters that include an instance ID, so we should investigate the feasibility of allowing this to be set at the CLI, at least for the case of manual machines.

Changed in juju:
status: New → Triaged
milestone: none → 3.3.2
importance: Undecided → Low
Revision history for this message
Erik Lönroth (erik-lonroth) wrote :

Yeah, the capability to manipulate this or something that picks up changes to this would be absolutely needed since within pretty much all clouds, you would benefit from tracking down where these instances are located.

Also, renaming of instances is supported by most (if not all) so it would be ideal if the juju controller some how can be synced with this information.

To be able to trust that the "id map between clouds-instance and juju-instance" is a super important feature IMO.

Changed in juju:
milestone: 3.3.2 → 3.3.4
Ian Booth (wallyworld)
Changed in juju:
milestone: 3.3.4 → 3.3.5
Harry Pidcock (hpidcock)
Changed in juju:
milestone: 3.3.5 → 3.3.6
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

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