2019-06-09 00:11:06 -04:00
# PVC Ansible
2020-03-15 17:41:32 -04:00
**NOTICE FOR GITHUB**: This repository is a read-only mirror of the PVC repositories from my personal GitLab instance. Pull requests submitted here will not be merged. Issues submitted here will however be treated as authoritative.
2020-03-15 17:44:17 -04:00
A set of Ansible roles to set up PVC nodes. Part of the [Parallel Virtual Cluster system ](https://github.com/parallelvirtualcluster/pvc ).
2020-03-15 17:41:32 -04:00
Tested on Ansible 2.2 through 2.8; it is not guaranteed to work properly on older or newer versions.
2019-06-09 00:11:06 -04:00
2019-06-16 02:19:56 -04:00
## Roles
This repository contains two roles:
#### base
This role provides a standardized and configured base system for PVC. This role expects that
the system was installed via the PVC installer ISO, which results in a Debian Buster system.
2020-03-15 17:41:32 -04:00
This role is optional; the administrator may configure the base system however they please so
long as the `pvc` role can be installed thereafter.
2019-08-08 20:19:20 -04:00
#### pvc
This role configures the various subsystems required by PVC, including Ceph, Libvirt, Zookeeper,
FRR, and Patroni, as well as the main PVC components themselves.
2019-06-09 00:11:06 -04:00
## Variables
2019-08-08 20:19:20 -04:00
A default example set of configuration variables can be found in `group_vars/default/` .
A full explanation of all variables can be found in [the manual ](https://parallelvirtualcluster.readthedocs.io/en/latest/manuals/ansible/ ).
2019-06-09 00:11:06 -04:00
## Using
2019-08-08 20:19:20 -04:00
*NOTE:* These roles expect a Debian 10.X (Buster) system specifically. This is currently the
only operating environment supported for PVC.
2019-06-16 02:22:55 -04:00
*NOTE:* All non-`default` directories under `group_vars/` and `files/` , and the `hosts` file,
are ignored by this Git repository. It is advisable to manage these files securely
in a separate repository and use symlinks to place them in the expected locations in
this repository. Note that the `files/` data is created during cluster bootstrap.
2019-08-08 20:19:20 -04:00
For full details, please see the general [PVC install documentation ](https://parallelvirtualcluster.readthedocs.io/en/latest/installing/ ).
2019-06-16 02:19:56 -04:00
0. Deploy a set of 3 or 5 initial PVC nodes using the PVC install ISO.
0. Create a new cluster group in the `hosts` file, using `hosts.default` as an example. For
the initial bootstrap run, it is recommended to only include the initial coordinators
to ensure a smooth bootstrapping.
0. Create a set of vars in `group_vars` , using `group_vars/default` as an example. Ensure
that all desired coordinators are configured with the `is_coordinator: yes` flag.
0. Run the `pvc.yml` playbook against the servers. If this is the very first run for a given
cluster, use the `-e bootstrap=yes` variable to ensure the Ceph, Patroni, and PVC clusters
are initialized.
2019-06-20 23:19:50 -04:00
## License
2021-03-25 16:58:58 -04:00
Copyright (C) 2018-2021 Joshua M. Boniface < joshua @ boniface . me >
2019-06-20 23:19:50 -04:00
This repository, and all contained files, is free software: you can
redistribute it and/or modify it under the terms of the GNU General
2021-03-25 16:58:58 -04:00
Public License as published by the Free Software Foundation, version 3.
2019-06-20 23:19:50 -04:00
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see < https: / / www . gnu . org / licenses / > .