import code
Change-Id: Ia1df8d96ce69941f739c40aae557f82b58d9c026
This commit is contained in:
parent
ce1fde73c8
commit
fae23b9890
75
README.md
Normal file
75
README.md
Normal file
@ -0,0 +1,75 @@
|
||||
BGPVPN Plugin for Fuel
|
||||
================================
|
||||
|
||||
BGPVPN plugin
|
||||
-----------------------
|
||||
|
||||
Overview
|
||||
--------
|
||||
|
||||
BGPVPN fuel plugin.
|
||||
|
||||
Requirements
|
||||
------------
|
||||
|
||||
| Requirement | Version/Comment |
|
||||
|----------------------------------|-----------------|
|
||||
| Mirantis OpenStack compatibility | 7.0 |
|
||||
|
||||
Recommendations
|
||||
---------------
|
||||
|
||||
None.
|
||||
|
||||
Limitations
|
||||
-----------
|
||||
|
||||
Installation Guide
|
||||
==================
|
||||
|
||||
OpenDaylight plugin installation
|
||||
----------------------------------------
|
||||
|
||||
1. Clone the fuel-plugin-bgpvpn repo from github:
|
||||
|
||||
git clone https://github.com/openstack/fuel-plugin-bgpvpn
|
||||
|
||||
2. Install the Fuel Plugin Builder:
|
||||
|
||||
pip install fuel-plugin-builder
|
||||
|
||||
3. Install the [fpm gem](https://github.com/jordansissel/fpm):
|
||||
|
||||
gem install fpm
|
||||
|
||||
4. Build bgpvpn Fuel plugin:
|
||||
|
||||
fpb --build fuel-plugin-bgpvpn/
|
||||
|
||||
5. The *bgpvpn-[x.x.x].rpm* plugin package will be created in the plugin folder.
|
||||
|
||||
6. Move this file to the Fuel Master node with secure copy (scp):
|
||||
|
||||
scp bgpnvpn-[x.x.x].rpm root@<the_Fuel_Master_node_IP address>:/tmp
|
||||
|
||||
7. While logged in Fuel Master install the OpenDaylight plugin:
|
||||
|
||||
fuel plugins --install bgpvpn-[x.x.x].rpm
|
||||
|
||||
8. Check if the plugin was installed successfully:
|
||||
|
||||
fuel plugins
|
||||
|
||||
id | name | version | package_version
|
||||
---|--------------|---------|----------------
|
||||
1 | bgpvpn | 0.1.0 | 3.0.0
|
||||
|
||||
9. Plugin is ready to use and can be enabled on the Settings tab of the Fuel web UI.
|
||||
|
||||
|
||||
User Guide
|
||||
==========
|
||||
|
||||
Contributors
|
||||
------------
|
||||
|
6
deployment_scripts/puppet/manifests/install-bgpvpn.pp
Normal file
6
deployment_scripts/puppet/manifests/install-bgpvpn.pp
Normal file
@ -0,0 +1,6 @@
|
||||
package {'python-networking-bgpvpn':
|
||||
ensure => installed,
|
||||
} ->
|
||||
neutron_config { 'DEFAULT/service_plugins': value => 'networking_bgpvpn.neutron.services.plugin.BGPVPNPlugin';}
|
||||
|
||||
|
9
deployment_tasks.yaml
Normal file
9
deployment_tasks.yaml
Normal file
@ -0,0 +1,9 @@
|
||||
- id: bgpvpn_configure
|
||||
role: ['primary-controller', 'controller']
|
||||
requires: [post_deployment_start]
|
||||
required_for: [post_deployment_end]
|
||||
type: puppet
|
||||
parameters:
|
||||
puppet_manifest: puppet/manifests/install-bgpvpn.pp
|
||||
puppet_modules: puppet/modules:/etc/puppet/modules
|
||||
timeout: 1400
|
6
environment_config.yaml
Normal file
6
environment_config.yaml
Normal file
@ -0,0 +1,6 @@
|
||||
attributes:
|
||||
metadata:
|
||||
restrictions:
|
||||
- "cluster:net_provider != 'neutron'": "Only neutron is supported by OpenDaylight"
|
||||
label: "BGPVPN plugin"
|
||||
weight: 90
|
30
metadata.yaml
Normal file
30
metadata.yaml
Normal file
@ -0,0 +1,30 @@
|
||||
# Plugin name
|
||||
name: bgpvpn
|
||||
# Human-readable name for your plugin
|
||||
title: BGPVPN plugin
|
||||
# Plugin version
|
||||
version: '0.1.0'
|
||||
# Description
|
||||
description: 'This plugin provides BGPVPN extension for neutron.'
|
||||
# Required fuel version
|
||||
fuel_version: ['7.0']
|
||||
# Specify license of your plugin
|
||||
licenses: ['Apache License Version 2.0']
|
||||
# Specify author or company name
|
||||
authors: ['Michal Skalski, Mirantis']
|
||||
# A link to the plugin's page
|
||||
homepage: 'https://github.com/openstack/fuel-plugin-bgpvpn'
|
||||
# Specify a group which your plugin implements, possible options:
|
||||
# network, storage, storage::cinder, storage::glance, hypervisor
|
||||
groups: ['network']
|
||||
|
||||
# The plugin is compatible with releases in the list
|
||||
releases:
|
||||
- os: ubuntu
|
||||
version: 2015.1.0-7.0
|
||||
mode: ['ha', 'multinode']
|
||||
deployment_scripts_path: deployment_scripts/
|
||||
repository_path: repositories/ubuntu
|
||||
|
||||
# Version of plugin package
|
||||
package_version: '3.0.0'
|
54
pre_build_hook
Executable file
54
pre_build_hook
Executable file
@ -0,0 +1,54 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Add here any the actions which are required before plugin build
|
||||
# like packages building, packages downloading from mirrors and so on.
|
||||
# The script should return 0 if there were no errors.
|
||||
set -eux
|
||||
|
||||
# Networking bgpvpn
|
||||
NETWORKING_BGPVPN_REPO=${NETWORKING_BGPVPN_REPO:-https://github.com/openstack/networking-bgpvpn.git}
|
||||
NETWORKING_BGPVPN_BRANCH=${NETWORKING_BGPVPN_BRANCH:-backport/kilo}
|
||||
|
||||
# For which systems odl package should be build
|
||||
BUILD_FOR=${BUILD_FOR:-ubuntu}
|
||||
|
||||
DIR="$(dirname `readlink -f $0`)"
|
||||
TMP_DIR="${DIR}/tmp"
|
||||
|
||||
function cleanup {
|
||||
rm -rf "${TMP_DIR}"
|
||||
}
|
||||
|
||||
function build_pkg {
|
||||
case $1 in
|
||||
ubuntu)
|
||||
pushd "${DIR}/repositories/${1}/"
|
||||
fpm --force -s python -t deb -m 'mskalski@mirantis.com' --python-disable-dependency oslo.config ${TMP_DIR}/networking-bgpvpn/setup.py
|
||||
popd
|
||||
;;
|
||||
*) echo "Not supported system"; exit 1;;
|
||||
esac
|
||||
}
|
||||
|
||||
command -v fpm >/dev/null 2>&1 || { echo >&2 "fpm ruby gem required but it's not installed. Aborting."; exit 1; }
|
||||
|
||||
cleanup
|
||||
|
||||
mkdir -p "${TMP_DIR}"
|
||||
|
||||
pushd $TMP_DIR
|
||||
|
||||
|
||||
git clone $NETWORKING_BGPVPN_REPO networking-bgpvpn
|
||||
pushd networking-bgpvpn
|
||||
git checkout $NETWORKING_BGPVPN_BRANCH
|
||||
sed -i -- 's/sphinxcontrib-blockdiag/sphinxcontrib.blockdiag/' ./requirements.txt
|
||||
sed -i -- 's/sphinxcontrib-seqdiag/sphinxcontrib.seqdiag/' ./requirements.txt
|
||||
popd
|
||||
|
||||
for system in $BUILD_FOR
|
||||
do
|
||||
build_pkg $system
|
||||
done
|
||||
|
||||
cleanup
|
0
repositories/centos/.gitkeep
Normal file
0
repositories/centos/.gitkeep
Normal file
0
repositories/ubuntu/.gitkeep
Normal file
0
repositories/ubuntu/.gitkeep
Normal file
Loading…
Reference in New Issue
Block a user