Because Ansible is agentless and the only requirement is python, it works surprisingly well. For non-global zones, ansible works "out of the box".
Ansible in the Global Zone¶
For the Global Zone you need to have
python installed via
pkgsrc and in your inventory file you need to set
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
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!