Because Ansible is agentless and the only requirement is python, it works surprisingly well. For non-global zones, ansible works "out of the box".
For the Global Zone you need to have python
installed via
pkgsrc and in your inventory file you need to set
ansible_python_interpreter
to /opt/tools/bin/python
.
my-smartos-cn ansible_user=root ansible_host=198.51.100.37 ansible_python_interpreter=/opt/tools/bin/python
You can either ssh to your SmartOS host and install python manually or install
python via ansible using the raw
module.
ansible my-smartos-cn -m raw -a 'pkgin -y in python311'
Ansible has some SmartOS Global Zone specific modules:
Once that is done, you may write playbooks and run playbooks. There are examples in the module documentation and on the module author's blog at:
Thanks to Jasper Lievisse Adriaanse for writing and sharing these modules!