[PATCH conductor] Add the `enabled` field to providers
by Tomas Sedovic
From: Tomas Sedovic <tsedovic(a)redhat.com>
https://www.aeolusproject.org/redmine/issues/2229
This allows providers to be disabled.
A disabled provider is prevented from launching instances.
---
src/app/models/deployment.rb | 2 +-
src/app/models/instance.rb | 16 ++++++++++++++++
src/app/models/pool.rb | 4 ++++
src/app/models/pool_family.rb | 4 ++++
src/app/models/provider_account.rb | 4 ++++
...20110905150738_add_enabled_field_to_provider.rb | 9 +++++++++
src/spec/factories/instance.rb | 8 ++++++++
src/spec/factories/provider.rb | 4 ++++
src/spec/factories/provider_account.rb | 4 ++++
src/spec/models/instance_spec.rb | 12 ++++++++++++
10 files changed, 66 insertions(+), 1 deletions(-)
create mode 100644 src/db/migrate/20110905150738_add_enabled_field_to_provider.rb
diff --git a/src/app/models/deployment.rb b/src/app/models/deployment.rb
index ad6e5e3..acd195f 100644
--- a/src/app/models/deployment.rb
+++ b/src/app/models/deployment.rb
@@ -80,7 +80,7 @@ class Deployment < ActiveRecord::Base
end
def pool_must_be_enabled
- errors.add(:pool, "must be enabled") unless pool and pool.enabled
+ errors.add(:pool, "must be enabled") unless pool and pool.enabled?
end
def object_list
diff --git a/src/app/models/instance.rb b/src/app/models/instance.rb
index fad5b3d..a37d26b 100644
--- a/src/app/models/instance.rb
+++ b/src/app/models/instance.rb
@@ -116,12 +116,15 @@ class Instance < ActiveRecord::Base
validates_inclusion_of :state,
:in => STATES
+ validate :pool_and_account_enabled_validation
+
before_destroy :destroyable?
# A user should only be able to update certain attributes, but the API may permit other attributes to be
# changed if called from another Aeolus component, so attr_protected isn't quite what we want:
USER_MUTABLE_ATTRS = ['name']
+
def object_list
super + [pool, deployment]
end
@@ -158,6 +161,19 @@ class Instance < ActiveRecord::Base
return_val
end
+ def enabled?
+ pool and pool.enabled? and provider_account and provider_account.enabled?
+ end
+
+ def pool_and_account_enabled_validation
+ return if enabled?
+
+ errors.add(:pool, 'must be enabled') unless pool and pool.enabled?
+ unless provider_account and provider_account.enabled?
+ errors.add(:provider_account, 'must be enabled')
+ end
+ end
+
def image
Image.find(image_uuid) if image_uuid
diff --git a/src/app/models/pool.rb b/src/app/models/pool.rb
index d29675d..76516b7 100644
--- a/src/app/models/pool.rb
+++ b/src/app/models/pool.rb
@@ -76,6 +76,10 @@ class Pool < ActiveRecord::Base
instances.all? {|i| i.destroyable? }
end
+ def enabled?
+ self.enabled and pool_family and pool_family.enabled?
+ end
+
# TODO: Implement Alerts and Updates
def statistics
# TODO - Need to set up cache invalidation before this is safe
diff --git a/src/app/models/pool_family.rb b/src/app/models/pool_family.rb
index 1c82dbe..e80427b 100644
--- a/src/app/models/pool_family.rb
+++ b/src/app/models/pool_family.rb
@@ -64,4 +64,8 @@ class PoolFamily < ActiveRecord::Base
# A PoolFamily is destroyable unless it is the default PoolFamily
self != PoolFamily.default
end
+
+ def enabled?
+ provider_accounts.all? {|account| account.enabled?}
+ end
end
diff --git a/src/app/models/provider_account.rb b/src/app/models/provider_account.rb
index 538c4d6..6b3b6e9 100644
--- a/src/app/models/provider_account.rb
+++ b/src/app/models/provider_account.rb
@@ -123,6 +123,10 @@ class ProviderAccount < ActiveRecord::Base
instances.empty? || instances.all? { |i| i.destroyable? }
end
+ def enabled?
+ provider and provider.enabled?
+ end
+
def connect
begin
return DeltaCloud.new(credentials_hash['username'], credentials_hash['password'], provider.url)
diff --git a/src/db/migrate/20110905150738_add_enabled_field_to_provider.rb b/src/db/migrate/20110905150738_add_enabled_field_to_provider.rb
new file mode 100644
index 0000000..110ef16
--- /dev/null
+++ b/src/db/migrate/20110905150738_add_enabled_field_to_provider.rb
@@ -0,0 +1,9 @@
+class AddEnabledFieldToProvider < ActiveRecord::Migration
+ def self.up
+ add_column :providers, :enabled, :boolean, :null => false, :default => true
+ end
+
+ def self.down
+ remove_column :providers, :enabled
+ end
+end
diff --git a/src/spec/factories/instance.rb b/src/spec/factories/instance.rb
index de5768b..6fcedb7 100644
--- a/src/spec/factories/instance.rb
+++ b/src/spec/factories/instance.rb
@@ -39,4 +39,12 @@ FactoryGirl.define do
association :instance_key, :factory => :ec2_instance_key1
end
+ factory :instance_with_disabled_provider, :parent => :new_instance do
+ association :provider_account, :factory => :disabled_provider_account
+ end
+
+ factory :instance_in_disabled_pool, :parent => :new_instance do
+ association :pool, :factory => :disabled_pool
+ end
+
end
diff --git a/src/spec/factories/provider.rb b/src/spec/factories/provider.rb
index e62afcc..597d675 100644
--- a/src/spec/factories/provider.rb
+++ b/src/spec/factories/provider.rb
@@ -28,4 +28,8 @@ FactoryGirl.define do
after_create { |p| p.realms << FactoryGirl.create(:realm4, :provider => p) }
end
+ factory :disabled_provider, :parent => :mock_provider do
+ enabled false
+ end
+
end
diff --git a/src/spec/factories/provider_account.rb b/src/spec/factories/provider_account.rb
index d8a4c5e..be60c0c 100644
--- a/src/spec/factories/provider_account.rb
+++ b/src/spec/factories/provider_account.rb
@@ -26,4 +26,8 @@ FactoryGirl.define do
end
+ factory :disabled_provider_account, :parent => :mock_provider_account do
+ association :provider, :factory => :disabled_provider
+ end
+
end
diff --git a/src/spec/models/instance_spec.rb b/src/spec/models/instance_spec.rb
index 2da0841..2c43738 100644
--- a/src/spec/models/instance_spec.rb
+++ b/src/spec/models/instance_spec.rb
@@ -212,6 +212,18 @@ describe Instance do
export_string.include?("created").should be_true
end
+ it "should not be launchable if its provider is disabled" do
+ instance = FactoryGirl.build(:instance_with_disabled_provider)
+ instance.should_not be_enabled
+ instance.should_not be_valid
+ end
+
+ it "should not be launchable if its pool is disabled" do
+ instance = FactoryGirl.build(:instance_in_disabled_pool)
+ instance.should_not be_enabled
+ instance.should_not be_valid
+ end
+
context "When more instances of deployment are starting" do
it "should return true if first instance of deployment is running" do
deployment = Factory :deployment
--
1.7.6
12 years, 7 months
[PATCH 0/8] Layout changes and new administer section
by Jirka Tomasek
Redmine #2218, #2228, #2219
Folowing patches implement new administer section navigation and bring
some changes and polishing to layout.scss and makes primary tab
navigation to use simple navigation gem
These patches should be pushed to separate branch in conductor repo
12 years, 7 months
[PATCH 0/1 aeolus-image] Minor bugfixes
by Matt Wagner
These layer on top of the four patches on the list from Martyn, and correct a few roadblocks I had while trying to get this integrated into Conductor.
Best,
Matt
12 years, 7 months
redmine plugins
by Mo Morsi
As most of you know, we use redmine as our main project management /
issue tracking platform for Aeolus. The nice thing about this is that
it's a fairly extensible framework, allowing us to modify it to suite
our needs.
I just whipped together / pushed a few redmine plugins to our
installation to help satisfy a few missing pieces
*redmine_blogroll*
A rss/atom feed aggregation plugin used to generate the official aeolus
blogroll.
Currently consumes clalance's blog, lutter's, and my blog (only articles
tagged w/ 'aeolus') and displayed the aggregated content / exports a
feed of its own. If you have an rss feed that you would like to be
added, just send me the link
https://www.aeolusproject.org/redmine/blogroll?project_id=aeolus
https://github.com/movitto/redmine_blogroll
*redmine_static_*
A means which to upload static html content to redmine
https://www.aeolusproject.org/redmine/static?project_id=aeolus
https://github.com/movitto/redmine_static
*redmine_patchmine*
A patch tracker plugin still in development (not deployed to
aeolusproject.org/redmine yet). I have the code in place to take patches
from our list, associate them with redmine issues, and update those
issues depending on comments and any ACKs/NACKs. Also will provide a
better interface which to visualize patches on the list, allowing the
user to generate reports and sort by date and other metrics for patches
matching various criteria.
https://github.com/movitto/patchmine
Still working through various issues w/ the last one, but should have
something on the public website soon.
Any patches to any of these plugins are more than welcome.
-Mo
12 years, 7 months
[PATCH conductor 0/1] Updates CatalogEntry label to read "CatalogEntry"
by Matt Wagner
Eagle-eyed Wes caught the fact that we still showed "Deployable definition" for a dropdown on what used to be Suggested Deployables, but are now supposed to be Catalog Entries, and entered it as BZ 735249.
In the course of making the copy change, I elected to change the strings on that page to support internationalization.
-- Matt
12 years, 7 months
Wrong Fedora version on Website
by Robert Terhaar
Hi All,
I'm just starting to look into the Aeolus project, and I'm setting up a Fedora box to do testing and development. However, I noticed that the website refers to setting up a Aeolus server on Fedora14, but there are only packages for Fedora15 on the Yum repos. (for the testing branch)
I'm not complaining about updated packages, but you may want to update this section on the website to refer to Fedora 15 instead of 14:
http://www.aeolusproject.org/get_it.html#devfedora
12 years, 7 months
Image Factory and "os" TDL value
by Lukas Zapletal
Hello,
I am interested in values that comes in the os tag:
<os>
<name>Fedora</name>
<version>13</version>
<arch>x86_64</arch>
<install type='url'>
<url>http://example.org/fedora-13/os/</url>
</install>
</os>
I guess Katello will only support installation via "url", that is
kickstart tree url I hope (correct me if I am wrong). At least for the
first cut.
What are supported combinations of name-version-arch options? Shouldn't
Katello call Image Factory for the list of possible values? Because we
probably do not want user to set it incorrectly.
Or is the list of supported name-version-arch values hard-coded in the IF?
Thanks
--
Later,
Lukas "lzap" Zapletal
12 years, 7 months
Process
by Hugh O. Brock
Hello Aeolus folks.
I've had a number of complaints, or at least expressions of surprise,
recently from Aeolus newcomers about the process we use to post,
review, ACK, and push code to the master repo. Seems we are if not
behind the times at least hidebound, in the eyes of e.g. your typical
github guy.
In general I feel our process has served us well over the last couple
of releases -- in particular, I mandated the
"end-to-end-test-before-ack" policy a while back because we were
getting a high level of "this could never possibly have worked" type
of bugs in the master tree.
However I wonder if we couldn't move faster with some improvements to
the process. Simon Harris sent me
http://scottchacon.com/2011/08/31/github-flow.html this morning as an
example of how things might develop.
If any of you have felt restrained by an excess of process in the
project in the past, I'd appreciate you taking the time now to read
the above and propose changes to what we do. Thanks in advance.
Take care,
--Hugh (now returning to vacation)
--
== Hugh Brock, hbrock(a)redhat.com ==
== Engineering Manager, Cloud BU ==
== Aeolus Project: Manage virtual infrastructure across clouds. ==
== http://aeolusproject.org ==
"I know that you believe you understand what you think I said, but I’m
not sure you realize that what you heard is not what I meant."
--Robert McCloskey
12 years, 7 months
[PATCH conductor 0/1] Remove compass
by Richard Su
I'm seeing issues, "uninitialized constant FactoryGirl", when running
tests with and without this patch.
Posting this patch to the list anyways so that someone else doesn't
duplicate work.
12 years, 7 months
[PATCH configure 2/2] Moved rhevm and vsphere configs into profiles
by Richard Su
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.
---
bin/aeolus-configure | 10 +++-
conf/default_cleanup | 2 +-
conf/default_configure | 25 +--------
conf/default_rhevm | 19 +++++++
conf/default_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 ++--
11 files changed, 163 insertions(+), 92 deletions(-)
create mode 100644 conf/default_rhevm
create mode 100644 conf/default_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/bin/aeolus-configure b/bin/aeolus-configure
index 4aacbf3..440d4e2 100644
--- a/bin/aeolus-configure
+++ b/bin/aeolus-configure
@@ -4,17 +4,18 @@ usage()
cat << EOF
USAGE:
-aeolus-configure [-d|--debug] [-h|--help] [-v|--verbose] [-i|--interactive]
+aeolus-configure [-d|--debug] [-h|--help] [-v|--verbose] [-i|--interactive] [-p|--profile]
OPTIONS:
-h | --help Show this message.
-d | --debug Debug logging mode.
-v | --verbose Verbose logging mode.
-i | --interactive Interactive installer.
+ -p | --profile Profile to use. Examples are configure, rhevm, and vmware.
EOF
}
-args=`getopt -o :hdvi --long help,debug,verbose,interactive -- "$@"`
+args=`getopt -o :hdvip --long help,debug,verbose,interactive,profile -- "$@"`
if test $? != 0
then
usage
@@ -30,12 +31,15 @@ while true ; do
-d|--debug) LOGLEVEL="--debug" ; shift ;;
-v|--verbose) LOGLEVEL="--verbose" ; shift ;;
-i|--interactive) INTERACTIVE=0 ; shift ;;
+ -p|--profile) PUPPET_NODE=$3 ; shift ;;
--) shift ; break ;;
*) usage ; exit 1 ;;
esac
done
-PUPPET_NODE='configure'
+if [[ $PUPPET_NODE = "" ]] ; then
+ PUPPET_NODE='configure'
+fi
if [[ $INTERACTIVE -eq 0 ]] ; then
PUPPET_NODE='custom'
diff --git a/conf/default_cleanup b/conf/default_cleanup
index c17134e..9f7d842 100644
--- a/conf/default_cleanup
+++ b/conf/default_cleanup
@@ -19,6 +19,6 @@ classes:
- aeolus::image-factory::disabled
- aeolus::deltacloud::disabled
# Uncomment this to clean up RHEV details
-#- aeolus::rhevm::disabled
+#- aeolus::profiles::rhevm::disabled
# Uncomment to remove vmware
#- aeolus::vmware::disabled
diff --git a/conf/default_configure b/conf/default_configure
index 9b570a8..db33897 100644
--- a/conf/default_configure
+++ b/conf/default_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/default_rhevm b/conf/default_rhevm
new file mode 100644
index 0000000..14d1080
--- /dev/null
+++ b/conf/default_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/default_vsphere b/conf/default_vsphere
new file mode 100644
index 0000000..b000bc4
--- /dev/null
+++ b/conf/default_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
12 years, 7 months