Scott Schneider
d74c9ff512
Don't require username/password authentication for GET /token/:token route
2015-11-04 13:19:15 -08:00
Scott Schneider
e0356968df
(QENG-2995) Display associated VMs in GET /token/:token endpoint
2015-11-04 12:35:35 -08:00
Scott Schneider
906ae89987
Remove duplicate (nested) "ok" responses
...
As we approach an "official" v1.0.0 of the API I'd like to remove some old
nested "ok" responses. These were left in as the Beaker vmpooler
hypervisor used them, but I long-ago patched that code and I think it's
time to deprecate these.
2015-08-21 13:58:07 -07:00
Scott Schneider
89ce70dba9
Track token use times
...
* rename the Redis token 'timestamp' var to 'created'
* update the Redis token 'last' var when token is successfully validataed
* expose the Redis token 'last' var in GET /token route
2015-08-20 19:54:59 -07:00
Scott Schneider
492cfb06a3
List tokens via GET /token
2015-08-20 18:50:51 -07:00
Colin
acb95d34c8
(MAINT) Reduce redis Calls in API
...
The return values from most redis calls inform the caller of whether a
key or hash value exists. Several exists() calls can be removed in
favor of this approach.
Updated spec tests to account for a removal of exists() and ismember()
calls in API tests.
2015-07-28 14:47:01 -07:00
Scott Schneider
add88c7bba
(QENG-1304) vmpooler should require an auth key for VM destruction
2015-07-28 12:03:14 -07:00
Scott Schneider
1689133b19
Require an auth token to use snapshots
2015-07-16 10:59:30 -07:00
Scott Schneider
1c3045fd65
Host snapshot functionality
2015-07-16 10:29:49 -07:00
Scott Schneider
c720f12c05
Move tag-filtering and exporting to API helper methods
2015-06-30 19:45:16 -07:00
Scott Schneider
6523062b62
Allow for only a [configurable] tag set
2015-06-30 12:54:46 -07:00
Scott Schneider
3aa8389749
Discard/skip empty tags
2015-06-30 11:20:13 -07:00
Colin
b6cb20ba9f
Merge pull request #108 from sschneid/api_summary_reorg
...
API summary rework
2015-06-08 11:28:45 -07:00
Scott Schneider
ce05c94677
Generate summaries from helpers; individual routes
...
- '/summary*' routes are now generated from helper methods
- many '/summary/...' combinations now possible
- '/summary/tag'
- '/summary/tag/beaker_version'
- '/summary/boot'
- '/summary/boot/duration'
- '/summary/clone'
- '/summary/clone/count?from=2015-06-01'
- etc.
2015-06-04 14:55:19 -07:00
Scott Schneider
1f62379be8
Only filter regex matches
...
and a spec test for it.
Previously using the example shown in vmpooler.yaml.example was failing
to tag strings WITHOUT a '/' in them.
2015-06-02 19:12:30 -07:00
Scott Schneider
4bed6edde4
This implements regex-based tag filtering
2015-06-02 10:53:14 -07:00
Scott Schneider
4cfc078684
Create daily tag indexes, report in /summary
...
- Store daily tag roll-ups in vmpooler__tag__<date>
- GET /summary will display daily tag counts and roll-up
2015-05-07 15:24:08 -07:00
Colin
640b1ef4da
Merge pull request #101 from sschneid/token_metadata_in_vm_obj
...
Store token metadata in vmpooler__vm__ Redis hash
2015-05-06 13:33:01 -07:00
Scott Schneider
64bbd7c973
Display VM state in GET /vm/:hostname route
2015-04-30 19:38:31 -07:00
Scott Schneider
7bddfdef1b
Store token metadata in vmpooler__vm__ Redis hash
2015-04-30 19:29:18 -07:00
Scott Schneider
f3979de5ef
Check for 'checkout' key if calculating 'running' time
2015-04-30 18:30:13 -07:00
Scott Schneider
13df748cc6
Add basic auth token functionality
...
...and rspec tests, hooray!
2015-04-28 10:47:57 -07:00
Scott Schneider
e447b754c3
Add basic HTTP authentication and /token routes
...
- the only initial backend option for auth is LDAP
2015-04-21 11:44:38 -07:00
Colin
ab990e2081
(QENG-2208) Move Sinatra Helpers to own file
...
This moves the inline Helpers contained in V1.rb to their own file:
helpers.rb. In making this change, any API.settings call was removed
from the helper method itself and passed through from V1.
This also adds tests for hostname shortener and validate date string.
2015-04-15 12:44:12 -07:00
Scott Schneider
798aa3f9ff
Ensure 'lifetime' val returned by GET /vm/:hostname is an int
2015-04-09 12:48:56 -07:00
Colin
1408f35867
(QENG-1906) Refactor initialize to allow config passing
...
Prior to this commit, several pieces of vmpooler performed configuration
and initialization steps within 'initialize'. This made it difficult to
pass in mock objects for testing purposes.
This commit performs a single configuration and passes the results to
the various pieces of vmpooler.
2015-03-30 14:23:06 -07:00
Scott Schneider
858d4c7541
Use 'checkout' time to calculate 'running' time
2015-03-25 13:41:26 -07:00
Colin
91563c0408
Merge pull request #71 from sschneid/historic_redis_vm_metadata
...
(QENG-2057) Historic Redis VM metadata
2015-03-25 12:48:56 -07:00
Scott Schneider
10db0c4c6a
Catch improperly-formatted data payloads
2015-03-20 13:03:29 -07:00
Scott Schneider
d48d487de0
Validate data payload before operating on it
2015-03-20 12:52:17 -07:00
Scott Schneider
48a9ef0dfd
Store checkout and destroy timestamps
2015-03-20 09:57:47 -07:00
Scott Schneider
99a18c781a
Adding VM-tagging support via PUT /vm/:hostname endpoint
2015-03-19 11:27:39 -07:00
Scott Schneider
558c70ab0d
Use $redis.hgetall rather than hget in a loop
...
This cuts down on render-time for the /api/v1/summary endpoint drastically.
2015-03-09 11:12:39 -07:00
Scott Schneider
d1e4acbd55
/summary per-pool metrics
...
This commit also consolidates the 'get_boot_metrics' and
'get_clone_metrics' methods into a single parameterized
'get_task_metrics' method.
2015-03-06 14:40:39 -08:00
Scott Schneider
e83b3e47af
(maint) fix typo
2015-03-04 20:03:16 -08:00
Scott Schneider
c86f680a41
Show boot metrics in /status and /summary endpoints
2015-03-04 16:06:42 -08:00
Scott Schneider
7f8d4111ef
(maint) Fixing spacing
2015-03-04 11:36:37 -08:00
Scott Schneider
e347e2b6b4
Don't include daily_clone durations in average if nothing was cloned
2015-03-04 11:28:31 -08:00
Scott Schneider
35e78aacb5
Use 'date_str' instead of 'date'
2015-03-04 11:12:23 -08:00
Scott Schneider
5453ec6206
Use new helper methods in /summary route
2015-03-04 10:28:19 -08:00
Scott Schneider
201897214b
Move clone metric-gathering to 'get_clone_metrics' helper
2015-03-04 09:58:11 -08:00
Scott Schneider
1397ff93c1
Move capacity metric-gathering to 'get_capacity_metrics' helper
2015-03-04 09:49:16 -08:00
Scott Schneider
fd0e5cb438
Move queue metric-gathering to 'get_queue_metrics' helper
2015-03-04 09:41:10 -08:00
Scott Schneider
0c3f84e072
Slight rework of data param validation
2015-03-04 09:31:56 -08:00
Scott Schneider
c1099a8273
Add 'get_clone_times' helper
2015-03-04 09:21:06 -08:00
Scott Schneider
4f880497b7
Alphabetize existing helpers
2015-03-04 09:15:04 -08:00
Scott Schneider
6d6dbfa2c8
Initial
2015-02-26 15:13:24 -08:00