Puppet Class: opennebula::econe

Inherits:
opennebula::params
Defined in:
manifests/econe.pp

Overview

Setup the OpenNebula econe server EC2 interface.

This interface is Sinatra based. Currently it uses Webrick as a web server however it is recommended we improve this to use Apache + Passenger.

Parameters

one_xmlrpc

Optional URL where your oned xmlrpc server is located.

port

Optional Port to listen on.

server

Optional Server where econe will run.

sinatra_package

Optional Package(s) for installing Ruby Sinatra.

econe_conf_path

Optional Path to econe.conf.

curl_package

Optional Package(s) for installing curl.

Variables

N/A

Examples

Basic example:

# You must always include the controller
class { 'opennebula::controller': oneadmin_password => "foo" }
class { 'opennebula::econe':
  one_server => "one.mydomain.com",
}

Authors

Ken Barber <ken@bob.sh>

Copyright 2011 Puppetlabs Inc, unless otherwise noted.

Parameters:

  • one_xmlrpc (Any) (defaults to: "http://localhost:2633/RPC2")
  • port (Any) (defaults to: 4567)
  • server (Any) (defaults to: $fqdn)
  • sinatra_package (Any) (defaults to: $opennebula::params::sinatra_package)
  • econe_conf_path (Any) (defaults to: $opennebula::params::econe_conf_path)
  • curl_package (Any) (defaults to: $opennebula::params::curl_package)


43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# File 'manifests/econe.pp', line 43

class opennebula::econe (
  
  $one_xmlrpc = "http://localhost:2633/RPC2",
  $port = 4567,
  $server = $fqdn,
  $sinatra_package = $opennebula::params::sinatra_package,
  $econe_conf_path = $opennebula::params::econe_conf_path,
  $curl_package = $opennebula::params::curl_package
  
  ) inherits opennebula::params {
    
  # Currently we require parts of opennebula::controller  
  require(opennebula::controller)

  ########
  # Gems #
  ########
  package { "amazon-ec2":
    ensure => "0.5.5",
    provider => "gem",
  }
  package { ["curb", "uuid"]:
    ensure => installed,
    provider => "gem",
  }

  ############
  # Packages #
  ############
  package { $curl_package:
    ensure => installed,
    before => Package["curb"],
  }

  package { $sinatra_package:
    ensure => installed,
  }

  #################
  # Configuration #
  #################
  file { $econe_conf_path:
    owner => "root",
    group => "root",
    mode => "0644",
    content => template("opennebula/econe.conf"),
  }

}