Commit Graph

226 Commits

Author SHA1 Message Date
Joshua Boniface 45185c5a16 Change Patroni scope to just pvc 2023-09-01 15:42:22 -04:00
Joshua Boniface 21c9aa3e6a Move netmask to separate config 2023-09-01 15:42:22 -04:00
Joshua Boniface e76dc2b796 Use API endpoint to bootstrap PVC cluster 2023-09-01 15:42:22 -04:00
Joshua Boniface f1e31ed169 Add additional API configuration 2023-09-01 15:42:22 -04:00
Joshua Boniface da24aaf5ff Install Provisioner schema to database 2023-09-01 15:42:22 -04:00
Joshua Boniface 484325698f Add provisioner database schema 2023-09-01 15:42:22 -04:00
Joshua Boniface cb3e4c2fa3 Remove empty newline 2023-09-01 15:42:22 -04:00
Joshua Boniface f76802be6d Remove invalid flag to ceph-authtool 2023-09-01 15:42:22 -04:00
Joshua Boniface 4b488a56ea Don't become for uuidgen 2023-09-01 15:42:22 -04:00
Joshua Boniface ff68f8a2a5 Move Ceph access to storage network 2023-09-01 15:42:22 -04:00
Joshua Boniface 6ce036f61e Improve script to run ZK cleanup on all hosts 2023-09-01 15:42:22 -04:00
Joshua Boniface 9448cf3d90 Add jq dependency 2023-09-01 15:42:21 -04:00
Joshua Boniface 7689e659fe Make vacuum script more comprehensive 2023-09-01 15:42:21 -04:00
Joshua Boniface 8163769183 Add check_mk check for PVC status 2023-09-01 15:42:21 -04:00
Joshua Boniface 2e0d5c9d44 Improve daily vacuum script 2023-09-01 15:42:21 -04:00
Joshua Boniface 94ef3490ab Add daily Zookeeper data cleanup 2023-09-01 15:42:21 -04:00
Joshua Boniface 15a2bf1418 Add custom systemd unit for Zookeeper
We're 100% systemd here, and the lack of control/information that the
old-school ZK initscript provides is frustrating. Replace it with our
own simple unit file.
2023-09-01 15:42:21 -04:00
Joshua Boniface f98a2ee433 Add logrotate configuration 2023-09-01 15:42:21 -04:00
Joshua Boniface c0acd3e994 Add daily Postgres vacuum script 2023-09-01 15:42:21 -04:00
Joshua Boniface 2cee9f08a0 Add Zookeeper autopurge @72h 2023-09-01 15:42:21 -04:00
Joshua Boniface c83995ff1d Update config template with recent changes
1) Add debug flag
2) Move intervals config up one level
2023-09-01 15:42:21 -04:00
Joshua Boniface 41c2dcd330 Set debug value in API config 2023-09-01 15:42:21 -04:00
Joshua Boniface 823310e8a3 Limit database tasks to coordinators only
Non-coordinators don't need these configurations as they shouldn't run
there.
2023-09-01 15:42:21 -04:00
Joshua Boniface 1e562a58da Support new log flags and update default log conf
Tweak the defaults a bit; pvc-ansible assumes we're running under
systemd, so set a log format that's better for it (no colour or date).
2023-09-01 15:42:21 -04:00
Joshua Boniface 035aef7c47 Replace tabs with spaces 2023-09-01 15:42:21 -04:00
Joshua Boniface 72d22a9c3c Remove bad content from pvc-api.yml 2023-09-01 15:42:21 -04:00
Joshua Boniface 36657e28f9 Add quote around ZK nodes in Patroni 2023-09-01 15:42:21 -04:00
Joshua Boniface db3198aadc Bring up underlying interfaces 2023-09-01 15:42:21 -04:00
Joshua Boniface 5d3de3ece2 Complete configuration of API via Ansible 2023-09-01 15:42:21 -04:00
Joshua Boniface 32bcbbeca0 Enable client API in Daemon config 2023-09-01 15:42:21 -04:00
Joshua Boniface d5516d891c Add client API to configuration 2023-09-01 15:42:21 -04:00
Joshua Boniface c5b07fcdad Add only coordinators in Patroni config 2023-09-01 15:42:21 -04:00
Joshua Boniface cfbe724458 Install ethtool 2023-09-01 15:42:21 -04:00
Joshua Boniface c4382eb208 Make libvirt listen only on cluster IP 2023-09-01 15:42:20 -04:00
Joshua Boniface f82bb6a414 Add debootstrap to package list 2023-09-01 15:42:20 -04:00
Joshua Boniface d8e9b5353f Don't try to set pool limits on libvirt key
I figured a * wildcard would work, but no it doesn't. Libvirt needs
the ability to talk to any pool arbitrarily since PVC can create and
remove them at will.
2023-09-01 15:42:20 -04:00
Joshua Boniface 0352dd7f8f Create mgr after starting monitors 2023-09-01 15:42:20 -04:00
Joshua Boniface e118267843 Set nicer default Patroni values re: replication 2023-09-01 15:42:20 -04:00
Joshua Boniface dbf6e52f3c Split PVC bootstrap into separate task 2023-09-01 15:42:20 -04:00
Joshua Boniface 935b4c48ae Correct bug with libvirt permissions 2023-09-01 15:42:20 -04:00
Joshua Boniface 958d2525da Handle restarting ceph-mon/mgr sequentially 2023-09-01 15:42:20 -04:00
Joshua Boniface 596ce789b1 Enable pool deletion in ceph.conf 2023-09-01 15:42:20 -04:00
Joshua Boniface c4825e6de6 Support for detailed keepalive logging 2023-09-01 15:42:20 -04:00
Joshua Boniface e9303c1ad1 Create manager auth keyring 2023-09-01 15:42:20 -04:00
Joshua Boniface 99bc566764 Make restart hander for pvcd sequential 2023-09-01 15:42:20 -04:00
Joshua Boniface bcce7f5445 Remove per-host pvc.yml for good 2023-09-01 15:42:20 -04:00
Joshua Boniface d277d18c35 Support configurable logging settings 2023-09-01 15:42:20 -04:00
Joshua Boniface 87f5fc527d Enable storage support 2023-09-01 15:42:20 -04:00
Joshua Boniface aef72555c1 Consistent newhost format between roles 2023-09-01 15:42:20 -04:00
Joshua Boniface f1cca0e22f Add MTU configuration and update for new layout 2023-09-01 15:42:20 -04:00
Joshua Boniface 9b457890d5 Use separate bootstrap files for base and pvc roles 2023-09-01 15:42:20 -04:00
Joshua Boniface 6dc57f374b Revert "Keep zookeeper enabled"
This reverts commit 5554418210.

This is not needed
2023-09-01 15:42:20 -04:00
Joshua Boniface ebcd281490 Keep zookeeper enabled
Without this, the service seems to just loop failing to start
indefinitely even though PVC attempts to start the daemon itself.
Reenabling seems to work. Likely a bug due to Zookeeper not being
a proper systemd unit.
2023-09-01 15:42:20 -04:00
Joshua Boniface a01720a09d Ensure Ceph daemons are disabled (managed by PVC) 2023-09-01 15:42:20 -04:00
Joshua Boniface a19d9c77ad Clean up some tasks during bootstrap; parallel PVC 2023-09-01 15:42:20 -04:00
Joshua Boniface 218cec1126 Start Zookeeper during install 2023-09-01 15:42:20 -04:00
Joshua Boniface e9fc24a8a8 Don't start pvc services on install 2023-09-01 15:42:20 -04:00
Joshua Boniface f823d1b351 Touch the bootstrap ceph.conf 2023-09-01 15:42:20 -04:00
Joshua Boniface aa72bb9bac Move IP removal and restart after install 2023-09-01 15:42:20 -04:00
Joshua Boniface efd8dce53d Simplify and combine 2023-09-01 15:42:20 -04:00
Joshua Boniface 256a89d7cc Reorganize some elements 2023-09-01 15:42:19 -04:00
Joshua Boniface a922fe4df7 Reorganize and rejigger 2023-09-01 15:42:19 -04:00
Joshua Boniface 5cbce17bd1 Reorganize some bootstrap tasks 2023-09-01 15:42:19 -04:00
Joshua Boniface 0bf86fc5e8 Symlink ceph file dir back to group_vars 2023-09-01 15:42:19 -04:00
Joshua Boniface fbd0ed9390 Improve handling around loop var and correct pvcd 2023-09-01 15:42:19 -04:00
Joshua Boniface 8fbbce3d16 Make things even nicer 2023-09-01 15:42:19 -04:00
Joshua Boniface a22203c887 Define secret key properly 2023-09-01 15:42:19 -04:00
Joshua Boniface e0fa826cfd Flush handlers properly 2023-09-01 15:42:19 -04:00
Joshua Boniface 9d01d5d3cb Improve libvirt key handling 2023-09-01 15:42:19 -04:00
Joshua Boniface 37506b981f Flush handlers before starting PVC install 2023-09-01 15:42:19 -04:00
Joshua Boniface ef0b1a8c5e Add creation of libvirt client key 2023-09-01 15:42:19 -04:00
Joshua Boniface feafe055f0 Add bootstrapping of Ceph 2023-09-01 15:42:19 -04:00
Joshua Boniface 54321b5fb4 Load jemalloc 2 2023-09-01 15:42:19 -04:00
Joshua Boniface f126d3b071 Compatability with Ansible 2.2 2023-09-01 15:42:19 -04:00
Joshua Boniface 644097f290 Remove Ceph group creation 2023-09-01 15:42:19 -04:00
Joshua Boniface 6dfaf433dc Initial commit of PVC Ansible role 2023-09-01 15:42:19 -04:00