Bulk administration of client devices with Ansible
Introduction
Zmanda Pro client install scripts supports remote administration of the client devices. These include operations such as Zmanda Pro client software installation & uninstallation, CA certificate installation on the client devices.
However, you may use your own remote management tools to invoke the Zmanda Pro client install scripts to perform the aforementioned operations.
Pre-requisites
1. An Instance of Zmanda Pro server setup
2. Zmanda Pro Client Install Scripts
The Zmanda Pro Client installation scripts are packaged as a part of your Zmanda Pro Server Setup Package and it can be found under the scripts
directory in the setup package.
3. Python
Ansible uses python modules at its core, hence you will first need to install python3. It is recommended to upgrade you pip libraries to pull latest versions of the ansible modules, one important module which will be used in the Zmanda Pro Client Bulk installation workflow is the pywinrm
module to push the scripts onto Windows Clients using the WinRM protocol
4. Ansible Installation
Example: Installation on Rocky Linux 9
5. Network Configurations
To remotely manage your client devices using ansible, the following protocols will be used, hence the listed ports have to be open on the client devices.
Windows: Port 5895 Protocol Used: WinRM
Linux & Mac: Port 22 Protocol Used: SSH
The Client devices must also be able to resolve the domain name of the Zmanda Pro Server. The Client devices may need to make entries in their respective
hosts
file for the same if a DNS manager service is not configured at the network organization level.
Example:
Windows hosts file - C:\Windows\System32\drivers\etc\hosts
Linux & Mac hosts file - /etc/hosts
Format:
<ZMANDA_PRO_SERVER_IP> <ZMANDA_PRO_SERVER_FQDN>
Ensure that the client device can reach out the Server on the specific IP. You may ping
the ZMANDA_PRO_SERVER_IP
from your client device to ensure the same.
Example Entry:
192.168.80.223 backup.zmanda.com
Configuring your ansible environment
NOTE:
- Please maintain the directory structure of each file
- Ansible scripts have to be run with sudo
- Zmanda Pro Client installation requires super user privileges on the client devices hence, a user in the sudoers (or) admin
group must be used for Linux & Mac. For windows, a user with Administrator privileges must be provided.

Setting defaults
Navigate over to the ansible/defaults
directory and find the zpro_remote_defaults.yaml
file, you should be able to see similar configurations.
On your host, you will have to make the following changes
zpro_scripts_path
: Path to the directory where the Zmanda Pro Client Install scripts can be found. Refer Pre-Requisite 2ca_certificate_path
: Path to the ca certificate file. This is usually within thecerts
directory in your Zmanda Pro Setup Package. Refer Zmanda Pro Server Setup Package Contents If the certificate is trusted by the client devices this configuration can be left blank. It will skip certificate installation on the client deviceszpro_fqdn
: The FQDN on which the Zmanda Pro Server is listening. Please do NOT append https:// to this as the Zmanda Pro server runs with TLS enabled and serves on https by default.
Host configurations
Most ansible environments have the following components:
Control Node: A system on which Ansible is installed. You run Ansible commands such as ansible
or ansible-inventory
on a control node.
Inventory: A list of managed nodes that are logically organized. You create an inventory on the control node to describe host deployments to Ansible.
Managed node: A remote system, or host, that Ansible controls.
In our case, the Control Node node will be the one where the Zmanda Pro Server runs. You may run the ansible playbooks from a different Control Node.
We will also see how to configure inventory files for Linux, Windows & Mac devices. The control node runs the ansible playbook scripts on each host defined in the inventory files.
1. Linux Host Configurations
Navigate to the zpro_linux_nodes.ini
under the hostconfigs/
directory
NOTE: Ensure that the clients (managed nodes) are trusted by your Control Node, i.e. ssh fingerprint entries for the clients must be present in the known_hosts
file of Control Node.
You must see the following template file, replace the values with the authentication credentials for each of your own client device.
NOTE: The users specified must be in the sudoers group.
Example:
2. Windows Host Configurations
Navigate to the zpro_windows_nodes.ini
under the hostconfigs/
directory
NOTE: Specify the User with Administrator privileges in the ansible_become_user=
configuration. If the Authenticating user itself is the Administrator specify the same user name in the ansible_become_user=
configuration
Example:
Last updated
Was this helpful?