Puppet Class: one

Defined in:
manifests/init.pp

Overview

Class one

Installation and Configuration of OpenNebula opennebula.org/

Author

ePost Development GmbH © 2013

Contributors:

  • Martin Alfke

  • Achim Ledermueller (Netways GmbH)

  • Sebastian Saemann (Netways GmbH)

Parameters

$oneid <string> - default to one-cloud

set the id of the cloud

$node true|false - default true

defines whether the host is node (virtualization host/worker)

$vtype - default kvm

set virtualization type for opennebula compute node
supported vtypes:
 - kvm
 - xen3
 - xen4
 - vmware
 - ec2
 - dummy
 - qemu

$ntype - default 802.1Q

set network type for opennebula compute node
supported tyes
 - 802.1Q
 - ebtables
 - firewall
 - ovswitch
 - vmware

$oned true|false - default false

defines whether OpenNebula-Daemon should be installed.
OpenNebula-Daemon needs to run on the system where you want to manage your
OpenNebula systems.
You need exactly one OpenNebula Daemon in your infrastructure.

$backend sqlite|mysql - default to sqlite

defines which backend should be used
supports sqlite or mysql
does not install mysql server, only uses information from params.pp

$sunstone true|false - default false

defines where the Sunstone Webinterface should be installed.
Sunstone Webinterface is fully optional.

$sunstone_passenger - default false

defines whether Sunstone Webinterface should be started by apache instead of webrick
needs separate apache config
only used if $sunstone is set to true

$ldap true|false - default false

defines whether sunstone authentication to ldap should be enabled
ldap is fully optional

$ha_setup true | false - default false

defines whether the oned should be run on boot

$oneflow true|false - default false

defines whether the oneflow service should be installed

$puppetdb true|false - default false

defines to use puppetDB to discover peer nodes

$debug_level - default 0

defines the debug level under which oned and sunstone are running

Usage

install compute node class { one: }

install opennebula management node (without sunstone webinterface) class { one: oned => true }

install opennebula management node with sunstone webinterface class { one:

oned => true,
sunstone => true,

}

install opennebula sunstone webinterface only class { one: sunstone => true }

installation of optional oneflow and onegate requires oned. class { one:

oned => true,
oneflow => true,
onegate => true,

}

License

Apache License Version 2.0 www.apache.org/licenses/LICENSE-2.0.html

Parameters:

  • oneid (Any) (defaults to: 'one-cloud')
  • node (Any) (defaults to: true)
  • vtype (Any) (defaults to: 'kvm')
  • ntype (Any) (defaults to: '802.1Q')
  • oned (Any) (defaults to: false)
  • sunstone (Any) (defaults to: false)
  • sunstone_passenger (Any) (defaults to: false)
  • ldap (Any) (defaults to: false)
  • oneflow (Any) (defaults to: false)
  • onegate (Any) (defaults to: false)
  • backend (Any) (defaults to: 'sqlite')
  • ha_setup (Any) (defaults to: false)
  • puppetdb (Any) (defaults to: false)
  • debug_level (Any) (defaults to: '0')


107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
# File 'manifests/init.pp', line 107

class one ( $oneid              = 'one-cloud',
            $node               = true,
            $vtype              = 'kvm',
            $ntype              = '802.1Q',
            $oned               = false,
            $sunstone           = false,
            $sunstone_passenger = false,
            $ldap               = false,
            $oneflow            = false,
            $onegate            = false,
            $backend            = 'sqlite',
            $ha_setup           = false,
            $puppetdb           = false,
            $debug_level        = '0',
            ) {
  include one::params
  if ($oned) {
    if ( member(['kvm','xen3','xen4','vmware','ec2', 'qemu'], $vtype) ) {
      if ( member(['802.1Q','ebtables','firewall','ovswitch'], $ntype) ) {
        include one::oned
      } else {
        fail("Network Type: ${ntype} is not supported.")
      }
    } else {
      fail("Virtualization type: ${vtype} is not supported")
    }
  }
  if ($node) {
    include one::compute_node
  }
  if ($sunstone) {
    include one::oned::sunstone
  }
  if($oneflow) {
    class {'one::oned::oneflow': }
  }
  if($onegate) {
    class {'one::oned::onegate': }
  }
  include one::install
  include one::config
  include one::service
}