App gets deployed on wrong subnet

Hi,

This is about ProxmoxVE v6.3.6, MaaS 2.9.2, Juju 2.9rc10. I have a deployment on the technology stack with Proxmox VE (6.3.6), MaaS (2.9.2) and Juju (2.9rc10).

I have the problem, that when deploying an application, then it does not respect the binding and the application ends-up in the wrong subnet. MaaS is configured as DHCP server on both subnets.

  • MaaS region controllers are on subnet 10.1.1.0/24
  • MaaS rack controllers are on both subnets 10.1.1.0/24 and 10.1.20.0/24
  • the VMs I deploy the applications to are on both subnets 10.1.1.0/24 and 10.1.20.0/24
  • MaaS has 3 availability zones: default, Production, Infrastructure

MaaS availability zones (not used in Juju?), Subnets and machine config
Note: the Juju controller(s) are deployed to AZ Infrastructure, the application VMs to Production.

Following are the spaces and the subnets configured in Juju. They correspond to what is available in MaaS:

juju spaces / juju subnets

yaml
- id: "0"
  name: alpha
  subnets: {}
- id: "1"
  name: computing
  subnets:
    10.1.20.0/24:
      type: ipv4
      provider-id: "2"
      status: in-use
      zones: []
- id: "2"
  name: infrastructure
  subnets:
    10.1.1.0/24:
      type: ipv4
      provider-id: "1"
      status: in-use
      zones: []

For reasons of simplicity, I want to deploy a null application to the default model. Before doing that, I’ve set the default-space of the model-config to computing space.

juju model-config default-space=computing

juju deploy cs:~katharostech/null-8 --bind computing

Finally, I get the following status of the null application:

juju status null

yaml
model:
  name: default
  type: iaas
  controller: maas-controller
  cloud: mysuper-cloud
  region: default
  version: 2.9-rc10
  model-status:
    current: available
    since: 15 Apr 2021 00:16:40+02:00
  sla: unsupported
machines:
  "0":
    juju-status:
      current: started
      since: 15 Apr 2021 00:28:34+02:00
      version: 2.9-rc10
    hostname: my-proxmox-vm
    dns-name: 10.1.1.92
    ip-addresses:
    - 10.1.1.92
    - 10.1.20.41
    instance-id: swqkyb
    display-name: my-proxmox-vm
    machine-status:
      current: running
      message: Deployed
      since: 15 Apr 2021 00:27:59+02:00
    modification-status:
      current: idle
      since: 15 Apr 2021 00:21:06+02:00
    series: focal
    network-interfaces:
      ens18:
        ip-addresses:
        - 10.1.1.92
        mac-address: 6a:2a:f1:ee:25:7f
        gateway: 10.1.1.254
        space: infrastructure
        is-up: true
      ens19:
        ip-addresses:
        - 10.1.20.41
        mac-address: c6:76:4e:42:3d:d7
        space: computing
        is-up: true
    constraints: arch=amd64 mem=3072M
    hardware: arch=amd64 cores=2 mem=4096M tags=virtual,master availability-zone=Production
applications:
  "null":
    charm: cs:~katharostech/null-8
    series: focal
    os: ubuntu
    charm-origin: charmstore
    charm-name: "null"
    charm-rev: 8
    charm-channel: stable
    charm-version: fc2c0ed-dirty
    charm-profile: juju-default-null-8
    exposed: false
    application-status:
      current: active
      since: 15 Apr 2021 00:28:42+02:00
    units:
      null/0:
        workload-status:
          current: active
          since: 15 Apr 2021 00:28:42+02:00
        juju-status:
          current: idle
          since: 15 Apr 2021 00:28:44+02:00
          version: 2.9-rc10
        leader: true
        machine: "0"
        public-address: 10.1.1.92
    endpoint-bindings:
      "": computing
storage: {}
controller:
  timestamp: 08:08:42+02:00

I would expect the application to be deployed to subnet 10.1.20.0/24 with a public-address in this subnet space. I have tried many things now but got stuck on this. Any help is highly appreciated.

Cheers

I have created the following bug for this: Bug #1924905 “juju deploy does not apply network space binding c...” : Bugs : juju