k3ck3c
1
Hello
I am looking for some docs explaining how to develop an agent for another Operating System
I noticed in
/usr/local/python2.7/dist-packages:ansible/modules-utils/facts/hardware
some files like
aix.py
sunos.py
netbsd.py
linux.py
hpux.py
and so
It seems ansible_distribution may be the name of the OS, according to
https://docs.ansible.com/ansible/2.6/user_guide/playbooks_best_practices.html?highlight=operating%20system
Thanks for any hint
gundalow
(gundalow)
2
Hi,
Could you please explain what you are trying to achieve, so we can guide you?
The existing code supports most common Operating Systems even if their isn’t a specific Python file for that Operating System.
Kind regards,
gundalow
k3ck3c
3
Hello
I was trying to port Ansible to OpenVMS Itanium.
Ansible is written in Python, and Python is available for OpenVMS
I thought I had read some time ago some Ansible doc explaining how to deal with another OS, but I can’t find it in the docs.
Regards
gundalow
(gundalow)
4
Hi,
Thanks for the detail.
So, just to clarify some things:
-
ansible-playbook will still be run on a standard Linux machine, that’s the controller
-
Ansible doesn’t have an agent. It communicates over ssh, nothing to install on the remote-node
-
We are talking about supporting OpenVMS/Itanium as a remote-node
Assuming you have an inventory file that defines openvms-01
- If we start with the simplest task:
ansible openvms-01 -m ping
This ensure we have connectivity
- Then look at
ansible openvms-01 -m setup -a ‘gather_subset=!min’
Which should return something like
SUCCESS => {
“ansible_facts”: {
“gather_subset”: [
“!min”
],
“module_setup”: true
},
“changed”: false
You can play around with the various gather_subset as defined on https://docs.ansible.com/ansible/latest/modules/setup_module.html
- Then
ansible openvms-01 -m setup -a ‘gather_subset=min’
How do those commands seem?
If any fail add -vv and rerun
This should give us an indication of what works “out of the box”.
You can see the code for the existing for facts in https://github.com/ansible/ansible/tree/devel/lib/ansible/module_utils/facts
Kind regards,
gundalow
k3ck3c
5
Hello
Thanks for your valuable inputs
after setting up SSH between the Linux and OpenVMS node, the
ansible openvms-01 -m ping
succesfully connects to the remote system (via ssh), then
sends
‘/bin/sh -c ‘"’“‘echo ~SYSTEM && sleep 0’”’"‘’
but this is an illegal command on OpenVMS which has a specific shell named DCL.
So, now, how to specifiy a correct command for the OpenVMS host and check the reply.
system
(system)
6
use the 'raw' module:
ansible openvms-01 -m raw -a "command"