39 Commits

Author SHA1 Message Date
Jeffrey Zhang
ce5a11a374 Fix stale namespace removal issue
When using both /run and /run/netns in docker container, mount
propagation won't work when delete namespace after the containers are
restarted. This PS makes /run mount as shared.

Closes-Bug: #1616268
Change-Id: Ie16699e1b193b2bf1263d89ea634e89ea69add9e
2016-10-15 01:49:13 +08:00
Paul Bourke
d1673ad173 Allow operators to provision multiple physical networks
Currently Kolla operators are restricted to configuring one physical
network (physnet1).

This change along with ml2_conf.ini augmentation can be used to setup
multiple physical networks in openvswitch.

E.g. To configure two physical networks, physnet1 and physnet2, with
ports eth1 and eth2 associated respectively:

In /etc/kolla/globals.yml, set

neutron_bridge_name: "br-ex,br-ex2"
neutron_external_interface: "eth1,eth2"

In /etc/kolla/config/neutron/ml2_conf.ini

[ovs]
bridge_mappings = physnet1:br-ex,physnet2:br-ex2

Co-Authored-By: Mick Thompson <michael.a.thompson@oracle.com>
Closes-Bug: #1625700
DocImpact

Change-Id: I9454ca98d9b058368129123109ccc56f95519874
2016-09-21 09:14:47 +00:00
Christian Berendt
be0fcb5b99 Integrate neutron-vpnaas-agent into the neutron Ansible role
Implements: blueprint neutron-vpnaas-agent
Co-Authored-By: zhubingbing <zhubingbing10@gmail.com>
Change-Id: I1fae21f48d5beef47934aef7c23910536955f2b8
2016-09-15 05:07:46 +00:00
Jenkins
37ec5ecb52 Merge "Add Networking-SFC role" 2016-09-14 20:03:12 +00:00
Paul Bourke
95c916aa5e Allow Neutron to be run in DVR mode
Introduces a new property "enable_neutron_dvr", along with the
appropriate service and template changes to allow DVR.

Closes-Bug: #1623463
DocImpact: dvr changes network data paths and adds requirements for NICs
Co-Authored-By: Vladislav Belogrudov <vladislav.belogrudov@oracle.com>
Change-Id: I87a26e9258228ae2ccb76be1e5f0bb44fac128df
2016-09-14 12:58:47 +01:00
prithiv
8a01ed3270 Add Networking-SFC role
Networking-SFC is a neutron big-tent project support Service Function
Chaining in Neutron.

* Rename the image from neutron-networking-sfc-agent to
  neutron-sfc-agent.
* Add networking-sfc role in playbooks.

Co-Authored-by: Jeffrey Zhang <zhang.lei.fly@gmail.com>
Change-Id: I1f99650eed85f59929d4ab6b2226603c54f29577
Implements: blueprint enable-networking-sfc-support
2016-09-14 15:41:03 +08:00
Jeffrey Zhang
512be70cee Fix the neutron-lbaas-agent container issues
* copy the ml2_conf.ini file to the container
* map the host /etc/localtime file to the container
* remove the output_file and wrap_with options in the lbaas_agent.ini
  file, which are useless
* remove the interface_driver in the lbaas_agent, which is configured
  in the neutron.conf file
* install net-tools package into the container, which is used by the
  neutron-lbaas

Change-Id: Ia58d825e41d3b843d8c6e6b3c9ee1756c1aed1ac
Closes-Bug: #1606755
2016-07-27 11:42:34 +08:00
Jenkins
8f5747318b Merge "Enable openvswitch container logs in host volumes" 2016-06-27 17:06:35 +00:00
Hui Kang
54919dc498 Enable openvswitch container logs in host volumes
Allow heka container to pick up the openvswitch logs like other
services

Change-Id: I396ae9419540070c6ab01b8f62607ab46b1f08aa
closes-Bug: #1573199
2016-06-26 23:45:33 -04:00
Daneyon Hansen
ba30579b3b Adds Neutron LBaaS Support
Previously, kolla did not support neutron lbaas functionality.
Only Lbaasv2 is supported in Mitaka. Additional information can
be found here:
http://docs.openstack.org/mitaka/networking-guide/adv-config-lbaas.html
Magnum uses Neutron Lbaas to provide high availability to COE API
and Etcd endpoints within a bay. Therefore, Neutron Lbaas is required
for Kolla to support Magnum.

Co-Authored-By: Serguei Bezverkhi <sbezverk@cisco.com>
Partial-Bug: #1551992

Change-Id: I05360b7c447c601fcb3c2b6b2a913ef5cc0f3a1b
2016-05-27 11:41:25 -04:00
Francesco Vollero
a7d330d9e7 Fixed typos in Ansible files
Files affected:
- ansible/roles/ceph/tasks/bootstrap_mons.yml
- ansible/roles/neutron/tasks/deploy.yml
- ansible/roles/neutron/tasks/start.yml

TrivialFix
Change-Id: Ic4b624cfe0ae4d73b49e616319e9db2229931249
2016-05-18 08:33:15 +02:00
Jeffrey Zhang
0fcee87549 map the host localtime to the container
Closes-Bug: #1577148
Change-Id: I636cefc63cf532434a41af3898b63dffa711e280
2016-05-03 09:27:51 +08:00
Jeffrey Zhang
b13c18ae9c Install neutron in manila-share group only when enable_manila is true
TrivialFix

Change-Id: Idfc5d03d3359003cdb82b85b71b87ccefd4a0a43
2016-03-21 12:58:55 +08:00
Jeffrey Zhang
4af394a242 Fix the syntax error for manila in neutron role
This is introduced by I21904659b1789fa71118401bfb6ac2227ae564da

TrivialFix

Change-Id: I8ab62c5b6c69e198e29205518941a9b0054c105f
2016-02-28 11:21:30 +08:00
Mauricio Lima
d7850df6dd Add suport to neutron-agents and ovs runs in storage node
The generic driver for manila need the neutron agents
and OVS / Linuxbridge running on the same node as manila_share.
This is necessary when the DHSS (Driver Handles Share Servers)
is the value "True", so that the manila_share can talk
with NFS manager.

Change-Id: I21904659b1789fa71118401bfb6ac2227ae564da
Partially-Implements: blueprint enable-manila-containers
2016-02-26 14:38:40 -05:00
Éric Lemoine
a2b130d6ba Make Heka collect Neutron logs
Partially implements: blueprint heka
Change-Id: I70e94f4ef7380c6f376a3066d7ddda042c703637
2016-02-19 21:49:21 +00:00
SamYaple
690e6853de Move socket binding to named_volume
The extend_start.sh script for rsyslog is removed as it is no longer
needed. Docker no longer binds to /dev/log or /run/kolla/log

Closes-Bug: #1544545
Change-Id: Ic0a323a26ee4e9e15baf4598285844a8a4955f23
2016-02-16 14:42:41 +00:00
Jeffrey Zhang
a692718c00 Ensuring the openvswitch_db is ready before creating bridges
Change-Id: I42550c57222de4ad5556e95d40bb96528bc1d085
Closes-Bug: #1533942
2016-02-12 02:02:34 +08:00
SamYaple
ddb7cd88c5 Convert Neutron to thin containers
*** Requires Docker 1.10 which is released ***

Documentation will be in the next patch. You must set the following
in your docker.service daemon control file for propogation to work:

    [Service]
    MountFlags=shared

======================================================================

Thanks to mount propagation in Docker 1.10 we can use thin containers
finally! This is extremely useful to operators since now they can
access the network namespaces from the hosts (outside the neutron
container). But additionally it allows us to implement the VPN agent
and other services easier.

Neutron containers and the neutron role are brought into the standards
of the new Kolla. Completely with drop-root and ansible formating
updates.

The ip_wrapper.py script was (thankfully) not needed so it has been
removed from the repo.

Partially-Implements: blueprint upgrade-neutron
Change-Id: Iaf5555283240457e1912459f397a6393d886fba1
2016-02-06 07:13:47 +00:00
SamYaple
e8d66766f0 Fix gate for docker 1.10
Docker 1.10 has broken the gate and this patch will correct that
breakage.

The issue comes with rsyslog. Due to a commit in Docker 1.10 [1] we
must change the way we get the log socket for rsyslog. The /dev/
folder will no longer populate as we used it. So instead we simply
make a new socket in a path we control and share that to the correct
location in the containers.

Additionally, adjust the gate for new Docker daemon.

[1] https://github.com/docker/docker/pull/16639
Partially-Implements: blueprint kolla-upgrade
Change-Id: I881a2ecdf6d7b35991e1d38a3f3e60d022d6577f
2016-02-06 06:48:53 +00:00
SamYaple
8af400733d Convert to named volumes instead of data container
This intentionally leaves out rabbitmq from this patchset. It will
require additional work to remove its data container

UpgradeImpact
Partially-Implements: blueprint docker-named-volumes

Change-Id: Id68b8e43a3c077ef4f4f4d67ea34d0692e66eef7
2016-01-03 16:44:44 +00:00
SamYaple
4bd6285dc7 Convert neutron to kolla_docker
Change-Id: Id58586ac20ee081eb731deb23e5f8dc26dfb8cc2
Partially-Implements: blueprint kolla-docker-module
2015-12-31 16:38:56 +00:00
Hui Kang
047dbf12e0 Enable nova fake driver in nova containers
- See instructions in doc/nova-fake-driver.rst

Implements: blueprint nova-fake-driver

Change-Id: I553a40c2df39bdcc391eb1b8b2b8fd5f4ed48c33
Signed-off-by: Hui Kang <kangh@us.ibm.com>
Signed-off-by: Marcio D. Silva <marcios@us.ibm.com>
2015-12-29 06:39:35 -05:00
Sean Mooney
9ce814619a configure ovs bridge in openvswitch-db container
- this change moves the ovs_ensure_configured.sh  file to the
  openvswitch-db container.
- this change reorders the plays in ansible/roles/neutron/tasks/start.yml
  to configure the ovs bridges before starting the vswitchd container.

Change-Id: Ied1a82d48377534c15680406df9a96caf3b79515
Closes-Bug: #1522133
2015-12-03 20:13:21 +00:00
Ryan Hallisey
6989e876f7 Add OVS-data container
Change-Id: I488b386ef6864f88b7693cf028626330f5414638
Implements: blueprint ovsdb-data
2015-11-25 14:04:47 -05:00
Sam Yaple
b2ac6e80cd Add tty to containers
sudo requires a tty to function by default on centos. Instead of
tweaking the sudo conf we can just add a tty. This has the added
advantage of making the containers more friendly if you have to
`docker exec -i <container> bash` into them.

Change-Id: If97a02ca1d37c243a787d98ade54bde8d641aecd
backport: liberty
Partially-Implements: blueprint functional-testing-gate
2015-10-14 10:54:33 +00:00
Sam Yaple
c5be228be8 Bump ansible to 1.9.2
Ansible 1.9.2 contains the fix needed for docker-py >1.2.0

This is needed for some gate reasons, but it is also a good version
bump because it fixes a few issues with delegate_to.

Change-Id: Iafbabb3b0232620849d0548c5cd9d8d316c2b0f3
backport: liberty
Partially-Implements: blueprint functional-testing-gate
2015-10-13 15:13:34 +00:00
Sam Yaple
94162bd08f Bring Kolla inline with FHS
This brings Kolla images inline with FHS and should make finding
locations of things more consistent and reliable with the linux world
at large.

Change-Id: Iece5b4da4bace0fb8b1f41a65ab2c852ec73e6f8
Closes-Bug: #1485742
2015-10-06 03:30:53 +00:00
Ryan Hallisey
4f15ac8008 Neutron Agents json support
Neutron Agents is a special case for json support. Since it's a fat
container, there will be multiple commnds that will need to be run
in the container.  In order to account for this, the commands will be
hardcoded until the agents are split out to their own containers.
The files will be copied the normal way.

Co-Authored-By: Steven Dake <stdake@cisco.com>

Change-Id: I9fc226cc7b82c2594db5814d30d453a29a4af8c0
Partially-Implements: blueprint replace-config-external
Closes-Bug: #1500566
2015-09-28 23:45:03 -07:00
Sam Yaple
94ea43fa55 Replace config-external - openvswitch
Change-Id: Ib05442c6ee146d2deb49fc235ba16fc7e0c3d6c8
Partially-Implements: blueprint replace-config-external
2015-09-27 13:44:50 +00:00
Michal Jastrzebski
10776e57f9 Neutron logging to rsyslog
Configure neutron to use rsyslog container as logging mechanism

Change-Id: I7cf8a1327f07c7b9c4405ee65cecd373def0fea9
Implements: bp logging-container
2015-09-24 14:08:22 +02:00
Ryan Hallisey
2c23f2d445 Replace config-external with a JSON file for Neutron (thin)
This is only for the Neutron thin containers.  The Neutron agents
are still in a fat container.  I'll replace in another patch.

Change-Id: I8533af52bfa3f268aa8ffb1c16ae49f5a300da27
Partially-Implements: blueprint replace-config-external
2015-09-24 08:12:19 +00:00
Swapnil Kulkarni
059d84859f Remove Ansible abstraction for Neutron
Co-Authored-By: Sam Yaple <sam@yaple.net>
Change-Id: I19ae5c2d58b94cd95b969e5c4e65ef1670a78b7e
Partially-Implements: blueprint remove-abstraction-ansible
2015-08-19 12:16:56 +00:00
Sam Yaple
b401a90254 Add linuxbridge as option to ansible
Allows the user to configure neutron_plugin_agent value for Ansible.
Current allowed values are openvswitch and linuxbridge.

Implements: blueprint ansible-neutron-linuxbridge

Change-Id: I0572464a5459d2f9da09b6da22db16e240511f99
2015-08-02 11:48:21 +00:00
Sam Yaple
d1f2ec8c8a Properly use all configs with neutron
Change-Id: Ie347964d42e7060c69047b1aeece1cf0ad311ae6
Partially-Implements: blueprint ansible-service
2015-07-23 15:22:01 +00:00
Jenkins
63035f7ce4 Merge "Adds the appropriate tools to addin the ovs bridge" 2015-07-23 13:40:57 +00:00
Steven Dake
4789f9188a Allows neutron-agents l3 agent to communicate with OVS
The neutron-agents l3 agent requires access to the OVS database via
access to /run.  It also needs to have ovs-vsctl binary available in
the container.

Change-Id: I903537b570cd60c9bb1088e9408a5f6ea4988d8f
Closes-Bug: #1477376
2015-07-23 05:53:51 -07:00
Sam Yaple
77f71b9f59 Adds the appropriate tools to addin the ovs bridge
Ansible will exec a script in the OVS container to ensure the bridge and
ports are properly setup. The script is idempotent.

Change-Id: I5adca595a4d2ef4edf26c9635cfa5ceb30ca4a59
Closes-Bug: #1466375
2015-07-23 12:15:31 +00:00
Sam Yaple
f47fb972b6 Ansible Neutron support
Add initial Ansible support for Neutron

Change-Id: Idad011945bff914535d1ac0eb09cc9d3b0882fbe
Partially-Implements: blueprint ansible-service
2015-07-19 12:37:49 +00:00