From: Dan Radez <dradez(a)redhat.com>
---
src/app/models/deployment.rb | 18 +++++++++++++++++-
src/app/models/instance.rb | 1 +
src/app/models/instance_parameter.rb | 3 +++
src/app/util/config_server_util.rb | 4 ++--
src/app/views/instances/_parameters.haml | 10 ++++++++++
src/app/views/instances/show.haml | 1 +
src/config/routes.rb | 1 +
.../20110912194246_create_instance_parameters.rb | 17 +++++++++++++++++
8 files changed, 52 insertions(+), 3 deletions(-)
create mode 100644 src/app/models/instance_parameter.rb
create mode 100644 src/app/views/instances/_parameters.haml
create mode 100644 src/db/migrate/20110912194246_create_instance_parameters.rb
diff --git a/src/app/models/deployment.rb b/src/app/models/deployment.rb
index 654a5f3..affb5e0 100644
--- a/src/app/models/deployment.rb
+++ b/src/app/models/deployment.rb
@@ -196,6 +196,7 @@ class Deployment < ActiveRecord::Base
:owner => user,
:hardware_profile => hw_profile
)
+
task = InstanceTask.create!({:user => user,
:task_target => instance,
:action => InstanceTask::ACTION_CREATE})
@@ -362,6 +363,21 @@ class Deployment < ActiveRecord::Base
:owner => user,
:hardware_profile => hw_profile
)
+ # store the assembly's parameters
+ assembly.services.each do |service|
+ service.parameters.each do |parameter|
+ if not parameter.reference?
+ param = InstanceParameter.create!(
+ :instance => instance,
+ :service => service.name,
+ :name => parameter.name,
+ :type => parameter.type,
+ :value => parameter.value
+ )
+ end
+ end
+ end
+
assembly_instances[assembly.name] = instance
end
rescue
@@ -389,7 +405,7 @@ class Deployment < ActiveRecord::Base
:task_target => instance,
:action => InstanceTask::ACTION_CREATE})
config_server.send_config(config)
- condormatic_instance_create(task, found)
+ Taskomatic.create_instance(task)
if task.state == Task::STATE_FAILED
status[:errors][assembly_name] = 'failed'
else
diff --git a/src/app/models/instance.rb b/src/app/models/instance.rb
index 9772e8c..5c3e63f 100644
--- a/src/app/models/instance.rb
+++ b/src/app/models/instance.rb
@@ -79,6 +79,7 @@ class Instance < ActiveRecord::Base
:include => [:role],
:order => "permissions.id ASC"
has_many :events, :as => :source, :dependent => :destroy
+ has_many :instance_parameters, :dependent => :destroy
after_create "assign_owner_roles(owner)"
validates_presence_of :pool_id
diff --git a/src/app/models/instance_parameter.rb b/src/app/models/instance_parameter.rb
new file mode 100644
index 0000000..e42c4d2
--- /dev/null
+++ b/src/app/models/instance_parameter.rb
@@ -0,0 +1,3 @@
+class InstanceParameter < ActiveRecord::Base
+ belongs_to :instance
+end
diff --git a/src/app/util/config_server_util.rb b/src/app/util/config_server_util.rb
index e524488..34e17ce 100644
--- a/src/app/util/config_server_util.rb
+++ b/src/app/util/config_server_util.rb
@@ -122,8 +122,8 @@ module ConfigServerUtil
end
def files
- @files ||= if @svc.config_tooling and not @svc.config_tooling.files.empty?
- @svc.config_tooling.files.map {|f| f.url}
+ @files ||= if not @svc.files.empty?
+ @svc.files
else []; end
end
diff --git a/src/app/views/instances/_parameters.haml
b/src/app/views/instances/_parameters.haml
new file mode 100644
index 0000000..cf0eb48
--- /dev/null
+++ b/src/app/views/instances/_parameters.haml
@@ -0,0 +1,10 @@
+%h3
+ Config Parameters for
+ = @instance.name
+%ul
+ - @instance.instance_parameters.each do |parameter|
+ %li
+ = parameter.service
+ = parameter.name
+ = parameter.type
+ = parameter.value
diff --git a/src/app/views/instances/show.haml b/src/app/views/instances/show.haml
index dd07696..882abac 100644
--- a/src/app/views/instances/show.haml
+++ b/src/app/views/instances/show.haml
@@ -1,3 +1,4 @@
= render :partial => 'layouts/nav_history'
= render :partial => 'properties'
+= render :partial => 'parameters'
= render :partial => 'history'
diff --git a/src/config/routes.rb b/src/config/routes.rb
index 9e35890..c2fc525 100644
--- a/src/config/routes.rb
+++ b/src/config/routes.rb
@@ -118,6 +118,7 @@ Conductor::Application.routes.draw do
member do
get 'key'
end
+ resources :instance_parameters
end
resources :image_imports
diff --git a/src/db/migrate/20110912194246_create_instance_parameters.rb
b/src/db/migrate/20110912194246_create_instance_parameters.rb
new file mode 100644
index 0000000..a6bf896
--- /dev/null
+++ b/src/db/migrate/20110912194246_create_instance_parameters.rb
@@ -0,0 +1,17 @@
+class CreateInstanceParameters < ActiveRecord::Migration
+ def self.up
+ create_table :instance_parameters do |t|
+ t.string :service
+ t.string :name
+ t.string :type
+ t.string :value
+ t.references :instance
+
+ t.timestamps
+ end
+ end
+
+ def self.down
+ drop_table :instance_parameters
+ end
+end
--
1.7.4.4