diff --git a/configutilities/configutilities/configutilities/common/validator.py b/configutilities/configutilities/configutilities/common/validator.py index 4536b8d455..aab5b1e525 100755 --- a/configutilities/configutilities/configutilities/common/validator.py +++ b/configutilities/configutilities/configutilities/common/validator.py @@ -533,6 +533,15 @@ class ConfigValidator(object): infra_prefix = NETWORK_PREFIX_NAMES[self.naming_type][INFRA_TYPE] mgmt_prefix = NETWORK_PREFIX_NAMES[self.naming_type][MGMT_TYPE] if self.conf.has_section(infra_prefix + '_NETWORK'): + if (self.system_dc_role == + DISTRIBUTED_CLOUD_ROLE_SYSTEMCONTROLLER): + # Disallow infrastructure network on systemcontroller, + # as services located on infrastructure network will not + # be reachable by subclouds. + raise ConfigFail("%s network not " + "supported on Distributed Cloud " + "SystemController." % infra_prefix) + self.infra_network = Network() try: self.infra_network.parse_config(self.conf, self.config_type, diff --git a/controllerconfig/controllerconfig/controllerconfig/configassistant.py b/controllerconfig/controllerconfig/controllerconfig/configassistant.py index 728afcf777..b74db58ed2 100644 --- a/controllerconfig/controllerconfig/controllerconfig/configassistant.py +++ b/controllerconfig/controllerconfig/controllerconfig/configassistant.py @@ -2300,7 +2300,12 @@ class ConfigAssistant(): self.input_dc_selection() self.input_pxeboot_config() self.input_management_config() - self.input_infrastructure_config() + if self.system_dc_role != \ + sysinv_constants.DISTRIBUTED_CLOUD_ROLE_SYSTEMCONTROLLER: + # Disallow infrastructure network on systemcontroller, + # as services located on infrastructure network will not + # be reachable by subclouds. + self.input_infrastructure_config() self.input_external_oam_config() self.input_authentication_config()