Univention Bugzilla – Bug 42788
Add tab for handling of software and docker details
Last modified: 2016-11-25 10:01:06 CET
We will need a tab for managing all software details, i.e., Docker configurations and Debian package upload.
... a first draft layout has already been implemented.
TODOs for Debian package upload: * The list is not sorted and should be refreshed * Only 500kb are allowed for the upload * The checkbox for overriding older package versions is not correctly considered by the JavaScript code.
Is this bug also for the Docker tab? If so, the very first opening of a non-Docker App does not disable the Docker attributes. "Database Type" does not seem to be considered in the "changes" dict. Neither in the very first save() (where "MySQL" should be sent), nor when changing it from "MySQL" (which in fact is just the first entry in the ComboBox, not the "real value") to "Postgres".
(In reply to Dirk Wiesenthal from comment #3) > Is this bug also for the Docker tab? If so, the very first opening of a > non-Docker App does not disable the Docker attributes. > > "Database Type" does not seem to be considered in the "changes" dict. > Neither in the very first save() (where "MySQL" should be sent), nor when > changing it from "MySQL" (which in fact is just the first entry in the > ComboBox, not the "real value") to "Postgres". I assume that the checkbox "Use a database" was not checked. There was a bug that the fields were not disabled when "Use a database" was unchecked.
Layout for docker and software widgets has been committed: univention-management-console-module-appcenter-selfservice (1.0.0-76): r74411 | Bug #42788: add widgets + logic for handling software/docker configuration r74293 | Bug #42788: [WIP] layout for docker widgets r74275 | Bug #42788: complete layout of software tab r74179 | Bug #42788: Simplify and integrated PackageUploader
(In reply to Alexander Kläser from comment #2) > TODOs for Debian package upload: > * The list is not sorted and should be refreshed > * Only 500kb are allowed for the upload > * The checkbox for overriding older package versions is not correctly > considered > by the JavaScript code. This will be done via Bug 42943. → RESOLVED for now.
I forgot to include a few more scripts... univention-management-console-module-appcenter-selfservice (1.0.0-82): r74428 | Bug #42788: added infos + text areas for env, schema, ucr, preinst, prerm
DockerApps have an unhandy default for the init script: /sbin/init. This works for Package based Docker Apps (DockerImage=appbox), but for many Image based Docker Apps, it does not. The value needs to be changed to "DockerScriptInit = " in the ini file for these Apps.
(In reply to Dirk Wiesenthal from comment #8) > DockerApps have an unhandy default for the init script: /sbin/init. > > This works for Package based Docker Apps (DockerImage=appbox), but for many > Image based Docker Apps, it does not. > > The value needs to be changed to "DockerScriptInit = " in the ini file for > these Apps. Fixed in the frontend. An empty docker_script_init field is now always transmitted as null value to the backend. @Dirk: You need to adjust the default value to empty. univention-management-console-module-appcenter-selfservice (1.0.0-96): r74482 | Bug #42788: make sure that an empty DockerScriptInit field is always set
Fixed in r74490
ports_redirection is a list of lists when sent to the backend. Can you please send "$hostport:$containerport" like in docker_volumes? docker_volumes do not necessarily need a path for the container. In this case, the same path is used for the host and container. (This is due to the fact that we just add "-v $volume" to the docker command) I think it is okay to require the user to repeat the path even in this case. But currently, the path can be left empty, which results in "$host_path:" which will probably break the docker create command.
Is it easy to remove the checkbox "Use Database" and instead add a choice in the ComboBox Database Type: ["mysql", "postgres"] -> ["", "mysql", "postgres"]?
When checking "Use docker" and adding a image name, then saving, a lot of values are passed to the backend. Including "auto_mod_proxy". By default, this should be True. But False is sent. Reason: The App was a Non-Docker App the moment it was opened. And Non-Docker Apps have auto_mod_proxy = False. So this value was sent to the frontend. But when changing the App to be a Docker App, auto_mod_proxy should be True. Also, can you add WebInterfaceProxyScheme to the regular Docker Tab (maybe "advanced" pane). Currently, it is under "custom attributes". I think this does not reflect the importance of this attribute.
I cannot upload a Debian file called kix-pg.deb. The frontend probably parses the filename and rejects it. The backend would be able to handle it. In fact, even kix-pg.tgz can be handled (as long as it was just renamed and is a valid Debian package). Please allow all filenames.
(In reply to Dirk Wiesenthal from comment #11) > ports_redirection is a list of lists when sent to the backend. Can you > please send "$hostport:$containerport" like in docker_volumes? Fixed. univention-management-console-module-appcenter-selfservice (1.0.0-113): r74579 | Bug #42788: adjust handling of ports_redirection > docker_volumes do not necessarily need a path for the container. In this > case, the same path is used for the host and container. (This is due to the > fact that we just add "-v $volume" to the docker command) > > I think it is okay to require the user to repeat the path even in this case. > But currently, the path can be left empty, which results in "$host_path:" > which will probably break the docker create command. Fixed. The container path is now optional. univention-management-console-module-appcenter-selfservice (1.0.0-114): r74580 | Bug #42788: adjust handling of docker_volumes for empty container path (In reply to Dirk Wiesenthal from comment #12) > Is it easy to remove the checkbox "Use Database" and instead add a choice in > the ComboBox Database Type: ["mysql", "postgres"] -> ["", "mysql", > "postgres"]? Fixed. The ComboBox has now a field "No Database". univention-management-console-module-appcenter-selfservice (1.0.0-115): r74581 | Bug #42788: remove checkbox for database and use ComboBox instead
(In reply to Dirk Wiesenthal from comment #13) > When checking "Use docker" and adding a image name, then saving, a lot of > values are passed to the backend. > > Including "auto_mod_proxy". By default, this should be True. But False is > sent. Reason: The App was a Non-Docker App the moment it was opened. And > Non-Docker Apps have auto_mod_proxy = False. So this value was sent to the > frontend. But when changing the App to be a Docker App, auto_mod_proxy > should be True. Fixed. When checking "Use Docker" and the app has not been a Docker app initially, auto_mod_proxy is checked. univention-management-console-module-appcenter-selfservice (1.0.0-117): r74587 | Bug #42788: Set auto_mod_proxy initially to true > Also, can you add WebInterfaceProxyScheme to the regular Docker Tab (maybe > "advanced" pane). Currently, it is under "custom attributes". I think this > does not reflect the importance of this attribute. Fixed. univention-management-console-module-appcenter-selfservice (1.0.0-117): r74588 | Bug #42788: Support web_interface_proxy_scheme (In reply to Dirk Wiesenthal from comment #14) > I cannot upload a Debian file called kix-pg.deb. The frontend probably > parses the filename and rejects it. The backend would be able to handle it. > In fact, even kix-pg.tgz can be handled (as long as it was just renamed and > is a valid Debian package). Please allow all filenames. Fixed. The backend parses the file and returns a canonical name as "<packageName>_<version>_<architecture>.deb". Also upon saving or canceling, temporary uploads of the user for this particular app version are cleared. univention-management-console-module-appcenter-selfservice (1.0.0-117): r74586 | Bug #42788: Rename uploaded packages to canoncical form + clear uploads
(In reply to Alexander Kläser from comment #16) > Fixed. The backend parses the file and returns a canonical name as > "<packageName>_<version>_<architecture>.deb". Also upon saving or canceling, > temporary uploads of the user for this particular app version are cleared. > What happens if the module is closed via (X) on the very top bar? What happens when the sessions timeout hits?
The new version of the App Provider Portal has been released and this bug will thus be closed.