From f7e02ab8b9862db7d925c9a1f404b3196944db60 Mon Sep 17 00:00:00 2001 From: Westly Wright Date: Fri, 14 Sep 2018 15:01:47 -0700 Subject: [PATCH] Fix AKS field validation rancher/rancher#15564 --- .../driver-azureaks/component.js | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) 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;