diff --git a/lib/shared/addon/components/cluster-driver/driver-azureaks/component.js b/lib/shared/addon/components/cluster-driver/driver-azureaks/component.js index ffa84fb93..031a5e1a0 100644 --- a/lib/shared/addon/components/cluster-driver/driver-azureaks/component.js +++ b/lib/shared/addon/components/cluster-driver/driver-azureaks/component.js @@ -187,36 +187,36 @@ export default Component.extend(ClusterDriver, { try { parsedServiceCidr = ipaddr.parseCIDR(serviceCidr); + + // check if serviceCidr falls within the VNet/Subnet range + if (parsedServiceCidr && vnetRange[0].match(parsedServiceCidr)) { + errors.pushObject(intl.t('clusterNew.azureaks.errors.included.parsedServiceCidr')); + } } catch ( err ) { errors.pushObject(intl.t('clusterNew.azureaks.errors.included.serviceCidr')); } try { parsedDnsServiceIp = ipaddr.parse(dnsServiceIp); + + // check if dnsService exists in range + if (parsedDnsServiceIp && vnetRange[0].match(parsedDnsServiceIp, vnetRange[1])) { + errors.pushObject(intl.t('clusterNew.azureaks.errors.included.parsedDnsServiceIp')); + } } catch ( err ) { errors.pushObject(intl.t('clusterNew.azureaks.errors.included.dnsServiceIp')); } try { parsedDockerBridgeCidr = ipaddr.parseCIDR(dockerBridgeCidr); + + // check that dockerBridge doesn't overlap + if (parsedDockerBridgeCidr && ( vnetRange[0].match(parsedDockerBridgeCidr) || parsedServiceCidr[0].match(parsedDockerBridgeCidr) )) { + errors.pushObject(intl.t('clusterNew.azureaks.errors.included.parsedDockerBridgeCidr')); + } } catch ( err ) { errors.pushObject(intl.t('clusterNew.azureaks.errors.included.dockerBridgeCidr')); } - - // check if serviceCidr falls within the VNet/Subnet range - if (vnetRange[0].match(parsedServiceCidr)) { - errors.pushObject(intl.t('clusterNew.azureaks.errors.included.parsedServiceCidr')); - } - - // check if dnsService exists in range - if (vnetRange[0].match(parsedDnsServiceIp, vnetRange[1])) { - errors.pushObject(intl.t('clusterNew.azureaks.errors.included.parsedDnsServiceIp')); - } - - // check that dockerBridge doesn't overlap - if (vnetRange[0].match(parsedDockerBridgeCidr) || parsedServiceCidr[0].match(parsedDockerBridgeCidr)) { - errors.pushObject(intl.t('clusterNew.azureaks.errors.included.parsedDockerBridgeCidr')); - } } return errors;