Juju deploy OpenStack bundle just on 3 nodes

Hi all
I’m new to working with maas and juju and trying to deploy OpenStack with maas and juju according to the canonical guide
https://ubuntu.com/openstack/install#multi-node-deployment

everything is fine commissioning work but when I try to deploy the bundle it just takes 3 nodes


what is wrong? how I can add other node or is it any way to add a new node to the deployed bundle

Hi,

Is it possible you can show the exact bundle you’re deploy to juju and is it possible you can show more of juju status so we can see why things are still in a pending state.

the command I used to deploy the bundle

juju deploy cs:bundle/openstack-base

and juju now is active in all states except vault


As of this writing, the latest openstack-base bundle openstack base | Juju, with the raw yaml of the bundle being https://api.jujucharms.com/charmstore/v5/bundle/openstack-base-70/archive/bundle.yaml

Starting on line 13 of the bundle, we define three machines:

machines:
  '0':
    series: focal
  '1':
    series: focal
  '2':
    series: focal

All the individual OpenStack applications are then deploy directly to those machines, or to lxd containers on those machines with to directives. For example, starting on line 220, you can see that keystone is deployed to a lxd container on machine 0:

  keystone:
    annotations:
      gui-x: '300'
      gui-y: '1270'
    charm: cs:keystone-317
    num_units: 1
    options:
      worker-multiplier: *worker-multiplier
      openstack-origin: *openstack-origin
    to:
    - lxd:0

The short answer is that you’re only getting three nodes because the openstack-base bundle only deploys to three nodes. To expand to more nodes, you’d need to do some thinking about which applications you want to deploy where, and edit the bundle accordingly – e.g., add more machines to the machines list, then update the -to directives to place the machines.

1 Like

The bundle describes a full model of the OpenStack - the machines, the networks, the storage and the applications.

The default bundle is designed to require the minimum footprint. What you need to do is:

  • copy the bundle and make changes to reflect your preferred architecture
  • add the machines that you want (with constraints as needed to get the right ones from MAAS)
  • map the services you want to each machine based on your architectural design
  • for example you might want storage units on some nodes and compute on others, or everything everywhere

Then deploy your own bundle to get your exact design of OpenStack.

and regarding Vault, everything is good and the unit is in “blocked” state because you need to initialize Vault by hand : https://docs.openstack.org/project-deploy-guide/charm-deployment-guide/ussuri/app-vault.html

1 Like

Can I use juju add-machine to add new machine?

I typed ”juju add-machine“,the new machine’s series was bionic.

juju add-machine --series focal ?

You can follow my howtos - in French - that I do with my students here. There are howtos by practice : MAAS, JUJU OPENSTACK-VAULT, KUBERNETES, LANDSCAPE …

https://github.com/DOSSANTOSDaniel/MAAS_JUJU_K8S_Openstack

Moula.