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
11 years, 4 months
[PATCH configure] Regenerate conductor secret_token.rb file each time configure is executed
by Richard Su
In a follow-on patch, the secret_token.rb file will be removed from the
conductor rpm to remove a security hole. Thanks to matty_dubs for
pointing this out.
---
bin/aeolus-configure | 1 +
recipes/aeolus/manifests/conductor.pp | 7 ++++++-
recipes/aeolus/templates/secret_token.rb | 21 +++++++++++++++++++++
3 files changed, 28 insertions(+), 1 deletions(-)
create mode 100644 recipes/aeolus/templates/secret_token.rb
diff --git a/bin/aeolus-configure b/bin/aeolus-configure
index a1a59a0..9b57b99 100755
--- a/bin/aeolus-configure
+++ b/bin/aeolus-configure
@@ -67,6 +67,7 @@ echo "Launching aeolus configuration recipe..."
export FACTER_AEOLUS_ENABLE_HTTPS=true
export FACTER_AEOLUS_ENABLE_SECURITY=false
+export FACTER_RAILS_TOKEN=`</dev/urandom tr -dc a-f0-9 | head -c128`
NODE_ARRAY=(`echo $PUPPET_NODE | tr "," "\n"`)
for x in "${NODE_ARRAY[@]}"
diff --git a/recipes/aeolus/manifests/conductor.pp b/recipes/aeolus/manifests/conductor.pp
index aa56331..3eba07f 100644
--- a/recipes/aeolus/manifests/conductor.pp
+++ b/recipes/aeolus/manifests/conductor.pp
@@ -27,6 +27,10 @@ class aeolus::conductor inherits aeolus {
content => template("aeolus/conductor-settings.yml"),
require => Package['aeolus-conductor']}
+ file{"/usr/share/aeolus-conductor/config/initializers/secret_token.rb":
+ content => template("aeolus/secret_token.rb"),
+ require => Package['aeolus-conductor']}
+
file{"/rsyslog": ensure => 'directory' }
file{"/rsyslog/work":
ensure => 'directory',
@@ -65,7 +69,8 @@ class aeolus::conductor inherits aeolus {
Rails::Migrate::Db[migrate_aeolus_database],
Service['httpd'],
Apache::Site[aeolus-conductor], Exec[reload-apache],
- File['/usr/share/aeolus-conductor/config/settings.yml']] }
+ File['/usr/share/aeolus-conductor/config/settings.yml'],
+ File['/usr/share/aeolus-conductor/config/initializers/secret_token.rb']] }
### Initialize and start the aeolus database
# Right now we configure and start postgres, at some point I want
diff --git a/recipes/aeolus/templates/secret_token.rb b/recipes/aeolus/templates/secret_token.rb
new file mode 100644
index 0000000..30e8161
--- /dev/null
+++ b/recipes/aeolus/templates/secret_token.rb
@@ -0,0 +1,21 @@
+# Copyright 2011 Red Hat, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Be sure to restart your server when you modify this file.
+
+# Your secret key for verifying the integrity of signed cookies.
+# If you change this key, all old signed cookies will become invalid!
+# Make sure the secret is at least 30 characters and all random,
+# no regular words or you'll be exposed to dictionary attacks.
+Conductor::Application.config.secret_token = '<%= rails_token %>'
--
1.7.6.4
11 years, 5 months
[PATCH conductor] Condition added to XML validation in Deployable
by Imre Farkas
From: Imre Farkas <ifarkas(a)redhat.com>
https://bugzilla.redhat.com/show_bug.cgi?id=756690
---
src/app/controllers/catalog_entries_controller.rb | 3 +--
src/app/models/deployable.rb | 2 +-
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/app/controllers/catalog_entries_controller.rb b/src/app/controllers/catalog_entries_controller.rb
index 465e741..0c4a31d 100644
--- a/src/app/controllers/catalog_entries_controller.rb
+++ b/src/app/controllers/catalog_entries_controller.rb
@@ -105,8 +105,7 @@ class CatalogEntriesController < ApplicationController
@catalog_entry.deployable.name = @image.name
else
params.delete(:edit_xml) if params[:edit_xml]
- @form_option = params[:catalog_entry].has_key?(:xml) ? 'upload' : 'from_url'
- @form_option = params[:catalog_entry][:deployable].has_key?(:xml) ? 'upload' : 'from_url'
+ @form_option = params.has_key?(:url) ? 'from_url' : 'upload'
end
render :new
end
diff --git a/src/app/models/deployable.rb b/src/app/models/deployable.rb
index 8f869a4..f67b9aa 100644
--- a/src/app/models/deployable.rb
+++ b/src/app/models/deployable.rb
@@ -24,7 +24,7 @@ class Deployable < ActiveRecord::Base
validates_length_of :name, :maximum => 1024
validates_presence_of :xml
- validate :valid_deployable_xml?
+ validate :valid_deployable_xml?, :if => Proc.new { |deployable| !deployable.xml.blank? }
has_many :permissions, :as => :permission_object, :dependent => :destroy,
:include => [:role],
--
1.7.6.4
11 years, 6 months
Clear names
by Angus Thomas
There's been a lot of discussion recently about the best way to name the
components that our users interact with.
We have sought to arrive at a set of names with which are:
- Descriptive and intuitive
- Internally consistent
- Consistent with the names used by similar applications which users
might be familiar with
Given that we'll need to update the code to reflect the new names, along
with the related documentation etc., there's a great deal to be said for
actually settling on a set of names.
So, here's the list:
Image template -> Component Outline
Assembly -> Component Blueprint
Deployable -> Application Blueprint
Deployment -> Application
Pool Family/Environment -> Cloud
Pool -> Cloud Resource Zone
User Defined Realm -> Cloud Resource Cluster
Provider -> Cloud Resource Provider
Hardware Profile -> Cloud Resource Profile
Angus
11 years, 6 months
[PATCH conductor] List of users added to permissions page
by Imre Farkas
From: Imre Farkas <ifarkas(a)redhat.com>
https://bugzilla.redhat.com/show_bug.cgi?id=754400
---
src/app/views/pool_families/_permissions.html.haml | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/src/app/views/pool_families/_permissions.html.haml b/src/app/views/pool_families/_permissions.html.haml
index e69de29..e73ced3 100644
--- a/src/app/views/pool_families/_permissions.html.haml
+++ b/src/app/views/pool_families/_permissions.html.haml
@@ -0,0 +1 @@
+= render :partial => 'permissions/permissions'
--
1.7.6.4
11 years, 6 months
[PATCH conductor 0/1] Clean up Permission flash messages
by Matt Wagner
In reviewing Scott's patch, I included a nit talking about how the flash messages (for both success and errors) were oddly-worded. Scott's patch didn't actually introduce them, so I just fixed them.
It'd be great if someone who was an I18n master would look this over to make sure I'm not doing anything too unorthodox. I think this patch should have two benefits:
1.) The messages sound more human, at least to me.
2.) We no longer concatenate strings outside of the data dictionary, so they should be more I18n-friendly.
This patch was fixing a nit of mine and isn't an essential part of the sprint, so don't go too out of your way.
-- Matt
11 years, 6 months
[PATCH Conductor] Add ability to delete deployment configurations from config server
by Greg Blomquist
With this patch, deleting a deployment invokes a call to the config server
associated with the deployment to delete the configurations for the deployment.
Assumptions:
* If any of the instances in the deployment have user_data, then a config
server was associated with the deployment
* All of the instances in the deployment were launched in the same provider
account (and therefore, used the same config server)
Also, this patch ignores 404s from the config server when deleting deployment
configurations in case an administrator manually deleted the deployment
configurations from the config server already.
This patch requires a config server with version 0.4.2 or higher.
11 years, 6 months
[PATCH aeolus-conductor] Added account info on provider image, partial fix BZ750214
by Maros Zatko
From: Maros Zatko <mzatko(a)redhat.com>
---
lib/aeolus_cli/command/list_command.rb | 18 +++++++++++++++---
1 files changed, 15 insertions(+), 3 deletions(-)
diff --git a/lib/aeolus_cli/command/list_command.rb b/lib/aeolus_cli/command/list_command.rb
index fbc4ee4..deea9a2 100644
--- a/lib/aeolus_cli/command/list_command.rb
+++ b/lib/aeolus_cli/command/list_command.rb
@@ -40,7 +40,7 @@ module Aeolus
headers = ActiveSupport::OrderedHash.new
headers[:id] = "ID"
headers[:image] = "Image"
- collection = @options[:id].nil? ? Aeolus::CLI::Build.all : Aeolus::CLI::Build.find(:all, :from => Aeolus::CLI::Base.site.path + "/images/" + @options[:id] + "/builds.xml")
+ collection = @options[:id] == 'all' ? Aeolus::CLI::Build.all : Aeolus::CLI::Build.find(:all, :from => Aeolus::CLI::Base.site.path + "/images/" + @options[:id] + "/builds.xml")
print_collection(collection, headers)
quit(0)
rescue => e
@@ -54,7 +54,7 @@ module Aeolus
headers[:id] = "ID"
headers[:status] = "Status"
headers[:build] = "Build"
- collection = @options[:id].nil? ? Aeolus::CLI::TargetImage.all : Aeolus::CLI::TargetImage.find(:all, :from => Aeolus::CLI::Base.site.path + "/builds/" + @options[:id] + "/target_images.xml")
+ collection = @options[:id] == 'all' ? Aeolus::CLI::TargetImage.all : Aeolus::CLI::TargetImage.find(:all, :from => Aeolus::CLI::Base.site.path + "/builds/" + @options[:id] + "/target_images.xml")
print_collection(collection, headers)
quit(0)
rescue => e
@@ -70,7 +70,19 @@ module Aeolus
headers[:provider] = "Provider"
headers[:status] = "Status"
headers[:target_image] = "Target Image"
- collection = @options[:id].nil? ? Aeolus::CLI::ProviderImage.all : Aeolus::CLI::ProviderImage.find(:all, :from => Aeolus::CLI::Base.site.path + "/target_images/" + @options[:id] + "/provider_images.xml")
+ headers[:account_name] = "Provider Name"
+ headers[:account_type] = "Provider Type"
+ collection = @options[:id] == 'all' ? Aeolus::CLI::ProviderImage.all : Aeolus::CLI::ProviderImage.find(:all, :from => Aeolus::CLI::Base.site.path + "/target_images/" + @options[:id] + "/provider_images.xml")
+
+ paccs = Aeolus::CLI::ProviderAccount.all.group_by(&:provider)
+
+ collection.map do |item|
+ prov = item.attributes[:provider]
+ item.attributes[:account_name] = paccs[prov].first.name
+ item.attributes[:account_type] = paccs[prov].first.provider_type
+ item
+ end
+
print_collection(collection, headers)
quit(0)
rescue => e
--
1.7.7.3
11 years, 6 months
Android Deltacloud App
by Martyn Taylor
Hi people,
I wrote a native Deltacloud Android App a while back but didn't get
round to sending it out, I thought now is as good of a time as any to
get it out there.
You can download the app from here:
http://martyntaylor.fedorapeople.org/dcdroid.apk
Please check it out, there are one or two minor issues atm. But all in
all it does the job. Please drop me aline if people have
suggestions/bugs etc... I will get round to setting up a Redmine/BZ
project soon.
One Note: The app uses the older style "one DC Instance per provider"
format (Since I wrote the Android client way before the newer format was
introduced).
Also, I've only tested this on a handful of displays though I written it
to be compatible with most (though it might not look so great).
Have fun
Martyn
11 years, 6 months