Skip to content
This repository has been archived by the owner on Jun 24, 2021. It is now read-only.

Separate TiDB roles from playbooks #981

Open
onitake opened this issue Sep 30, 2019 · 0 comments
Open

Separate TiDB roles from playbooks #981

onitake opened this issue Sep 30, 2019 · 0 comments

Comments

@onitake
Copy link

onitake commented Sep 30, 2019

A complete Ansible repository for TiKV installation is certainly useful, but doesn't cover all potential host and environment setup situations and is inflexible when it needs to be integrated into a larger deployment.

The common solution to this problem is a clear separation between Ansible roles, playbooks and possibly inventories. External roles can be managed easily with Ansible Galaxy, which supports pulling roles from various sources. GitHub repositories are one possibility, so no other platforms (such as galaxy.ansible.com) are needed.

It should also be noted that Ansible is a well-known tool among systems engineers. I don't think it's necessary to explain project setup and installation/configuration of unrelated software in the documentation.

I suggest:

  • Moving all PD/TiDB/TiKV/TiSpark/... roles into separate repositories
  • Adding a requirements.yml to tidb-ansible that references the role repositories
  • Simplifying the documentation on https://pingcap.com/docs/v3.0/how-to/deploy/orchestrated/ansible/ so it focuses on TiDB cluster installation
  • Removing host setup playbooks/roles from tidb-ansible that are not relevant for every platform, focus on one public cloud example that can be deployed without prerequisites

As an example, here is a complete role for Hashicorp Consul installation: https://github.com/brianshumate/ansible-consul
The README also documents usage and supported variables.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant