- elif 'ping' in lcm:
-
- targetnode = envparameters['TargetNode'].split(' ')
- str_json = None
- for line in stdout_value: # p.stdout.readlines():
- print line # line,
- if "PLAY RECAP" in line:
- ParseFlag = False
- if ParseFlag and len(line.strip())>0:
- str_json += line.strip()
- if "TASK [debug]" in line:
- ParseFlag = True
- str_json = ''
- log.append (line)
-
- if str_json:
- if '=>' in str_json:
- out_json =eval(str_json.split('=>')[1].replace('true','True').replace('false','False'))
-
- if 'ping.stdout_lines' in out_json:
- for node in targetnode:
- ip_address = node
- ok_flag = '0'
- changed_flag = '0'
- unreachable_flag = '0'
- failed_flag = '1'
- for rec in out_json['ping.stdout_lines']:
- if node in rec and "is alive" in rec:
- ok_flag = '1'
- changed_flag = '1'
- unreachable_flag = '0'
- failed_flag = '0'
- for rec in out_json['ping.stdout_lines']:
- if node in rec and "address not found" in rec:
- ok_flag = '0'
- changed_flag = '0'
- unreachable_flag = '1'
- failed_flag = '0'
- retval[ip_address]=[ok_flag, changed_flag, unreachable_flag,
- failed_flag]