/tendrl-ansible

Ansible playbook for Tendrl!

Primary LanguageMakefileGNU Lesser General Public License v2.1LGPL-2.1

tendrl-ansible

Ansible roles and playbooks for Tendrl!

Clone me:

git clone https://github.com/Tendrl/tendrl-ansible.git

NOTE: The master branch was completely overwritten on 13th June 2017. The original master branch is now available as the branch archive.

What does it do?

There are ansible roles for installation of Tendrl, based on upstream documentation:

  • tendrl-copr: installs yum repository of latest Tendrl upstream release
  • tendrl-server: installation of Tendrl Server machine (where api, web and etcd are running)
  • tendrl-storage-node: installation of Tendrl Storage Node machine (required on Gluster servers, which you would like to monitor by Tendrl)

Please note that tendrl-server role includes setup of admin user account for Tendrl (usable with both api and web interface), and that default password is adminuser. Moreover the admin password is also stored on Tendrl Server machine in /root/password file (this feature of tendrl-ansible is based on TEN-257).

For convenience, there are also ansible roles for installation of yum repositories with upstream releases of Ceph, Gluster and theirs installation tools (such as ceph-installer and gdeploy):

  • ceph-installer
  • gluster-gdeploy-copr

See sample ansible playbook site.yml.sample to check how it fits together.

Basic setup

Ansible Driven installation:

  1. Install ansible >= 2.3
  2. Get the code: git clone https://github.com/Tendrl/tendrl-ansible.git
  3. Create Ansible inventory file with groups for tendrl-server and gluster-servers. Here is an example of inventory file for 4 node cluster with Gluster:
[gluster-servers]
gl1.example.com
gl2.example.com
gl3.example.com
gl4.example.com

[tendrl-server]
tendrl.example.com
  1. Create site.yml file based on site.yml.sample and make sure to define all ansible variables there to suit.
  2. Check that ssh can connect to all machines from the inventory file without asking for password or validation of public key by running: $ ansible -i inventory_file -m ping all. You should see ansible to show "pong" message for all machines. In case of any problems, you need to fix it before going on. If you are not sure what's wrong, consult documentation of ansible and/or ssh.
  3. Run $ ansible-playbook -i inventory_file site.yml
  4. Log in to your tendrl server at http://ip.of.tendrl.server with admin user and the default password adminuser.

Setup with Vagrant using libvirt provider

TODO

Setup with Vagrant using virtualbox provider

TODO

License

Distributed under the terms of the GNU LGPL, version 2.1 license, tendrl-ansible is free and open source software.