Commit Graph

1174 Commits

Author SHA1 Message Date
Joshua Boniface 427ef9454a Use dash in flush-locks command 2019-08-07 17:50:25 -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 ea2426fa73 Implement additional functions
1. VM state
2. VM node
3. Lock flush
2019-08-07 14:46:20 -04:00
Joshua Boniface b7546e3711 Fix bugs in command pipeline for VMs 2019-08-07 14:13:01 -04:00
Joshua Boniface 0ff2d7d537 Use shlex for command splitting
This will preserve quoted strings, required for the rbd lock commands.
2019-08-07 14:02:57 -04:00
Joshua Boniface a2a630f6a0 Add pipeline for VM lock flush cmd 2019-08-07 13:49:33 -04:00
Joshua Boniface d63d9637a5 Add flush_locks command to CLI client 2019-08-07 13:42:01 -04:00
Joshua Boniface 43756fc62b Implement lock flush function for clients
Uses a similar command pathway as the Ceph commands do, but in a
different location (pending move of the Ceph commands to a similar
location).
2019-08-07 13:38:49 -04:00
Joshua Boniface 496216321e Move lock flushing to VMInstance
Prepares for reuse of this function via client commands.
2019-08-07 13:36:56 -04:00
Joshua Boniface fac02f8520 Add hosts element to Ansible doc 2019-08-07 12:50:03 -04:00
Joshua Boniface 0446b2db02 Catch exceptions if Patroni is not up 2019-08-07 11:46:58 -04:00
Joshua Boniface 7e77752ce5 Add limit to Patroni switchover attempts 2019-08-07 11:46:42 -04:00
Joshua Boniface 33a963c2af Improve fence output on failure and increase delay 2019-08-07 11:35:49 -04:00
Joshua Boniface e92a57606d Use better forceful arping command
Send ARP responses with the source IP in it to force update even if the
old primary did not cleanly terminate (during fencing for instance).
2019-08-07 11:29:38 -04:00
Joshua Boniface ef3b6b3723 Arping 3 times instead of 2
During fence 2 is not always enough for the network to recognize the
change in primary coordinator.
2019-08-07 11:15:36 -04:00
Joshua Boniface b8d336423e Add basic testing procedures to manual 2019-08-07 11:07:05 -04:00
Joshua Boniface 3b27a88128 Allow abort of shutdown state
Adds some logic to allow an active shutdown state to be aborted by
changing the VM to another state. Useful mostly if a VM is doing funky
things and not responding to the shutdown, but the administrator either
doesn't want to wait for the timer to expire (forcing an immediate
termination) or wishes to abort the shutdown attempt.

Fixes #49
2019-08-07 10:58:18 -04:00
Joshua Boniface e2ae58b62c Add the missing newline to the string compare 2019-08-04 17:00:33 -04:00
Joshua Boniface d0d5ab4425 Fix bug if the switchover target is the same 2019-08-04 16:51:11 -04:00
Joshua Boniface a329376d33 Lock primary_node key during primary switchover
Also implements a looping to switch over the Patroni leader to ensure
this always follows the primary and clean up the code around here a bit.
2019-08-04 16:42:06 -04:00
Joshua Boniface 710d2cf9c2 Fix record duplication bug and general cleanup
Fixes #47
2019-08-01 13:11:45 -04:00
Joshua Boniface 8bdec03cf1 Properly support debug logging via config 2019-08-01 11:22:27 -04:00
Joshua Boniface c6e58796ba Clean up redundant return section 2019-07-31 23:57:31 -04:00
Joshua Boniface 6a712ffe7a Don't crash if VM has invalid disks
Useful if storage=False and removing a VM.
2019-07-31 23:05:00 -04:00
Joshua Boniface 7380f45b1b Improve dnsmasq interface handling
listen-address is enough; adding interface too causes weird issues where
dnsmasq is listening on an IPv6 global wildcard too which conflicts with
the PowerDNS instance.
2019-07-31 10:03:56 -04:00
Joshua Boniface 324990739e Make DNS aggregator listen on port 53
Using the non-standard port was a pain. Now that all the DNSMasq stuff
works, move back to the default port.
2019-07-30 09:20:01 -04:00
Joshua Boniface 37eaf000c8 Remove extra text 2019-07-29 22:49:52 -04:00
Joshua Boniface c2aaa713ac Use updated storage ceph commands 2019-07-29 21:17:52 -04:00
Joshua Boniface 14dc33ca1b Add links to author section 2019-07-29 00:25:21 -04:00
Joshua Boniface 8992536dea Tweak wording of API about 2019-07-29 00:23:28 -04:00
Joshua Boniface b8d11302ef Fix a few more typos 2019-07-29 00:12:15 -04:00
Joshua Boniface 171e4067e4 Use real arrow in titles 2019-07-29 00:06:33 -04:00
Joshua Boniface 8dec54ef23 Fix spacing in sublist 2019-07-29 00:04:29 -04:00
Joshua Boniface 5678446bca Fix indenting on sublist 2019-07-29 00:03:45 -04:00
Joshua Boniface c3e4d97aa0 Fix typos and errors 2019-07-29 00:01:54 -04:00
Joshua Boniface 0041cbc2ee Remove extrenuous period 2019-07-28 23:43:04 -04:00
Joshua Boniface f8074ffbaa Correct image location 2019-07-28 23:41:56 -04:00
Joshua Boniface a3c96764e0 Implement getting Node states via API 2019-07-28 23:31:59 -04:00
Joshua Boniface 47c72d9b68 Move token authentication to X-Api-Token header
Implements #46
2019-07-28 23:12:53 -04:00
Joshua Boniface 717d00cfcf Implement snapshot rename in node daemon
[4/2] Implements #44
2019-07-28 23:06:12 -04:00
Joshua Boniface 2dbf276e51 Implement snapshot renaming
[3/2] Implements #44
2019-07-28 23:00:35 -04:00
Joshua Boniface 5873cf6c53 Add cluster architecture document 2019-07-28 22:43:24 -04:00
Joshua Boniface c8404ecea7 Add daemon configuration reference 2019-07-28 20:27:15 -04:00
Joshua Boniface c38d9b31e1 Add section on API configuration file 2019-07-28 20:27:07 -04:00
Joshua Boniface 0d195121ba Wording tweaks in manual 2019-07-28 20:26:57 -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 0d79def842 Increase indentations 2019-07-28 18:26:41 -04:00
Joshua Boniface 8daafa150c Add configuration section to CLI manual 2019-07-28 18:22:46 -04:00
Joshua Boniface 67704198e4 Add basic architecture docs 2019-07-28 18:22:33 -04:00
Joshua Boniface 2f186f9d67 Remove extra colons 2019-07-27 16:10:44 -04:00