Joshua Boniface
74228eb063
Bump version to 0.6
2020-02-08 18:27:39 -05:00
Joshua Boniface
0b31bab797
Add more helpful config parse error message
2020-01-22 12:09:31 -05:00
Joshua Boniface
0d2e22a111
Normalize all static networks with bridges
...
Modifies the storage and upstream networks to mirror the cluster
network, with a bridge on top of the underlying specified dev, and all
IPs bound to the bridge.
Allows creating VMs in the storage or upstream networks, as well as the
cluster network, should the administrator choose to do so (manually).
2020-01-12 19:04:31 -05:00
Joshua Boniface
b6474198a4
Implement cluster maintenance mode
...
Implements a "maintenance mode" for PVC clusters. For now, the only
thing this mode does is disable node fencing while the state is true.
This allows the administrator to tell PVC that network connectivity,
etc. might be interrupted and to avoid fencing nodes.
Closes #70
2020-01-09 10:53:27 -05:00
Joshua Boniface
4e5bce4975
Update copyright header year to 2020
2020-01-08 19:38:02 -05:00
Joshua Boniface
7b3e267f7a
Implement bridge_device for bridged VNIs
...
Required due to #64 . Bridged networks were being created on top of a
vLAN if the Cluster network was a vLAN device, rather than being created
on the underlying device. This came from a previous revision of the
cluster architecture guidelines where Cluster was supposed to be a raw
device rather than a vLAN. This fixed the problem by implementing a
configuration field for a "bridge_device", a NIC device that can then
have the bridged vLANs created on top of it.
Fixes #64
2020-01-06 14:44:56 -05:00
Joshua Boniface
094ac8c3a8
Ensure stdout is used
2020-01-06 12:34:35 -05:00
Joshua Boniface
13548b791d
Add additional debugging and fix pool_idx loop var
2020-01-06 11:31:22 -05:00
Joshua Boniface
47cf0a8006
Ensure migration out occurs
2019-12-25 21:11:02 -05:00
Joshua Boniface
b3e21a5bf8
Integrate metadata API into node daemon
2019-12-14 16:41:01 -05:00
Joshua Boniface
8c36e7618a
Modify node daemon to follow API
2019-12-14 14:13:26 -05:00
Joshua Boniface
78f053d81f
Recreate network in aggregator if DNS changes
2019-12-13 00:03:47 -05:00
Joshua Boniface
b854d53fab
Add API management to node daemon
2019-12-12 22:59:07 -05:00
Joshua Boniface
356c12db2e
Add ceph df output to pool data
...
Allows additional information visible in the `ceph df` command,
including pool free space and used percentage.
2019-12-06 00:47:27 -05:00
Joshua Boniface
237a37015d
Set upstream IP in key if changed
2019-10-21 16:50:41 -04:00
Joshua Boniface
03447d3374
Update copyright string year to include 2019
2019-10-13 12:09:51 -04:00
Joshua Boniface
267a3d16e5
Bump version to 0.5
2019-08-08 20:56:27 -04:00
Joshua Boniface
2880a761c0
Move Ceph command pipe to new location
...
Matching the new /cmd/domain pipe, move Ceph pipe to /cmd/ceph.
2019-08-07 14:47:27 -04:00
Joshua Boniface
a2a630f6a0
Add pipeline for VM lock flush cmd
2019-08-07 13:49:33 -04:00
Joshua Boniface
0446b2db02
Catch exceptions if Patroni is not up
2019-08-07 11:46:58 -04:00
Joshua Boniface
8bdec03cf1
Properly support debug logging via config
2019-08-01 11:22:27 -04:00
Joshua Boniface
83b806d0b5
Move intervals config one level up
...
Makes for a slightly-better-organized configuration and explanation.
2019-07-28 19:33:23 -04:00
Joshua Boniface
96bc181877
Set the routerstate on daemon startup
...
Allows switching from coordinator to not coordinator with a service
restart.
2019-07-12 09:51:56 -04:00
Joshua Boniface
2a220cd16e
Nicer colour output for coordinator state client
2019-07-12 09:31:42 -04:00
Joshua Boniface
439c5f18c3
Add router_state to output of keepalives
2019-07-11 20:11:05 -04:00
Joshua Boniface
f30be555c1
Improve message output for logging
...
Improve some formatting of the messages being printed to make it nicer
for long-term logging.
2019-07-10 22:38:32 -04:00
Joshua Boniface
ac36870a86
Implement hup for log rotation
...
This function was long-existent, but never used; implement it.
2019-07-10 22:22:02 -04:00
Joshua Boniface
58f4222ee7
Support disabling log colours and dates
...
For usecases such as a pure-syslog, allow disabling of dates or colours
in the log messages (separately).
2019-07-10 22:17:23 -04:00
Joshua Boniface
7df200ac44
Improve ZK connection loss handling
2019-07-09 19:17:32 -04:00
Joshua Boniface
47f86475f8
Handle failures of Ceph commands gradefully
...
If these commands fail, catch the error, print a message, and set up
empty lists. Also handle later data parsing in this case.
2019-07-09 16:43:38 -04:00
Joshua Boniface
1a8e7509f7
Support run_os_command timeout; use timeouts
2019-07-09 15:09:13 -04:00
Joshua Boniface
83a4140703
Allow enabling debug mode in config
...
Makes debugging easier without modifying code.
2019-07-09 14:59:00 -04:00
Joshua Boniface
8eeba9bc9b
Make Ceph commands time out if needed
2019-07-09 14:35:53 -04:00
Joshua Boniface
19701c66e4
Move fencing to after keepalive output
...
Just makes the messages a little easier to read when triggered.
2019-07-09 14:24:31 -04:00
Joshua Boniface
b551b54642
Rename message when contending
2019-07-09 14:03:48 -04:00
Joshua Boniface
4249d5d982
Always load and store IPMI on daemon start
...
Without this, the IPMI information set during initial node creation can
never be changed, which can cause issues later. Instead, always set it
fresh on each node boot.
2019-07-09 14:00:31 -04:00
Joshua Boniface
cda690e94f
Set RADOS df information in ZK
2019-07-08 10:19:56 -04:00
Joshua Boniface
0d398f663b
Rename "Domain" to "VM" in various class names
...
The name "Domain", though technically correct from a Libvirt
perspective, was unnecessarily confusing. Call the class instances what
they are, VMs.
2019-07-07 15:20:37 -04:00
Joshua Boniface
8216125b02
Enable autostart of API client on Primary
...
Adds a config flag that turns on the API client following the Primary
coordinator. The retcode of the start/stop commands is ignore so this
can fail gracefully if e.g. the client isn't installed.
2019-07-06 02:42:56 -04:00
Joshua Boniface
3e591bd09e
Remove extra whitespaces on blank lines
2019-06-25 22:33:23 -04:00
Joshua Boniface
d336fce253
Connect to actual IP not localhost for Libvirt
2019-06-25 22:09:32 -04:00
Joshua Boniface
75d0e7f989
Revert "Only perform fencing duties on primary"
...
This reverts commit 464c69aac6
.
Actually, yea, this made sense - if the primary fails, it can't
fence itself.
2019-06-25 12:36:48 -04:00
Joshua Boniface
464c69aac6
Only perform fencing duties on primary
...
There was really no need for this to be shared among all the
coordinators, which seemed more fragile. This way only the primary will
try to fence dead nodes.
2019-06-24 20:17:51 -04:00
Joshua Boniface
0f15e7cda5
Set shutdown state after final keepalive
2019-06-19 14:52:47 -04:00
Joshua Boniface
0060c0313b
Put daemonstate to shutdown when stopping
...
This way it isn't "run" all the way until it shuts down.
2019-06-19 14:23:07 -04:00
Joshua Boniface
a940d03959
Fix some bugs and add RBD volume stats
2019-06-19 10:25:22 -04:00
Joshua Boniface
db0b382b3d
Don't bother with snapshot management by Daemon
...
This is *definitely* not needed in the end, and just uses RAM for
no conceivable purpose. Snapshots are fully client-managed.
2019-06-19 09:43:04 -04:00
Joshua Boniface
1c9f606480
Implement volume and snapshot handling by daemon
...
This seems like a super-gross way to do this, but at the moment
I don't have a better way. Maybe just remove this component since
none of the volume/snapshot stuff is dynamic; will see as this
progresses.
2019-06-19 09:40:32 -04:00
Joshua Boniface
784b428ed0
Add creation of volume and snapshot lists
2019-06-19 09:29:36 -04:00
Joshua Boniface
2bbbda3da5
Only trigger pool updates on primary
2019-06-18 21:26:05 -04:00