RFC: Deployable, Deployment, and Instance API
by Richard Su
Hi,
Below is an outline of REST API endpoints that we would need to
implement to allow users to automate further their interactions with
Conductor. The endpoints follows the actions available in the current
Conductor UI flow.
The contents is also up this wiki page
https://www.aeolusproject.org/redmine/projects/aeolus/wiki/Deployable_Dep...
Endpoints
conductor/api/deployables
1. Create given name, catalog id(s), and deployable xml.
Deployable xml is validated before it can be saved.
Reference for Deployable XMLs -
https://www.aeolusproject.org/redmine/projects/aeolus/wiki/Deployable_XML
2. Show a deployable
3. Index of deployables - list name and href to id
4. Delete a deployable
5. Edit a deployable
PUT new deployable xml, respond with 200 and newly saved object
Allow update of name and catalog ids
The images defined in the deployable xml must exist, but they need not
be built or pushed. If there are multiple assemblies, any missing image
should fail the validation.
conductor/api/deployments
1. Create given name, deployable id, and optional realm
All images defined in the deployable must be built and pushed to the
choosen realm
Launches instances
2. Show a deployment and its instances
Each instance is listed with name and a link to the real object
3. Index of deployments
4. Delete a deployment
5. Edit a deployment - not available
conductor/api/deployments/$id/instances
conductor/api/instances
1. Stop an instance
2. Start an instance
3. List all instances for a given deployment
4. List all instances I can control across all deployments - TBD
5. Show instance, status, ip address, ssh keys, etc..
conductor/api/realms
1. Create, map to provider, map to provider realm
2. Show a realm
3. List all realms
4. Delete a realm
5. Edit a realm and mappings
conductor/api/provider_accounts/$id/realms
1. List from provider accounts
conductor/api/hardware_profiles/
CRUD
conductor/api/catalogs
CRUD
conductor/api/pools
CRUD, catalogs are mapped to a pool
---
Reference
Initial planning discussion -
http://etherpad-aeolusproject.rhcloud.com/p/deployables_and_instance_api
11 years, 9 months
Re: [PATCH Conductor 0/1] Fix api tests upstream
by Jason Guiditta
On 26/07/12 10:55 +0200, Petr Blaho wrote:
>On Wednesday, July 25, 2012 06:16:31 PM you wrote:
>> Petr, if you have other ideas how to fix this, I am open to
>> suggestions, but as I mention in commit message, I don't think these
>> particular assertions add much value, and I would not want to have a
>> conditional check in this instance.
>>
>> -j
>
>One way is to change the message in conductor when exception is caught
>but I think this will be unnecessary work.
>
>I am ok with omitting tests with id. NotFound should be good enough.
>
>Thanks
>
>--
>
>With regards
>Petr Blaho
I'll take that as an ACK, pushed.
-j
11 years, 9 months
[PATCH Conductor 0/1] Fix api tests upstream
by Jason Guiditta
Petr, if you have other ideas how to fix this, I am open to
suggestions, but as I mention in commit message, I don't think these
particular assertions add much value, and I would not want to have a
conditional check in this instance.
-j
11 years, 9 months
[PATCH conductor] Update travis-ci config file to match new bundler usage changes in RM 3455
by Richard Su
https://www.aeolusproject.org/redmine/issues/3455
1. Use Gemfile instead of Gemfile.in.
2. Remove USE_BUNDLER environment variable.
3. Add "--path bundle" to "bundle install"
4. "bundle exec" all rake commands. Not doing so would produce this error:
"You have already activated rake 0.9.2, but your Gemfile requires rake 0.9.2.2.
Using bundle exec may solve this."
---
.travis.yml | 20 ++++++++++----------
1 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index d2cdb85..89760fa 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -7,21 +7,21 @@ env:
- SUITE=cucumber
- SUITE=spec
before_install:
- - sed s/'pg'/'sqlite3'/ src/Gemfile.in > src/Gemfile
+ - sed s/'pg'/'sqlite3'/ src/Gemfile > src/Gemfile.tmp
+ - mv src/Gemfile.tmp src/Gemfile
install:
- cd src
- - bundle install
+ - bundle install --path bundle
before_script:
- - export USE_BUNDLER=yes
- cp config/database.sqlite config/database.yml
- - rake dc:oauth_keys
- - rake db:drop
- - rake db:create
- - rake db:migrate
- - rake db:seed
- - rake db:test:prepare
+ - bundle exec rake dc:oauth_keys
+ - bundle exec rake db:drop
+ - bundle exec rake db:create
+ - bundle exec rake db:migrate
+ - bundle exec rake db:seed
+ - bundle exec rake db:test:prepare
script:
- - rake $SUITE
+ - bundle exec rake $SUITE
notifications:
irc:
channels:
--
1.7.7.6
11 years, 9 months
RFC: Adding Useful reports and Statistical Data
by Tzu-Mainn Chen
Hi,
I've recently outlined a proposal to add reports and statistical data to conductor. The link is below, but first here's a summary of the idea.
Conductor is currently very straightforward in what it does: it creates, modifies, and destroys entities of various types. These are the most important functions, of course, but now that they are somewhat established, I think it'd be useful to think a bit beyond that. To give an example: when you first start up and install conductor, you'll probably want to do a lot of configuration with, say, providers and provider accounts. However, after that initial work, your needs are likely to be much different. On the provider level, you might want to see things like utilization over the past week, or providers that have thrown errors, etc.
I've recently pushed a patch that provides such data to the provider index page. It should provide a good, working illustration of what I'm talking about (and it also re-creates a missing index page, so no toes were stepped on!) I'd like to start adding similar data to other pages, but I wanted to see other people's thoughts first.
A summarized goal list would be as follows:
a) create libraries to help with re-use of graph and statistics code
b) add statistics and data to various index and show pages
c) create a dashboard that pulls "key" information from around the website. For example, it might include the most utilized/error-prone provider accounts and deployables; overall utilization for the past week; etc.
https://www.aeolusproject.org/redmine/projects/aeolus/wiki/Add_Targeted_R...
Thanks,
Tzu-Mainn Chen
11 years, 9 months