Skip to content

Allow multiple setups#23

Draft
AloizioMacedo wants to merge 11 commits into
canonical:mainfrom
AloizioMacedo:allow-multiple-setups
Draft

Allow multiple setups#23
AloizioMacedo wants to merge 11 commits into
canonical:mainfrom
AloizioMacedo:allow-multiple-setups

Conversation

@AloizioMacedo

@AloizioMacedo AloizioMacedo commented Apr 22, 2026

Copy link
Copy Markdown

Still WIP. But some comments:

  • IP ranges: To isolate the network-related setup, I decided to associate the third octet to the version of MAAS. In an attempt to balance for a comfortable amount of minor versions but also major versions, the logic is to consider a version X.Y to represent a base-30 two-digit integer. This allows us to go until something like 8.10 without issues (since the integer has to be <=255), which is more than enough for not-so-near future. Note that this assumes that we will have <30 for minor versions, which seems reasonable given our release cadence.
  • Namings: This might change, but I am assuming for now that we are mainly driving things through a name derived from the version, which should be specified without separation. It is a little awkward to keep major+minor together, but it prevents potential issues with dots/spaces etc in file names (I've had issues with these separations and go paths for example), and it also saves some characters (which is relevant for the network interfaces names). As long as our versions stay in the major <10 and minor <100 range, this should be fine.
    That being said, it might be worth having a special name (not a number) for "latest". Then we will have to protect an IP range separately from the above (we likely could just reuse the current one for this).

@AloizioMacedo AloizioMacedo self-assigned this Apr 22, 2026
@AloizioMacedo AloizioMacedo added the enhancement New feature or request label Apr 22, 2026

@MaikRe MaikRe left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

A couple of questions/comments inline

Comment thread config.sh Outdated
# you should pick the appropriate ubuntu version.
#
# These are currently noble for 3.6+, jammy for 3.4, 3.5
UBUNTU_VERSION="noble"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

You currently do not handle the necessary Ubuntu version differences, i.e. this should include resolute for 3.8 and while resolute is still unreleased this would theoretically also require a specific lxd command to launch the correct version.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

I think I agree... I initially gave up about making an internal mapping because we would have to manually update the code every time for the next 3.X's and 4.X's, and when we don't the user would have to do the manual step in any case, but this is a little hypocrytical since with the current version of the PR we would ideally have to change the default from 3.8 to another one too.

Will make the change.

Comment thread README.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants