Bug 40842

Summary: Docker Apps register their WebInterfacePortHTTP for /ucs-overview
Product: UCS Reporter: Dirk Wiesenthal <wiesenthal>
Component: App CenterAssignee: Dirk Wiesenthal <wiesenthal>
Status: CLOSED FIXED QA Contact: Eduard Mai <mai>
Severity: normal    
Priority: P2 CC: gulden
Version: UCS 4.1   
Target Milestone: UCS 4.1-2-errata   
Hardware: Other   
OS: Linux   
What kind of report is it?: --- What type of bug is this?: ---
Who will be affected by this bug?: --- How will those affected feel about the bug?: ---
User Pain: Enterprise Customer affected?:
School Customer affected?: ISV affected?:
Waiting Support: Flags outvoted (downgraded) after PO Review:
Ticket number: Bug group (optional):
Max CVSS v3 score:

Description Dirk Wiesenthal univentionstaff 2016-03-04 11:47:07 CET
... which leads to problems as the port is not open on the host. Instead a WebInterfacePortHTTP=8080 is mapped to, say, 40001, and this port is used for mod_proxy. In fact, the correct port for an App with auto_mod_proxy=True (default) and port 8080 in the ini file is 80 (and 443).

Currently, the link generated is:

  https://IP:8080/jenkins/ instead of https://IP/jenkins/

Workaround:
UCSOverviewCategory=False and setting the ucs/web/overview/entries/service/jenkins/... in the joinscript (and unsetting in unjoin).
Comment 1 Dirk Wiesenthal univentionstaff 2016-04-19 13:55:51 CEST
The correct check is:
  if app.auto_mod_proxy:
somewhere in register.py #_register_overview_variables

This is always False for None-Docker Apps and True by default for Docker Apps (see app.py)
Comment 2 Dirk Wiesenthal univentionstaff 2016-04-19 14:00:00 CEST
This _should_ also be fixed in App.js. Instead of "if (this.isDocker && port)" in getWebInterfaceURL, one should use (this.autoModProxy && port) (which needs to be initialized in constructor similar to isDocker).

Currently, every Docker App also has AutoModProxy, so this is just a minor issue, but still buggy.
Comment 3 Dirk Wiesenthal univentionstaff 2016-05-13 09:54:12 CEST
r69299.

Test:
  univention-app install jenkins=1.651.1
  vim /var/cache/univention-appcenter/jenkins_20160426.ini
    -> #UCSOverviewCategory=False
  univention-app register jenkins
  ucr get ucs/web/overview/service/jenkins/port_http

With and without errata update installed.
Comment 4 Dirk Wiesenthal univentionstaff 2016-05-30 23:18:14 CEST
If have added tests/80_docker/74_app_ports_webinterface in
  ucs-test 6.0.33-66.1482.201605302314

FYI: It is easier to test with jira. This App suffers from this bug without the need to edit the ini file.
Comment 5 Eduard Mai univentionstaff 2016-05-31 13:36:13 CEST
Reproduced the problem by installing Jira. Fix works as expected.

Changes: OK.
Yaml: OK.

Verified.
Comment 6 Janek Walkenhorst univentionstaff 2016-06-02 13:15:46 CEST
<http://errata.software-univention.de/ucs/4.1/187.html>