New -p/--profile option in aeolus-configure to select which
profile to run. To setup rhevm, run "aeolus-configure -p rhevm",
and to setup vsphere, run "aeolus-configure -p vsphere". Default
profile is selected if one isn't specified.
rhevm and vsphere configuration parameters have moved out of
default_configure and into default_rhevm and default_vsphere
in /etc/aeolus-configure/nodes. To make naming consistent,
vmware parameters have been renamed to vsphere.
---
conf/cleanup | 4 +-
conf/configure | 25 +--------
conf/rhevm | 19 +++++++
conf/vsphere | 18 ++++++
recipes/aeolus/manifests/profiles/rhevm.pp | 73 ++++++++++++++++++++++++++
recipes/aeolus/manifests/profiles/vsphere.pp | 37 +++++++++++++
recipes/aeolus/manifests/rhevm.pp | 45 ----------------
recipes/aeolus/manifests/vmware.pp | 14 -----
recipes/aeolus/templates/rhevm.json | 2 +-
recipes/aeolus/templates/vmware.json | 10 ++--
10 files changed, 156 insertions(+), 91 deletions(-)
create mode 100644 conf/rhevm
create mode 100644 conf/vsphere
create mode 100644 recipes/aeolus/manifests/profiles/rhevm.pp
create mode 100644 recipes/aeolus/manifests/profiles/vsphere.pp
delete mode 100644 recipes/aeolus/manifests/rhevm.pp
delete mode 100644 recipes/aeolus/manifests/vmware.pp
diff --git a/conf/cleanup b/conf/cleanup
index c17134e..5e2fcd7 100644
--- a/conf/cleanup
+++ b/conf/cleanup
@@ -19,6 +19,4 @@ classes:
- aeolus::image-factory::disabled
- aeolus::deltacloud::disabled
# Uncomment this to clean up RHEV details
-#- aeolus::rhevm::disabled
-# Uncomment to remove vmware
-#- aeolus::vmware::disabled
+#- aeolus::profiles::rhevm::disabled
diff --git a/conf/configure b/conf/configure
index 9b570a8..db33897 100644
--- a/conf/configure
+++ b/conf/configure
@@ -12,37 +12,16 @@
#apart from https on the web server for conductor, you should
#consider intermachine communications insecure. Securing
#intermachine service calls is on the roadmap.
+#
---
parameters:
enable_https: true
enable_security: false
package_provider: rpm
-# Uncomment this section and provide reasonable values to
-# enable RHEV values to be populated.
-# rhevm_nfs_server:
nfs.server.com
-# rhevm_nfs_export: /export/export_domain
-# rhevm_nfs_mount_point: /mnt/rhevm-nfs
-# 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
-#
-# Uncomment this section and provide appropriate values to configure vmware
-# vmware_api_endpoint:
vsphere.server.com
-# vmware_username: username
-# vmware_password: password
-# vmware_datastore: datastore
-# vmware_network_name: network_name
-# vmware_deltacloud_port: 3002
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
-#
-# Uncomment this section to include vmware setup
-#- aeolus::vmware
+- aeolus::profiles::default
diff --git a/conf/rhevm b/conf/rhevm
new file mode 100644
index 0000000..14d1080
--- /dev/null
+++ b/conf/rhevm
@@ -0,0 +1,19 @@
+---
+parameters:
+ enable_https: true
+ enable_security: false
+ package_provider: rpm
+# Uncomment and provide values to match your RHEV environment.
+# Values below are examples.
+# rhevm_nfs_server:
nfs.server.com
+# rhevm_nfs_export: /export/export_domain
+# rhevm_nfs_mount_point: /mnt/rhevm-nfs
+# rhevm_deltacloud_username: username@fqdn
+# rhevm_deltacloud_password: password
+# rhevm_deltacloud_provider:
https://rhevm.server.com:8443/api
+classes:
+- aeolus::conductor
+- aeolus::image-factory
+- aeolus::iwhd
+- aeolus::deltacloud::core
+- aeolus::profiles::rhevm
diff --git a/conf/vsphere b/conf/vsphere
new file mode 100644
index 0000000..b000bc4
--- /dev/null
+++ b/conf/vsphere
@@ -0,0 +1,18 @@
+---
+parameters:
+ enable_https: true
+ enable_security: false
+ package_provider: rpm
+# Uncomment and provide values to match your vSphere environment.
+# Values below are examples.
+# vsphere_deltacloud_provider:
vsphere.server.com
+# vsphere_username: username
+# vsphere_password: password
+# vsphere_datastore: datastore
+# vsphere_network_name: network_name
+classes:
+- aeolus::conductor
+- aeolus::image-factory
+- aeolus::iwhd
+- aeolus::deltacloud::core
+- aeolus::profiles::vsphere
diff --git a/recipes/aeolus/manifests/profiles/rhevm.pp
b/recipes/aeolus/manifests/profiles/rhevm.pp
new file mode 100644
index 0000000..17feeb4
--- /dev/null
+++ b/recipes/aeolus/manifests/profiles/rhevm.pp
@@ -0,0 +1,73 @@
+class aeolus::profiles::rhevm {
+ file {"/etc/rhevm.json":
+ content => template("aeolus/rhevm.json"),
+ mode => 755,
+ require => Package['aeolus-conductor-daemons'] }
+
+ file {"/etc/iwhd/conf.js":
+ content => template("aeolus/iwhd-conf.js"),
+ mode => 755,
+ require => Package['aeolus-conductor-daemons'] }
+
+ file {"$rhevm_nfs_mount_point":
+ ensure => 'directory'}
+
+ mount {"$rhevm_nfs_mount_point":
+ ensure => mounted,
+ device => "$rhevm_nfs_server:$rhevm_nfs_export",
+ fstype => "nfs",
+ options => "rw",
+ require => File["$rhevm_nfs_mount_point"]}
+
+ # give iwhd a restart to pick up new configuration files
+ # in the event iwhd had already initialized at /var/lib/iwhd
+ exec { "/sbin/service iwhd restart":
+ require => [Service['iwhd'],
+ Mount["$rhevm_nfs_mount_point"],
+ File["/etc/rhevm.json"],
+ File["/etc/iwhd/conf.js"]]}
+
+ aeolus::create_bucket{"aeolus":}
+
+ aeolus::conductor::site_admin{"admin":
+ email => 'dcuser(a)aeolusproject.org',
+ password => "password",
+ first_name => 'aeolus',
+ last_name => 'user'}
+
+ aeolus::conductor::login{"admin": password => "password",
+ require => Aeolus::Conductor::Site_admin['admin']}
+
+ aeolus::conductor::provider{"rhevm":
+ type_id => "5",
+ url => "http://localhost:3002/api",
+ deltacloud_provider => "$rhevm_deltacloud_provider",
+ require => Aeolus::Conductor::Login["admin"] }
+
+ aeolus::conductor::provider::account{"rhevm":
+ provider => 'rhevm',
+ type => 'rhevm',
+ username => '$rhevm_deltacloud_username',
+ password => '$rhevm_deltacloud_password',
+ require => Aeolus::Conductor::Provider["rhevm"] }
+
+ aeolus::conductor::hwp{"hwp1":
+ memory => "512",
+ cpu => "1",
+ storage => "",
+ architecture => "x86_64",
+ require => Aeolus::Conductor::Login["admin"] }
+
+ aeolus::conductor::logout{"admin":
+ require => [Aeolus::Conductor::Provider['rhevm'],
+ Aeolus::Conductor::Provider::Account['rhevm'],
+ Aeolus::Conductor::Hwp['hwp1']] }
+
+ # TODO: create a realm and mappings
+}
+
+class aeolus::profiles::rhevm::disabled {
+ mount {"$rhevm_nfs_mount_point":
+ ensure => unmounted,
+ device => "$rhevm_nfs_server:$rhevm_nfs_export"}
+}
diff --git a/recipes/aeolus/manifests/profiles/vsphere.pp
b/recipes/aeolus/manifests/profiles/vsphere.pp
new file mode 100644
index 0000000..838fd87
--- /dev/null
+++ b/recipes/aeolus/manifests/profiles/vsphere.pp
@@ -0,0 +1,37 @@
+class aeolus::profiles::vsphere {
+ aeolus::create_bucket{"aeolus":}
+
+ aeolus::conductor::site_admin{"admin":
+ email => 'dcuser(a)aeolusproject.org',
+ password => "password",
+ first_name => 'aeolus',
+ last_name => 'user'}
+
+ aeolus::conductor::login{"admin": password => "password",
+ require => Aeolus::Conductor::Site_admin['admin']}
+
+ aeolus::conductor::provider{"vsphere":
+ type_id => "8",
+ url => "http://localhost:3002/api",
+ deltacloud_provider => "$vsphere_deltacloud_provider",
+ require => [Aeolus::Conductor::Login["admin"]] }
+
+ aeolus::conductor::provider::account{"vsphere":
+ provider => 'vsphere',
+ type => 'vsphere',
+ username => '$vsphere_username',
+ password => '$vsphere_password',
+ require => Aeolus::Conductor::Provider["vsphere"] }
+
+ aeolus::conductor::hwp{"hwp1":
+ memory => "512",
+ cpu => "1",
+ storage => "",
+ architecture => "x86_64",
+ require => Aeolus::Conductor::Login["admin"] }
+
+ aeolus::conductor::logout{"admin":
+ require => [Aeolus::Conductor::Provider['vsphere'],
+ Aeolus::Conductor::Provider::Account['vsphere'],
+ Aeolus::Conductor::Hwp['hwp1']] }
+}
diff --git a/recipes/aeolus/manifests/rhevm.pp b/recipes/aeolus/manifests/rhevm.pp
deleted file mode 100644
index cc1d051..0000000
--- a/recipes/aeolus/manifests/rhevm.pp
+++ /dev/null
@@ -1,45 +0,0 @@
-class aeolus::rhevm inherits aeolus {
- file {"/etc/rhevm.json":
- content => template("aeolus/rhevm.json"),
- mode => 755,
- require => Package['aeolus-conductor-daemons'] }
-
- file {"/etc/iwhd/conf.js":
- content => template("aeolus/iwhd-conf.js"),
- mode => 755,
- require => Package['aeolus-conductor-daemons'] }
-
- file {"$rhevm_nfs_mount_point":
- ensure => 'directory'}
-
- mount {"$rhevm_nfs_mount_point":
- ensure => mounted,
- device => "$rhevm_nfs_server:$rhevm_nfs_export",
- fstype => "nfs",
- options => "rw",
- require => File["$rhevm_nfs_mount_point"]}
-
- # give iwhd a restart to pick up new configuration files
- # in the event iwhd had already initialized at /var/lib/iwhd
- exec { "/sbin/service iwhd restart":
- require => [Service['iwhd'],
- Mount["$rhevm_nfs_mount_point"],
- File["/etc/rhevm.json"],
- File["/etc/iwhd/conf.js"]]}
-
- aeolus::provider{"rhevm":
- type => "rhevm",
- port => 3002,
- require => Aeolus::Conductor::Login["admin"] }
-
- # TODO:
- # 1. since we have credentials, create provider account
- # 2. create a realm and mappings
-}
-
-class aeolus::rhevm::disabled {
-
- mount {"$rhevm_nfs_mount_point":
- ensure => unmounted,
- device => "$rhevm_nfs_server:$rhevm_nfs_export"}
-}
diff --git a/recipes/aeolus/manifests/vmware.pp b/recipes/aeolus/manifests/vmware.pp
deleted file mode 100644
index cafb015..0000000
--- a/recipes/aeolus/manifests/vmware.pp
+++ /dev/null
@@ -1,14 +0,0 @@
-class aeolus::vmware inherits aeolus {
- file {"/etc/vmware.json":
- content => template("aeolus/vmware.json"),
- mode => 755,
- require => Package['aeolus-conductor-daemons'] }
-
- aeolus::provider{"vsphere":
- type => "vsphere",
- port => 3002,
- require => [Aeolus::Conductor::Login["admin"]] }
-}
-
-class aeolus::vmware::disabled {
-}
diff --git a/recipes/aeolus/templates/rhevm.json b/recipes/aeolus/templates/rhevm.json
index 45e6d67..6a2bb43 100644
--- a/recipes/aeolus/templates/rhevm.json
+++ b/recipes/aeolus/templates/rhevm.json
@@ -5,7 +5,7 @@
"nfs-dir": "<%= rhevm_nfs_mount_point %>",
"nfs-path": "<%= rhevm_nfs_export %>",
"nfs-host": "<%= rhevm_nfs_server %>",
- "api-url": "<%= rhevm_deltacloud_powershell_url %>",
+ "api-url": "<%= rhevm_deltacloud_provider %>",
"password": "<%= rhevm_deltacloud_password %>",
"cluster": "_any_"
}
diff --git a/recipes/aeolus/templates/vmware.json b/recipes/aeolus/templates/vmware.json
index ec69d5e..6f70d62 100644
--- a/recipes/aeolus/templates/vmware.json
+++ b/recipes/aeolus/templates/vmware.json
@@ -1,10 +1,10 @@
{
"vsphere":
{
- "api-url": "https://<%= vmware_api_endpoint %>/sdk",
- "username": "<%= vmware_username %>",
- "password": "<%= vmware_password %>",
- "datastore": "<%= vmware_datastore %>",
- "network_name": "<%= vmware_network_name %>"
+ "api-url": "https://<%= vsphere_deltacloud_provider
%>/sdk",
+ "username": "<%= vsphere_username %>",
+ "password": "<%= vsphere_password %>",
+ "datastore": "<%= vsphere_datastore %>",
+ "network_name": "<%= vsphere_network_name %>"
}
}
--
1.7.6