Commit Graph

392 Commits

Author SHA1 Message Date
Sean McGinnis 7839f35ca3
Retire repo
This patch completes step 2 of the infra project retirement process
found here:

https://docs.opendev.org/opendev/infra-manual/latest/drivers.html#step-2-remove-project-content

Reference:

http://lists.openstack.org/pipermail/openstack-discuss/2020-June/015600.html

Depend-on: https://review.opendev.org/737566

Change-Id: Id3a5477860323547a4e17155061f597a8c96640b
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2020-06-23 10:49:40 -05:00
Shachar Snapiri a1498f951f Fix DF broken gate
This commit is a squash of 3 different commits required to fix
DragonFlow gate (See below).

Upgrade redis driver

Redis python package API was changed over time, while we did not
change our handling of the code.
In the gate the driver was updated, and the gate tests were broken.
Updated the code in a way that supports both python2 (soon to be
obsoleted) and python3.
Updated the requirements to install new versions of the packages.

Remove testing revision number in test_df_qos_driver

This code tests Neutron behaviour of increasing the revision number.
This is not code that is controlled by Dragonflow. If (when) it fails,
Dragonflow cannot fix it generically.

use payloads for ROUTER_GATEWAY events

This patch switches the code over to the payload style of callbacks [1]
for ROUTER_GATEWAY events for those that are not using them yet.
The unit tests are also updated where needed to account for the
payload style callbacks and publish() method. Finally the patch
normalizes the passing of gateway IPs which are currently referred to
as 'gw_ips' and 'gateway_ips' depending on the event; now all events use
'gateway_ips'.

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

[1] https://docs.openstack.org/neutron-lib/latest/contributor/callbacks.html

Co-Authored-By: Omer Anson <omer.anson@toganetworks.com>
Co-Authored-By: boden <bodenvmw@gmail.com>

Change-Id: I5cd456028ed8af86c6c512e514eb91cec56ea77c
2019-08-12 23:52:20 +03:00
Shachar Snapiri 5a815ee71d Update CI job configuration link
In the devstack gate rc files, the link to the dragonflow CI configuration
file was wrong (actually for quite a long time now).
Updated the link to the correct location.

Change-Id: I8d8f507f57ccb72a73f8d2f620995809c23c4d8e
2019-06-19 21:44:25 +03:00
caoyuan 9573e43aa4 Replace git.openstack.org URLs with opendev.org URLs
Change-Id: Id34a36ee10fa0f30a20800b10656a85f6f3a5577
2019-06-17 09:11:41 +03:00
Shachar Snapiri 8668f4b81e Do not take ovs from git
We no longer use OVS new features, and the minimal version we require is 2.9.1.
Also, on ubuntu, the version that is supplied by apt is 2.9.2, so it
should be sufficient, and we can save hassle and time by NOT recompiling
the ovs ourselves...

Change-Id: I453dc1d38395015c2d24477b592d1a2ec212e43c
2019-06-16 12:30:40 +03:00
Shachar Snapiri 8fd27641b0 Fix broken dragonflow gates
This commit is composed of 4 (four) commits that fix various aspects
that were broken in the gate.

Co-Authored-By: Omer Anson <omer.anson@toganetworks.com>

Bump up the version of libzmq for Ubuntu and Suse

This is required as libzmq1 is no longer supported under these
platforms.

Change-Id: I17c73025856c006926ea6b2444c4fde86726db9d

Install ruby via the operating system

As opposed to installing it from source, success of which is a matter of
chance.

Change-Id: I39f13525d9b1d814c90ac898148b9543ed64cd7e

Cleanup registered apps with os-ken

Otherwise, os-ken complains that the apps are already
instantiated. This might be causing the get failure.

Change-Id: Iad8f76aafe98be443b0efa34e2f9cef8f40a9588

Disable test TestNeighborAdvertiser

It isn't working. Reported in bug 1820977.

Change-Id: Ie1f9c05c3847320ba1892c52182d3e7d856f4957
Related-Bug: #1820977
2019-03-20 14:23:46 +02:00
ghanshyam bc821f0250 Remove usage of tempest test_l3_agent_scheduler
Tempest test 'test_l3_agent_scheduler' is going to be
removed from Tempest  - https://review.openstack.org/#/c/640767/

Same test exist in neutron-tempest-plugin[1], which can be used
if required.

[1] http://git.openstack.org/cgit/openstack/neutron-tempest-plugin/tree/neutron_tempest_plugin/api/admin/test_l3_agent_scheduler.py

Change-Id: I5590e2dcf52ffe53a2b09a91bf3e58503ccdc507
2019-03-07 04:49:41 +00:00
Shachar Snapiri f1788f3ac6 Update cirros image version
The current cirros image version is 0.4.0.
As we have the image name hard-coded, it is required that we update it manually.
See [1] for reference.

[1] https://review.openstack.org/#/c/521825/

Change-Id: I99a49975c5674991d84932ebd2c7ab6599d343ea

Migrate Dragonflow from Ryu to os-ken

This change causes Dragonflow to stop consuming Ryu in favor of os-ken.
os-ken becomes the reference implementation for BGP services and
Dragonflow no longer has a dependency on Ryu.
See [1] for reference in Neutron.

[1] https://review.openstack.org/607008/

Change-Id: Ifbf294f2f586cf765d20cfa60774c45aa735ca62

Force delete of VM on close

There are tests that fail because we are waiting for the VM to complete shutdown
In tests, we do not mind destroying the machine forcefully as there is no reason
to wait for it.

Change-Id: I5f8e4928ceb7b467af891835600cd8096ec88d2b

use payloads for SECURITY_GROUP BEFORE_DELETE events

This patch switches over to the payload style callbacks for
BEFORE_DELETE events of SECURITY_GROUP resources.

Co-Authored-By: Boden R <bodenvmw@gmail.com>
Depends-On: https://review.openstack.org/#/c/597599/
Change-Id: Ie9163ad7baecf85e234e4253160f30015b43166b
2019-02-05 11:31:44 +02:00
lijunjie 42bf362d27 Fix the misspelling of "default"
Change-Id: I3ed83f236b31dba3589306b24a80e044ad7c315f
2019-01-10 17:14:00 +08:00
Omer Anson 266b13549b Remove dependence bgp policy file
The bgp policy file was removed in [0].

[0] I4f99739ca8b979ddf69c52c3f1b36e320326db8d

Change-Id: I7f91fb293d9c575667c39dc311a65658422c2769
2018-12-30 14:11:02 +02:00
Zuul 31e2efa533 Merge "update github link" 2018-11-16 08:39:39 +00:00
Shachar Snapiri 945b1e368c Re-add missing iptables rule for metadata service
In patch [1] there were some lines that were missed out. Specifically 
an iptables rule and a cleanup line.
This patch re-adds the rule and cleanup code.

[1] https://review.openstack.org/#/c/583878/

Change-Id: I32045f60e205d59382ef3d98f845c4c1c8bea37f
Partial-Bug: #1781376
2018-08-08 08:15:15 +00:00
wangqi 74dd650c92 update github link
Change-Id: I5bdec4171ef448a2e97a1cc80201658e9784bbd4
2018-08-07 12:04:15 +00:00
Shachar Snapiri f624265558 Move metadata_service deployment out of DF code
The deployment should be done via deployment scripts and not in the
code (nor in plugin.sh directly, as to allow production deployment).
Moved the deployment to a script located in the tools directory, which
is now called from the plugin.sh, and may be called from any production
deployment mechanism.

Partial-Bug: #1781376
Change-Id: I90a7e8a87764354ab9e2a8ab149f00f2eaea94f5
2018-07-25 10:44:04 +03:00
Shachar Snapiri bbe1347e4e Refactoring of ZMQ pubsub
To work around the ZMQ issues (publisher binds to a port, thus only one
publisher can work on a given IP), we had a lot of junk code in our
repo.
Removed all redundant mechanisms (use_multiproc, is_neutron_server) and
modified to have 2 types of configurable ZMQ drivers:
1. zmq_remote_pubsub_driver - Has TCP publisher and IPC subscriber, This
   should be used in the publisher service.
2. zmq_pubsub_driver - Has IPC publisher and TCP subscriberi, This
   should be used in all other uses.

The way to set the one to use is via configuration, thus it is up to the
deployment to make sure this is configured correctly.

Change-Id: Ibf7894e608187e87bdeb7774749bfa0cc15eae56
2018-06-12 13:01:49 +00:00
Shachar Snapiri 4ae2336114 Rearrange the pubsub code in plugin.sh
The function marked as common was called from one driver only, while the
other code was duplicated.

Change-Id: I7760f6ec974fd7caea5caed38a16ddc731cdeee5
2018-06-11 15:40:18 +03:00
Dima Kuznetsov e32364e80d Migrate portsec app to new framework
Change-Id: I5c76eabb9e15c628a6ca800123a135b7e1347c3f
Related-Bug: #1738986
Co-Authored-By: Lihi Wishnitzer <lihiwish@gmail.com>
2018-06-03 06:32:15 +00:00
Omer Anson 7b8fd6dd4d Update add_table_names script
Add a new script, tools/add_table_names, that adds to the output of
ovs-ofctl dump-flows the table names, including those allocated by the
new datapath. It relies on the new datapath output file.

Change-Id: I82069d1d084145ea0a55fd8c7ea2573ba5a86c4f
2018-05-28 08:25:45 +03:00
Omer Anson 54ebf8c669 Write datapath allocation data to file
Change-Id: Icf69de86bb61869ee9dba364fb9b4dd9562e6ab9
2018-05-28 08:25:45 +03:00
Omer Anson 3076ceb35c Update openvswitch version
Previously, we installed openvswitch 2.7.1 from git. This is problematic
in new kernels due to symbol name collision[1]. A fix was commited and
tagged as 2.9.1.

[1] 138df3e563

Change-Id: Id24b6caaeabfa22b10308b9bfbc48b8c1c7a6b9a

Publisher service to update Publisher table

When there are no events for a long time, the publisher
service does not update the publisher table. This may
make it look like the publisher is inactive. This will
cause some pub/sub messages to be lost.

This change makes the publisher automatically update
the timestamp in the database every once in a while
(half the timeout time).

Change-Id: Ie02120f2e31552e8bd93fc02101294500c959ac2
2018-05-27 20:56:44 +03:00
Dima Kuznetsov c3280d5ca5 New application framework
Add initial scaffolding to support applications with non-hard-coded
table names and registers.

Includes:

* 'wiring' configuration (vertices and edges)

* Decorator for new applications, with States, Entrypoints, Exitpoints,
  and public and private variables.

Includes code for reading and parsing this information, and connecting
the 'external' tables, i.e. the exitpoints of one app to the entrypoint
if the next app.

Change-Id: I81ee47b0c6e741888b3446602cca5e1835c9ae2f
Related-Bug: #1738986
Co-Authored-By: Lihi Wishnitzer <lihiwish@gmail.com>
2018-04-29 15:58:26 +03:00
Shachar Snapiri 7be2d258e2 Add df_skydive_service to dragonflow
To enable skydive, one should now enable the service in the local.conf
file using the following line:
enable_service df_skydive

If you would like to install the SkyDive analyzer on the same node, the
SkyDive install lines MUST be before the DragonFlow ones!
Please see doc/source/single-node-conf/etcd_skydive_local_controller.conf
file for usage example

Change-Id: I66c3eaf18904ae1c109d0ca8007269c41261d791
Depends-On: c5921051d7bc05d2c29494be842329e2ffcc008a
Related-Bug: #1749429
2018-04-11 14:15:02 +03:00
Omer Anson 66a02d1462 Disable tempest test TestSecurityGroupsBasicOps.test_cross_tenant_traffic
Test is broken and makes tempest gate fail. To be fixed in bug 1740739.

Change-Id: I70104d61520ea275a217ccb6fc5adbdaab1e1b23
Related-Bug: #1740739
2018-02-05 14:20:37 +02:00
Zuul 02aa8bb472 Merge "Re-organize the plugin.sh code" 2018-01-29 16:22:35 +00:00
Shachar Snapiri 2a641f1e69 Re-organize the plugin.sh code
Use the ACTION and STEP variables instead of $1 and $2.
Move code into functions for better readability.

Change-Id: If096c5536657fbe29e05d2bdb82c3c1347fe9bcc
2018-01-23 12:19:31 +02:00
Omer Anson 4849c7a521 Make remote_db_port and remote_db_ip deprecated
Change-Id: I913dd23ee288fd52dd7d7e0bbd858d6e2e5e8ab0
Closes-Bug: #1627229
2018-01-22 16:28:00 +02:00
Lihi Wishnitzer 29aabf3cfb Fix zookeeper devstack installation
The zookeeper devstack installation had few issues:
1. The configured port was ignored, and DF could not
connect to the DB
2. The systemd service file is already created by
the installation itself

Co-Authored-By: Shachar Snapiri <shachar.snapiri@huawei.com>

Change-Id: I82bc200181768a7065adce7a7fc5999b4ae97cb3
2018-01-17 11:49:01 +02:00
Shachar Snapiri a644ed7a67 Added a script to create add_table_names script
The add_table_names script is to be used with the output of the
ovs-ofctl dump-flows command, and adds the names of the tables being
used to their IDs. This is done for better readability and easier
debugging.

Change-Id: I52907e8d3b81f3f23eff2b0e062160141285bfed
Related-Bug: #1740867
2018-01-03 11:16:39 +02:00
Shachar Snapiri a252235af4 Add some more missing definitions for patch 529515
df-bgp service was not enabled for tempest, and the DF_PUBSUB was not
set for zmq fullstack. The latter does not seem to cause errors in the
build, but I believe it should be there, and only removed after thorough
consideration.

Change-Id: I6a4498325f9cff58367876533e1367bcd27258ca
Related-Bug: #1737889
2017-12-31 16:48:45 +02:00
Zuul 18ba1cf339 Merge "Add missing tempest inclusion for patch 529515" 2017-12-31 08:32:34 +00:00
Shachar Snapiri 743192433e Add missing tempest inclusion for patch 529515
Patch https://review.openstack.org/529515/ had a problem in the tempest
configuration, it was missing the enabling of the tempest service, thus
causing the tempest builds to fail even more.

Change-Id: If4b5d7e9488e7676c281198107701409a1d457a5
Related-Bug: #1737889
2017-12-29 21:48:32 +02:00
Shachar Snapiri 5f0756b79d Added more rootwrap filters for dragonflow debug
Added ability to call ovs-appctl, this is to allow calling the
SimulateAndSend for a packet for debug purposes.

Co-Authored-By: Omer Anson <omer.anson@toganetworks.com>
Change-Id: I8cb2ed5ae19d7e285e6db395aeedecc21c77b215
2017-12-29 13:36:32 +00:00
Shachar Snapiri 5c63080846 Re-organize the gaterc files to prevent errors
All common configuration was set to common files for the specific ones
to consume.

This allows us to put only the differing configuration, and keep the
common stuff together, and in this way avoid mistakes (e.g. having
selective-proactive on only for etcd/zmq).

Change-Id: Iace7b9116aefbf169245d42ef5ad04525cd72a33
Related-Bug: #1737889
2017-12-26 13:27:41 +02:00
Omer Anson 49f836128a Auto-enable loadbalancer VIP ports
By default, when loadbalancer VIP ports are created (either via Octavia
or via neutron-lbaas (v2)), then the port is created with
admin_state_up=False (i.e. the port is disabled). Dragonflow respects
this attribute, and does not 'wire' the port in this case.

Rather than change the default in Octavia and neutron-LBaaS, this patch
detects this case, and enables the VIP ports.

Change-Id: Ibbe927b2672f327349bdd9cff46349d4d01c990a
Partial-Bug: #1720734
2017-12-21 20:51:37 +02:00
Shachar Snapiri 920910cda3 Remove selective topo distribution from gate
The devstac-etcd-zmq gate still had the selective topo distribution set
even though it was supposed to be removed. this caused issues in the
gate (e.g. network creation messages did not arrive until the port was
created, thus causing an exception).

Change-Id: I8310806ae9373c6ca3e47257c329648d2b285000
Related-Bug: #1737889
2017-12-21 15:55:32 +02:00
Omer Anson a654a55d9c Infer MACVLAN/IPVLAN ports
Add support to infer MACVLAN ports (and IPVLAN ports) from Neutron port
and allowed address pair specification.

Partial bug, since tests are still missing.

Partial-Bug: #1720734
Change-Id: I4e07f074b3db999d72bfa60bae1622ce9547c3e5
2017-12-18 15:19:49 +02:00
Lihi Wishnitzer 7c5eb3cd4c Rename fullstack gates
Rename the fullstack gates in order to emphasize the difference
between the gates, and what is tested in each gate.

Change-Id: I56200b4eedac14a0b3f3f795d6b952f799a36de1
2017-10-26 17:52:16 +03:00
Lihi Wishnitzer 51b85e265e Add pubsub mechanism to etcd
Change-Id: I18890c0b14b2308699906121c854e1dddd9041f9
2017-10-19 09:41:40 +03:00
Shachar Snapiri f93e9ee783 Add a flag to use the neutron-installed OVS
Add a flag (DF_REINSTALL_OVS) - when set to false, the neutron ovs will not
be uninistalled and will be used. When set to True, the current behavior
of removing the OVS and reinstalling it will remain.
This will allow us to use some preconfigurations done by neurton in some
specific cases.

Change-Id: I2b7a9597033155fe4584559bebb6adda25198667
Closes-Bug: #1718115
2017-09-25 07:32:25 +03:00
Omer Anson 8cee42c5f3 devstack: Add DF_PUBLISHER_MULTIPROC_SOCKET option
This option sets the publisher_multiproc_socket option

Change-Id: I25919d8d148820b4bb992ba6a5b707cea8c82be0
Closes-Bug: #1556771
2017-09-14 19:53:15 +00:00
Jenkins edbd51ac10 Merge "devstack: Add hooks to support deployment with Octavia" 2017-09-13 11:01:03 +00:00
Omer Anson 25356f1405 Adding RethinkDB driver
Closes-Bug: #1625206
Closes-Bug: #1527217
Partial-Bug: #1530877
Change-Id: I2e592b752a51cd3651be6c020ca052f57fa9efef
2017-09-13 07:07:44 +00:00
Omer Anson 7538fe6def devstack: Add hooks to support deployment with Octavia
Change-Id: I6591ab285b701ac10615af7c8a70c08fd4053a9a
Closes-Bug: #1712078
2017-09-13 07:07:29 +00:00
Jenkins 698f4a331b Merge "Do not fail devstack if git pull for OVS fails" 2017-09-11 15:49:01 +00:00
Dima Kuznetsov b43544750b Change DNAT to rely on Provider app for bridge access
Until now, DNAT app maintained its own patch ports towards the external
network and classified the relevant traffic in table 0. This falls into
the responsibility of provider/tunneling apps now.

This patch removes a lot of the functionality done by provider / L2 apps.
DNAT apps marks the binding of floating port and emits a relevant event,
making it remote or local to other apps, and any traffic directed to
floating ports is forwarded to EGRESS table with relevant reg7 set. This lets
DNAT apps to focus on just the translation part.

Closes-Bug: #1636829
Change-Id: I8fb9e0e85510c0814e47cc7bdfd27648fd4b88ba
2017-08-31 17:06:44 +03:00
Jenkins dbc8af36bc Merge "Revisit devstack defaults" 2017-08-31 13:55:05 +00:00
Dima Kuznetsov bf461a5cb9 Revisit devstack defaults
* Move OVS related defaults from override-defaults to settings
* Add default value to Q_ENABLE_DRAGONFLOW_LOCAL_CONTROLLER
* Removed PUBLIC_BRIDGE as our defualt matches devstack
* Removed Q_USE_PROVIDERNET_FOR_PUBLIC which will now be true by
default. This will make `public` network flat rather than VxLAN so we
can reach its ports through br-ex

Change-Id: I2cef4e6b565d83860ce700aae2b498a9aa129ce3
2017-08-31 10:52:21 +03:00
Dima Kuznetsov 97e4a9a8b4 Disable Cinder in gate jobs
We're not using volumes in out tests, disabling cinder will save a few
minutes in the deployment.

Change-Id: I4b3988633e1125ec45fafc1416ccf9242e7f6c23
2017-08-28 15:54:47 +03:00
Jenkins a83cdad2a5 Merge "L3 router plugin: support agent scheduler conditionally" 2017-08-27 10:05:07 +00:00
Jenkins 8f0d1e08d1 Merge "Disable Selective-Proactive Distribution by default" 2017-08-27 10:05:03 +00:00