aeolusproject / conductor Goto Github PK
View Code? Open in Web Editor NEWAeolus Conductor
Home Page: http://www.aeolusproject.org/
License: Apache License 2.0
Aeolus Conductor
Home Page: http://www.aeolusproject.org/
License: Apache License 2.0
Decide what to display
Discussions on how to extend the Conductor API
When I start Conductor I get "success" validation message, that I need to be logged first to enter the system. For the very first time, the message shouldn't be there, it is obvious, that I need to log in to enter (messages are valid to display just after error login, sending password, etc.). Or is there any other reason to display it right away? For me, it feels more confusing.
RFC for the concept (done)
figure out what views it will affect (done)
specify details (done) & create missing views
apply the new structure
Current documentation:
https://redmine.aeolusproject.org/redmine/projects/aeolus/wiki/Scheduleddelayed_launch_and_maximum_execution_time
Talking about '/images/new?environment=1' -- "New Image":
If I upload an ISO image, which is what some user will surely try, I want the application to give me a nice error message.
Generally when I give the application a wrong input (wrong type, wrong size) I expect a nice error message.
After a dozen minutes I have an empty browser window. And in the Rails log I see:
Rendered layouts/_admin_nav.html.haml (19.5ms)
Rendered images/edit_xml.html.haml within layouts/application (365004.5ms)
Rendered layouts/_new_notification.html.haml (45.3ms)
Rendered layouts/_footer.html.haml (882.3ms)
Rendered layouts/converge-ui/_header_layout.haml (4.9ms)
Rendered layouts/converge-ui/_base.haml (41565.7ms)
Rendered layouts/converge-ui/shell_layout.haml (201594.5ms)
Completed 200 OK in 753340ms (Views: 743206.8ms | ActiveRecord: 5.9ms)
terminate called after throwing an instance of 'std::runtime_error'
what(): no allocation for outbound data
Aborted
The UI has changed since my last week experiments so that I no longer have a strong urge to upload an ISO ;-)
But anyway the application should handle that case.
(rand issue # 6)
For sure:
If team decision is made in time:
git submodule init
and git submodule update
no longer work with a fresh clone of conductor because upstream is undergoing a project name change. This needs to be addressed in the conductor rpm spec as well as whatever is pointing the submodule config at the old converge-ui
UI for adding costs
UI for managing selection algorithm
actual algorithm
conductor requires that provider names for ec2 have a fixed structure providing information about the provider type and in case, of ec2 provider region
at /provider when I enter provider name I get a message:
Provider name must start with 'ec2-'
furthermore when I try to launch the deployable I get to a point where the provider name even has to match the provider region
user should be free to choose provider name
'Provider Type' and 'EC2 region' provide the information that Conductor requires in the structured name
(rant issues # 1 and # 15)
when I go Administer --> Cloud Provider --> name --> Accounts
I am at url '/providers/1/edit
Next I change something and click "Test"
In an UI where I have "Test" and "Save" I obviously want to test first and then save.
(rant issue # 13)
When I go Environment --> Images --> image name I get to what I call "image overview" page for now.
Now I click "Build image"
I get a browser error page with error 500
looking into the Rails log I see
a) if I did not provide any configuration for oauth at all I get:
Failed. Response code = 500. Response message = Internal Server Error.
/home/martin/.gem/ruby/1.9.1/gems/activeresource-3.2.3/lib/active_resource/connection.rb:148:in `handle_response'
/home/martin/.gem/ruby/1.9.1/gems/activeresource-3.2.3/lib/active_resource/connection.rb:115:in `request'
/home/martin/.gem/ruby/1.9.1/bundler/gems/aeolus-image-rubygem-4bffe3f60ce3/lib/aeolus_image/active_resource_oauth_client.rb:30:in `request_with_oauth'
/home/martin/.gem/ruby/1.9.1/gems/activeresource-3.2.3/lib/active_resource/connection.rb:92:in `block in put'
/home/martin/.gem/ruby/1.9.1/gems/activeresource-3.2.3/lib/active_resource/connection.rb:218:in `with_auth'
/home/martin/.gem/ruby/1.9.1/gems/activeresource-3.2.3/lib/active_resource/connection.rb:92:in `put'
b) or if I provided somehow wrong configuration
2012-10-17 09:12:04,299 INFO root thread(MainThread) Message: Launched as daemon...
2012-10-17 09:12:04,394 DEBUG root thread(MainThread) Message: Unable to start faulthandler - multi-thread tracebacks will not be available
Traceback (most recent call last):
File "/usr/bin/imagefactory", line 176, in main
import faulthandler
ImportError: No module named faulthandler
2012-10-17 09:12:04,433 DEBUG paste.httpserver.ThreadPool thread(worker 0) Message: Started new worker 139691243161344: Initial worker pool
I want to get a nice error message telling me about authentication failure when talking to image factory.
Or at leas I want a nice error code telling me something went wrong when talking to the image factory.
(rant issue # 9)
Full representations should also be shown in top level subcollections.
Select fields needs to be removed from show action. Some like owner_id and history will be held back until additional APIs are be implemented.
Deployments API should
/api/deployments
or /api/pools/:pool_id/deployments
<deployments>
elements, both in listings ^^ and when embedded in on /api/pool/:id
This is according to the resource representation guidelines [1].
[1] https://redmine.aeolusproject.org/redmine/projects/aeolus/wiki/ConductorAPIResourceRepresentation
when adding of a provider account fails, I want a sane error message telling me details of what went wrong and how to get from there (where to look at least)
error message: "Cannot add the Provider Account." telling me really nothing
DC has a bug filled (and maybe already closed) on sane logfile location and sane logfile content
(rant issue # 2)
at /pool_families/new I see section title: "New Environment"
but below a label for a text field reads: "Pool Family Name"
Hi,
It seems I cannot use this in the install directive of a template
RHEL6
when i use RHEL-6 it gets validated.
XML is not valid:
Error validating value
Element name failed to validate content
That's the error that I get
Regards,
Vincent
Implement helper methods that can be used across APIs. We should serialize time information according to XML Schema datatypes. This is what CIMI does as well.
Duration:
http://www.w3.org/TR/xmlschema-2/#duration
DateTime (timestamp):
http://www.w3.org/TR/xmlschema-2/#dateTime
Databases connection do disconnect from time to time. Timeouts, maintenance restarts, whatever.
A daemon that depends on a database connection should handle that.
Rails provide a nice exception ActiveRecord::ConnectionNotEstablished that should be handled in dbomatic:
2012-10-30 06:47:02 ERROR /home/martin/.gem/ruby/1.9.1/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_pool.rb:398:in retrieve_connection': ActiveRecord::ConnectionNotEstablished 2012-10-30 06:47:02 ERROR from /home/martin/.gem/ruby/1.9.1/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_specification.rb:168:in
retrieve_connection'
2012-10-30 06:47:02 ERROR from /home/martin/.gem/ruby/1.9.1/gems/activerecord-3.2.3/lib/active_record/connection_adapters/abstract/connection_specification.rb:142:in connection' 2012-10-30 06:47:02 ERROR from /home/martin/.gem/ruby/1.9.1/gems/activerecord-3.2.3/lib/active_record/querying.rb:38:in
block in find_by_sql'
2012-10-30 06:47:02 ERROR from /home/martin/.gem/ruby/1.9.1/gems/activerecord-3.2.3/lib/active_record/explain.rb:40:in logging_query_plan' 2012-10-30 06:47:02 ERROR from /home/martin/.gem/ruby/1.9.1/gems/activerecord-3.2.3/lib/active_record/querying.rb:37:in
find_by_sql'
2012-10-30 06:47:02 ERROR from /home/martin/.gem/ruby/1.9.1/gems/activerecord-3.2.3/lib/active_record/relation.rb:174:in `block in exec_queries'
Update wiki so that it reflects changes that were made to APIs during works on API consistency.
at /deployments/5?details_tab=instances when I click gear image and pick "Export events" I get
uninitialized constant Instance::CSV
/home/martin/devel/conductor/src/app/models/instance.rb:415:in `csv_export'
/home/martin/devel/conductor/src/app/controllers/instances_controller.rb:170:in `export_events'
/home/martin/.gem/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_controller/metal/implicit_render.rb:4:in `send_action'
/home/martin/.gem/ruby/1.9.1/gems/actionpack-3.2.3/lib/abstract_controller/base.rb:167:in `process_action'
/home/martin/.gem/ruby/1.9.1/gems/actionpack-3.2.3/lib/action_controller/metal/rendering.rb:10:in `process_action'
/home/martin/.gem/ruby/1.9.1/gems/actionpack-3.2.3/lib/abstract_controller/callbacks.rb:18:in `block in process_action'
/home/martin/.gem/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:458:in `_run__4033281080833034214__process_action__4579944377564017198__callbacks'
/home/martin/.gem/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:405:in `__run_callback'
/home/martin/.gem/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:385:in `_run_process_action_callbacks'
/home/martin/.gem/ruby/1.9.1/gems/activesupport-3.2.3/lib/active_support/callbacks.rb:81:in `run_callbacks'
/home/martin/.gem/ruby/1.9.1/gems/actionpack-3.2.3/lib/abstract_controller/callbacks.rb:17:in `process_action'
When deploying an instance to a provider - where the provider is unavailable - shows the following error:
translation missing: en.deployables.show.build_statuses_descriptions.Connection reset by peer
^^ Clearly missing a translation
Situation: RHEVM did not assign an IP address to the instance until hours later. Conductor displayed 'Status: Running' and 'IP Address: - '
Launch status logic should be enhanced to warn user of these conditions.
When I go Content --> Default --> deployable name, I get to '/catalogs/1/deployables/2'/.
Let's name this page "Deployable overview" for now.
Here I have a couple of points:
The big green button "Images Valid" leads to /catalogs/1/deployables/1/edit?edit_xml=true -- Editing Deployable
Thats' bad. Illogical. The text, the color, the place.
I come here to Launch the image. There's a bit green "Launch" button --> right!
But the first time I come here the button is greyed out because I have not built and/or pushed the image yet!
So I need a "big green" button that should read "Build Image" or "Push Image" based on what I should do next.
But all I get is a small text under "Build Status" that reads "Some of the images are not pushed" or "Images are not Built" with CAPITAL B.
I want this page to guide the user to the next step.
Fixed the typo.
I want big green buttons ensuring me, that I am doing right, and showing me the next step. Please add more of those!
(rant issue # 8 # 10)
I want Conductor do guide me through the steps to launch my 1st instance.
After registering the account. I am lost.
I go Administer ---> Content ---> Default --> New Deployable
while I probably want to go
Environment --> New Image
and then
Environment --> Images --> Image Name --> New Deployable from image
(rant issues # 3 # 4 # 5 touch the broken workflow)
running against RHEV-M
I have an image named "just-an-image-from-rhevm-1".
I created a deployable from such image
I pushed
But I cannot launch the instance:
31-Oct-2012 09:44:20: Instance just-an-image-from-rhevm-1/just-an-image-from-rhevm-1 just-an-image-from-rhevm-1/just-an-image-from-rhevm-1: 400 : Parameter name must be 50 characters or less
Conductor should either enforce the correct limit on image name -- (50/2 - 1) in case of rhevm or the way instance name is generated from the image name should be changed.
conductor_development=# select name from instances;
name
-------------------------------------------------------
just-an-image-from-rhevm-1/just-an-image-from-rhevm-1
f16-pro-mock-2/f16-pro-mock
rhevm-1/rhevm-1
f16-pro-mock/f16-pro-mock
t-f-16-deployable/t-f-16
if I go:
Administer-->Environments-->POOL NAME-->Provider selection
then turn on "Penalty for Failure" and then click "Configure"
I get:
uninitialized constant ApplicationHelper::FormBuilderWithRequiredFields
UI for setting strategy specific options opens
Initial implementation of the instances api.
git clone --origin github git+ssh://[email protected]/aeolusproject/conductor.git
cd conductor
git checkout master
git submodule init
git submodule update
cd src/vendor/converge-ui
tito build --test --rpm
fails with:
Error running command: git describe --match=converge-ui-devel-1.1-1 376cb579862248812878e72f71a6670cf9c6a7f7
Status code: 32768
Command output: fatal: No names found, cannot describe anything.
see also:
#209 (comment)
Implement and spec things that already have a clear and possible implementation designed.
For some parts need more clarification/consensus or they require other resources to be implemented, so they will be omitted for now and added later, so that it's possible to add them without breaking stuff.
Basic CRUD actions for Credential Definition API
@jprovaznik told me to rebuild the image, when I have edited the Provider Connectivity.
If image rebuild is needed after editing the provider, then Conductor shall take care of that.
Conductor should:
(rant issue # 15)
call me a simple mind, but in a list of objects of type A I expect a button/tool/link/whatever to add an object of type A
now talking about images
when I go Environments --> Images I get to url "/pool_families'
there I see a list of images
no trace of a way to add an image
(rant issue # 4)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.