MAAS constraints when using Juju


Iḿ trying to understand more how to specify machine tags, zones, and pools when deploying applications using Juju.

We have something similar to this in our bundle.yaml that we juju deploy ./bundle.yaml:

        charm: foo
        constraints: tags=foo,bar,^bla zones=a-1

I want to understand more about these constraints:

  1. tags=foo,bar means: " match machines with tag foo AND bar"?
  2. how do I specify an OR between tags? For example: "match machines with tag FOO OR bar"? Can I use tags=foo|bar?
  3. how do I specify a more complex constraint, like: "(foo OR bar) AND (bla) AND NOT (x) "?
  4. what are the constrains that I set/request when using Juju? i know I can specify MAAS tags and zones, can I also specify a pool and fabric vlan? What is the syntax for that?
  5. when specifying multiple constraints, they are all “joined” with a boolean AND?

Thank you,

@Heitor, did you ever find your answers here?

@billwear, still trying to find out here. Do you know the syntax about constraints?

i don’t know anything about Juju yet, that’s further down the road for me (MAAS tech author here). have you bumped the Juju team at all? need help bumping them?

I did open a request to enhance Juju-MaaS integration:

I think Juju has some limitations on how it “forwards” constrains to MaaS.

i have heard that before, but like i said, haven’t taken up that tool yet. i’m gonna close this one, since it’s been reported as a bug. lemme know if i shouldn’t do that, i’ll give it a few days.

thanks my issue has been fixed.

1 Like