[PATCH Conductor] Fix to launch multiple unique images in a deployable
by Greg Blomquist
https://bugzilla.redhat.com/show_bug.cgi?id=767759
See the bug for details, but this boils down to a bug in the matching logic in
the launch process. The matching logic didn't originally take into account that
the "match" objects were more than simply wrappers around the provider acccount.
And, did a faulty comparison of the objects to determine where instances could
launch. Prior to this patch, a deployable could only contain multiple
assemblies if all of the assemblies referenced the same image UUID.
With this patch, a deployable can contain multiple unique image UUIDs.
12 years, 2 months
packaging aeolus components
by Mo Morsi
Inorder to assist with the Aeolus packaging process, we are looking to
split the end-of-development-cycle packaging tasks up among engineers
working on the various components. The tentative list of lead packagers
can be found below as well as on the wiki [1].
These packagers are responsible for making sure their component is
tested against the supported Fedora versions at the time (currently F15,
F16, and rawhide), and their component is pushed into Fedora with all of
its dependencies (both new and updated ones). They may ask delegate some
of this responsobility off to other team members as appropriate on a
case by case basis.
audrey - JoeVLcek
conductor - sseago
configure - mmorsi
deltacloud - mfojtik
imagefactory - sloranz
iwhd - jmeyering
oz - clalance
If anyone feels that there are a better fits, feel free to suggest.
-Mo
[1] https://www.aeolusproject.org/redmine/projects/aeolus/wiki/Packaging
12 years, 3 months
[PATCH conductor] BZ#766929 - database.yml is world-readable
by John Eckersberg
https://bugzilla.redhat.com/show_bug.cgi?id=766929
---
aeolus-conductor.spec.in | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/aeolus-conductor.spec.in b/aeolus-conductor.spec.in
index 51a487c..53e1894 100644
--- a/aeolus-conductor.spec.in
+++ b/aeolus-conductor.spec.in
@@ -287,6 +287,7 @@ fi
%{app_root}/config/database.pg
%{app_root}/config/database.sqlite
%config %{app_root}/config/*.yml
+%attr(660, aeolus, aeolus) %{app_root}/config/database.yml
%{app_root}/config.ru
%{app_root}/db
%{app_root}/dbomatic
--
1.7.7.4
12 years, 3 months
regarding display of existing instances on AWS account
by balan rp
Hi Team,
In my organization, we are using Amazon cloud services.I was
evaluating the cloud management systems and installed the Aeolus
package for evaluation.
I successfully installed the software on Fedora 16 but i had a doubt
while setting up the configurations.The documentation clearly explains
method to upload an image to AWS and we can see them of Aeolus
console.But i couldn't see the instances which are present on my AWS
account.
My intention is to view my existing instances in AWS also deploying
and managing new one's using Aeolus.
Please could you let me know whether its possible?
Thanks,
Balu
12 years, 3 months
[PATCH conductor] Fixing new deployable form
by Imre Farkas
If the deployables#new form submitted with the Upload XML tab selected but without uploading any file, the form would switch to the 'From URL' tab.
This patch fixes this issue.
12 years, 3 months
[PATCH configure] BZ#766697 - running configure -p rhevm without updating rhevm config needs better error msg
by John Eckersberg
https://bugzilla.redhat.com/show_bug.cgi?id=766697
This adds a new parser function to ensure a list of variable names is
defined. This function is in turn used by the rhevm and vsphere
profiles to make sure all required config parameters are set,
otherwise failing with a sane error message.
---
.../lib/puppet/parser/functions/ensure_vardef.rb | 14 ++++++++++++++
recipes/aeolus/manifests/profiles/rhevm.pp | 12 ++++++++++++
recipes/aeolus/manifests/profiles/vsphere.pp | 10 ++++++++++
3 files changed, 36 insertions(+), 0 deletions(-)
create mode 100644 recipes/aeolus/lib/puppet/parser/functions/ensure_vardef.rb
diff --git a/recipes/aeolus/lib/puppet/parser/functions/ensure_vardef.rb b/recipes/aeolus/lib/puppet/parser/functions/ensure_vardef.rb
new file mode 100644
index 0000000..b72c0f0
--- /dev/null
+++ b/recipes/aeolus/lib/puppet/parser/functions/ensure_vardef.rb
@@ -0,0 +1,14 @@
+Puppet::Parser::Functions::newfunction(:ensure_vardef,
+ :type => :rvalue,
+ :doc => <<ENDDOC
+Validate that one or more variables are defined. Returns the first
+undefined variable name found; if all variables are defined, return
+false.
+ENDDOC
+) do |args|
+ undefined = false
+ args.each do |param|
+ undefined = param if ['', :undefined].include?(lookupvar(param)) and not undefined
+ end
+ undefined
+end
diff --git a/recipes/aeolus/manifests/profiles/rhevm.pp b/recipes/aeolus/manifests/profiles/rhevm.pp
index 1d5d73d..942fef1 100644
--- a/recipes/aeolus/manifests/profiles/rhevm.pp
+++ b/recipes/aeolus/manifests/profiles/rhevm.pp
@@ -13,6 +13,18 @@
# limitations under the License.
class aeolus::profiles::rhevm {
+ $missing = ensure_vardef("rhevm_nfs_server",
+ "rhevm_nfs_export",
+ "rhevm_nfs_mount_point",
+ "rhevm_deltacloud_username",
+ "rhevm_deltacloud_password",
+ "rhevm_deltacloud_provider",
+ "rhevm_push_timeout")
+
+ if $missing {
+ fail("Missing required parameter ${missing} in /etc/aeolus-configure/nodes/rhevm_configure")
+ }
+
file {"/etc/imagefactory/rhevm.json":
content => template("aeolus/rhevm.json"),
mode => 755,
diff --git a/recipes/aeolus/manifests/profiles/vsphere.pp b/recipes/aeolus/manifests/profiles/vsphere.pp
index 0d511bf..009ca2b 100644
--- a/recipes/aeolus/manifests/profiles/vsphere.pp
+++ b/recipes/aeolus/manifests/profiles/vsphere.pp
@@ -13,6 +13,16 @@
# limitations under the License.
class aeolus::profiles::vsphere {
+ $missing = ensure_vardef("vsphere_deltacloud_provider",
+ "vsphere_username",
+ "vsphere_password",
+ "vsphere_datastore",
+ "vsphere_network_name")
+
+ if $missing {
+ fail("Missing required parameter ${missing} in /etc/aeolus-configure/nodes/vsphere_configure")
+ }
+
aeolus::create_bucket{"aeolus":}
file {"/etc/imagefactory/vsphere.json":
--
1.7.7.4
12 years, 3 months
[PATCH conductor 1/3] Fixing autoupdating issues
by Imre Farkas
From: Imre Farkas <ifarkas(a)redhat.com>
The order of Pools/Deployments/Instances was messed up after autoupdate
The Properties and Role Assignemt tabs on deployments#show was empty after autoupdate
---
src/app/controllers/instances_controller.rb | 4 ++--
src/app/controllers/pools_controller.rb | 4 ++--
src/app/models/deployment.rb | 2 ++
src/app/models/pool.rb | 2 ++
src/app/views/pools/_pretty_list.html.haml | 2 +-
src/public/javascripts/backbone/routers.js | 2 ++
src/public/javascripts/backbone/views.js | 6 ++++++
7 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/src/app/controllers/instances_controller.rb b/src/app/controllers/instances_controller.rb
index 5979a1c..3f5917f 100644
--- a/src/app/controllers/instances_controller.rb
+++ b/src/app/controllers/instances_controller.rb
@@ -215,9 +215,9 @@ class InstancesController < ApplicationController
def load_instances
if params[:deployment_id].blank?
- @instances = Instance.includes(:owner).apply_filters(:preset_filter_id => params[:instances_preset_filter], :search_filter => params[:instances_search]).where("instances.pool_id" => @pools)
+ @instances = Instance.includes(:owner).apply_filters(:preset_filter_id => params[:instances_preset_filter], :search_filter => params[:instances_search]).list(sort_column(Instance), sort_direction).where("instances.pool_id" => @pools)
else
- @instances = Instance.includes(:owner).apply_filters(:preset_filter_id => params[:instances_preset_filter], :search_filter => params[:instances_search]).where("instances.pool_id" => @pools, "instances.deployment_id" => params[:deployment_id])
+ @instances = Instance.includes(:owner).apply_filters(:preset_filter_id => params[:instances_preset_filter], :search_filter => params[:instances_search]).list(sort_column(Instance), sort_direction).where("instances.pool_id" => @pools, "instances.deployment_id" => params[:deployment_id])
end
end
diff --git a/src/app/controllers/pools_controller.rb b/src/app/controllers/pools_controller.rb
index 272110c..37f238e 100644
--- a/src/app/controllers/pools_controller.rb
+++ b/src/app/controllers/pools_controller.rb
@@ -45,12 +45,12 @@ class PoolsController < ApplicationController
@details_tab = @tabs.find {|t| t[:id] == details_tab_name} || @tabs.first[:name].downcase
case @details_tab[:id]
when 'pools'
- @pools = Pool.list_for_user(current_user, Privilege::VIEW).apply_filters(:preset_filter_id => params[:pools_preset_filter], :search_filter => params[:pools_search])
+ @pools = Pool.list_for_user(current_user, Privilege::VIEW).apply_filters(:preset_filter_id => params[:pools_preset_filter], :search_filter => params[:pools_search]).list(sort_column(Pool), sort_direction)
when 'instances'
params[:instances_preset_filter] = "other_than_stopped" unless params[:instances_preset_filter]
@instances = Instance.apply_filters(:preset_filter_id => params[:instances_preset_filter], :search_filter => params[:instances_search]).list(sort_column(Instance), sort_direction)
when 'deployments'
- @deployments = Deployment.apply_filters(:preset_filter_id => params[:deployments_preset_filter], :search_filter => params[:deployments_search])
+ @deployments = Deployment.apply_filters(:preset_filter_id => params[:deployments_preset_filter], :search_filter => params[:deployments_search]).list(sort_column(Deployment), sort_direction)
end
else
@pools = Pool.list(sort_column(Pool), sort_direction)
diff --git a/src/app/models/deployment.rb b/src/app/models/deployment.rb
index 7b5ce76..8ebd703 100644
--- a/src/app/models/deployment.rb
+++ b/src/app/models/deployment.rb
@@ -57,6 +57,8 @@ class Deployment < ActiveRecord::Base
after_create "assign_owner_roles(owner)"
+ scope :ascending_by_name, :order => 'name ASC'
+
validates_presence_of :pool_id
validates_presence_of :name
validates_uniqueness_of :name, :scope => :pool_id
diff --git a/src/app/models/pool.rb b/src/app/models/pool.rb
index 287bc70..977e61e 100644
--- a/src/app/models/pool.rb
+++ b/src/app/models/pool.rb
@@ -65,6 +65,8 @@ class Pool < ActiveRecord::Base
before_destroy :destroyable?
+ scope :ascending_by_name, :order => 'name ASC'
+
def cloud_accounts
accounts = []
instances.each do |instance|
diff --git a/src/app/views/pools/_pretty_list.html.haml b/src/app/views/pools/_pretty_list.html.haml
index 555dd6f..ac2af4d 100644
--- a/src/app/views/pools/_pretty_list.html.haml
+++ b/src/app/views/pools/_pretty_list.html.haml
@@ -25,7 +25,7 @@
%a.control{:href => '#'}
%span Expand/Collapse
%div.content
- = render :partial => 'deployments', :locals => {:deployments => pool.deployments}
+ = render :partial => 'deployments', :locals => {:deployments => pool.deployments.ascending_by_name}
%ul.content.actions
%li
= link_to ("#{html_escape(pool.name)} " + "#{t'pools.index.pool_details'}" + " »").html_safe, pool_path(pool), :class =>'pool_details'
diff --git a/src/public/javascripts/backbone/routers.js b/src/public/javascripts/backbone/routers.js
index a766b83..cb55730 100644
--- a/src/public/javascripts/backbone/routers.js
+++ b/src/public/javascripts/backbone/routers.js
@@ -74,6 +74,8 @@ Conductor.Routers.Deployments = Backbone.Router.extend({
var view = new Conductor.Views.DeploymentsShow({ model: deployment,
collection: deployment.instances });
+ if(view.currentTab() !== 'instances') return;
+
deployment.bind('change', function() { view.render() });
deployment.instances.fetch({success: function(instances) {
diff --git a/src/public/javascripts/backbone/views.js b/src/public/javascripts/backbone/views.js
index 3e2776d..dd0cd38 100644
--- a/src/public/javascripts/backbone/views.js
+++ b/src/public/javascripts/backbone/views.js
@@ -102,6 +102,12 @@ Conductor.Views.DeploymentsShow = Backbone.View.extend({
el: '#content',
+ currentTab: function() {
+ if($('#details_instances.active').length > 0) {
+ return 'instances';
+ }
+ },
+
render: function() {
var $instances = this.$('ul.instances-array');
if($instances.length === 0) {
--
1.7.6.4
12 years, 3 months
[PATCH conductor] Error message fixed for creating new deployable without providing url for the xml
by Imre Farkas
From: Imre Farkas <ifarkas(a)redhat.com>
https://bugzilla.redhat.com/show_bug.cgi?id=770809
---
src/app/controllers/deployables_controller.rb | 6 +++++-
src/config/locales/en.yml | 1 +
2 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/src/app/controllers/deployables_controller.rb b/src/app/controllers/deployables_controller.rb
index 13d4f3e..05473b2 100644
--- a/src/app/controllers/deployables_controller.rb
+++ b/src/app/controllers/deployables_controller.rb
@@ -258,7 +258,11 @@ class DeployablesController < ApplicationController
response
end
rescue RestClient::Exception, SocketError, URI::InvalidURIError
- flash[:error] = t('catalog_entries.flash.warning.not_valid_or_reachable', :url => url)
+ if url.present?
+ flash[:error] = t('catalog_entries.flash.warning.not_valid_or_reachable', :url => url)
+ else
+ flash[:error] = t('catalog_entries.flash.warning.no_url_provided')
+ end
nil
end
end
diff --git a/src/config/locales/en.yml b/src/config/locales/en.yml
index 0275275..94e9873 100644
--- a/src/config/locales/en.yml
+++ b/src/config/locales/en.yml
@@ -631,6 +631,7 @@ en:
flash:
warning:
not_valid_or_reachable: "Catalog entry XML file is either invalid or no longer reachable at %{url}"
+ no_url_provided: "No URL provided for the catalog entry XML file."
not_valid: "Deployable XML file doesn't resolve valid XML"
failed: Catalog entry was not created.
notice:
--
1.7.6.4
12 years, 3 months