How to manage spaces

See also: Space

Juju users are able to create, view, rename, or delete spaces.

Contents:

Add a space

Spaces are created with the add-space command. The following example creates a new space called db-space and associates the 172.31.0.0/20 subnet with it:

juju add-space db-space 172.31.0.0/20
added space "db-space" with subnets 172.31.0.0/20

See more: juju add-space

To create and add a new space, on a connected Model object, use the add_space() method, passing a name for the space and associated subnets. For example:

await my_model.add_space("db-space", ["172.31.0.0/20"])

See more: add_space(), Model (module)

Reload spaces

To reload spaces, along with their subnets, use the reload-spaces command:

juju reload-spaces

This will show you any new spaces (whether added via add-space or directly on the provider end), or any new subnets of an existing space.

See more: juju reload-spaces

This command is especially relevant for a MAAS cloud. There, you cannot add a space via juju add-space. Rather, you must add it directly using the MAAS UI/CLI and then run juju reload-spaces to make it known to Juju.

The python-libjuju client does not currently support this. Please use the juju client.

View available spaces

The spaces known to juju can be viewed with the spaces command, as follows:

$ juju spaces
Name   Space ID  Subnets
alpha  0         172.31.0.0/20
                 172.31.16.0/20
                 172.31.32.0/20
                 172.31.48.0/20
                 172.31.64.0/20
                 172.31.80.0/20
                 252.0.0.0/12
                 252.16.0.0/12
                 252.32.0.0/12
                 252.48.0.0/12
                 252.64.0.0/12
                 252.80.0.0/12

See more: juju spaces

To view available spaces, on a connected Model, use the get_spaces() method.

await my_model.get_spaces()

See more: get_spaces(), Model (module)

View details about a space

To view details about a space, run the show-space command:

juju show-space

The command also allows you to specify a model to operate in, an output format, etc.

See more: juju show-space

The python-libjuju client does not currently support this. Please use the juju client.

Rename a space

To rename a space db-space to public-space, do:

$ juju rename-space db-space public-space
renamed space "db-space" to "public-space"

Spaces can also be renamed during controller configuration, via the juju-ha-space and juju-mgmt-space key, or during model configuration, via the default-space key.

See more: juju rename-space

The python-libjuju client does not currently support this. Please use the juju client.

Remove a space

You can delete a space using the remove-space command.

$ juju remove-space public-space
removed space "public-space"

Deleting a space will cause any subnets in it to move back to the alpha space. See How to manage subnets.

See more: juju remove-space

The python-libjuju client does not currently support this. Please use the juju client.


Contributors: @cderici, @manadart, @tmihoc

Last updated 19 days ago. Help improve this document in the forum.