20 Commits

Author SHA1 Message Date
d59280d829 Update dependencies for Postgres 2019-05-22 21:57:06 -04:00
595cf1782c Switch DNS aggregator to PostgreSQL
MariaDB+Galera was terribly unstable, with the cluster failing to
start or dying randomly, and generally seemed incredibly unsuitable
for an HA solution. This commit switches the DNS aggregator SQL
backend to PostgreSQL, implemented via Patroni HA.

It also manages the Patroni state, forcing the primary instance to
follow the PVC coordinator, such that the active DNS Aggregator
instance is always able to communicate read+write with the local
system.

This required some logic changes to how the DNS Aggregator worked,
specifically ensuring that database changes aren't attempted while
the instance isn't actively running - to be honest this was a bug
anyways that had just never been noticed.

Closes #34
2019-05-21 01:07:41 -04:00
2459c3e475 Add dependency for vlan support 2019-03-15 21:15:17 -04:00
fb3cf827a2 Add further client deps 2019-03-12 23:10:52 -04:00
5be1cdc40a Support YAML in the client and update configfile 2019-03-12 22:55:29 -04:00
ebd28ecef0 Add YAML to server dependencies 2019-03-12 22:54:42 -04:00
1f58d61cb0 Rewrite DNSAggregatorInstance to handle DNS well
Trying to directly AXFR from dnsmasq is a mess, since their zone is
barely compliant with spec, it doesn't support notifies, and it is
generally really messy.

This implements an advanced "AXFR parser" system, which looks at the
results of an AXFR from the local dnsmasq instances per-network, and
updates the real replicated MariaDB pdns backend cluster with the
changed data. This allows a sensible, transferable zone with its own
SOA that is dynamically reconfigured as hosts come and go from the
dnsmasq zone.
2018-11-18 16:45:52 -05:00
8dca8c1cd2 Add paramiko to dependencies 2018-10-27 15:54:05 -04:00
605889f59f Add some additional dependencies 2018-10-14 18:36:02 -04:00
f198f62563 Massive rejigger into single daemon
Completely restructure the daemon code to move the 4 discrete daemons
into a single daemon that can be run on every hypervisor. Introduce the
idea of a static list of "coordinator" nodes which are configured at
install time to run Zookeeper and FRR in router mode, and which are
allowed to take on client network management duties (gateway, DHCP, DNS,
etc.) while also allowing them to run VMs (i.e. no dedicated "router"
nodes required).
2018-10-14 02:40:54 -04:00
0f9637cb69 Make the IP failover work including threaded background os commands 2018-09-24 04:08:35 -04:00
4ba2eea4ed Add router daemon 2018-09-23 15:26:41 -04:00
a111eff9cd Update suggested client packages 2018-09-23 01:17:55 -04:00
513de96626 Major refactor to separate out and standardize libraries 2018-09-20 03:43:34 -04:00
c3d37701e7 Add network daemon to manage VXLAN VNIs on hypervisors 2018-09-14 12:07:41 -04:00
b6c7153401 Bump version and split common libraries into separate package 2018-09-12 12:11:59 -04:00
f29ba2f458 Rename the virtualization daemon to pvcvd. 2018-09-12 11:59:23 -04:00
a629d4898a Rename deb package to reflect daemon splits 2018-09-10 14:24:15 -04:00
b710273625 Additional dependencies 2018-06-17 15:36:48 -04:00
6ade378cc9 Debianize the packaging 2018-06-17 14:55:13 -04:00