Ansible Automation for Tableau Server 2018.2+ running on Windows Server
Note: This is an example project and is not production-ready or supported
This project is intended to be an example of how to automate the installation and upgrade of a multi-node, cloud-based software deployment running on Windows Server. The subject of the example is Tableau Server. The following concepts are shown:
- Provisioning on AWS
- Orchestration
- Command Execution
- Configuration Management
- Patching
All of the playbooks are easy to run. To run in your specific AWS account you'll need to modify the variables in inventory.example/group_vars/all/aws.yml
. The variables needed in this file can also be placed in the same file as the extra_vars
detailed below.
Provision two EC2 instances on AWS for installing Tableau Server.
aws_provisioning_password
- Password used when provisioning the Windows VMs on AWS
- Either provide this through an Ansible Vault encrypted file or with an Ansible Tower credential
ansible-playbook tableau-cluster-provision.yml -i inventory.example -e @secrets.yml
Orchestrate installation of Tableau Server on the two EC2 instances.
aws_provisioning_password
- Password used when provisioning the Windows VMs on AWS
- Either provide this through an Ansible Vault encrypted file or with an Ansible Tower credential
tableau_local_admin_user
- Name of the local Windows user to create for Tableau administration purposes
tableau_local_admin_pass
- Password of the local Windows user to create for Tableau administration purposes
tableau_content_admin_user
- Name of the initial Tableau admin user
tableau_content_admin_pass
- Password of the initial Tableau admin user
tableau_product_keys
- A list of one or more product keys to enable on the Tableau nodes
ansible-playbook tableau-cluster-setup.yml -i inventory.example -e @secrets.yml
Orchestrate the upgrade of Tableau Server on the two EC2 instances.
Note: This does not actually perform an upgrade at this time since a Tableau Server trial key does not allow it. it is just an example of the orchestration needed to do the upgrade.
aws_provisioning_password
- Password used when provisioning the Windows VMs on AWS
- Either provide this through an Ansible Vault encrypted file or with an Ansible Tower credential
tableau_local_admin_user
- Name of the local Windows user to create for Tableau administration purposes
tableau_local_admin_pass
- Password of the local Windows user to create for Tableau administration purposes
tableau_content_admin_user
- Name of the initial Tableau admin user
tableau_content_admin_pass
- Password of the initial Tableau admin user
tableau_product_keys
- A list of one or more product keys to enable on the Tableau nodes
ansible-playbook tableau-cluster-upgrade.yml -i inventory.example -e @secrets.yml
ansible-playbook tableau-uninstall.yml -i inventory.example -e @secrets.yml
ansible-playbook windows-update.yml -i inventory.example -e @secrets.yml