10 Commits

Author SHA1 Message Date
Fabrizio Vanni
58988fc3e3 freezer scheduler
The freezer scheduler is to be executed
as daemon process on the client machines

It has the following responsibilities:

  * when using the api:
    - register -if necessary- as a client in the api
    - download the list of jobs from the api
    - schedule the jobs for execution
    - launch the freezer client at the scheduled time
    - collect metadata and exit codes and upload them to the api
    - periodically poll the api for new/updated jobs
    - if a job is part of a session (a coordinated group of jobs)
      it updates the session status when job starts/stops

  * when not using the api
    - load jobs configurations from files
    - schedule the jobs for execution
    - launch the freezer client at the scheduled time

The freezer scheduler can also be used to manage jobs
and sessions using the following positional parameters:

  job-list
  job-get
  job-create
  job-delete
  job-start
  job-stop
  session-list
  session-get
  session-create
  session-delete
  session-list-job
  session-add-job
  session-remove-job

or to register the client in the api using the positional parameter:

  register

Implements blueprint: freezer-scheduler-start

Change-Id: I06ae202a0f464f7240c137744a5b54d1177cabd9
2015-07-10 18:51:17 +01:00
Fabrizio Vanni
5d75e3c789 Add api support for jobs
removes distinction between actions and configs in the api

The v1/jobs endpoint is the single point of access to the api
to store, search and retrieve operating instruction about
a single freezer run.

optional scheduling informations can be added to a job to
allow for future/recurrent job execution.

removes api endpoints
  - v1/actions
  - v1/configs

adds api endpoints:
  - v1/jobs

Implements blueprint: freezer-api-jobs

Change-Id: Ideeef14dfccd21ddd10b4faa438124c04d2e1ff8
2015-06-21 18:13:54 +00:00
Jonas Pfannschmidt
2f690e1ac5 This version contains the following pages:
- Overview displays charts/reports (Currently only placeholders)
 - Configurations allows to define new backup configurations and link them to
   instances
 - Backups shows a list of all succesful backups and allows to restore them
 - Restores shows a history of all restored backups

It communicates with the api server via the client apis (freeezer.client.client).
The "glue code" between client apis and the UI lives in freezer.api.api.

Implements: Blueprint freezer-api-web-ui
Change-Id: I48cd8cba2b0169c6e64f650233c1a31b91ced34f
2015-05-31 17:01:57 +01:00
Jonas Pfannschmidt
40430ca3e9 Added parameters to the "list-backups" python api
Added the following parameters: limit, offset,
search (can contain: time_before, time_after)

Change-Id: If43ac22b580ae387d85a4dc024a259ca2634a856
2015-05-20 20:06:01 +00:00
Fabrizio Vanni
1d08dc72c6 freezer api support for action
Adds an endpoint to the api for managing actions

Change-Id: I8a84ea4aa46a7acaecb103aa20f3dc8acd128d0c
2015-05-13 19:05:25 +01:00
Fabrizio Vanni
4565febd97 Add tests for client registration
Fix missing tests for client registration

Change-Id: Ic74038fc15c22ab81dd77547be4048033c131623
2015-05-06 14:29:17 +01:00
Fabrizio Vanni
0fb98abd05 freezer api support for client registration
Adds an endpoint to the api for the registration of freezer clients

Change-Id: I1ca2a5e0021d383df70dfd001ab12967714c35bc
Implements: blueprint freezerclient-registration
2015-04-30 14:07:19 +01:00
Fabrizio Vanni
1e101ddf1a client retrieval of freezer api endpoint
The api client queries keystone to obtain the freezer api endpoint,
provided that the freezer api service and endpoint have been registered in
keystone.

An optional parameter to specify the api endpoint is supported

Change-Id: I6626a60d1fd5d18a59376165e94c789832865ae0
Implements: blueprint freezer-apiclient-endpoint
2015-04-27 11:16:47 +01:00
Jonas Pfannschmidt
2d1323f51f Fixed references to freezerclient which is now apiclient
Change-Id: I917de9146edd7e77536334fb8179eba73387dcb9
2015-04-14 17:57:38 +01:00
Fabrizio Vanni
955e970963 Freezer API
First implementation of the freezer API.
Slightly more than a skeleton with basic functionality

Change-Id: Iae04affea3aa0f4a943599b528df49d9d4a5b845
Implements: blueprint freezer-api-first-rel
2015-04-08 18:25:45 +01:00