Commit Graph

2655 Commits

Author SHA1 Message Date
Joshua Boniface b6ecd36588 Implement domain log watching
Implements the ability for a client to watch almost-live domain
console logs from the hypervisors. It does this using a deque-based
"tail -f" mechanism (with a configurable buffer per-VM) that watches
the domain console logfile in the (configurable) directory every
half-second. It then stores the current buffer in Zookeeper when
changed, where a client can then request it, either as a static piece
of text in the `less` pager, or via a similar "tail -f" functionality
implemented using fixed line splitting and comparison to provide a
generally-seamless output.

Enabling this feature requires each guest VM to implement a Libvirt
serial log and write its (text) console to it, for example using the
default logging directory:

```
<serial type='pty'>
    <log file='/var/log/libvirt/vmname.log' append='off'/>
<serial>
```

The append mode can be either on or off; on grows files unbounded,
off causes the log (and hence the PVC log data) to be truncated on
initial VM startup from offline. The administrator must choose how
they best want to handle this until Libvirt implements their own
clog-type logging format.
2019-05-10 23:26:59 -04:00
Joshua Boniface 5ad2dda6d4 Only print file name 2019-05-10 23:26:59 -04:00
Joshua Boniface 9809b798cc Correct bug in non-editor modify 2019-05-10 23:26:59 -04:00
Joshua Boniface ba4a44f5e7 Allow the zk_conn to be none properly 2019-05-10 23:26:59 -04:00
Joshua Boniface 989c5f6bed Don't depend start on mariadb 2019-05-10 23:26:59 -04:00
Joshua Boniface e41b3053f7 Update methods to POST where relevant 2019-04-12 12:27:49 -04:00
Joshua Boniface d20ea8b79d Add pause between stop/start on restart 2019-04-12 11:18:53 -04:00
Joshua Boniface 31f252ad9b Implement domain log watching
Implements the ability for a client to watch almost-live domain
console logs from the hypervisors. It does this using a deque-based
"tail -f" mechanism (with a configurable buffer per-VM) that watches
the domain console logfile in the (configurable) directory every
half-second. It then stores the current buffer in Zookeeper when
changed, where a client can then request it, either as a static piece
of text in the `less` pager, or via a similar "tail -f" functionality
implemented using fixed line splitting and comparison to provide a
generally-seamless output.

Enabling this feature requires each guest VM to implement a Libvirt
serial log and write its (text) console to it, for example using the
default logging directory:

```
<serial type='pty'>
    <log file='/var/log/libvirt/vmname.log' append='off'/>
<serial>
```

The append mode can be either on or off; on grows files unbounded,
off causes the log (and hence the PVC log data) to be truncated on
initial VM startup from offline. The administrator must choose how
they best want to handle this until Libvirt implements their own
clog-type logging format.
2019-04-12 11:15:32 -04:00
Joshua Boniface cbad19adfe Only print file name 2019-04-10 16:29:26 -04:00
Joshua Boniface 30002f95d7 Correct bug in non-editor modify 2019-04-10 16:18:18 -04:00
Joshua Boniface c8c5d6f884 Allow the zk_conn to be none properly 2019-04-09 16:25:45 -04:00
Joshua Boniface 2a5106fa92 Don't depend start on mariadb 2019-04-09 08:18:11 -04:00
Joshua Boniface 1126382ac9 Initial API including fixes to common functons
Some functions were doing `click.echo` inside themselves; don't
do that as it's not API compatible, just return everything.
2019-03-21 11:19:28 -04:00
Joshua Boniface 2e4c0c8eb9 Correct header file name 2019-03-20 12:06:15 -04:00
Joshua Boniface 55ce75aa9f Remove junk file 2019-03-20 12:05:35 -04:00
Joshua Boniface d5ea38732a Disable RP filtering only on VNI and Upstream devs 2019-03-20 12:01:26 -04:00
Joshua Boniface 9f0d7c5bf8 Support VM list filtering by state 2019-03-20 11:31:54 -04:00
Joshua Boniface eec14ff177 Don't set unmigrated VMs to start 2019-03-20 10:19:01 -04:00
Joshua Boniface 0dbd1c41a9 Create floating VNI address on brcluster 2019-03-18 20:17:26 -04:00
Joshua Boniface 24a9612377 Remove obsolete about 2019-03-17 22:37:57 -04:00
Joshua Boniface 013f75111a Rearrange sysctl for rp_filtering off on bridge 2019-03-17 20:05:58 -04:00
Joshua Boniface 4050c452d6 Update dnsmasq script to use YAML config 2019-03-17 13:59:05 -04:00
Joshua Boniface deb4247e25 Only remove gateways when managed 2019-03-17 13:19:44 -04:00
Joshua Boniface 3ec09686d2 Don't load provisioner 2019-03-17 12:56:52 -04:00
Joshua Boniface 3924586eb5 Update zookeeper inside keepalive start
If nodes reconnect to ZK, this way they update immediately too.
2019-03-17 12:52:23 -04:00
Joshua Boniface 3df8365851 Only manage DHCP on managed networks 2019-03-17 12:36:39 -04:00
Joshua Boniface c52a1845e3 Don't create gateways or rules unless managed 2019-03-17 12:33:54 -04:00
Joshua Boniface aee130f65f Handle the starting of all daemons better 2019-03-17 01:45:17 -04:00
Joshua Boniface f38ab856c2 Move config of local networks before ZK init
Otherwise, ZK will fail to start properly
2019-03-17 00:53:11 -04:00
Joshua Boniface 33070ba4c5 Correct another typo 2019-03-17 00:40:23 -04:00
Joshua Boniface 7a1a29c3fd Correct typo in gateways 2019-03-17 00:39:08 -04:00
Joshua Boniface 3aa8223504 Add support for upstream default gateway 2019-03-17 00:36:19 -04:00
Joshua Boniface 12bc3acf85 Use vmbr name for Bridge interfaces 2019-03-17 00:19:01 -04:00
Joshua Boniface 15c832650d Don't block stopping on non-start state 2019-03-16 23:32:13 -04:00
Joshua Boniface 2782120f94 Correct missing netmask with by-id 2019-03-16 23:27:51 -04:00
Joshua Boniface 0bf5455d12 Add changelog and correct typos 2019-03-16 00:43:11 -04:00
Joshua Boniface fd0b8d670a Correct spelling errors with aspell 2019-03-15 21:33:49 -04:00
Joshua Boniface f4b82ef510 Remove superflous line in about doc 2019-03-15 21:23:34 -04:00
Joshua Boniface 2459c3e475 Add dependency for vlan support 2019-03-15 21:15:17 -04:00
Joshua Boniface 802d9dd2fd Add installation docs for networking support 2019-03-15 21:15:11 -04:00
Joshua Boniface 946442ae38 Add support for bridge-only VNIs 2019-03-15 13:54:11 -04:00
Joshua Boniface 318a2353ea Fix missing format key on delete 2019-03-15 01:13:03 -04:00
Joshua Boniface 836d7eb538 Update documentation index to match README 2019-03-14 20:38:31 -04:00
Joshua Boniface 04ad6672ee Minor tweaks to README appearance 2019-03-14 20:37:47 -04:00
Joshua Boniface e263d226ad Add Docs badge 2019-03-14 20:27:07 -04:00
Joshua Boniface 66c9bf3096 Add documentation to project 2019-03-14 20:23:39 -04:00
Joshua Boniface 36ac20e5a7 Increase state length width 2019-03-13 20:28:33 -04:00
Joshua Boniface 6eab87a2a8 Fix bad split on list 2019-03-13 19:26:08 -04:00
Joshua Boniface df394c5c39 Handle regex in a more consistent way 2019-03-12 23:52:59 -04:00
Joshua Boniface 19445205d7 Go back to on-failure restart 2019-03-12 23:18:28 -04:00