Bug 42061 - horde docker app
horde docker app
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: App Center
UCS 4.1
Other Linux
: P5 normal (vote)
: ---
Assigned To: Felix Botner
Dirk Wiesenthal
:
Depends on: 40857 42082
Blocks: 42243 42244
  Show dependency treegraph
 
Reported: 2016-08-19 11:42 CEST by Felix Botner
Modified: 2017-01-19 14:54 CET (History)
1 user (show)

See Also:
What kind of report is it?: Release Management
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 Felix Botner univentionstaff 2016-08-19 11:42:04 CEST
Provide a new horde docker app.
Comment 1 Felix Botner univentionstaff 2016-09-15 13:53:36 CEST
first version of the horde docker app is on the test appcenter,

what i did:

 * added

  DockerImage = docker.software-univention.de/ucs-appbox-amd64:4.1-3
  Docker = True
  DockerVolumes=/var/lib/univention-appcenter/apps/horde/logs/apache2:/var/log  /apache2,/var/lib/univention-appcenter/apps/horde/logs/horde:/var/log/horde
  database = postgresql
  databasename = hordedb
  databaseuser = horde
  RequiredAppsInDomain = mailserver

  to the ini file

 * added a ucr file for some config settings in the app settings (far from
   complete)

 * added a docker join/unjoin script, removed join scripts from the
   horde package, 
   the join script initializes horde and sets some defaults for 
   imap/smtp server, it also create a horde-app.conf for apache with
   special proxy settings for horde
Comment 2 Dirk Wiesenthal univentionstaff 2016-09-30 13:41:15 CEST
"Disable test script" is set to False. For Non-Docker installations, this is True.

Also, there are issues with Active Sync. Although I have no client to really test it (and also not set up the server correctly), I see differences between the two installations:

# non-docker
curl master50.dirk.singlemaster.intranet/Microsoft-Server-ActiveSync
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
...
<title>503 Service Temporarily Unavailable</title>
...


# docker
curl ucs-2176.dirk.singlemaster.intranet/Microsoft-Server-ActiveSync
<nothing>

It may seem as if the situation actually improved, but my guess is that for Non-Docker, the Proxy worked but Horde was poorly configured whereas for Docker, the Proxy is somehow wrong and Horde's configuration (right or wrong) is irrelevant. Can you have a closer look?
Comment 3 Felix Botner univentionstaff 2016-10-12 15:19:56 CEST
Active Sync:

@container-> more /etc/horde/horde/conf.d/10-ucs.php
...
$conf['activesync']['emailsync'] = true;
$conf['activesync']['version'] = '14.1';                  
$conf['activesync']['autodiscovery'] = 'full';
$conf['activesync']['logging']['type'] = 'horde';
$conf['activesync']['ping']['heartbeatmin'] = 60;
$conf['activesync']['ping']['heartbeatmax'] = 2700;
$conf['activesync']['ping']['heartbeatdefault'] = 480;
$conf['activesync']['ping']['deviceping'] = true;
$conf['activesync']['ping']['waitinterval'] = 15;
$conf['activesync']['enabled'] = true;

@host-> curl http://master/Microsoft-Server-ActiveSync
Trying to access the ActiveSync endpoint from a browser. Not Supported.

Disable test script:

added default=true

config

added mapping "/etc/horde": "/var/lib/univention-appcenter/apps/horde/horde-conf"
Comment 4 Dirk Wiesenthal univentionstaff 2016-10-14 00:01:32 CEST
You added a apache configuration file in the join script. Please remove it in the unjoin script.

The mapping of the horde config seems to break something. Installing, uninstalling, install horde leaves me with an unusable App:

Ein schwerer Fehler ist aufgetreten:
Missing required connection parameter(s).
Details wurden für den Administrator mitgeloggt.

Please have a look at it. If you feel that saving the configuration is important, we may have to do it in store_data/restore_data.
Comment 5 Felix Botner univentionstaff 2016-10-18 10:10:45 CEST
(In reply to Dirk Wiesenthal from comment #4)
> You added a apache configuration file in the join script. Please remove it
> in the unjoin script.

uinst remove this file now

 
> The mapping of the horde config seems to break something. Installing,
> uninstalling, install horde leaves me with an unusable App:

yep, seems to be a bug in horde, horde configs are generated from template (not UCR here, this is a horde mechanism), if the configs already exists (as it is the case when the mapping is activated), this generations produces broken configs

Added a store_data script to at least backup the /etc/horde dir.
Comment 6 Dirk Wiesenthal univentionstaff 2016-10-18 13:40:40 CEST
OK. Works for installation, uninstallation, even upgrade to a certain extend.
Comment 7 Dirk Wiesenthal univentionstaff 2016-10-19 12:12:08 CEST
Published with RequiredUCSVersion=4.1-3 errata293
Comment 8 Felix Botner univentionstaff 2016-12-14 11:57:07 CET
TODO: migration to docker
Comment 9 Felix Botner univentionstaff 2016-12-14 12:00:59 CET
http://wiki.univention.de/index.php?title=Horde_App_Migration

added "Dockermigrationlink = http://wiki.univention.de/index.php?title=Horde_App_Migration" to 

horde_20160819115028.ini
horde_20161024154423.ini
Comment 10 Dirk Wiesenthal univentionstaff 2017-01-19 14:54:17 CET
Works