Bug 1738286
Summary: | Deploying OC with multiple subnets under default networks fails: "Multiple subnet matches found for name '<subnet name>', use an ID to be mo re specific" | ||
---|---|---|---|
Product: | Red Hat OpenStack | Reporter: | Alexander Chuzhoy <sasha> |
Component: | documentation | Assignee: | RHOS Documentation Team <rhos-docs> |
Status: | CLOSED EOL | QA Contact: | RHOS Documentation Team <rhos-docs> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 15.0 (Stein) | CC: | bfournie, dcadzow, dsneddon, mburns, nlevinki |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | If docs needed, set a value | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2021-07-07 09:21:13 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Alexander Chuzhoy
2019-08-06 17:06:26 UTC
I think you have some duplicates in the config that is causing this problem. For internal_api the IPv6 subnets are duplicated: internal_api_subnet: vlan: 23 ip_subnet: '172.120.1.0/24' allocation_pools: [{'start': '172.120.1.10', 'end': '172.120.1.200'}] gateway_ip: '172.120.1.1' ipv6_subnet: 'fd00:fd00:fd00:1001::/64' <=== ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:1000::10', 'end': 'fd00:fd00:fd00:1000:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:1000::1' internal_api1_subnet: vlan: 20 ip_subnet: '172.117.1.0/24' allocation_pools: [{'start': '172.117.1.10', 'end': '172.117.1.200'}] gateway_ip: '172.117.1.1' ipv6_subnet: 'fd00:fd00:fd00:1001::/64' <=== ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:1001::10', 'end': 'fd00:fd00:fd00:1001:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:1001::1' Also Storage and StorageMgmt are configured to use the same subnet. - name: Storage vip: true vlan: 34 name_lower: storage ip_subnet: '172.121.4.0/24' allocation_pools: [{'start': '172.121.4.10', 'end': '172.121.4.200'}] gateway_ip: '172.121.4.1' - name: StorageMgmt vlan: 44 name_lower: storage_mgmt vip: true ip_subnet: '172.121.4.0/24' allocation_pools: [{'start': '172.121.4.10', 'end': '172.121.4.200'}] gateway_ip: '172.121.4.1' Fixed: [stack@undercloud-0 ~]$ cat templates/network_data.yaml # List of networks, used for j2 templating of enabled networks # # Supported values: # # name: Name of the network (mandatory) # name_lower: lowercase version of name used for filenames # (optional, defaults to name.lower()) # enabled: Is the network enabled (optional, defaults to true) # vlan: vlan for the network (optional) # vip: Enable creation of a virtual IP on this network # ip_subnet: IP/CIDR, e.g. '192.168.24.0/24' or '2001:db8:fd00:1000::/64' # (optional, may use parameter defaults instead) # allocation_pools: IP range list e.g. [{'start':'10.0.0.4', 'end':'10.0.0.250'}] # gateway_ip: gateway for the network (optional, may use parameter defaults) # ipv6_subnet: Optional, sets default IPv6 subnet if IPv4 is already defined. # ipv6_allocation_pools: Set default IPv6 allocation pools if IPv4 allocation pools # are already defined. # ipv6_gateway: Set an IPv6 gateway if IPv4 gateway already defined. # ipv6: If ip_subnet not defined, this specifies that the network is IPv6-only. # NOTE: IP-related values set parameter defaults in templates, may be overridden, # either by operators, or e.g in environments/network-isolation-v6.yaml where we # set some default IPv6 addresses. # compat_name: for existing stack you may need to override the default # transformation for the resource's name. # # Example: # - name Example # vip: false # ip_subnet: '10.0.2.0/24' # allocation_pools: [{'start': '10.0.2.4', 'end': '10.0.2.250'}] # gateway_ip: '10.0.2.254' # # To support backward compatility, two versions of the network definitions will # be created, network/<network>.yaml and network/<network>_v6.yaml. Only # one of these files may be used in the deployment at a time, since the # parameters used for configuration are the same in both files. In the # future, this behavior may be changed to create only one file for custom # networks. You may specify IPv6 addresses for ip_subnet, allocation_pools, # and gateway_ip if no IPv4 addresses are used for a custom network, or set # ipv6: true, and the network/<network>.yaml file will be configured as IPv6. # # For configuring both IPv4 and IPv6 on the same interface, use two separate # networks, and then assign both IPs in the custom NIC configuration templates. - name: External vip: true name_lower: external vlan: 10 ip_subnet: '10.0.0.0/24' allocation_pools: [{'start': '10.0.0.4', 'end': '10.0.0.250'}] gateway_ip: '10.0.0.1' ipv6_subnet: '2001:db8:fd00:1100::/64' ipv6_allocation_pools: [{'start': '2001:db8:fd00:1100::10', 'end': '2001:db8:fd00:1100:ffff:ffff:ffff:fffe'}] gateway_ipv6: '2001:db8:fd00:1000::1' - name: InternalApi name_lower: internal_api vip: true vlan: 24 ip_subnet: '172.121.1.0/24' allocation_pools: [{'start': '172.121.1.10', 'end': '172.121.1.200'}] gateway_ip: '172.121.1.1' ipv6_subnet: 'fd00:fd00:fd00:1004::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:1004::10', 'end': 'fd00:fd00:fd00:1004:ffff:ffff:ffff:fffe'}] subnets: internal_api_subnet: vlan: 23 ip_subnet: '172.120.1.0/24' allocation_pools: [{'start': '172.120.1.10', 'end': '172.120.1.200'}] gateway_ip: '172.120.1.1' ipv6_subnet: 'fd00:fd00:fd00:1000::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:1000::10', 'end': 'fd00:fd00:fd00:1000:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:1000::1' internal_api1_subnet: vlan: 20 ip_subnet: '172.117.1.0/24' allocation_pools: [{'start': '172.117.1.10', 'end': '172.117.1.200'}] gateway_ip: '172.117.1.1' ipv6_subnet: 'fd00:fd00:fd00:1001::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:1001::10', 'end': 'fd00:fd00:fd00:1001:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:1001::1' internal_api2_subnet: vlan: 21 ip_subnet: '172.118.1.0/24' allocation_pools: [{'start': '172.118.1.10', 'end': '172.118.1.200'}] gateway_ip: '172.118.1.1' ipv6_subnet: 'fd00:fd00:fd00:1002::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:1002::10', 'end': 'fd00:fd00:fd00:1002:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:1002::1' internal_api3_subnet: vlan: 22 ip_subnet: '172.119.1.0/24' allocation_pools: [{'start': '172.119.1.10', 'end': '172.119.1.200'}] gateway_ip: '172.119.1.1' ipv6_subnet: 'fd00:fd00:fd00:1003::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:1003::10', 'end': 'fd00:fd00:fd00:1003:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:1003::1' - name: Storage vip: true vlan: 34 name_lower: storage ip_subnet: '172.121.3.0/24' allocation_pools: [{'start': '172.121.3.10', 'end': '172.121.3.200'}] gateway_ip: '172.121.3.1' ipv6_subnet: 'fd00:fd00:fd00:2004::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:2004::10', 'end': 'fd00:fd00:fd00:2004:ffff:ffff:ffff:fffe'}] subnets: storage_subnet: vlan: 33 ip_subnet: '172.120.3.0/24' allocation_pools: [{'start': '172.120.3.10', 'end': '172.120.3.200'}] gateway_ip: '172.120.3.1' ipv6_subnet: 'fd00:fd00:fd00:2000::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:2000::10', 'end': 'fd00:fd00:fd00:2000:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:2000::1' storage1_subnet: vlan: 30 ip_subnet: '172.117.3.0/24' allocation_pools: [{'start': '172.117.3.10', 'end': '172.117.3.200'}] gateway_ip: '172.117.3.1' ipv6_subnet: 'fd00:fd00:fd00:2001::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:2001::10', 'end': 'fd00:fd00:fd00:2001:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:2001::1' storage2_subnet: vlan: 31 ip_subnet: '172.118.3.0/24' allocation_pools: [{'start': '172.118.3.10', 'end': '172.118.3.200'}] gateway_ip: '172.118.3.1' ipv6_subnet: 'fd00:fd00:fd00:2002::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:2002::10', 'end': 'fd00:fd00:fd00:2002:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:2002::1' storage3_subnet: vlan: 32 ip_subnet: '172.119.3.0/24' allocation_pools: [{'start': '172.119.3.10', 'end': '172.119.3.200'}] gateway_ip: '172.119.3.1' ipv6_subnet: 'fd00:fd00:fd00:2003::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:2003::10', 'end': 'fd00:fd00:fd00:2003:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:2003::1' - name: StorageMgmt vlan: 44 name_lower: storage_mgmt vip: true ip_subnet: '172.121.4.0/24' allocation_pools: [{'start': '172.121.4.10', 'end': '172.121.4.200'}] gateway_ip: '172.121.4.1' ipv6_subnet: 'fd00:fd00:fd00:3004::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:3004::10', 'end': 'fd00:fd00:fd00:3004:ffff:ffff:ffff:fffe'}] subnets: storage_mgmt_subnet: vlan: 43 ip_subnet: '172.120.4.0/24' allocation_pools: [{'start': '172.120.4.10', 'end': '172.120.4.200'}] gateway_ip: '172.120.4.1' ipv6_subnet: 'fd00:fd00:fd00:3000::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:3000::10', 'end': 'fd00:fd00:fd00:3000:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:3000::1' storage_mgmt1_subnet: vlan: 40 ip_subnet: '172.117.4.0/24' allocation_pools: [{'start': '172.117.4.10', 'end': '172.117.4.200'}] gateway_ip: '172.117.4.1' ipv6_subnet: 'fd00:fd00:fd00:3001::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:3001::10', 'end': 'fd00:fd00:fd00:3001:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:3001::1' storage_mgmt2_subnet: vlan: 41 ip_subnet: '172.118.4.0/24' allocation_pools: [{'start': '172.118.4.10', 'end': '172.118.4.200'}] gateway_ip: '172.118.4.1' ipv6_subnet: 'fd00:fd00:fd00:3002::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:3002::10', 'end': 'fd00:fd00:fd00:3002:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:3002::1' storage_mgmt3_subnet: vlan: 42 ip_subnet: '172.119.4.0/24' allocation_pools: [{'start': '172.119.4.10', 'end': '172.119.4.200'}] gateway_ip: '172.119.4.1' ipv6_subnet: 'fd00:fd00:fd00:3003::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:3003::10', 'end': 'fd00:fd00:fd00:3003:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:3003::1' - name: Tenant vip: false # Tenant network does not use VIPs name_lower: tenant vlan: 54 ip_subnet: '172.121.2.0/24' allocation_pools: [{'start': '172.121.2.10', 'end': '172.121.2.200'}] gateway_ip: '172.121.2.1' ipv6_subnet: 'fd00:fd00:fd00:4000::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:4000::10', 'end': 'fd00:fd00:fd00:4000:ffff:ffff:ffff:fffe'}] subnets: tenant_subnet: vlan: 53 ip_subnet: '172.120.2.0/24' allocation_pools: [{'start': '172.120.2.10', 'end': '172.120.2.200'}] gateway_ip: '172.120.2.1' ipv6_subnet: 'fd00:fd00:fd00:4000::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:4000::10', 'end': 'fd00:fd00:fd00:4000:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:4000::1' tenant1_subnet: vlan: 50 ip_subnet: '172.117.2.0/24' allocation_pools: [{'start': '172.117.2.10', 'end': '172.117.2.200'}] gateway_ip: '172.117.2.1' ipv6_subnet: 'fd00:fd00:fd00:4001::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:4001::10', 'end': 'fd00:fd00:fd00:4001:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:4001::1' tenant2_subnet: vlan: 51 ip_subnet: '172.118.2.0/24' allocation_pools: [{'start': '172.118.2.10', 'end': '172.118.2.200'}] gateway_ip: '172.118.2.1' ipv6_subnet: 'fd00:fd00:fd00:4002::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:4002::10', 'end': 'fd00:fd00:fd00:4002:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:4002::1' tenant3_subnet: vlan: 52 ip_subnet: '172.119.2.0/24' allocation_pools: [{'start': '172.119.2.10', 'end': '172.119.2.200'}] gateway_ip: '172.119.2.1' ipv6_subnet: 'fd00:fd00:fd00:4003::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:4003::10', 'end': 'fd00:fd00:fd00:4003:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:4003::1' - name: Management # Management network is enabled by default for backwards-compatibility, but # is not included in any roles by default. Add to role definitions to use. enabled: true vip: false # Management network does not use VIPs name_lower: management vlan: 60 ip_subnet: '172.20.0.0/24' allocation_pools: [{'start': '172.20.0.10', 'end': '172.20.0.250'}] gateway_ip: '172.20.0.254' ipv6_subnet: 'fd00:fd00:fd00:5000::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:5000::10', 'end': 'fd00:fd00:fd00:5000:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:5000::1' subnets: management_leaf1: enabled: true vlan: 61 ip_subnet: '172.20.1.0/24' allocation_pools: [{'start': '172.20.1.10', 'end': '172.20.1.250'}] gateway_ip: '172.20.1.254' ipv6_subnet: 'fd00:fd00:fd00:5001::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:5001::10', 'end': 'fd00:fd00:fd00:5001:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:5001::1' The deployment fails with: overcloud.RedisVirtualIP: resource_type: OS::TripleO::Network::Ports::RedisVipPort physical_resource_id: status: CREATE_FAILED status_reason: | resources.RedisVirtualIP: Property error: resources.VipPort.properties.fixed_ips[0].subnet: Multiple subnet matches found for name 'internal_api_subnet', use an ID to be more specific. overcloud.StorageVirtualIP: resource_type: OS::TripleO::Network::Ports::StorageVipPort physical_resource_id: status: CREATE_FAILED status_reason: | resources.StorageVirtualIP: Property error: resources.StoragePort.properties.fixed_ips[0].subnet: Multiple subnet matches found for name 'storage_subnet', use an ID to be more specific. overcloud.InternalApiVirtualIP: resource_type: OS::TripleO::Network::Ports::InternalApiVipPort physical_resource_id: status: CREATE_FAILED status_reason: | resources.InternalApiVirtualIP: Property error: resources.InternalApiPort.properties.fixed_ips[0].subnet: Multiple subnet matches found for name 'internal_api_subnet', use an ID to be more specific. overcloud.StorageMgmtVirtualIP: resource_type: OS::TripleO::Network::Ports::StorageMgmtVipPort physical_resource_id: status: CREATE_FAILED status_reason: | resources.StorageMgmtVirtualIP: Property error: resources.StorageMgmtPort.properties.fixed_ips[0].subnet: Multiple subnet matches found for name 'storage_mgmt_subnet', use an ID to be more specific. Heat Stack create failed. The first subnet should not be defined separately, so remove this: internal_api_subnet: vlan: 23 ip_subnet: '172.120.1.0/24' allocation_pools: [{'start': '172.120.1.10', 'end': '172.120.1.200'}] gateway_ip: '172.120.1.1' ipv6_subnet: 'fd00:fd00:fd00:1000::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:1000::10', 'end': 'fd00:fd00:fd00:1000:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:1000::1' As well as the other places where you defined leaf0 separately (tenant_subnet, storage_subnet, etc.). The network definition contains the info for the leaf0, and you only have to define subnets separately for leaf1, leaf2, etc. We should emphasize in our doc and/or example that the following (using the InternalApi example but applies to any network) is wrong as internal_api_subnet is already defined above subnets. - name: InternalApi name_lower: internal_api vip: true vlan: 24 ip_subnet: '172.121.1.0/24' allocation_pools: [{'start': '172.121.1.10', 'end': '172.121.1.200'}] gateway_ip: '172.121.1.1' ipv6_subnet: 'fd00:fd00:fd00:1004::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:1004::10', 'end': 'fd00:fd00:fd00:1004:ffff:ffff:ffff:fffe'}] subnets: internal_api_subnet: vlan: 23 ip_subnet: '172.120.1.0/24' allocation_pools: [{'start': '172.120.1.10', 'end': '172.120.1.200'}] gateway_ip: '172.120.1.1' ipv6_subnet: 'fd00:fd00:fd00:1001::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:1000::10', 'end': 'fd00:fd00:fd00:1000:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:1000::1' internal_api1_subnet: vlan: 20 ip_subnet: '172.117.1.0/24' allocation_pools: [{'start': '172.117.1.10', 'end': '172.117.1.200'}] gateway_ip: '172.117.1.1' ipv6_subnet: 'fd00:fd00:fd00:1001::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:1001::10', 'end': 'fd00:fd00:fd00:1001:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:1001::1' It should be written instead (here getting rid of vlan24/172.121.1.0/24 , so if these are needed, should be in yet another subnet): - name: InternalApi name_lower: internal_api vip: true vlan: 23 ip_subnet: '172.120.1.0/24' allocation_pools: [{'start': '172.120.1.10', 'end': '172.120.1.200'}] gateway_ip: '172.120.1.1' ipv6_subnet: 'fd00:fd00:fd00:1001::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:1001::10', 'end': 'fd00:fd00:fd00:1001:ffff:ffff:ffff:fffe'}] subnets: internal_api1_subnet: vlan: 20 ip_subnet: '172.117.1.0/24' allocation_pools: [{'start': '172.117.1.10', 'end': '172.117.1.200'}] gateway_ip: '172.117.1.1' ipv6_subnet: 'fd00:fd00:fd00:1001::/64' ipv6_allocation_pools: [{'start': 'fd00:fd00:fd00:1001::10', 'end': 'fd00:fd00:fd00:1001:ffff:ffff:ffff:fffe'}] gateway_ipv6: 'fd00:fd00:fd00:1001::1' |