This commit upgrades versions of kuryr-lib, MarkupSafe and
pyroute, which were required for the new pip resolver.
Change-Id: I214bcb70d05c871dc7e35ce1d0d861911f728650
Make a few cleanups:
- Remove python 2.7 stanza from setup.py
- Add requires on python >= 3.6 to setup.cfg so that pypi and pip
know about the requirement
- Remove obsolete sections from setup.cfg:
* Wheel is not needed for python 3 only repo
* Some other sections are obsolete
- Update classifiers
- Update requirements, no need for python_version anymore
Change-Id: I0dbb13d555eb473916ba585c62a0f7433d15afed
Global requirements has uncapped jsonschema, so we need to do so here
too.
Change-Id: I525215e95ebe4b155a17e0e187e9aca27a8217bb
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
The version of Flask is uncap in global requirements [1].
This patch makes kuryr-libnetwork follow.
[1] http://git.openstack.org/cgit/openstack/requirements/commit/
?id=cb6c00c01f82537a38bd0c5a560183735cefe2f9
Change-Id: I7d22eaf85d3683378e527b0e2b06b6f217fc3a15
kuryr-lib was released and then added to openstack/requirements. Thus,
we can now depend on it properly rather than keep tracking master.
Change-Id: I5babc72ec1cebb6499dec8d8b6cfc71422baedd8
Closes-bug: #1604663
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>
Move oslo.serialization from requirements to test-requirement.
Sort requirements and test-requirements in alphabetical order.
Change-Id: Ic587843283d58c1df457f198afe7da0b8fac06bf
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>
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
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>
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
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
The support for the subnetpool APIs was added by commit
b978f909014cbc398c21bfae917fcece89a36e38
that first appears in the tag 2.4.0.
Change-Id: I41e454d10110c386562ccde9a0c9c59f6848ae5a
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
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>
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>
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>
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>