summaryrefslogtreecommitdiffstats
path: root/deploy/cloud
diff options
context:
space:
mode:
Diffstat (limited to 'deploy/cloud')
-rw-r--r--deploy/cloud/deploy.py29
-rw-r--r--deploy/cloud/deployment.py6
2 files changed, 26 insertions, 9 deletions
diff --git a/deploy/cloud/deploy.py b/deploy/cloud/deploy.py
index 679b0ad6f..e00934bd9 100644
--- a/deploy/cloud/deploy.py
+++ b/deploy/cloud/deploy.py
@@ -22,6 +22,7 @@ from common import (
check_file_exists,
commafy,
ArgParser,
+ log,
)
YAML_CONF_DIR = '/var/lib/opnfv'
@@ -29,9 +30,12 @@ YAML_CONF_DIR = '/var/lib/opnfv'
class Deploy(object):
- def __init__(self, dea_file, no_health_check):
+ def __init__(self, dea_file, no_health_check, deploy_timeout,
+ no_deploy_environment):
self.dea = DeploymentEnvironmentAdapter(dea_file)
self.no_health_check = no_health_check
+ self.deploy_timeout = deploy_timeout
+ self.no_deploy_environment = no_deploy_environment
self.macs_per_blade = {}
self.blades = self.dea.get_node_ids()
self.blade_node_dict = self.dea.get_blade_node_map()
@@ -42,8 +46,8 @@ class Deploy(object):
def assign_roles_to_cluster_node_ids(self):
self.node_roles_dict = {}
for blade, node in self.blade_node_dict.iteritems():
- if self.dea.get_node_role(blade):
- roles = commafy(self.dea.get_node_role(blade))
+ if self.dea.get_node_roles(blade):
+ roles = commafy(self.dea.get_node_roles(blade))
self.node_roles_dict[node] = (roles, blade)
def configure_environment(self):
@@ -59,8 +63,12 @@ class Deploy(object):
def deploy_cloud(self):
dep = Deployment(self.dea, YAML_CONF_DIR, self.env_id,
- self.node_roles_dict, self.no_health_check)
- dep.deploy()
+ self.node_roles_dict, self.no_health_check,
+ self.deploy_timeout)
+ if not self.no_deploy_environment:
+ dep.deploy()
+ else:
+ log('Configuration is done. Deployment is not launched.')
def deploy(self):
@@ -76,13 +84,22 @@ def parse_arguments():
parser.add_argument('-nh', dest='no_health_check', action='store_true',
default=False,
help='Don\'t run health check after deployment')
+ parser.add_argument('-dt', dest='deploy_timeout', action='store',
+ default=240, help='Deployment timeout (in minutes) '
+ '[default: 240]')
+ parser.add_argument('-nde', dest='no_deploy_environment',
+ action='store_true', default=False,
+ help=('Do not launch environment deployment'))
parser.add_argument('dea_file', action='store',
help='Deployment Environment Adapter: dea.yaml')
+
args = parser.parse_args()
check_file_exists(args.dea_file)
kwargs = {'dea_file': args.dea_file,
- 'no_health_check': args.no_health_check}
+ 'no_health_check': args.no_health_check,
+ 'deploy_timeout': args.deploy_timeout,
+ 'no_deploy_environment': args.no_deploy_environment}
return kwargs
diff --git a/deploy/cloud/deployment.py b/deploy/cloud/deployment.py
index 42bab09bb..306abf006 100644
--- a/deploy/cloud/deployment.py
+++ b/deploy/cloud/deployment.py
@@ -31,12 +31,13 @@ LIST_OF_CHAR_TO_BE_ESCAPED = ['[', ']', '"']
class Deployment(object):
def __init__(self, dea, yaml_config_dir, env_id, node_id_roles_dict,
- no_health_check):
+ no_health_check, deploy_timeout):
self.dea = dea
self.yaml_config_dir = yaml_config_dir
self.env_id = env_id
self.node_id_roles_dict = node_id_roles_dict
self.no_health_check = no_health_check
+ self.deploy_timeout = deploy_timeout
self.pattern = re.compile(
'\d\d\d\d-\d\d-\d\d\s\d\d:\d\d:\d\d')
@@ -96,7 +97,6 @@ class Deployment(object):
print(log_msg + '\n')
def run_deploy(self):
- WAIT_LOOP = 240
SLEEP_TIME = 60
LOG_FILE = 'cloud.log'
@@ -105,7 +105,7 @@ class Deployment(object):
% (self.env_id, LOG_FILE))
ready = False
- for i in range(WAIT_LOOP):
+ for i in range(int(self.deploy_timeout)):
env = parse(exec_cmd('fuel env --env %s' % self.env_id))
log('Environment status: %s' % env[0][E['status']])
r, _ = exec_cmd('tail -2 %s | head -1' % LOG_FILE, False)