132 lines
4.7 KiB
Puppet
132 lines
4.7 KiB
Puppet
# == Class: midonet::repository
|
|
#
|
|
# Prepare the midonet repositories to install packages.
|
|
#
|
|
# === Parameters
|
|
#
|
|
# [*midonet_repo*]
|
|
# Midonet Repository URL location. Please note the version
|
|
# of midonet use to be part of that URL.
|
|
# Ex: 'http://repo.midonet.org/midonet/v2014.11'
|
|
# [*midonet_openstack_repo*]
|
|
# Midonet Repository URL for the Midonet Neutron Plugin. The version use to
|
|
# be part of the URL. The package avaiable in this repo (the midonet plugin)
|
|
# is released along each OpenStack release (Icehouse, Juno, Kilo...) , not
|
|
# the Midonet OSS release. This is why Midonet maintains different repos.
|
|
# Ex: 'http://repo.midonet.org/openstack'.
|
|
# [*midonet_thirdparty_repo*]
|
|
# Third party software pinned for Midonet stability URL.
|
|
# Ex: 'http://repo.midonet.org/misc'.
|
|
# [*midonet_release*]
|
|
# Stage of the package. It can be 'stable', 'testing' or 'unstable'.
|
|
# Stable by default.
|
|
# [*midoney_key_url*]
|
|
# Midonet Key URL path.
|
|
# [*midonet_key*]
|
|
# Midonet GPG key for validate packages. Only override it if you use a
|
|
# different fork of Midonet.
|
|
# [*manage_distro_repo*}
|
|
# Choose whether or not to manage the distros' OpenStack repositories (e.g. RDO).
|
|
# Defaults to true
|
|
# [*manage_epel_repo*]
|
|
# Choose whether or not to manage EPEL under CentOS.
|
|
# Defaults to true
|
|
# === Examples
|
|
#
|
|
# The easiest way to run the class is:
|
|
#
|
|
# include midonet::repository
|
|
#
|
|
# And puppet will configure the system to use the latest stable version
|
|
# of MidoNet OSS.
|
|
#
|
|
# To install other releases than the last default's Midonet OSS, you can
|
|
# override the default's midonet_repository atributes by a resource-like
|
|
# declaration:
|
|
#
|
|
# class { 'midonet::repository':
|
|
# midonet_repo => 'http://repo.midonet.org/midonet/v2014.11',
|
|
# midonet_openstack_repo => 'http://repo.midonet.org/openstack',
|
|
# midonet_thirdparty_repo => 'http://repo.midonet.org/misc',
|
|
# midonet_key => '50F18FCF',
|
|
# midonet_stage => 'stable',
|
|
# midonet_key_url => 'http://repo.midonet.org/packages.midokura.key',
|
|
# manage_distro_repo => true,
|
|
# manage_epel_repo => true,
|
|
# openstack_release => 'juno'
|
|
# }
|
|
#
|
|
# or use a YAML file using the same attributes, accessible from Hiera:
|
|
#
|
|
# midonet::repository::midonet_repo: 'http://repo.midonet.org/midonet/v2014.11'
|
|
# midonet::repository::midonet_openstack_repo: 'http://repo.midonet.org/openstack'
|
|
# midonet::repository::midonet_thirdparty_repo: 'http://repo.midonet.org/misc'
|
|
# midonet::repository::midonet_key: '50F18FCF'
|
|
# midonet::repository::midonet_stage: 'stable'
|
|
# midonet::repository::midonet_key_url: 'http://repo.midonet.org/packages.midokura.key'
|
|
# midonet::repository::midonet_distro_repo: true
|
|
# midonet::repository::midonet_epel_repo: true
|
|
# midonet::repository::openstack_release: 'juno'
|
|
#
|
|
#
|
|
# === Authors
|
|
#
|
|
# Midonet (http://midonet.org)
|
|
#
|
|
# === Copyright
|
|
#
|
|
# Copyright (c) 2015 Midokura SARL, All Rights Reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
class midonet::repository (
|
|
$is_mem = false,
|
|
$midonet_version = '5.2',
|
|
$midonet_stage = 'stable',
|
|
$openstack_release = 'mitaka',
|
|
$mem_version = '5',
|
|
$mem_username = undef,
|
|
$mem_password = undef
|
|
) {
|
|
|
|
case $::osfamily {
|
|
'Debian': {
|
|
class { 'midonet::repository::ubuntu':
|
|
is_mem => $is_mem,
|
|
midonet_version => $midonet_version,
|
|
midonet_stage => $midonet_stage,
|
|
openstack_release => $openstack_release,
|
|
mem_version => $mem_version,
|
|
mem_username => $mem_username,
|
|
mem_password => $mem_password
|
|
}
|
|
}
|
|
|
|
'RedHat': {
|
|
class { 'midonet::repository::centos':
|
|
is_mem => $is_mem,
|
|
midonet_version => $midonet_version,
|
|
midonet_stage => $midonet_stage,
|
|
openstack_release => $openstack_release,
|
|
mem_version => $mem_version,
|
|
mem_username => $mem_username,
|
|
mem_password => $mem_password
|
|
}
|
|
}
|
|
|
|
default: {
|
|
fail('Operating system not supported by this module')
|
|
}
|
|
}
|
|
}
|