Commit Graph

30 Commits (5485c247d487106f180dfca5a8f9caad0a8424a3)

Author SHA1 Message Date
Antoni Segura Puimedon b23cc91e6e
move to python3.3+ ipaddress backport
With this change, we are future proofing our code as well as reducing
the amount of external packages to install in Python3 as Netaddr is not
part of python3 nor python2 standard library.

Change-Id: Ie53282f47b294741a5d10ab63ae177ac56c528b4
implements: blueprint netaddr-to-ipaddress
Signed-off-by: Antoni Segura Puimedon <antonisp@celebdor.com>
7 years ago
Liping Mao dda19cd4b3 Update requirements and test-requirements
Move oslo.serialization from requirements to test-requirement.
Sort requirements and test-requirements in alphabetical order.

Change-Id: Ic587843283d58c1df457f198afe7da0b8fac06bf
7 years ago
Antoni Segura Puimedon 1963cb4e20
requirements: fix to point to upstream
As a temporary measure, we were pointing to Vikas' fork for kuryr-lib
since he did most of the split work. Kuryr-lib is starting to take good
shape and it is necessary for community guidelines and for devstack
correct operation that we point to OpenStack's own kuryr-lib
(openstack/kuryr) repository.

Additionally, I manually published a development package to pypi for
kuryr-lib so that when devstack's pip install of kuryr-libnetwork tries
to find the kuryr-lib version in pypi, it finds one.

In the future, once kuryr-lib stabilizes, it would be good to operate
like Neutron does with Neutron lib, i.e., point to a specific kuryr-lib
release in requirements. Until then, `pip install -r requirements` will
install from master and `pip install .` will find the pypi wheel.

Change-Id: If9b5da3a1853a6aa1e5ef177952591684c0e6053
Signed-off-by: Antoni Segura Puimedon <antonisp@celebdor.com>
7 years ago
Jenkins 9961e9d39a Merge "Fix hard-code listen ip "0.0.0.0"" 7 years ago
Liping Mao 3f2362b803 Remove pyroute2 in kuryr-libnetwork requirement.txt
pyroute2 only used in kuryr.lib now.

Change-Id: Iaad80e62a59bbb045e2473b1291b3fd6e151c2cd
7 years ago
Liping Mao cf5cbee4bd Fix hard-code listen ip "0.0.0.0"
Change-Id: I489c3708a02c40c6481b1411f93822a7b84b2f0f
Closes-bug: #1612532
7 years ago
vikaschoudhary16 f012544988 Update setup.cfg for kuryr-libnetwork
This patch updates setup.cfg for kuryr-libnetwork.

Partially Implements blueprint common-code-drop

Change-Id: I24b1a38717eaa5706341e2b0ad10791904cfb155
7 years ago
vikaschoudhary16 9c94d3ccc5 Drop common code and add kuryr_lib as requirement
1. Drop the common(COE agnostic) code such as binding, exceptions
2. Renamed kuryr-libnetwork/kuryr to kuryr-libnetwork/kuryr_libnetwork
3. change default kuryr port from 2377 to 23750
4. Add Kuryr-lib(Kuryr) to requirements.txt:
      Kuryr-lib(Kuryr) has also been cleaned to remove libnetwork specific
code(which is active in this repo such as libnetwork api handlers and
test cases). This patch is under review, [1]_. Meanwhile kuryr-lib
dependency is being resolved from external repo [2]. Exacltly same
changes, as present in under review kuryr-lib patch [1], are there on
external repo, [2]

[1] https://review.openstack.org/#/c/336784/
[2] https://github.com/vikaschoudhary16/kuryr/tree/drop_libnet_specific_code
Implements blueprint common-code-drop

Change-Id: If0823791463011dc395cd3390a7f4c187c9c2653
7 years ago
Jenkins 74e1f53aaf Merge "requirements: upgrade to latest pyroute2" 7 years ago
Lenka Segura 7cea99ac34 requirements: upgrade to latest pyroute2
Pyroute2 had bug with older kernels in 3.16 branch that was being
exposed in fullstack tests:

htps://github.com/svinota/pyroute2/issues/259

It was patched in the 0.4.3 release with

https://github.com/svinota/pyroute2/commit/22a2a06c0

Change-Id: I7833dee8129aa4557d9cde1e95aca6e9e55a9bc4
Signed-off-by: Lenka Segura <lenka@sepu.cz>
7 years ago
OpenStack Proposal Bot d64d5971ba Updated from global requirements
Change-Id: I622e0a0d3fc843bf9ea2447b1dde3a3bba29dafe
7 years ago
OpenStack Proposal Bot a98929ce24 Updated from global requirements
Change-Id: Ib6a97a3804762ff38103511720f351a3ff2dc2c6
7 years ago
OpenStack Proposal Bot 862a579cad Updated from global requirements
Change-Id: Icd5214f036687d47f1d861602dbb153eac617efa
7 years ago
Doug Wiegley 73043cdab2 Switch to using hacking checks from neutron-lib
Temporarily comment out the 'no neutron' check.

Change-Id: I8da2a5259528d05d58e2b6aa2fc34e3e0ae128a7
Partially-Implements: blueprint neutron-lib
7 years ago
Taku Fukushima 409cffac1d
Add oslo.log and use its config options by default
This patch introduces oslo.log as the new dependency and modifies the
configuration to use its options by default. Options can be configured
through the generated config file.

Change-Id: Iad9ccc5a521ffc49fe813a90ab0ce4997db707d1
Signed-off-by: Taku Fukushima <f.tac.mac@gmail.com>
Closes-Bug: #1569672
7 years ago
OpenStack Proposal Bot b16fe0482f Updated from global requirements
Change-Id: I73e066a2a2d61b9c8c99fe37078075b1788f1159
7 years ago
OpenStack Proposal Bot 68f1e01a09 Updated from global requirements
Change-Id: I134943e0f2b758964896fd0896edc682595a93c9
7 years ago
OpenStack Proposal Bot aeefbff865 Updated from global requirements
Change-Id: I4091305e3a3bcecb2f018b7224bfd8ade951a72f
7 years ago
OpenStack Proposal Bot 8639dc01ac Updated from global requirements
Change-Id: Ie1bc3790ccdba69d3eca7aca732e845f2ee6eb10
7 years ago
Andreas Jaeger d94b797355 Remove tox from requirements
tox is not part of global requirements and thus the sync with
requirements repository fails. Remove tox, it's wrong to mention it, we
expect tox to be installed.

Change-Id: I562456af72fb5336789b9ca5837574712e788ab9
7 years ago
Antoni Segura Puimedon 5cf2adf27a requirements: neutronclient subnetpool support
The support for the subnetpool APIs was added by commit
b978f909014cbc398c21bfae917fcece89a36e38
that first appears in the tag 2.4.0.

Change-Id: I41e454d10110c386562ccde9a0c9c59f6848ae5a
7 years ago
Antoni Segura Puimedon 6069371e1e requirements: add missing os-client-config
Probably we didn't notice it in devstack since other software pulls
it first. Maybe to avoid these sort of things devstack should run
each piece in a different virtual environment.

Change-Id: I4f24b680d15d0da2347ba5996a1708649985f2bc
7 years ago
Hui Kang 7af4f17f52 Fix missing tox in the requirement file
TrivialFix

Change-Id: If59a0bf60d8de893e81c5aa2a579b316e5b24159
7 years ago
Taku Fukushima 61a0350695 Implement /NetworkDriver.Join
This patch implements /NetworkDriver.Join, which goes through the
following steps:

1. Find the Neutron port associated with the given EndpointID
2. Create the veth pair based on the info of the retrieved port
3. Bind the port to the veth endpoint
4. Construct the response with the port and return it

In the process 3, Kuryr executes the binding script specified in the
binding:vif_type attribute of the retrieved Neutron port. Although
Neutron plugin can put arbitrary types in that attribute, if the
attribute was not specified it defaults to "unbound" and Kuryr invokes
"unbound" executable, which always fails with the status code 1.

This patch also includes the unit tests cover the successful case and
the failures.

Change-Id: Id3a8288199975d86812c7c1d210c7e11ae58d7b8
Signed-off-by: Taku Fukushima <f.tac.mac@gmail.com>
8 years ago
Taku Fukushima a1d65edb3f Add the validation for /NetworkDriver.CreateNetwork
This patch adds the validation for /NetworkDriver.CreateNetwork with
the JSON schema.

This patch also introdueces the basic foundation for the following
validations with JSON schemata. The common part of the scheamta is
separated in commons.py and it's injected into each schema.

Change-Id: I1cd849db2eeadb03b4488e1842fbd22e62fff169
Signed-off-by: Taku Fukushima <f.tac.mac@gmail.com>
8 years ago
Taku Fukushima daaa97fbda Implement /NetworkDriver.CreateEndpoint
This patch replaces the mocked version of /NetworkDriver.CreateEndpoint
with the actual Neutron call. This unit test for the endpoint is also
implemented.

libnetwork's Endpoint is mapped into Neutron's subnets and port. The
request to create an Endpoint contains the information of libnetwork's
Interfaces to be managed, however in Neutron there's no single resource
corresponds to the Endpoint.

Therefore Kuryr breaks the Endpoint into the following three pieces.

1. Subnet for Address property in the request
   - Kuryr passes the given Address property to CIDR for the request
     against Neutron API as it is
2. Subnet for AddressIPv6 property in the request
   - Kuryr passes the given AddressIPv6 property to CIDR for the request
     against Neutron API as it is
3. Port which MAC address is the same as MacAddress property in the
   request

To distinguish Neutorn subnets created in 1. and 2., Kuryr names them by
the given EndpointId with the their subnet addresses as the postfixes.
For the Neutron port, Kuryr gives the EndpointID with the index of the
interface and the postfix, "port". For instance, if Address, i.e.,
10.0.1.1/24, and AddressIPV6, i.e., fe80::f816:3eff:fe20:57c4/64, which
corresponding Neutron subnets don't exist are given in a request against
/NetworkDriver.CreateEndpoint, the following subnets and a port will be
created.

* 98953db3f8e6628caf4a7cad3c866cb090654e3dee3e37206ad8c0a81355f1b7-10.0.1.0
* 98953db3f8e6628caf4a7cad3c866cb090654e3dee3e37206ad8c0a81355f1b7-fe80::
* 98953db3f8e6628caf4a7cad3c866cb090654e3dee3e37206ad8c0a81355f1b7-0-port

In the process 1. and 2., Kuryr doesn't specify the allocation list for
the addresses and it's the responsibility of Neutron to allocate an
appropriate set of the addresses.

In the latter workflow, where a container joins the network and be
assinged for the specific address, Kuryr binds the container with the
created port which IP address that is allocated in this phase.

This patch implements the following IPAM blueprint in Kuryr partially
except for retrieving the names of the default subnets from the config
file:

https://blueprints.launchpad.net/kuryr/+spec/ipam

Change-Id: I1798b3baff56e285059435f2b8620f36811b580f
Signed-off-by: Taku Fukushima <f.tac.mac@gmail.com>
8 years ago
Taku Fukushima 88fe57c855 Add python-neutronclient to the dependencies
This patch adds python-neutronclient to requirements.txt.

Change-Id: Ie8921252c3f3b09c84d748fa5f5a513540afb509
Signed-off-by: Taku Fukushima <f.tac.mac@gmail.com>
8 years ago
Taku Fukushima 8c73ab3079 Add basic tests for Kuryr
This patch adds unit tests for Kuryr and examine if it satisfies
libnetwork's remote driver specifications.

Change-Id: Ic8ab9944a5ed884db518c840b75917261583e53e
Signed-off-by: Taku Fukushima <f.tac.mac@gmail.com>
8 years ago
Taku Fukushima 7b8dc9f7bb Add dependencies to requirements.txt
This patch adds some primary dependencies, Flask to
requirements.txt.

Change-Id: I1c285c1f91539403441ba200b58423e3dfc28988
Signed-off-by: Taku Fukushima <f.tac.mac@gmail.com>
8 years ago
Gal Sagie c98b0a5cbd Initial template commit
Depends-On: I39db2918ea277b939f67d3c856f52bd53c226f27
Change-Id: Iea544d90ae617abbcc6087d558d3fd38fca61a8c
8 years ago