Bug 33144 - Deploying apps in larger environments is very difficult
Deploying apps in larger environments is very difficult
Status: NEW
Product: UCS
Classification: Unclassified
Component: App Center
UCS 4.2
Other Linux
: P5 enhancement (vote)
: ---
Assigned To: App Center maintainers
:
Depends on: 30417 38697 39284
Blocks:
  Show dependency treegraph
 
Reported: 2013-11-06 11:29 CET by Jan Christoph Ebersbach
Modified: 2017-06-28 14:52 CEST (History)
4 users (show)

See Also:
What kind of report is it?: Feature Request
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?: Yes
School Customer affected?:
ISV affected?:
Waiting Support:
Ticket number:
Bug group (optional): Roadmap discussion (moved)
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Christoph Ebersbach univentionstaff 2013-11-06 11:29:14 CET
In larger environments with multiple servers running apps (e.g. UCS@school), it's very difficult to deploy apps in the first place and to keep them up to date (Bug #30417).

Currently, it's not possible to mirror apps.  Especially in environments where servers don't have internet access, this is a big issue.  Secondly, if someone creates a mirror for these apps, it's very difficult to keep them up to date since to app's directory name is changed for every update.
Comment 1 Jan Christoph Ebersbach univentionstaff 2013-11-06 11:29:40 CET
This issue was mentioned at ticket #2013091121001471.
Comment 2 Alexander Kläser univentionstaff 2013-11-07 11:40:08 CET
Scripting is possible via univention-add-app. In case of apps with schema packages, one would need to take care their installation of masters/backups manually.

(Otherwise, since 3.2 there is the feature of storing LDAP schema extensions/ACLs and UDM modules in LDAP, but apps need to be adapted to make use of this feature. Then there will no need for installing schema packages on backup/master systems.)

Not sure whether this helps?
Comment 3 Stefan Gohmann univentionstaff 2013-11-21 07:20:41 CET
Re-tag as enhancement since it is possible to install and update apps. You can use univention-add-app -l <appid> to add the latest app repository to the local UCR database. Then you ca set the localmirror UCR variable for this component.

After the mirror is complete you can set the UCR variables to the slaves and run an upgrade. I would think in a big environment it is not such a big problem.
Comment 4 Jan Christoph Ebersbach univentionstaff 2015-09-28 09:25:11 CEST
It would be great to have a documentation of the steps.
Comment 5 Alexander Kläser univentionstaff 2015-10-27 09:05:45 CET
Starting from UCS 4.1, univention-app will do the job.

@Dirk: Does it take care of the installation of schema packages etc.? It should, right? What about apps that do not register schema extensions in the LDAP?

-------------------- 8< --------------------
univention-app is a program to manage Apps from the Univention App Center

optional arguments:
  -h, --help            show this help message and exit

subcommands:
  type univention-app <action> --help for further help and possible
  arguments

  action
    domain              Domain management
    get                 Query an app
    info                Show general info
    install             Install an app
    list                List all app
    register            Registers an app
    remove              Uninstall an app
    stall               Stalls an app
    update              Updates the list of apps
    upgrade             Upgrade an app
    upgrade-search      Searches for upgrades
-------------------- 8< --------------------
Comment 6 Alexander Kläser univentionstaff 2015-10-27 09:15:16 CET
(In reply to Alexander Kläser from comment #5)
> Starting from UCS 4.1, univention-app will do the job.

univention-add-app still exists, as well, of course.
Comment 7 Dirk Wiesenthal univentionstaff 2015-10-27 09:24:08 CET
(In reply to Alexander Kläser from comment #5)
> Starting from UCS 4.1, univention-app will do the job.
> 
> @Dirk: Does it take care of the installation of schema packages etc.? It
> should, right? What about apps that do not register schema extensions in the
> LDAP?

univention-app is capable of installing an app with DefaultPackagesMaster. But I don't know whether this is sufficient to get a satisfying user experience in larger environments (without internet access on some servers, mirroring issues, etc).

One would need to test it. It may be that it needs further patches.

BTW: univention-app is primarily a tool for docker based apps. It can install non-docker apps, but this was not thoroughly tested. Also, master packages are installed by basically doing
  ssh $host univention-app install $app --only-master-packages

So this does not really work when UCS Master is 4.1 but the Backups are 4.0 (not having univention-app).

Mirroring should be easier with univention-appcenter-dev, though. I could write a small document if this is needed.
Comment 8 Dirk Wiesenthal univentionstaff 2017-04-07 11:01:28 CEST
Still relevant to mirror Apps in larger environments?
Comment 9 Jan Christoph Ebersbach univentionstaff 2017-04-18 09:04:50 CEST
I'm not quite sure whether it's still relevant.  In projects with school districts this requirement is found from time to time.
Comment 10 Florian Best univentionstaff 2017-06-28 14:52:18 CEST
There is a Customer ID set so I set the flag "Enterprise Customer affected".