summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge "Add simple ARP spoofing protection"2015.1.0rc1proposed/kiloJenkins2015-04-0913-14/+385
|\
| * Add simple ARP spoofing protectionKevin Benton2015-03-2913-14/+385
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds an option to setup OVS rules that will prevent ports attached to the agent from sending any ARP responses that contain an IP address not belonging to the port (in fixed IPs or allowed_address_pairs). It is disabled by default and requires an OVS version that can match on ARP fields. If it is too old, traffic will still flow but it won't have ARP spoofing protection. There is a sanity check to verify that ARP header matching is supported. This prevention is specific to OVS so it will not help with other plugins that use the reference iptables filtering. A non-OVS-specific general approach will require something like the ebtables integration in Ibc6d3d520c1383cf7e00f4bdeb7853a41ac4b14b. Details: A new table is added for ARP spoofing prevention. All ARP traffic on the local switching table is sent to this spoofing table. The spoofing table will allow all ARP requests because we aren't interested in them. It will then install an ARP response allow rule for each IP address the port is assigned. All other ARP responses are dropped. DocImpact SecurityImpact Partial-Bug: #1274034 Change-Id: I7c079b779245a0af6bc793564fa8a560e4226afe
* | Merge "Add missing config parameters in neutron.conf"Jenkins2015-04-081-54/+315
|\ \
| * | Add missing config parameters in neutron.confEdgar Magana2015-04-081-54/+315
| | | | | | | | | | | | | | | | | | | | | | | | Include all missing configuration parameters already integrated in Neutron code. Change-Id: Iefa344a2f9ec2c74f6314e7c783ff3b213d76ea3 Closes-bug: #1438329
* | | Merge "Re-use context session in ML2 DB get_port_binding_host"Jenkins2015-04-084-17/+16
|\ \ \
| * | | Re-use context session in ML2 DB get_port_binding_hostDane LeBlanc2015-04-084-17/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch modifies ML2 DB get_port_binding_host method so that it reuses the existing context session to do the database query rather than creating a new database session. Note that there are other methods in ML2 DB that do not re-use the caller's session (get_port_from_device_mac() and get_sg_ids_grouped_by_port()). These will be modified using a separate bug (https://bugs.launchpad.net/neutron/+bug/1441205). Change-Id: I8aafb0a70f40f9306ccc366e5db6860c92c48cce Closes-Bug: #1440183
* | | | Merge "Revert "IPv6 SLAAC subnet create should update ports on net""Jenkins2015-04-082-99/+10
|\ \ \ \
| * | | | Revert "IPv6 SLAAC subnet create should update ports on net"armando-migliaccio2015-04-082-99/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 81f4469b620ec221f53d3ffb4d00b90896dc5ce1. Change-Id: I63a392fccda29ceff3e91c0a4de741d263bd0e8e Related-bug: #1441382 Related-bug: #1440183
* | | | | Merge "Moving VLAN Transparency support from core to extension"Jenkins2015-04-0814-29/+245
|\ \ \ \ \ | |_|_|/ / |/| | | |
| * | | | Moving VLAN Transparency support from core to extensionPritesh Kothari2015-04-0814-29/+245
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Moving VLAN Transparency support from core to extension * Remove the older unit tests and add new corresponding ones DocImpact Closes-Bug: #1434667 Change-Id: Ic551475ed7b64aad9627a57abb0df41acc19bfc1
* | | | | Merge "Return from check_ports_exist_on_l3agent if no subnet found"Jenkins2015-04-082-1/+14
|\ \ \ \ \
| * | | | | Return from check_ports_exist_on_l3agent if no subnet foundEd Bak2015-04-072-1/+14
| | |_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The call to get_subnet_ids_on_router can return an empty list. If the subnet_ids list is empty, the subsequent call to get the ports on a subnet returns all ports. If this occurs when doing a remove_router_interface, the performance of a remove_router_interface degrades significantly. This change returns immediately from check_ports_exist_on_l3agents if no subnet is found. A new unit test has been added to cover the specific case of returning immediately without calling get_ports when a remove_router_interface operation is performed. Change-Id: I247d3bae152ab4f8ab7e00bd24d878eb08dca1ba Closes-Bug: #1420032 Depends-On: I15bbf16fd4378c6431e9da8942d0968e7a012a91
* | | | | Merge "Add ipset element and hashsize tunables"Jenkins2015-04-084-6/+75
|\ \ \ \ \ | |_|/ / / |/| | | |
| * | | | Add ipset element and hashsize tunablesBrian Haley2015-04-064-6/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recently, these messages have been noticed in both tempest logs, as well as reported by downstream users syslog: Set IPv4915d358d-2c5b-43b5-9862 is full, maxelem 65536 reached So the default of 64K is not sufficient enough. This change adds two config options to control both the number of elements as well as the hashsize, since they should be tuned together for best performance. Slightly different formats were required for 'ipset create' and 'ipset restore'. The default values for these are now set to 131072 (maxelem) and 2048 (hashsize), which is an increase over their typical default values of 65536/1024 (respectively), in order to fix the errors seen in the tempest tests. DocImpact Change-Id: Ic0b5b38a840e737dc6be938230f4052974c8620f Closes-bug: #1439817
* | | | | Merge "linuxbridge UT: Fix a regression of the recent ip_lib change"Jenkins2015-04-081-16/+8
|\ \ \ \ \ | |_|_|_|/ |/| | | |
| * | | | linuxbridge UT: Fix a regression of the recent ip_lib changeYAMAMOTO Takashi2015-04-071-16/+8
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A recently merged change, I07d1d297f07857d216649cccf717896574aac301, changed IPWrapper.get_devices to use /sys instead of executing ip command. Unfortunately it broke linuxbridge unit tests, which seems to assume that mocking utils.execute is enough in some places. This commit fixes the regression. Closes-Bug: #1433417 Related-Bug: #1374663 Change-Id: I9570abe703b438a3fc358f747e25d023934d1ffd
* | | | Merge "Remove tests from HA routers test framework"Jenkins2015-04-081-30/+30
|\ \ \ \
| * | | | Remove tests from HA routers test frameworkAssaf Muller2015-04-061-30/+30
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | The framework class should not contain tests. Running the module was running an additional 9 tests that should not have been run. Change-Id: Iabc6367e8bfda18e395d1a19809b07507200003d
* | | | Merge "Fix intermittent UT failures in test_utils"Jenkins2015-04-082-16/+6
|\ \ \ \ | |_|_|/ |/| | |
| * | | Fix intermittent UT failures in test_utilsarmando-migliaccio2015-04-072-16/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change eba4c2941ee introduced these tests. However they are not that useful as they simply mimick the code, without really ensuring that the behavior is expected, so they provide negative value ([1]), plus, they fail randomly. This patch removes them in favor of a more useful functional check. [1] http://googletesting.blogspot.com/2015/01/testing-on-toilet-change-detector-tests.html Closes-bug: #1441347 Change-Id: I8a321995295deef7f6d30be303486be491e2771f
* | | | Merge "Enhance TESTING.rst"Jenkins2015-04-071-17/+73
|\ \ \ \
| * | | | Enhance TESTING.rstMaru Newby2015-04-071-17/+73
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add detail about api testing and provide better visual separation between the different types of testing. The current testing guidelines are mainly about running tests, and this change does little to fix that. The intention is to add detail about writing tests in subsequent changes. Change-Id: I39d0439c91e5c6edb1d48d4da310443c99fb6d9e
* | | | Merge "Remove check for bash usage"Jenkins2015-04-0713-29/+14
|\ \ \ \ | |_|/ / |/| | |
| * | | Remove check for bash usageMaru Newby2015-04-0713-29/+14
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Arbitrarily restricting ourselves from using bash because developers on platforms like netbsd don't want to install bash from ports doesn't make sense. Any non-trivial shell script is likely to use features like arrays or string manipulation that are poorly supported (if at all) by sh, and the continued bumping of the number of expected bash scripts is an indication that the check is not serving its purpose anyway. Along with removing the check, all shebang references to /bin/bash have been replaced with /usr/bin/env bash in an attempt to be more compatible across different hosts. Change-Id: Ief72dc380cc88af38959c330897e2c127e33c332 Closes-Bug: #1440824
* | | Merge "Stop using deprecated DEFAULT group for lock_path"Jenkins2015-04-071-3/+4
|\ \ \
| * | | Stop using deprecated DEFAULT group for lock_pathIhar Hrachyshka2015-03-301-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While we set the configuration option in DEFAULT section, we get the following deprecation message in our logs: WARNING oslo_config.cfg [-] Option "lock_path" from group "DEFAULT" is deprecated. Use option "lock_path" from group "oslo_concurrency". Switch to the new configuration option location. Change-Id: I89783cc975a4a845ee57920d83236d6eb698af9c
* | | | Merge "Fix dynamic arp populate error for dvr routers"Jenkins2015-04-073-3/+33
|\ \ \ \ | |_|/ / |/| | |
| * | | Fix dynamic arp populate error for dvr routersSwaminathan Vasudevan2015-04-063-3/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Recent refactor to the L3 Agent have introduced this problem. When we create a VM after we attach an interface to a router or when we add an interface with an existing VM to a router, in both cases the arp entries for the dvr serviced ports are not getting populated in the Router Namespace. Closes-Bug: #1438969 Change-Id: I4a82e2435d176f3d9336d7f0dab9726c063840b9 Co-authored-by: Armando Migliaccio <armamig@gmail.com>
* | | | Reorganize plugin test modulesMaru Newby2015-04-0740-41/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change moves plugin test modules to conform to the new rules on unit test tree structure (see TESTING.rst). Vendor plugin paths continue to be ignored, and unit test modules that test features instead of modules are also ignored pending their removal to the functional test tree. Change-Id: I482c377ca72ffd58692ad84bd9692356513e4c98 Closes-Bug: #1440834
* | | | Merge open source plugin test code modulesMaru Newby2015-04-064-989/+934
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The unit test reorg is about moving files around so a test module is clearly associated with the code module it targets, but the test modules in this change needed to be manually merged because they both targeted the same module. Change-Id: I80f4b97fadd318896e7fa4e7e7e939f924127b2a Partial-Bug: #1440834
* | | | Reorganize unit test treeMaru Newby2015-04-06165-203/+294
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change ensures that the structure of the unit test tree matches that of the code tree to make it obvious where to find tests for a given module. A check is added to the pep8 job to protect against regressions. The plugin test paths are relocated to neutron/tests/unit/plugins but are otherwise ignored for now. Change-Id: If307593259139171be21a71c58e3a34bf148cc7f Partial-Bug: #1440834
* | | | Merge "Fix docstring for l3_dvr_db.dvr_vmarp_table_update"Jenkins2015-04-061-3/+5
|\ \ \ \
| * | | | Fix docstring for l3_dvr_db.dvr_vmarp_table_updateAssaf Muller2015-04-021-3/+5
| | | | | | | | | | | | | | | | | | | | Change-Id: I783b0357833cda0e5143581284be720e5d4f3a97
* | | | | Merge "Allow metadata proxy running with nobody user/group"Jenkins2015-04-0613-41/+221
|\ \ \ \ \
| * | | | | Allow metadata proxy running with nobody user/groupCedric Brandily2015-04-0613-41/+221
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently metadata proxy cannot run with nobody user/group as metadata proxy requires to connect to metadata_proxy_socket when queried. This change allows to run metadata proxy with nobody user/group by allowing to choose the metadata_proxy_socket mode with the new option metadata_proxy_socket_mode (4 choices) in order to adapt socket permissions to metadata proxy user/group. This change refactors also where options are defined to enable metadata_proxy_user/group options in the metadata agent. In practice: * if metadata_proxy_user is agent effective user or root, then: * metadata proxy is allowed to use rootwrap (unsecure) * set metadata_proxy_socket_mode = user (0o644) * else if metadata_proxy_group is agent effective group, then: * metadata proxy is not allowed to use rootwrap (secure) * set metadata_proxy_socket_mode = group (0o664) * set metadata_proxy_log_watch = false * else: * metadata proxy has lowest permissions (securest) but metadata proxy socket can be opened by everyone * set metadata_proxy_socket_mode = all (0o666) * set metadata_proxy_log_watch = false An alternative is to set metadata_proxy_socket_mode = deduce, in such case metadata agent uses previous rules to choose the correct mode. DocImpact Closes-Bug: #1427228 Change-Id: I235a0cc4f0cbd55ae4ec1570daf2ebbb6a72441d
* | | | | | Skip example retargetable functional testMaru Newby2015-04-061-0/+3
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The example retargetable test that previously ran as part of the functional suite is now skipped due to the fullstack example's db fixture usage causing the test to fail if it the fullstack example runs first on the same worker. Change-Id: I0a34f9ba04c53a4291698be819070c66009c8b4a Related-Bug: #1440797
* | | | | Merge "Prepare for unit test reorg"Jenkins2015-04-069-559/+469
|\ \ \ \ \
| * | | | | Prepare for unit test reorgMaru Newby2015-04-049-559/+469
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The unit test reorg is about moving files around so a test module is clearly associated with the code module it targets, but the test modules in this change needed to be manually merged because they both targeted the same module. test_api_v2 is also updated to use the path of neutron/tests/base.py as the root of path to test implementations of extensions. Change-Id: I432b84339e51c26ef0aa26d44e29b5a3311626ad Implements: bp/reorganize-unit-test-tree
* | | | | | Merge "Store and log correct exception info"Jenkins2015-04-053-3/+15
|\ \ \ \ \ \
| * | | | | | Store and log correct exception infoTerry Wilson2015-03-273-3/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since OVSDB commands execute in a different thread, the exceptions that are passed to the original thread do not contain traceback info from the exception. This patch stores the text from the exception as it is caught so that the calling thread can log it. Change-Id: If462c3d5dc104b349218dc910aa281220a5af528
* | | | | | | Merge "Always run dnsmasq as root"Jenkins2015-04-056-11/+17
|\ \ \ \ \ \ \
| * | | | | | | Always run dnsmasq as rootHong Hui Xiao2015-04-026-11/+17
| | |_|/ / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Regarding https://review.openstack.org/#/c/145829/ The old code of DnsMasq will always get root_helper from neutron.agent.dhcp.agent. However, new code will only set run_as_root when namespace is used. That will cause permission error when namespace is disabled and dnsmasq need to be started. Change-Id: Ib00d6e54dba44dbbbec158b9e0518e6e42baceec Closes-Bug: #1428007
* | | | | | | Merge "Move network MTU from core REST API to extension API"Jenkins2015-04-046-10/+162
|\ \ \ \ \ \ \
| * | | | | | | Move network MTU from core REST API to extension APITim Swanson2015-04-026-10/+162
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The network MTU was added to the core REST API via https://review.openstack.org/#/c/154921. This commit reverts that change and adds the network MTU to the extension API. Change-Id: I7a7d679f471ced3230f230684d5ae9789bcca305 Closes-bug: 1434671
* | | | | | | | Merge "Refactoring cleanup for L3 agent callbacks"Jenkins2015-04-047-313/+37
|\ \ \ \ \ \ \ \ | |_|_|_|/ / / / |/| | | | | | |
| * | | | | | | Refactoring cleanup for L3 agent callbacksPaul Michali2015-04-037-313/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit completes the refactoring of the L3 agent callback mechanism. The goal here is to also use the neutron/callbacks/ mechanism for L3 agent notifications, instead of have two mechanisms. [1] modified the L3 agent to send notifiactions for router create, udpate, and delete events, using the neutron/callbacks/ mechanism. [2] modified VPN to use this new mechanism, instead of the L3EventObservers mechanism. Note: [3] modified FW repo to no longer depended on the L3EventObserver and related objects (it doesn't currently use the event notifications). This commit removes the notifications for the L3EventObservers mechanism, removed the related modules and tests, and adds in tests to verify that the new notifications are called for the different events. Once [1] and [2] are upstreamed, this commit can proceed. Refs: [1] https://review.openstack.org/#/c/164466/ [2] https://review.openstack.org/#/c/165226/ [3] https://review.openstack.org/#/c/167275/ Change-Id: I7c4b4ea5f9fb19abb812665cdae5fb70c84fe3ec Depends-On: If5040a827a6903cc7cb5e59cdb7fb95f61b13d47 Closes-Bug: #1433552
* | | | | | | | Merge "Add API tests for subnet-create with subnetpool"Jenkins2015-04-031-0/+58
|\ \ \ \ \ \ \ \
| * | | | | | | | Add API tests for subnet-create with subnetpoolzengfagao2015-04-031-0/+58
| | |_|/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With subnetpool, we can create subnet with subnetpool. User can specify CIDR or prefixlen for subnet allocation. If neither is specified, CIDR will be chosen from the pool using the default-prefixlen of the pool. Change-Id: I2c4d81496e10826bed83a977ff0398f781d16c33 Partially-Implements: blueprint subnet-allocation
* | | | | | | | Merge "Support multiple IPv6 prefixes on internal router ports"Jenkins2015-04-039-111/+600
|\ \ \ \ \ \ \ \
| * | | | | | | | Support multiple IPv6 prefixes on internal router portsAndrew Boik2015-04-039-111/+600
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (Patch set #3 for the multiple-ipv6-prefixes blueprint) Provides support for adding multiple IPv6 subnets to an internal router port. The limitation of one IPv4 subnet per internal router port remains, though a port may contain one IPv4 subnet with any number of IPv6 subnets. This changes the behavior of both the router-interface-add and router-interface-delete APIs. When router-interface-add is called with an IPv6 subnet, the subnet will be added to an existing internal port on the router with the same network ID if the existing port already has one or more IPv6 subnets. Otherwise, a new port will be created on the router for that subnet. When calling the router-interface-add with a port (one that has already been created using the port-create command), that port will be added to the router if it meets the following conditions: 1. The port has no more than one IPv4 subnet. 2. If the port has any IPv6 subnets, it must not have the same network ID as an existing port on the router if the existing port has any IPv6 subnets. If the router-interface-delete command is called with a subnet, that subnet will be removed from the router port to which it belongs. If the subnet is the last subnet on a port, the port itself will be deleted from the router. If the router-interface-delete command is called with a port, that port will be deleted from the router. This change also allows the RADVD configuration to support advertising multiple prefixes on a single router interface. DocImpact Change-Id: I7d4e8194815e626f1cfa267f77a3f2475fdfa3d1 Closes-Bug: #1439824 Partially-implements: blueprint multiple-ipv6-prefixes