when kubernetes service's protocol is UDP, kuryr-kubernetes cause exception,
Neutron lbaas not support udp
======env==============
openstack version: ocata
kubernetes: v1.7.9
======service.yaml========
apiVersion: v1
kind: Service
metadata:
name: test
labels:
name: test
spec:
ports:
- name: port1
protocol: UDP
port: 8080
targetPort: 80
- name: port2
protocol: TCP
port: 80
targetPort: 80
selector:
name: test
========ERROR log===========
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging [-] Failed to handle event {u'object': {u'kind': u'Endpoints', u'subsets': [{u'addresses': [{u'ip': u'10.6.0.4', u'targetRef': {u'kind': u'Pod', u'resourceVersion': u'35931', u'namespace': u'default', u
'name': u'test-4027621023-d21hn', u'uid': u'613554c3-d67c-11e7-a2fb-fa163ee180e7'}, u'nodeName': u'i-9auvqf6c'}], u'ports': [{u'protocol': u'TCP', u'name': u'port2', u'port': 80}, {u'protocol': u'UDP', u'name': u'port1', u'port': 80}]}], u'apiVersion': u'v1', u'metadata':
{u'name': u'test', u'labels': {u'name': u'test'}, u'namespace': u'default', u'resourceVersion': u'295579', u'creationTimestamp': u'2017-12-04T03:17:34Z', u'annotations': {u'openstack.org/kuryr-lbaas-spec': u'{"versioned_object.data": {"ip": "10.5.223.33", "lb_ip": null,
"ports": [{"versioned_object.data": {"name": "port1", "port": 8080, "protocol": "UDP"}, "versioned_object.name": "LBaaSPortSpec", "versioned_object.namespace": "kuryr_kubernetes", "versioned_object.version": "1.0"}, {"versioned_object.data": {"name": "port2", "port": 80,
"protocol": "TCP"}, "versioned_object.name": "LBaaSPortSpec", "versioned_object.namespace": "kuryr_kubernetes", "versioned_object.version": "1.0"}], "project_id": "22979ed2ab6d4db183b844409ad91ff3", "security_groups_ids": ["60e94451-0a4e-42f0-9dd6-0ff27103897d"], "subnet_id": "c7323520-45dd-45e7-97b5-69585cf29d2c", "type": "ClusterIP"}, "versioned_object.name": "LBaaSServiceSpec", "versioned_object.namespace": "kuryr_kubernetes", "versioned_object.version": "1.0"}'}, u'selfLink': u'/api/v1/namespaces/default/endpoints/test', u'uid': u'ac18152a-d8a1-11e7-a2fb-fa163ee180e7'}}, u'type': u'MODIFIED'}: BadRequest: Invalid input for protocol. Reason: UDP is not in valid_values.
Neutron server returns request_ids: ['req-d593b3fb-adba-402b-a7e4-05f347d31212']
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging Traceback (most recent call last):
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging File "/root/kuryr-kubernetes/kuryr_kubernetes/handlers/logging.py", line 37, in __call__
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging self._handler(event)
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging File "/root/kuryr-kubernetes/kuryr_kubernetes/handlers/retry.py", line 61, in __call__
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging self._handler(event)
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging File "/root/kuryr-kubernetes/kuryr_kubernetes/handlers/k8s_base.py", line 60, in __call__
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging self.on_present(obj)
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging File "/root/kuryr-kubernetes/kuryr_kubernetes/controller/handlers/lbaas.py", line 236, in on_present
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging if self._sync_lbaas_members(endpoints, lbaas_state, lbaas_spec):
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging File "/root/kuryr-kubernetes/kuryr_kubernetes/controller/handlers/lbaas.py", line 284, in _sync_lbaas_members
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging if self._sync_lbaas_pools(endpoints, lbaas_state, lbaas_spec):
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging File "/root/kuryr-kubernetes/kuryr_kubernetes/controller/handlers/lbaas.py", line 384, in _sync_lbaas_pools
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging if self._sync_lbaas_listeners(endpoints, lbaas_state, lbaas_spec):
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging File "/root/kuryr-kubernetes/kuryr_kubernetes/controller/handlers/lbaas.py", line 432, in _sync_lbaas_listeners
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging if self._add_new_listeners(endpoints, lbaas_spec, lbaas_state):
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging File "/root/kuryr-kubernetes/kuryr_kubernetes/controller/handlers/lbaas.py", line 451, in _add_new_listeners
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging port=port)
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging File "/root/kuryr-kubernetes/kuryr_kubernetes/controller/drivers/lbaasv2.py", line 70, in ensure_listener
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging self._find_listener)
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging File "/root/kuryr-kubernetes/kuryr_kubernetes/controller/drivers/lbaasv2.py", line 287, in _ensure_provisioned
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging result = self._ensure(obj, create, find)
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging File "/root/kuryr-kubernetes/kuryr_kubernetes/controller/drivers/lbaasv2.py", line 275, in _ensure
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging result = create(obj)
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging File "/root/kuryr-kubernetes/kuryr_kubernetes/controller/drivers/lbaasv2.py", line 166, in _create_listener
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging 'protocol_port': listener.port}})
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging File "/opt/kuryr/local/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 1144, in create_listener
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging return self.post(self.lbaas_listeners_path, body=body)
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging File "/opt/kuryr/local/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 357, in post
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging headers=headers, params=params)
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging File "/opt/kuryr/local/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 292, in do_request
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging self._handle_fault_response(status_code, replybody, resp)
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging File "/opt/kuryr/local/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 268, in _handle_fault_response
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging exception_handler_v20(status_code, error_body)
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging File "/opt/kuryr/local/lib/python2.7/site-packages/neutronclient/v2_0/client.py", line 92, in exception_handler_v20
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging request_ids=request_ids)
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging BadRequest: Invalid input for protocol. Reason: UDP is not in valid_values.
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging Neutron server returns request_ids: ['req-d593b3fb-adba-402b-a7e4-05f347d31212']
2017-12-04 11:17:37.637 31836 ERROR kuryr_kubernetes.handlers.logging
Fix proposed to branch: master /review. openstack. org/525040
Review: https:/