Commit Graph

75 Commits

Author SHA1 Message Date
Joshua Boniface f85c2c2a75 Remove PyWSGI and move to Flask server
Gevent was completely failure. The API would block during large file
uploads with no obvious solutions beyond "use gunicorn", which is not
suited to this. I originally had this working with the Flask "debug"
server, so just move to using that all the time. SSL is added using a
custom context with the OpenSSL library, so include that as a
dependency.
2020-10-26 01:58:43 -04:00
Joshua Boniface c6e34c7dc6 Bump base version to 0.9 2020-10-18 14:31:19 -04:00
Joshua Boniface 891aeca388 Bump Debian changelog version 2020-10-15 11:02:41 -04:00
Joshua Boniface 4fbec63bf4 Add missing dependency for CLI 2020-08-27 13:14:46 -04:00
Joshua Boniface 78dec77987 Bump version to 0.8 2020-08-26 10:24:44 -04:00
Joshua Boniface 887e14a4e2 Add storage benchmarking to API 2020-08-25 01:57:21 -04:00
Joshua Boniface 7e2114b536 Add initial monitoring configurations to daemon
Initial work to support multiple monitoring agents including Munin,
Check_MK, and NRPE at the least.
2020-08-17 17:05:55 -04:00
Joshua Boniface 598b2025e8 Use Rados and add Ceph entries to pvcnoded.yaml 2020-06-06 21:12:51 -04:00
Joshua Boniface ce9d0e9603 Add helper scripts to CLI client 2020-03-22 01:19:55 -04:00
Joshua Boniface ca65cb66b8 Update Debian changelog 2020-03-15 17:32:12 -04:00
Joshua Boniface 4417bd374b Add Python requests toolbelt to CLI deps 2020-02-20 23:27:07 -05:00
Joshua Boniface a7432281a8 Fix script link in postinst message 2020-02-17 11:31:41 -05:00
Joshua Boniface 90f965f516 Remove installation of obsolete script 2020-02-16 19:51:51 -05:00
Joshua Boniface 9c7041f12c Update package version to 0.7 2020-02-15 23:25:47 -05:00
Joshua Boniface 760805fec1 Ensure database migrations are in source control 2020-02-15 23:16:40 -05:00
Joshua Boniface 560cb609ba Add database management with SQLAlchemy
Add management of the pvcprov database with SQLAlchemy, to allow
seamless management of the database. Add automatic tasks to the postinst
of the API to execute these migrations.
2020-02-15 22:51:27 -05:00
Joshua Boniface bd8536d9d1 Add OVA upload to API (initial)
Initial, very barebones OVA parsing and image creation.

References #71
2020-02-15 02:10:14 -05:00
Joshua Boniface 37310e5455 Correct name of systemd target 2020-02-08 20:39:07 -05:00
Joshua Boniface ce985234c3 Use consistent naming of components
Rename "pvcd" to "pvcnoded", and "pvc-api" to "pvcapid" so names for the
daemons are fully consistent. Update the names of the configuration
files as well to match this new formatting.

References #79
2020-02-08 19:34:07 -05:00
Joshua Boniface 83704d8677 Adjust package descriptions
References #79
2020-02-08 19:01:01 -05:00
Joshua Boniface 97e318a2ca Align naming of Debian packages
Rename pvc-daemon to pvc-daemon-node and pvc-api to pvc-daemon-api.

Closes #79
2020-02-08 18:58:56 -05:00
Joshua Boniface 4505b239eb Rename API and common Debian packages
Closes #79
2020-02-08 18:50:38 -05:00
Joshua Boniface 74228eb063 Bump version to 0.6 2020-02-08 18:27:39 -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 0671a81aa2 Add missing install line for cli_lib 2019-12-29 21:02:05 -05:00
Joshua Boniface f4ef08df49 Add lxml dependency for pretty parsing of VM XML 2019-12-29 16:33:50 -05:00
Joshua Boniface f5436ed8a9 Change dependencies for CLI client 2019-12-29 16:33:50 -05:00
Joshua Boniface e4c96ee43d Add flask-restful dependency 2019-12-24 10:48:15 -05:00
Joshua Boniface eecc07b731 Depend daemons on systemd
Numerous parts of PVC call systemctl commands or otherwise require a
functioning systemd-based system. Make the dependencies explicitly
reflect this.
2019-12-19 19:04:25 -05:00
Joshua Boniface 669a8fbacd Clean up pycache files before (re)installing 2019-12-18 18:39:03 -05:00
Joshua Boniface 355e16e23a Add missing dependencies 2019-12-18 11:56:22 -05:00
Joshua Boniface 2b5c134970 Add missing distutils dep 2019-12-15 13:53:22 -05:00
Joshua Boniface 292c2d9a44 Install newly moved schema file 2019-12-14 16:52:09 -05:00
Joshua Boniface b3e21a5bf8 Integrate metadata API into node daemon 2019-12-14 16:41:01 -05:00
Joshua Boniface 0727a7f6ed Move all provisioner API functionality into main 2019-12-14 14:12:55 -05:00
Joshua Boniface 22ae087836 Add examples to deb install 2019-12-12 22:52:12 -05:00
Joshua Boniface 1377c15948 Fix text in postinst 2019-12-09 13:33:47 -05:00
Joshua Boniface 57e8fba602 Add provisioner to Debian packages 2019-12-09 10:40:27 -05:00
Joshua Boniface 267a3d16e5 Bump version to 0.5 2019-08-08 20:56:27 -04:00
Joshua Boniface 804f72d905 Remove obsolete init attempt 2019-07-06 19:03:55 -04:00
Joshua Boniface c638bdeaee Add configuration file, authentication, pywsgi 2019-07-06 02:04:26 -04:00
Joshua Boniface e4576c016f Move API client filename 2019-07-05 23:26:41 -04:00
Joshua Boniface a480048d36 Add flask dependency to API client 2019-07-05 23:24:27 -04:00
Joshua Boniface 0a96e26bc6 Clean up Debian control and add API package 2019-07-05 22:22:28 -04:00
Joshua Boniface 703e34e8ea Remove disable of pvc-flush
Since it isn't re-enabled and this makes life difficult, don't
disable the pvc-flush service if it was enabled.
2019-05-23 23:47:57 -04:00
Joshua Boniface 0421f5cac8 Make the informational messages stand out 2019-05-23 22:49:00 -04:00
Joshua Boniface 7c6132f7dd Add node autoflush service and target
Add a systemd service to manage node flush/unflush, useful during
system startup and shutdown to avoid requiring administrator
intervention for this to occur. This is optional and the service is
not enabled by default, and the postinst script informs the
administrator of this.

Also adds a systemd target to collect the two service units together
and provide an easy way to flush+shutdown or startup+unflush the
entire PVC system.

Closes #28
2019-05-23 22:42:51 -04:00
Joshua Boniface d59280d829 Update dependencies for Postgres 2019-05-22 21:57:06 -04:00
Joshua Boniface 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
Joshua Boniface 2459c3e475 Add dependency for vlan support 2019-03-15 21:15:17 -04:00