diff options
Diffstat (limited to 'lib/python/apex/deploy_env.py')
-rw-r--r-- | lib/python/apex/deploy_env.py | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/lib/python/apex/deploy_env.py b/lib/python/apex/deploy_env.py index bfb94f50..fb03cd07 100644 --- a/lib/python/apex/deploy_env.py +++ b/lib/python/apex/deploy_env.py @@ -12,9 +12,11 @@ import yaml import logging REQ_DEPLOY_SETTINGS = ['sdn_controller', + 'odl_version', 'sdn_l3', 'tacker', 'congress', + 'dataplane', 'sfc', 'vpn'] @@ -22,6 +24,7 @@ OPT_DEPLOY_SETTINGS = ['performance'] VALID_ROLES = ['Controller', 'Compute', 'ObjectStorage'] VALID_PERF_OPTS = ['kernel','nova'] +VALID_DATAPLANES = ['ovs','ovs_dpdk','fdio'] class DeploySettings: """ @@ -54,14 +57,23 @@ class DeploySettings: if not isinstance(deploy_options, dict): raise DeploySettingsException("deploy_options should be a list") - for option in deploy_options: - if option not in REQ_DEPLOY_SETTINGS + OPT_DEPLOY_SETTINGS: + for setting, value in deploy_options.items(): + if setting not in REQ_DEPLOY_SETTINGS + OPT_DEPLOY_SETTINGS: raise DeploySettingsException("Invalid deploy_option {} " - "specified".format(option)) - - for required_setting in REQ_DEPLOY_SETTINGS: - if required_setting not in deploy_options: - self.deploy_settings['deploy_options']['required'] = False + "specified".format(setting)) + if setting == 'dataplane': + if value not in VALID_DATAPLANES: + planes = ' '.join(VALID_DATAPLANES) + raise DeploySettingsException("Invalid dataplane {} " + "specified. Valid dataplanes:" + " {}".format(value,planes)) + + for req_set in REQ_DEPLOY_SETTINGS: + if req_set not in deploy_options: + if req_set == 'dataplane': + self.deploy_settings['deploy_options'][req_set] = 'ovs' + else: + self.deploy_settings['deploy_options'][req_set] = False if 'performance' in deploy_options: if not isinstance(deploy_options['performance'], dict): |