Is it impossible to create multiple fabrics which have duplicated subnets from other fabrics? For my working environment, I sometimes have a subnet with a untagged(native) vlan which is a subnet with a tagged vlan at a different switch port. So for me, a subnet can reside at both untagged and tagged vlan depending on purpose. But for MAAS, it seems impossible to create multiple fabrics which have duplicated subnets from other fabrics. When I try it, it says "CIDR: Subnet with this CIDR already exists."
dpkg -l '*maas*' | cat
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-===============================-====================================-============-=================================================
ii maas 2.0.0~beta5+bzr5026-0ubuntu1~xenial1 all "Metal as a Service" is a physical cloud and IPAM
ii maas-cli 2.0.0~beta5+bzr5026-0ubuntu1~xenial1 all MAAS client and command-line interface
un maas-cluster-controller <none> <none> (no description available)
ii maas-common 2.0.0~beta5+bzr5026-0ubuntu1~xenial1 all MAAS server common files
ii maas-dhcp 2.0.0~beta5+bzr5026-0ubuntu1~xenial1 all MAAS DHCP server
ii maas-dns 2.0.0~beta5+bzr5026-0ubuntu1~xenial1 all MAAS DNS server
ii maas-proxy 2.0.0~beta5+bzr5026-0ubuntu1~xenial1 all MAAS Caching Proxy
ii maas-rack-controller 2.0.0~beta5+bzr5026-0ubuntu1~xenial1 all Rack Controller for MAAS
ii maas-region-api 2.0.0~beta5+bzr5026-0ubuntu1~xenial1 all Region controller API service for MAAS
ii maas-region-controller 2.0.0~beta5+bzr5026-0ubuntu1~xenial1 all Region Controller for MAAS
un maas-region-controller-min <none> <none> (no description available)
un python-django-maas <none> <none> (no description available)
un python-maas-client <none> <none> (no description available)
un python-maas-provisioningserver <none> <none> (no description available)
ii python3-django-maas 2.0.0~beta5+bzr5026-0ubuntu1~xenial1 all MAAS server Django web framework (Python 3)
ii python3-maas-client 2.0.0~beta5+bzr5026-0ubuntu1~xenial1 all MAAS python API client (Python 3)
ii python3-maas-provisioningserver 2.0.0~beta5+bzr5026-0ubuntu1~xenial1 all MAAS server provisioning libraries (Python 3)
maas 1st subnets create name=storage_native description=storage_native fabric=1 vlan=untagged vid=0 space=storage_native cidr=192.168.102.0/24 rdns_mode=2 allow_proxy=true
{"cidr": ["Subnet with this Cidr already exists."]}
Thanks for the bug report.
The language we use here may be a bit confusing. When we say "untagged", that is the VLAN we first observed attached to the rack controller which did not have a tag. It's fine if this is actually tagged elsewhere in the network. (You should be able to update the tag to be correct in the VLAN details page.) That said, MAAS tends to work better when VLANs and tags are consistent across all switch ports
Solving this problem by modeling the subnet in a second fabric won't work. As you saw, MAAS considers subnets to be unique. (We are considering removing this restriction in the future, but currently you must have multiple MAAS regions in order to have subnets with duplicate address ranges in multiple fabrics.) It would be better to model the VLANs and subnets in MAAS to reflect reality as close as possible.
For MAAS 2.1, we are planning to do more around network and fabric discovery so that we can properly allow merging what we currently model as multiple fabrics into a single fabric.