224 Commits

Author SHA1 Message Date
Zuul
f2360f485d Merge "Remove explicit call to py2" 2019-09-27 10:48:32 +00:00
Pete Birley
adfc3fb772 Neutron: Ensure test project purge targets correct project
This PS updates the test project purge script to target specificly
the desired project by its id.

Change-Id: I54bfaa7727fdad781bdecc31251c1fe53f912c18
Signed-off-by: Pete Birley <pete@port.direct>
2019-09-26 13:30:33 -05:00
Pete Birley
b1f8446e5b Neutron: Update force purge of test project to be less aggressive
This PS updates the os purge of the test project to be an optional
operator driven choice, as they will also need to ensure
the project is unique to neutron testing.

Additionally this updates the purge image to be driven by the
charts values.yaml, as with every other image in OSH.

Change-Id: I46807f7c4922a1b411386641eddbd8957ab56f05
Signed-off-by: Pete Birley <pete@port.direct>
2019-09-26 13:05:30 -05:00
Zuul
b4d673a90e Merge "[neutron] Support baremetal mechanism driver" 2019-09-26 14:22:10 +00:00
Zuul
5f18893ec6 Merge "[neutron] Handle ML2 mechanism drivers" 2019-09-26 14:13:55 +00:00
ad620p
f830186c45 Support for Neutron Helm test cleanup and reset for abnormal failures
Rally usually cleans up all its resources in normal executions - normal
test success cases and normal test failure cases. But the generic cleanup
does not work well for out of the system failures like process
interruptions, pod failures, disaster cleanup etc.
This is a known issue in rally-openstack. -
"Current generic mechanism is nice but it doesn't work enough well in real life.
And in cases of existing users, persistence context
and disaster cleanups it doesn't work well."

Hence, if we shall face above such issues, it is becoming impossible
to run "helm test neutron" again because of the stale data
and different quota limits mentioned in the values.yaml.
Hence we need to purge the stale data from the "test"
project as well as reset the quota limit for such scenarios.

For the normal executions, this patch has to do nothing,
but for unexpected failures, this patch will purge the stale data
from test project and reset the quota as defined in
values.yaml for the next run.

Change-Id: I3f6851582e2ac1aa1d375fcd13c07f4f57f45dc8
2019-09-25 09:50:52 +00:00
Michael Polenchuk
88575904c0 [neutron] Handle ML2 mechanism drivers
* add l2pop driver only if vxlan mode is enabled
* use network:backend list as drivers source

Change-Id: If513c2664d465f53ff3756c27ecab0fc519f6a50
2019-09-24 13:41:23 +04:00
Michael Polenchuk
97ecab8174 [neutron] Support baremetal mechanism driver
Change-Id: Ida1ed36c88c1e6e8f8a6f8de5c93fc7002e4454b
2019-09-24 12:55:04 +04:00
Tin Lam
4817d1de28 Remove explicit call to py2
Python 2 is sunsetting in Jan 2020. We should not be finding python 2
explicitly. This patch removes those calls.

Change-Id: Ie6c9ad77097e662393c5fdd26490ebef25bdc3de
Signed-off-by: Tin Lam <tin@irrational.io>
2019-09-20 13:46:23 +00:00
Zuul
b10c25f2d6 Merge "[neutron] Support the external dns driver" 2019-09-13 18:57:49 +00:00
Zuul
23bff8bd62 Merge "[neutron] Add write access to state_path (/var/lib/neutron)" 2019-09-13 18:46:07 +00:00
Michael Polenchuk
37f3f14bb1 [neutron] Support the external dns driver
Change-Id: I1c7e31be45d31a724911c7e12c2607a15093941b
2019-09-11 09:16:25 +04:00
Deepak Tiwari
21af1acde9 Additional OVS-DPDK configs including bonding support
Enhance the Neutron charts to support configuration parameters for
following additional configurations for deploying OVS with DPDK:-

1. Bonding support
2. Jumbo Frame support
3. Number of Rx Queue and Rx and Tx Queue sizes

Change-Id: I4ee7c8465825cf7d66d175446c4145a8a26b6381
2019-09-10 14:21:26 -05:00
Zuul
a4f84ad8fb Merge "Extending Neutron chart with support for OVS DPDK" 2019-09-10 17:16:25 +00:00
Deepak Tiwari
2dd42c52f7 neutron-sriov-agent: mount host sys-fs path in container
Several sriov drivers (i.e. TaaS, Trunking) require the write permissions
to files in /sys/class/net/ and /sys/devices.

This patchset mounts the host's above mentioned sys-fs folders for the
neutron-sriov-agent container.

Change-Id: I87f51d1ad46bb272beb9401f2b428c81c3dc6f69
2019-09-06 08:24:02 -05:00
Georg Kunz
1f8933da46 Extending Neutron chart with support for OVS DPDK
Extending the Neutron with configuration parameters and scripts for
deploying OVS with DPDK support enabled. The new functionality takes
care of binding NICs to DPDK and adding those to OVS bridges of type
'netdev'.

Co-Authored-By: Rihab Banday <rihab.banday@ericsson.com>

Change-Id: I9932123986a0b723d7523136940d325bcfde983d
2019-09-04 16:19:07 +02:00
Oleg Bondarev
1dcdebe140 [neutron] Add write access to state_path (/var/lib/neutron)
Change-Id: Idfcd1622fcb8d37356d9bfb11bbb2cd0f35a1bf5
2019-08-23 12:30:16 +04:00
Zuul
5b8d18c021 Merge "Fix iptables locking in L3 neutron container" 2019-07-16 12:03:36 +00:00
Manuel Buil
94cd5a9935 Fix iptables locking in L3 neutron container
The L3 neutron agent uses the -W flag when adding new iptable rules.
That flag verifies if the lock is free to avoid race conditions. The
lock is normally /run/xtables.lock.

In iptables <1.6.2, if the file does not exist, iptables ignores the
lock and silently continues. Starting with 1.6.2, that behaviour changed
and if the file does not exist, iptables fails:

https://git.netfilter.org/iptables/commit/?id=80d8bfaac9e2430d710084a10ec78e68bd61e6ec

Leap 15.0 is using iptables 1.6.2 whereas Ubuntu Bionic uses 1.6.1.
That is why Ubuntu compute-kit gates where working whereas openSUSE
compute-kit gate was not

This patch fixes the gate problem by mounting /run/xtables.lock

Change-Id: Ia9c648cdf95c9824b34f40a6d9ed538a2cad5154
Signed-off-by: Manuel Buil <mbuil@suse.com>
2019-07-15 14:03:12 +02:00
Michael Polenchuk
0e01e058a1 [neutron] Bring in bgpvpn/bagpipe support
BGP-MPLS VPN extension allows attachment of Neutron networks and/or
routers to VPNs built in carrier provided WANs using these standard
protocols.

Change-Id: Ib0ec8cb22e9c113d4be1c992d895b565db5e30b0
2019-07-10 16:23:01 +04:00
Sphicas, Phil (ps3910)
07bc6cf5c8 Neutron: remove readiness probe from init container
Remove the readiness probe from the neutron-sriov-agent-init init
container of the neutron-sriov-agent DaemonSet, and use the probe
template for the neutron-sriov-agent container.

Change-Id: Iaa1fbca0b2d5ba1b0c15b82b6e8927c2b7be9f52
2019-07-06 21:30:34 -07:00
Zuul
72e9d00efd Merge "Neutron: Fix security context values keys" 2019-07-05 18:40:13 +00:00
Steve Wilkerson
363b50b336 Neutron: Fix security context values keys
This updates the values used for generating the pod and container
security contexts for the components of the neutron chart. This
moves to using a unique application key for each neutron service
instead of a single 'neutron' key that maps to every pod

This also removes the .pod.user.neutron.uid key in favor of using
the user key in the security_context values tree

Change-Id: I1c87a5b4b74e2a2d17b8913dd34f40dc1c38fbe0
Signed-off-by: Steve Wilkerson <sw5822@att.com>
2019-07-05 16:15:06 +00:00
Michael Polenchuk
c7acc26e88 [neutron] Swap arguments for default function
For reference:
http://masterminds.github.io/sprig/defaults.html

Change-Id: Ie56ef548b84c3726f36fcd6352e0f8725179bbb6
Signed-off-by: Pete Birley <pete@port.direct>
2019-07-05 10:02:13 -05:00
Zuul
38e3237da4 Merge "[neutron] Bring in L2 gateway support" 2019-07-03 16:47:37 +00:00
Pete Birley
03efee0abb Neutron: allow control of probes
This PS allows the probes in containers/pods to be tuned via values
overrides.

Depends-On: https://review.opendev.org/#/c/631597/

Change-Id: I439dce38a1b7df8c798f10f7fad406f9b0dfe3e6
Signed-off-by: Pete Birley <pete@port.direct>
2019-07-02 18:39:37 +00:00
Hemachandra Reddy
287602fe20 Support for RabbitMQ HA
There can be more than one RabbitMQ node in
transport_url in conf file when RabbitMQ is
configured in HA mode.

Change-Id: I9721e2e33212918d402bce295c02b1869dce67f7
2019-07-02 16:10:44 +00:00
Michael Polenchuk
8c93743041 [neutron] Bring in L2 gateway support
L2 Gateway (L2GW) is an API framework that offers bridging 2+
networks together to make them look as a single broadcast domain.
A typical use case is bridging the virtual with the physical networks.

Change-Id: I95ff59ce024747f7af40c6bef0661bb3743b0af1
2019-07-01 15:25:45 +04:00
pd2839
7d64eea10e Implement Security Context for Neutron
Implement container security context for the following Neutron resources:
 - Neutron server deployment

Change-Id: Ic2600c2301bd9d7c91bc72c22a7813d07e3a8ef6
2019-06-20 23:50:56 +00:00
Pete Birley
9bcf0df94c Messaging: use htk function to directly hit RabbitMQ servers
This PS updates the charts to use the htk function recently introduced
to allow oslo.messaging clients ans servers to directly hit their
backends rather than using either DNS or K8S svc based routing.

Depends-On: I5150a64bd29fa062e30496c1f2127de138322863

Change-Id: I458b4313c57fc50c8181cedeca9919670487926a
Signed-off-by: Pete Birley <pete@port.direct>
2019-06-18 21:47:45 +00:00
Zuul
cd460f12c2 Merge "Rafactoring volume mount variables in db sync job" 2019-06-18 18:24:18 +00:00
Pete Birley
31bd9c832d Logs: Make it optional to use log_config_append option
This PS enables the use of simple logging options if desired.

Change-Id: If6ea420c6ed595b3b6b6eedf99a0bf26a20b6abf
Signed-off-by: Pete Birley <pete@port.direct>
2019-06-17 13:51:21 -05:00
Pete Birley
74da069530 Neutron: Make config secret conform to k8s schema validation
This PS updates the neutron secret to conform to K8s schema
validation.

Change-Id: Id477510873362224ba919b0c97e09664d5c1b205
Signed-off-by: Pete Birley <pete@port.direct>
2019-06-17 15:52:06 +00:00
John Haan
0ea9be7ade Rafactoring volume mount variables in db sync job
This patch make the db sync job template follows the same pattern
that other templates utilize the variables to make in a predictable
pattern.

Change-Id: Idbedd046c6b4fd001cf63004ffac792173a5778b
Story: 2005754
Task: 33457
2019-05-22 17:47:03 +09:00
Pete Birley
623c131292 OSH: Add emptydirs for tmp
This PS adds emptydirs backing the /tmp directory in pods, which
is required in most cases for full operation when using a read only
filesystem backing the container.

Additionally some yaml indent issues are resolved.

Change-Id: I9df8f70e913b911ff755600fa2f669d9c5dcb928
Signed-off-by: Pete Birley <pete@port.direct>
2019-04-20 08:55:44 -05:00
pd2839
ed466d9caf Neutron: Add pod/container security context
removing readOnlyRootFilesystem flag since pods are running to
crashLoopBackOff state by implementing HTK functionality.

Change-Id: I221bdb54b1e94e4089fb079f161dcb4de4dd3571
2019-04-18 12:44:12 +00:00
Gage Hugo
6398d97d5a Enable audit pipeline for neutron
This change adds the keystonemiddleware audit paste filter[0]
and enables it for the neutron-server service.
This provides the ability to audit API requests for neutron.

[0] https://docs.openstack.org/keystonemiddleware/latest/audit.html

Change-Id: I86b4df1436ae59bc9a151c28337af7c06c83e45f
2019-04-11 13:06:50 -05:00
Hyunkook Cho
3e67ceadb2 change the way to get tunnel device
to set local_ip in osh, you have to use nic name.
but some devices can have different nic name.
so I add new option for getting tunnel device by cidr.

Added value:
network:
  interface:
    tunnel: null
    tunnel_network_cidr: "0/0"

Change-Id: I8bffae640dfe0086de0b5274bb8c3cdce9754160
Signed-off-by: Hyunkook Cho <hk0713.cho@samsung.com>
2019-04-01 17:59:33 +09:00
Zuul
6b82435cfe Merge "Fix neutron probes under python3" 2019-03-27 23:38:34 +00:00
Itxaka
514d54a5c0
Fix neutron probes under python3
Under python3 an Exception no longer has the message attribute,
instead you can just str the exception to get the error message

Change-Id: I38225a76e01118b88353038ed7ef132d019dd976
2019-03-20 13:56:10 +01:00
Chris Wedgwood
3baeefdd37 Revert "Add Docker default AppArmor profile to neutron"
This reverts commit 584c63c2e9120536005bcb677bac88dca9ee1335.

Change-Id: I3565f684154432609da2b6b5b4639ee9072b4b76
2019-03-19 20:09:15 +00:00
Zuul
ad7b32e4de Merge "Add Docker default AppArmor profile to neutron" 2019-03-15 17:06:44 +00:00
Chris Wedgwood
dcd7ebf37b [neutron] 'up' interfaces added via ovs auto_bridge_add
Previously, when adding interfaces to an ovs bridge we would set the
link state to up.  Some environments assume this is the case so
restore that behavior.

This fixes the problem where external (public) IPs for routers and VMs
no longer respond.

Change-Id: I59e21bd5cde7e239320125e9a7e0a33adae578a8
2019-03-12 08:03:48 +00:00
Zuul
c598004355 Merge "Liveness/Readiness probe for Neutron server and its agents" 2019-03-10 01:25:42 +00:00
pd2839
6d7724c790 readOnlyFilesystem: true for neutron chart
Fix for adding readOnlyFilesystem flag at pod level

Change-Id: I9ba18101a4566329f288d77677d4255646935dd5
2019-03-07 03:48:39 +00:00
Hemachandra Reddy
da508727b6 Liveness/Readiness probe for Neutron server and its agents
Health_probe for neutron pods accomplish both liveness and
readiness probe.

Neutron DHCP/L3/OVS agents:
Sends an RPC call with a non-existence method to agent’s queue.
Assumes no other agent subscribed to tunnel-update queue other
than OVS. Probe is success if agent returns with NoSuchMethod
error.

Neutron Metadata agent:
Sends a message to Unix Domain Socket opened by Metadata agent.
Probe is success if agent returns with HTTP status 404.

In both the cases, if agent is not reachable or fails to
respond in time, returns failure to probe.

Readiness probe for Neutron L3/DHCP/Metadata/SRIOV agents
Following are the operations executed on the pod as part of
readiness probe on the neutron agents:
- Check if the agent process is up and running.
- Retrieve the sockets associated with the process from the /proc fs.
- Check the status of tcp sockets related to Rabbitmq communication.
- Check the reachability of the rabbitmq message bus from the agent.
- For SRIOV Agent, check if VFs are configured properly for the
configured NICs in sriov_agent.ini conf file

Change-Id: Ib99ceaabbad1d1e0faf34cc74314da9aa688fa0a
2019-03-06 22:02:37 +00:00
chengli3
6e2e4aba8d Support per-host overrides of auto_bridge_add
.Values.network.auto_bridge_add is a global config. So in multi nodes
deployment, it requires that all hosts have the same nic names. This is
a strict limit.
This patch is to support per-host auto_bridge_add, so that we can define
different auto_bridge_add for hosts.
Also, this patch move .network.auto_bridge_add to .conf.auto_bridge_add

Change-Id: I4a4d6efbbfe073d035bc5c03700fbe998e708d0f
Story: 2005059
Task: 29601
2019-03-05 16:40:58 +08:00
dt241s
584c63c2e9 Add Docker default AppArmor profile to neutron
Change-Id: I17b44183c00a23081f00a6932d519c2ed7806385
2019-02-28 14:09:58 -06:00
Steve Wilkerson
f4c01d2461 Add release-uuid annotation to pod spec
This adds the release-uuid annotation to the pod spec for all
replication controller templates in the openstack-helm charts

Change-Id: I0159f2741c27277fd173208e7169ff657bb33e57
2019-02-12 12:31:59 -06:00
Hyunkook Cho
4f4b7f5b62 Neutron: add log config file to ovs agent chart.
neutron-sanity-check module load logging.conf file
but there is no config file.

Change-Id: I5e6dd298ccd9fb5432002f76bad3931ec035bb16
Signed-off-by: Hyunkook Cho <hk0713.cho@samsung.com>
2018-12-26 18:17:10 +09:00