diff --git a/doc/source/user/index.rst b/doc/source/user/index.rst index d7ef951cf9..b4bf4547d2 100644 --- a/doc/source/user/index.rst +++ b/doc/source/user/index.rst @@ -2265,8 +2265,6 @@ network-driver +========+=============+ | Flannel| supported | +--------+-------------+ - | Docker | unsupported | - +--------+-------------+ | Calico | supported | +--------+-------------+ diff --git a/magnum/api/validation.py b/magnum/api/validation.py index 7c1e1eb1a3..96493bbdbe 100755 --- a/magnum/api/validation.py +++ b/magnum/api/validation.py @@ -319,7 +319,12 @@ class Validator(object): class K8sValidator(Validator): - supported_network_drivers = ['flannel', 'calico'] + # NOTE(okozachenko): Cilium is added in the supported list because some + # cluster drivers like capi-driver supports this. But the Heat driver + # doesn't support this yet. + # In the future, supported network driver list should be fetched from + # cluster driver implementation instead of this fixed values. + supported_network_drivers = ['flannel', 'calico', 'cilium'] supported_server_types = ['vm', 'bm'] allowed_network_drivers = ( CONF.cluster_template.kubernetes_allowed_network_drivers) diff --git a/magnum/conf/cluster_templates.py b/magnum/conf/cluster_templates.py index 69e8fced38..2e6d2dfc4e 100644 --- a/magnum/conf/cluster_templates.py +++ b/magnum/conf/cluster_templates.py @@ -19,11 +19,8 @@ cluster_template_group = cfg.OptGroup(name='cluster_template', cluster_template_opts = [ cfg.ListOpt('kubernetes_allowed_network_drivers', - default=['all'], - help=_("Allowed network drivers for kubernetes " - "cluster-templates. Use 'all' keyword to allow all " - "drivers supported for kubernetes cluster-templates. " - "Supported network drivers include flannel."), + default=['flannel', 'calico'], + help=_("Allowed network drivers for kubernetes."), ), cfg.StrOpt('kubernetes_default_network_driver', default='flannel', diff --git a/magnum/tests/unit/api/test_validation.py b/magnum/tests/unit/api/test_validation.py index df636ba5b3..c963c48acd 100755 --- a/magnum/tests/unit/api/test_validation.py +++ b/magnum/tests/unit/api/test_validation.py @@ -159,7 +159,9 @@ class TestValidation(base.BaseTestCase): def test_enforce_network_driver_types_default_config_create(self): cluster_template = self._test_enforce_network_driver_types_create( - network_driver_type=None, validator_default_network_driver="type1" + network_driver_type=None, + validator_allowed_network_drivers=["type1"], + validator_default_network_driver="type1", ) self.assertEqual("type1", cluster_template.network_driver) diff --git a/releasenotes/notes/add-cilium-network-driver-8715190b14cb4f89.yaml b/releasenotes/notes/add-cilium-network-driver-8715190b14cb4f89.yaml new file mode 100644 index 0000000000..3f9db26e8e --- /dev/null +++ b/releasenotes/notes/add-cilium-network-driver-8715190b14cb4f89.yaml @@ -0,0 +1,4 @@ +--- +features: + - | + Add Cilium as a supported network driver of Kubernetes