mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Provide userspace_{architecture,bits} facts
When running inside a chroot userspace architecture might not match that of the actual host. This patch provides userspace_bits as reported by python's platform.architecture(). Also provides userspace_architecture fact if host is an x86 machine.
This commit is contained in:
parent
b8630d2bc4
commit
d0843a7f55
1 changed files with 10 additions and 0 deletions
|
@ -149,10 +149,20 @@ class Facts(object):
|
|||
self.facts['fqdn'] = socket.getfqdn()
|
||||
self.facts['hostname'] = platform.node().split('.')[0]
|
||||
self.facts['domain'] = '.'.join(self.facts['fqdn'].split('.')[1:])
|
||||
arch_bits = platform.architecture()[0]
|
||||
self.facts['userspace_bits'] = arch_bits.replace('bit', '')
|
||||
if self.facts['machine'] == 'x86_64':
|
||||
self.facts['architecture'] = self.facts['machine']
|
||||
if self.facts['userspace_bits'] == '64':
|
||||
self.facts['userspace_architecture'] = 'x86_64'
|
||||
elif self.facts['userspace_bits'] == '32':
|
||||
self.facts['userspace_architecture'] = 'i386'
|
||||
elif Facts._I386RE.search(self.facts['machine']):
|
||||
self.facts['architecture'] = 'i386'
|
||||
if self.facts['userspace_bits'] == '64':
|
||||
self.facts['userspace_architecture'] = 'x86_64'
|
||||
elif self.facts['userspace_bits'] == '32':
|
||||
self.facts['userspace_architecture'] = 'i386'
|
||||
else:
|
||||
self.facts['architecture'] = self.facts['machine']
|
||||
if self.facts['system'] == 'Linux':
|
||||
|
|
Loading…
Reference in a new issue