|
|
@ -186,16 +186,21 @@ class Facts(object):
|
|
|
|
if self.facts['system'] == 'Linux':
|
|
|
|
if self.facts['system'] == 'Linux':
|
|
|
|
self.get_distribution_facts()
|
|
|
|
self.get_distribution_facts()
|
|
|
|
elif self.facts['system'] == 'AIX':
|
|
|
|
elif self.facts['system'] == 'AIX':
|
|
|
|
try:
|
|
|
|
# Attempt to use getconf to figure out architecture
|
|
|
|
rc, out, err = module.run_command("/usr/sbin/bootinfo -p")
|
|
|
|
# fall back to bootinfo if needed
|
|
|
|
|
|
|
|
if module.get_bin_path('getconf'):
|
|
|
|
|
|
|
|
rc, out, err = module.run_command([module.get_bin_path('getconf'),
|
|
|
|
|
|
|
|
'MACHINE_ARCHITECTURE'])
|
|
|
|
|
|
|
|
data = out.split('\n')
|
|
|
|
|
|
|
|
self.facts['architecture'] = data[0]
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
rc, out, err = module.run_command([module.get_bin_path('bootinfo'),
|
|
|
|
|
|
|
|
'-p'])
|
|
|
|
data = out.split('\n')
|
|
|
|
data = out.split('\n')
|
|
|
|
self.facts['architecture'] = data[0]
|
|
|
|
self.facts['architecture'] = data[0]
|
|
|
|
except:
|
|
|
|
|
|
|
|
self.facts['architecture'] = 'Not Available'
|
|
|
|
|
|
|
|
elif self.facts['system'] == 'OpenBSD':
|
|
|
|
elif self.facts['system'] == 'OpenBSD':
|
|
|
|
self.facts['architecture'] = platform.uname()[5]
|
|
|
|
self.facts['architecture'] = platform.uname()[5]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_local_facts(self):
|
|
|
|
def get_local_facts(self):
|
|
|
|
|
|
|
|
|
|
|
|
fact_path = module.params.get('fact_path', None)
|
|
|
|
fact_path = module.params.get('fact_path', None)
|
|
|
@ -2313,6 +2318,26 @@ class AIXNetwork(GenericBsdIfconfigNetwork, Network):
|
|
|
|
"""
|
|
|
|
"""
|
|
|
|
platform = 'AIX'
|
|
|
|
platform = 'AIX'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_default_interfaces(self, route_path):
|
|
|
|
|
|
|
|
netstat_path = module.get_bin_path('netstat')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
rc, out, err = module.run_command([netstat_path, '-nr'])
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
interface = dict(v4 = {}, v6 = {})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lines = out.split('\n')
|
|
|
|
|
|
|
|
for line in lines:
|
|
|
|
|
|
|
|
words = line.split()
|
|
|
|
|
|
|
|
if len(words) > 1 and words[0] == 'default':
|
|
|
|
|
|
|
|
if '.' in words[1]:
|
|
|
|
|
|
|
|
interface['v4']['gateway'] = words[1]
|
|
|
|
|
|
|
|
interface['v4']['interface'] = words[5]
|
|
|
|
|
|
|
|
elif ':' in words[1]:
|
|
|
|
|
|
|
|
interface['v6']['gateway'] = words[1]
|
|
|
|
|
|
|
|
interface['v6']['interface'] = words[5]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return interface['v4'], interface['v6']
|
|
|
|
|
|
|
|
|
|
|
|
# AIX 'ifconfig -a' does not have three words in the interface line
|
|
|
|
# AIX 'ifconfig -a' does not have three words in the interface line
|
|
|
|
def get_interfaces_info(self, ifconfig_path, ifconfig_options):
|
|
|
|
def get_interfaces_info(self, ifconfig_path, ifconfig_options):
|
|
|
|
interfaces = {}
|
|
|
|
interfaces = {}
|
|
|
|