This commit sets the default value of the region_name to 'None' in the
config, this way its avoided the use of a region name
that might not exists on the OpenStack cloud.
Closes-Bug: 1843194
Change-Id: Ic9deca9cb073b5458f5aa063f669b30ae2568f30
kuryr should support neutron client in multi-region scene as follows:
https://bugs.launchpad.net/kuryr/+bug/1831684
Closes-Bug: 1831684
Change-Id: I91315885a56c5cfb313b73b1eddc3935bc200c6c
In before, only one binding driver is allowed. This patch introduces
a new config to support multiple binding drivers. The first use case
is to allow SR-IOV binding to be co-existed with other binding.
* Rename the config 'driver' to 'default_driver' in 'binding' group.
This is for making it clear that it is allowed to have more than
one type of bindings.
* Introduce a new config called 'enabled_drivers'.
* Allow client to pass a driver name to port_bind and port_unbind.
If this parameter is None, kuryr will load the default driver.
Partial-Implements: blueprint sriov-binding
Change-Id: I14b23379de9f2459ba97d5d82dfdb51553370cb1
* Split get_neutron_client into three methods: get_neutron_client,
get_auth_plugin, and get_keystone_session.
* Split register_neutron_opts into two methods:
register_neutron_opts and register_keystoneauth_opts
* Split list_neutron_opts into two methods: list_neutron_opts
and get_keystoneauth_conf_options
This allows Fuxi to reuse the keystone code to get a cinder
client and generate sample config.
Change-Id: I9053b6d1a669d471a4c6b447fb72591a421a8caa
This patch introduces a new hierarchy of drivers to perform the port
binding and unbinding in a similar fashion as how it is done with
Neutron plugins.
The initial three drivers are:
* veth: The one that we have been using up until now and that uses
the usr/libexec/kuryr/* scripts to bind the host side
* ipvlan: L2 ipvlan motivated mostly container-in-vm use cases so that
the instance interface will have linked devices that get addresses
of other ports of the same subnet.
* macvlan: bridged mode ipvlan for OSes that do not support vlan.
Co-Authored-by: Louise Daly <louise.m.daly@intel.com>
Implements: blueprint driver-binding-ipvlan
Change-Id: I1d94ab324ab2a65a6d3e782e23ea6c59b110ff67
Value of this parameter will be refered in the code to determine
if containers are being launched inside virtual machines or on baremetal
machines.
Partially Implements blueprint containers-in-instances
Change-Id: Icbd561504c9bc39dbf7ef4b0f97561882dd8b1c2
This patch moves, as was discussed in the weekly IRC meeting,
[keystone] and [neutron] options, that were just for talking to
Neutron, inside [neutron].
The new organization is consistent with how Nova talks to Neutron
and how Neutron notifies nova. In doing so, we also reduce our codebase
since we can leverage the nice things offered by keystoneauth1.
Closes-bug: #1563011
Change-Id: Ia56b22963f5a2130a722403a14ee1a233ac6cff9
Signed-off-by: Antoni Segura Puimedon <antonisp@celebdor.com>
Configuration parameters should be registered by module which is user
of kuryr-lib.
Change-Id: I39dc27a8a9430327cdc75191f63c268354d07dab
Closes-bug: #1615942
This patch removes configuration parameters which are specific to
libnetwork. Currently these parameters are present at both repos and
thus lead to duplicate option error.
Change-Id: I2c3473a7ce89e26c78aeb35510650836f7043157
Closes-bug: #1605079
Related patchset in kuryr-libnetwork:
https://review.openstack.org/#/c/337350/
Implements blueprint code-refactoring
Change-Id: I91a402a159817462535e77296217a9dd7eb0fd08