Adding networking MidoNet element

This element provides all the packages and the puppet midonet module to
configure MidoNet in an OpenStack deployment.

Change-Id: If08150067c89155290d531618d8c25b69d1cf879
This commit is contained in:
Jaume Devesa 2015-10-07 18:43:50 +02:00
parent a1cc86b1a0
commit af697b8b16
11 changed files with 153 additions and 0 deletions

View File

@ -0,0 +1,18 @@
MidoNet Element
===============
Install all packages required for an OpenStack deployment with MidoNet.
MidoNet MEM (MidoNet with customer support) can also be installed. To do so,
build the image with the following environment variables:
* DIB_MIDONET_release=MEM
* DIB_MIDONET_mem_username=yourcustomerrepousername
* DIB_MIDONET_mem_password=yourcustomerrepopassword
MidoNet components come from packages, so use the already exposed:
* export DIB_INSTALLTYPE_overcloud_network_midonet=package
Puppet modules will be downloaded from pinned sources (see `environment.d` and
`source-repository-overcloud-network-midonet` files)

View File

@ -0,0 +1,4 @@
package-installs
pkg-map
puppet
source-repositories

View File

@ -0,0 +1,14 @@
export DIB_MIDONET_release=${DIB_MIDONET_release:-"OSS"} # Available values OSS/MEM. To build MidoNet image with support or without it. Open Source version by default
export DIB_MIDONET_mem_username=${DIB_MIDONET_mem_username:-} # Username of the yum repo. Only needed when DIB_MIDONET_version = "MEM"
export DIB_MIDONET_mem_password=${DIB_MIDONET_mem_password:-} # Password of the yum repo. Only needed when DIB_MIDONET_version = "MEM"
# Only source is available now for puppet modules.
export DIB_INSTALLTYPE_ripienar_module_data='source'
export DIB_INSTALLTYPE_puppetlabs_java='source'
export DIB_INSTALLTYPE_puppetlabs_apt='source'
export DIB_INSTALLTYPE_midonet_cassandra='source'
export DIB_INSTALLTYPE_richardc_datacat='source'
export DIB_INSTALLTYPE_deric_zookeeper='source'
export DIB_INSTALLTYPE_nanliu_staging='source'
export DIB_INSTALLTYPE_puppetlabs_tomcat='source'
export DIB_INSTALLTYPE_puppet_midonet='source'

View File

@ -0,0 +1,22 @@
#!/bin/bash
set -eux
if [ "${DIB_MIDONET_release}" = "OSS" ]; then
MIDONET_REPOS_FILE=midonet-oss
elif [ "${DIB_MIDONET_release}" = "MEM" ]; then
MIDONET_REPOS_FILE=midonet-mem
else
exit 1;
fi
MIDONET_REPOS_DIR=$TMP_MOUNT_PATH/etc/yum.repos.d
MIDONET_TARGET_FILE_NAME=MidoNet.repo
mkdir -p $MIDONET_REPOS_DIR
# Replace the env vars of the MEM repo using env vars
# http://superuser.com/questions/235738/how-do-i-substitute-environment-variables-when-i-ouput-a-file
function subst() { eval echo -E "$2"; }
mapfile -c 1 -C subst < $TMP_HOOKS_PATH/extra-data.d/$MIDONET_REPOS_FILE > /tmp/repo
sudo mv /tmp/repo $MIDONET_REPOS_DIR/$MIDONET_TARGET_FILE_NAME

View File

@ -0,0 +1,27 @@
[midonet]
name=MidoNet
baseurl=http://${DIB_MIDONET_mem_username}:${DIB_MIDONET_mem_password}@yum.midokura.com/repo/v1.9/stable/RHEL/7/
enabled=1
gpgcheck=1
gpgkey=http://${DIB_MIDONET_mem_username}:${DIB_MIDONET_mem_password}@yum.midokura.com/repo/RPM-GPG-KEY-midokura
[datastax]
name = DataStax Repo for Apache Cassandra
baseurl = http://rpm.datastax.com/community
enabled = 1
gpgcheck = 1
gpgkey = https://rpm.datastax.com/rpm/repo_key
[midonet-openstack-integration]
name=MidoNet OpenStack Integration
baseurl=http://builds.midonet.org/openstack-liberty/unstable/el7/
enabled=1
gpgcheck=1
gpgkey=http://builds.midonet.org/midorepo.key
[midonet-misc]
name=MidoNet 3rd Party Tools and Libraries
baseurl=http://repo.midonet.org/misc/RHEL/7/misc/
enabled=1
gpgcheck=1
gpgkey=http://repo.midonet.org/RPM-GPG-KEY-midokura

View File

@ -0,0 +1,27 @@
[midonet]
name=MidoNet
baseurl=http://repo.midonet.org/midonet/v2015.06/RHEL/7/stable/
enabled=1
gpgcheck=1
gpgkey=http://repo.midonet.org/RPM-GPG-KEY-midokura
[datastax]
name = DataStax Repo for Apache Cassandra
baseurl = http://rpm.datastax.com/community
enabled = 1
gpgcheck = 1
gpgkey = https://rpm.datastax.com/rpm/repo_key
[midonet-openstack-integration]
name=MidoNet OpenStack Integration
baseurl=http://builds.midonet.org/openstack-liberty/unstable/el7/
enabled=1
gpgcheck=1
gpgkey=http://builds.midonet.org/midorepo.key
[midonet-misc]
name=MidoNet 3rd Party Tools and Libraries
baseurl=http://repo.midonet.org/misc/RHEL/7/misc/
enabled=1
gpgcheck=1
gpgkey=http://repo.midonet.org/RPM-GPG-KEY-midokura

View File

@ -0,0 +1,3 @@
#!/bin/bash
sudo gem install faraday
sudo gem install url

View File

@ -0,0 +1,3 @@
set -eux
ln -f -s /opt/stack/puppet-midonet/* /etc/puppet/modules

View File

@ -0,0 +1,11 @@
midonet_package
midonet_neutron_package
midonet_api_package
zookeeper_package
cassandra_package
deltarpm_package
augeas_package
augeasdevel_package
tomcat_package
rubydevel_package
rubygem_json_package

View File

@ -0,0 +1,15 @@
{
"default": {
"midonet_package": "midolman",
"midonet_neutron_package": "python-networking-midonet",
"midonet_api_package": "midonet-api",
"tomcat_package": "tomcat",
"zookeeper_package": "zookeeper",
"cassandra_package": "dsc20",
"deltarpm_package": "deltarpm",
"augeas_package": "augeas",
"augeasdevel_package": "augeas-devel",
"rubydevel_package": "ruby-devel",
"rubygem_json_package": "rubygem-json"
}
}

View File

@ -0,0 +1,9 @@
ripienar-module_data git /opt/stack/puppet-midonet/module_data https://github.com/ripienaar/puppet-module-data.git 0.0.3
puppetlabs-java git /opt/stack/puppet-midonet/java https://github.com/puppetlabs/puppetlabs-java
puppetlabs-apt git /opt/stack/puppet-midonet/apt https://github.com/puppetlabs/puppetlabs-apt.git 47c6f338eda98ed849531d92b63c5e33103f76e4
midonet-cassandra git /opt/stack/puppet-midonet/cassandra https://github.com/midonet/puppet-cassandra.git 09dd80b226e14e66968509051a02b143fbb6bcc3
richardc-datacat git /opt/stack/puppet-midonet/datacat https://github.com/richardc/puppet-datacat.git
deric-zookeeper git /opt/stack/puppet-midonet/zookeeper https://github.com/deric/puppet-zookeeper.git b1912045ac65f13e53d60f73515ad08fff4f4f25
nanliu-staging git /opt/stack/puppet-midonet/staging https://github.com/nanliu/puppet-staging.git bc434a71e19aae54223d57c274e2e1a7f9546d5e
puppetlabs-tomcat git /opt/stack/puppet-midonet/tomcat https://github.com/puppetlabs/puppetlabs-tomcat.git 019772988b39cb259bf281ab9655e8a83c7bc2d8
puppet-midonet git /opt/stack/puppet-midonet/midonet https://github.com/midonet/puppet-midonet.git e24515c135a03096fc69651dfadac5b545c74538