Juju Charm - Neutron Open vSwitch
Go to file
2016-01-05 11:38:28 +00:00
actions Move config_changed into try block 2015-04-15 16:37:51 +00:00
hooks Resync charm-helpers 2016-01-05 11:38:28 +00:00
templates Icehouse local dhcp/metadata support 2015-09-23 14:05:32 +01:00
tests [corey.bryant,r=trivial] Sync charm-helpers. 2016-01-04 16:29:08 -05:00
unit_tests Ensure that metadata agent packages are not uninstalled if dvr is enabled but local dhcp is not 2015-11-12 09:33:27 +00:00
.bzrignore Add tox support 2015-11-02 09:35:20 +00:00
.coveragerc Added nosetest config 2014-06-20 11:06:02 +01:00
.project Support os-data-network 2014-06-27 14:04:10 +01:00
.pydevproject Support os-data-network 2014-06-27 14:04:10 +01:00
.testr.conf Add tox support really 2015-11-02 09:35:30 +00:00
actions.yaml Overall refresh to current install from source approach 2015-03-21 10:25:07 +00:00
charm-helpers-hooks.yaml [gnuoy,trivial] Pre-release charmhelper sync to pickup cli module 2015-07-31 14:11:50 +01:00
charm-helpers-tests.yaml Overall refresh to current install from source approach 2015-03-21 10:25:07 +00:00
config.yaml [gnuoy,r=james-page] Add support for local DHCP and Metadata agents 2015-09-15 08:47:30 +01:00
copyright Fixes in response to bug comment 2014-06-23 12:49:58 +01:00
icon.svg Fixes in response to bug comment 2014-06-23 12:49:58 +01:00
Makefile update makefile 2015-10-06 16:23:59 +00:00
metadata.yaml Drop container relation; its not required and causes general confusion when users manage to relate this charm to other services. 2015-11-30 15:49:43 +00:00
README.md [corey.bryant,trivial] Update deploy from source README samples. 2015-04-30 12:09:23 +00:00
requirements.txt Add tox support really 2015-11-02 09:35:30 +00:00
setup.cfg Added nosetest config 2014-06-20 11:06:02 +01:00
test-requirements.txt Add tox support really 2015-11-02 09:35:30 +00:00
tox.ini Add tox support really 2015-11-02 09:35:30 +00:00

Overview

This subordinate charm provides the Neutron OpenvSwitch configuration for a compute node.

Once deployed it takes over the management of the Neutron base and plugin configuration on the compute node.

Usage

To deploy (partial deployment of linked charms only):

juju deploy rabbitmq-server
juju deploy neutron-api
juju deploy nova-compute
juju deploy neutron-openvswitch
juju add-relation neutron-openvswitch nova-compute
juju add-relation neutron-openvswitch neutron-api
juju add-relation neutron-openvswitch rabbitmq-server

Note that the rabbitmq-server can optionally be a different instance of the rabbitmq-server charm than used by OpenStack Nova:

juju deploy rabbitmq-server rmq-neutron
juju add-relation neutron-openvswitch rmq-neutron
juju add-relation neutron-api rmq-neutron

The neutron-api and neutron-openvswitch charms must be related to the same instance of the rabbitmq-server charm.

Restrictions

It should only be used with OpenStack Icehouse and above and requires a seperate neutron-api service to have been deployed.

Disabling security group management

WARNING: this feature allows you to effectively disable security on your cloud!

This charm has a configuration option to allow users to disable any per-instance security group management; this must used with neutron-security-groups enabled in the neutron-api charm and could be used to turn off security on selected set of compute nodes:

juju deploy neutron-openvswitch neutron-openvswitch-insecure
juju set neutron-openvswitch-insecure disable-security-groups=True
juju deploy nova-compute nova-compute-insecure
juju add-relation nova-compute-insecure neutron-openvswitch-insecure
...

These compute nodes could then be accessed by cloud users via use of host aggregates with specific flavors to target instances to hypervisors with no per-instance security.

Deploying from source

The minimum openstack-origin-git config required to deploy from source is:

openstack-origin-git: include-file://neutron-juno.yaml

neutron-juno.yaml
    repositories:
    - {name: requirements,
       repository: 'git://github.com/openstack/requirements',
       branch: stable/juno}
    - {name: neutron,
       repository: 'git://github.com/openstack/neutron',
       branch: stable/juno}

Note that there are only two 'name' values the charm knows about: 'requirements' and 'neutron'. These repositories must correspond to these 'name' values. Additionally, the requirements repository must be specified first and the neutron repository must be specified last. All other repostories are installed in the order in which they are specified.

The following is a full list of current tip repos (may not be up-to-date):

openstack-origin-git: include-file://neutron-master.yaml

neutron-master.yaml
    repositories:
    - {name: requirements,
       repository: 'git://github.com/openstack/requirements',
       branch: master}
    - {name: oslo-concurrency,
       repository: 'git://github.com/openstack/oslo.concurrency',
       branch: master}
    - {name: oslo-config,
       repository: 'git://github.com/openstack/oslo.config',
       branch: master}
    - {name: oslo-context,
       repository: 'git://github.com/openstack/oslo.context',
       branch: master}
    - {name: oslo-db,
       repository: 'git://github.com/openstack/oslo.db',
       branch: master}
    - {name: oslo-i18n,
       repository: 'git://github.com/openstack/oslo.i18n',
       branch: master}
    - {name: oslo-messaging,
       repository: 'git://github.com/openstack/oslo.messaging',
       branch: master}
    - {name: oslo-middleware,
       repository': 'git://github.com/openstack/oslo.middleware',
       branch: master}
    - {name: oslo-rootwrap',
       repository: 'git://github.com/openstack/oslo.rootwrap',
       branch: master}
    - {name: oslo-serialization,
       repository: 'git://github.com/openstack/oslo.serialization',
       branch: master}
    - {name: oslo-utils,
       repository: 'git://github.com/openstack/oslo.utils',
       branch: master}
    - {name: pbr,
       repository: 'git://github.com/openstack-dev/pbr',
       branch: master}
    - {name: stevedore,
       repository: 'git://github.com/openstack/stevedore',
       branch: 'master'}
    - {name: python-keystoneclient,
       repository: 'git://github.com/openstack/python-keystoneclient',
       branch: master}
    - {name: python-neutronclient,
       repository: 'git://github.com/openstack/python-neutronclient',
       branch: master}
    - {name: python-novaclient,
       repository': 'git://github.com/openstack/python-novaclient',
       branch: master}
    - {name: keystonemiddleware,
       repository: 'git://github.com/openstack/keystonemiddleware',
       branch: master}
    - {name: neutron-fwaas,
       repository': 'git://github.com/openstack/neutron-fwaas',
       branch: master}
    - {name: neutron-lbaas,
       repository: 'git://github.com/openstack/neutron-lbaas',
       branch: master}
    - {name: neutron-vpnaas,
       repository: 'git://github.com/openstack/neutron-vpnaas',
       branch: master}
    - {name: neutron,
       repository: 'git://github.com/openstack/neutron',
       branch: master}