Bug 39193 - Docker App installation scenarios
Docker App installation scenarios
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: App Center
UCS 4.1
Other Linux
: P5 normal (vote)
: UCS 4.1
Assigned To: Stefan Gohmann
Felix Botner
: interim-2
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2015-08-17 09:39 CEST by Stefan Gohmann
Modified: 2015-11-17 12:12 CET (History)
0 users

See Also:
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:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Gohmann univentionstaff 2015-08-17 09:39:40 CEST
The Docker App Center should support both scenarios:
 - The App software is already available in the Docker image
 - The App software will be installed in the Docker container during the App installation

This is configurable via the App Center ini file.
Comment 1 Stefan Gohmann univentionstaff 2015-10-05 17:17:26 CEST
This works already, see 80_docker/57_app_without_package.
Comment 2 Felix Botner univentionstaff 2015-10-06 18:12:23 CEST
OK, works, except

Traceback (most recent call last):
  File "57_app_without_package", line 36, in <module>
    app.verify_basic_modproxy_settings()
  File "/usr/share/ucs-test/80_docker/dockertest.py", line 244, in verify_basic_modproxy_settings
    response = urllib2.urlopen('https://%s/%s/index.txt' % (fqdn, self.app_name))
  File "/usr/lib/python2.7/urllib2.py", line 127, in urlopen
    return _opener.open(url, data, timeout)
  File "/usr/lib/python2.7/urllib2.py", line 407, in open
    response = meth(req, response)
  File "/usr/lib/python2.7/urllib2.py", line 520, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python2.7/urllib2.py", line 445, in error
    return self._call_chain(*args)
  File "/usr/lib/python2.7/urllib2.py", line 379, in _call_chain
    result = func(*args)
  File "/usr/lib/python2.7/urllib2.py", line 528, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 500: Proxy Error

univention-apache does not activate ssl unless the system is joined (has a certificate). But the test installs univention-apache (create_basic_modproxy_settings) and then joins the docker system.

Workaround:

added

--- /usr/share/ucs-test/80_docker/dockertest.py.orig    2015-10-06 07:40:10.193944000 +0200
+++ /usr/share/ucs-test/80_docker/dockertest.py 2015-10-06 07:42:33.153944000 +0200
@@ -227,6 +227,8 @@
                self.add_script(setup='''#!/bin/bash
 set -x -e
 univention-install --yes univention-apache
+a2enmod ssl
+a2ensite default-ssl
 mkdir /var/www/%(app_name)s
 echo "TEST-%(app_name)s" >>/var/www/%(app_name)s/index.txt
 /usr/share/univention-docker-container-mode/setup "$@"

to create_basic_modproxy_settings in dockertest.py.

ssl is activated, despite missing certificate and the univention-apache join script reloads apache during the join (and we have a working ssl configuration), test passed.
Comment 3 Stefan Gohmann univentionstaff 2015-10-07 06:46:02 CEST
(In reply to Felix Botner from comment #2)
> OK, works, except
> 
> Traceback (most recent call last):
>   File "57_app_without_package", line 36, in <module>
>     app.verify_basic_modproxy_settings()
>   File "/usr/share/ucs-test/80_docker/dockertest.py", line 244, in
> verify_basic_modproxy_settings
>     response = urllib2.urlopen('https://%s/%s/index.txt' % (fqdn,
> self.app_name))
>   File "/usr/lib/python2.7/urllib2.py", line 127, in urlopen
>     return _opener.open(url, data, timeout)
>   File "/usr/lib/python2.7/urllib2.py", line 407, in open
>     response = meth(req, response)
>   File "/usr/lib/python2.7/urllib2.py", line 520, in http_response
>     'http', request, response, code, msg, hdrs)
>   File "/usr/lib/python2.7/urllib2.py", line 445, in error
>     return self._call_chain(*args)
>   File "/usr/lib/python2.7/urllib2.py", line 379, in _call_chain
>     result = func(*args)
>   File "/usr/lib/python2.7/urllib2.py", line 528, in http_error_default
>     raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
> urllib2.HTTPError: HTTP Error 500: Proxy Error
> 
> univention-apache does not activate ssl unless the system is joined (has a
> certificate). But the test installs univention-apache
> (create_basic_modproxy_settings) and then joins the docker system.

That is / was Bug #38807. It worked before r64198 and it works now after r64268.

But the test case will properly fail due to Bug #39429#c2.
Comment 4 Felix Botner univentionstaff 2015-10-07 12:48:52 CEST
Test passed
Comment 5 Stefan Gohmann univentionstaff 2015-11-17 12:12:26 CET
UCS 4.1 has been released:
 https://docs.software-univention.de/release-notes-4.1-0-en.html
 https://docs.software-univention.de/release-notes-4.1-0-de.html

If this error occurs again, please use "Clone This Bug".