Bug 43108

Summary: Support UDP for Docker Ports
Product: UCS Reporter: Dirk Wiesenthal <wiesenthal>
Component: App CenterAssignee: Dirk Wiesenthal <wiesenthal>
Status: CLOSED FIXED QA Contact: Felix Botner <botner>
Severity: normal    
Priority: P5 CC: franke
Version: UCS 4.1   
Target Milestone: UCS 4.1-4-errata   
Hardware: Other   
OS: Linux   
What kind of report is it?: Bug Report What type of bug is this?: 2: Improvement: Would be a product improvement
Who will be affected by this bug?: 1: Will affect a very few installed domains How will those affected feel about the bug?: 2: A Pain – users won’t like this once they notice it
User Pain: 0.023 Enterprise Customer affected?:
School Customer affected?: ISV affected?: Yes
Waiting Support: Flags outvoted (downgraded) after PO Review:
Ticket number: 2016112121000586 Bug group (optional):
Max CVSS v3 score:
Bug Depends on:    
Bug Blocks: 43386    

Description Dirk Wiesenthal univentionstaff 2016-12-05 00:45:06 CET
PortsRedirection=2000:2000/udp

Should be supported by docker itself easily (just passed to the docker command).

May need some adjustments in the utility functions regarding ports.

May need adjustments in the Provider Portal.
Comment 1 Dirk Wiesenthal univentionstaff 2017-01-16 10:54:19 CET
Fixed in
  univention-appcenter 5.0.23-33.260.201701161043

You can test it with:

univention-app dev-set univention-demo "PortsRedirection=5000:5000/udp, 6000:6000, 6000:6000/udp" DockerImage=docker.software-univention.de/ucs-appbox-amd64:4.1-4 DockerScriptSetup=/bin/true
univention-app install univention-demo

This should open
  5000:5000/udp, 6000:6000/tcp, 6000:6000/udp

You can test UDP with:
  https://wiki.python.org/moin/UdpCommunication
(at least I did it with that page)

Note that you need to adjust the port in the scripts. The receiving.py script also needs to listen to '0.0.0.0'.

Provider Portal needs adjustments to support it, but it is not broken after this fix. But it would be broken if released before this Bug has been released. So no fix for it here.
Comment 2 Felix Botner univentionstaff 2017-01-16 13:26:48 CET
OK - docker inspect

"Ports": {
            "5000/udp": [
                {
                    "HostIp": "0.0.0.0",
                    "HostPort": "5000"
                }
            ],
            "6000/tcp": [
                {
                    "HostIp": "0.0.0.0",
                    "HostPort": "6000"
                }
            ],
            "6000/udp": [
                {
                    "HostIp": "0.0.0.0",
                    "HostPort": "6000"
                }
            ]
        }
OK - python test (message: Hello, World!)
OK - merged to 4.2
OK - YAML
Comment 3 Janek Walkenhorst univentionstaff 2017-01-18 13:58:23 CET
<http://errata.software-univention.de/ucs/4.1/377.html>