Overall looks good, though there are a few things that need to be fixed
before this can go in.
On 09/08/2011 03:31 PM, Richard Su wrote:
<snip>
diff --git a/conf/configure b/conf/configure
index ce79878..9b570a8 100644
--- a/conf/configure
+++ b/conf/configure
@@ -22,7 +22,7 @@ parameters:
# rhevm_nfs_server:
nfs.server.com
# rhevm_nfs_export: /export/export_domain
# rhevm_nfs_mount_point: /mnt/rhevm-nfs
-# rhevm_deltacloud_port: 3005
+# rhevm_deltacloud_port: 3002
# rhevm_deltacloud_username: username@fqdn
# rhevm_deltacloud_password: password
# rhevm_deltacloud_powershell_url:
https://rhevm.server.com:8543/rhevm-api-powershell
@@ -33,12 +33,14 @@ parameters:
# vmware_password: password
# vmware_datastore: datastore
# vmware_network_name: network_name
-# vmware_deltacloud_port: 3006
+# vmware_deltacloud_port: 3002
Since the port is now set in the deltacloud init script, these comments
are no longer necessary (uncommenting them does not affect anything and
thus they should be removed).
classes:
- aeolus::conductor
- aeolus::image-factory
- aeolus::iwhd
- aeolus::profiles::default
+- aeolus::deltacloud::core
+- aeolus::deltacloud::ec2
# Uncomment this section to include rhev setup
#- aeolus::rhevm
#
diff --git a/recipes/aeolus/manifests/conductor.pp
b/recipes/aeolus/manifests/conductor.pp
index aded6b3..aeaac87 100644
--- a/recipes/aeolus/manifests/conductor.pp
+++ b/recipes/aeolus/manifests/conductor.pp
@@ -42,7 +42,6 @@ class aeolus::conductor inherits aeolus {
} else{
apache::site{"aeolus-conductor": source =>
'puppet:///modules/aeolus/aggregator-httpd.conf'}
}
-
Some whitespace changes. NBD though.
<snip>
diff --git a/recipes/aeolus/manifests/deltacloud.pp
b/recipes/aeolus/manifests/deltacloud.pp
index df01d5a..ce9ad05 100644
--- a/recipes/aeolus/manifests/deltacloud.pp
+++ b/recipes/aeolus/manifests/deltacloud.pp
@@ -7,6 +7,21 @@ class aeolus::deltacloud::core {
package { 'deltacloud-core':
ensure => 'installed',
provider => $package_provider }
+
+ ### we need to sync time to communicate w/ cloud providers
+ include ntp::client
+
+ ### Start the aeolus services
+ file { "/var/log/deltacloud-core": ensure => 'directory' }
+ file {"/etc/init.d/deltacloud-core":
+ content => template("aeolus/deltacloud-core"),
+ mode => 755 }
Since we no longer have to define multiple init scripts depending on the
end user's choice of cloud providers, the single init script probably
should be eventually shipped w/ the deltacloud-core rpm. This is fine
for the time being though.
+
+ service { 'deltacloud-core':
+ ensure => 'running',
+ enable => true,
+ hasstatus => true,
+ require => [Package['deltacloud-core'],
File["/etc/init.d/deltacloud-core", "/var/log/deltacloud-core"]]}
}
class aeolus::deltacloud::ec2 {
@@ -17,39 +32,10 @@ class aeolus::deltacloud::ec2 {
provider => $package_provider }
}
-
-# install the deltacloud component w/ the specified driver
-define aeolus::deltacloud($provider_type="", $endpoint='',
$port="3002") {
- include aeolus::deltacloud::core
-
- if $provider_type == "ec2" {
- include aeolus::deltacloud::ec2
- }
This include was removed here but never readded anywhere else. It is
required to pull in rubygem-aws as required by the deltacloud ec2
driver. Should be added to the default profile / node yml.
<snip>
-
-# Create a new provider in aeolus
-define aeolus::provider($type, $port, $endpoint=""){
- aeolus::deltacloud{$name: provider_type => $type, endpoint => $endpoint, port
=> $port}
- aeolus::conductor::provider{$name:
- type => $type,
- url =>
"http://localhost:${port}/api",
- require => Aeolus::Deltacloud[$name] }
-}
diff --git a/recipes/aeolus/manifests/profiles/default.pp
b/recipes/aeolus/manifests/profiles/default.pp
The changes to the default profile will also need to be added to the
interactive installer for the custom profile. It's not critical ATM
though, and can be added in a follow on patch.
index b76cee5..8df15ac 100644
--- a/recipes/aeolus/manifests/profiles/default.pp
+++ b/recipes/aeolus/manifests/profiles/default.pp
@@ -11,33 +11,34 @@ class aeolus::profiles::default {
aeolus::conductor::login{"admin": password => "password",
require => Aeolus::Conductor::Site_admin['admin']}
- aeolus::provider{"mock":
- type => 'mock',
- port => 3002,
+ aeolus::conductor::provider{"mock":
+ type_id => '1',
+ url => 'http://localhost:3002/api',
require => Aeolus::Conductor::Login["admin"] }
+
"type_id" is the major caveat with this patch. We should be referring to
provider type in the same way we were, eg by name, not by id.
aeolus::conductor::hwp{"hwp1":
memory => "512",
cpu => "1",
- storage => "1",
+ storage => "",
architecture => "x86_64",
require => Aeolus::Conductor::Login["admin"] }
This change breaks rackspace support for this HWP, is it necessary?
diff --git a/recipes/aeolus/manifests/rhevm.pp
b/recipes/aeolus/manifests/rhevm.pp
index daa84d2..cc1d051 100644
--- a/recipes/aeolus/manifests/rhevm.pp
+++ b/recipes/aeolus/manifests/rhevm.pp
@@ -27,15 +27,10 @@ class aeolus::rhevm inherits aeolus {
File["/etc/rhevm.json"],
File["/etc/iwhd/conf.js"]]}
- aeolus::deltacloud{"rhevm":
- provider_type => 'rhevm',
- endpoint => "$rhevm_deltacloud_powershell_url",
- port => $rhevm_deltacloud_port}
-
- aeolus::conductor::provider{"rhevm":
+ aeolus::provider{"rhevm":
type => "rhevm",
- url => "http://localhost:${rhevm_deltacloud_port}/api",
- require => Aeolus::Deltacloud["rhevm"]}
+ port => 3002,
+ require => Aeolus::Conductor::Login["admin"] }
I'm not sure if I understand this change. It looks like you are
replacing the newer 'aeolus::conductor::provider' with the now removed
'aeolus::provider'.
# TODO:
# 1. since we have credentials, create provider account
@@ -43,7 +38,6 @@ class aeolus::rhevm inherits aeolus {
}
class aeolus::rhevm::disabled {
- aeolus::deltacloud::disabled{"rhevm": }
mount {"$rhevm_nfs_mount_point":
ensure => unmounted,
diff --git a/recipes/aeolus/manifests/vmware.pp b/recipes/aeolus/manifests/vmware.pp
index 4772b15..cafb015 100644
--- a/recipes/aeolus/manifests/vmware.pp
+++ b/recipes/aeolus/manifests/vmware.pp
@@ -4,19 +4,11 @@ class aeolus::vmware inherits aeolus {
mode => 755,
require => Package['aeolus-conductor-daemons'] }
- aeolus::deltacloud{"vsphere":
- provider_type => 'vsphere',
- endpoint => "$vmware_api_endpoint",
- port => $vmware_deltacloud_port}
-
- aeolus::conductor::provider{"vsphere":
- type => "vsphere",
- url => "http://localhost:${vmware_deltacloud_port}/api",
- require => [Aeolus::Deltacloud["vsphere"]]}
-
+ aeolus::provider{"vsphere":
+ type => "vsphere",
+ port => 3002,
+ require => [Aeolus::Conductor::Login["admin"]] }
}
Same with this change.
<snip>
+DRIVER="${DRIVER:-ec2}"
Would it be more desirable to default to the 'mock' driver instead of
'ec2'?
The rest looks good and the patch works. As soon as these changes are
made, I'll ACK.
-Mo