Deployment of multiple containers(same of different types) on same host

Using this thread to document any issues we observe while deploying multiple containers on the same hosts.

First one, the extract-lc.py support script for the bash based CLI should not generate duplicate entries for lc hostnames. i.e. use a set instead of a list in python.

GitHub Issue:

Update: Resolved

Some pre-deploy puppet resources complained about duplicate declarations. The changes in the puppet module can be followed through this issue:

updates to the pre-deploy stage and its rollback are mentioned in this commit:

They will be available from v1.0.19 of the puppet module.

The final piece of having this functionality is that currently in the deploy step, running the HtCondorCE and HTCondorBatch on the same host fails because both containers want their name to be set to the hostname of the machine (docker containers must have unique names). We, therefore, need to modify the batch container’s meta-info.yaml and remove the hostname requirement

@litmaath, this can be released as a separate tag or branch in the same repository, (internal batch or maybe you have a better name suggestion for the branch/tag )

This way, a site admin would only have to change the repository_revision configuration parameter of their HTCondor-Batch lightweight component in the site level config file

@mayank: is there a reason you would not (yet) want to make this behavior standard?

@litmaath I’d still would like to investigate the local user support before coming to a hard conclusion on the default behaviour. If the batch is exposed, then submitting jobs locally from any properly configured machine would be possible, otherwise the submitter would have to attach itself to the same docker overlay network.

@mayank Good point indeed! Then your proposed approach looks fine, thanks!

Just released puppet module 1.0.19 which implements the above mentioned changes. In order to use HTCondor Batch container on the same host as the CE container, the site admins need to use the docknet branch of the component repository. This can be done in the lightweight_components section of the site level config file as shown below:

lightweight_components:
...
- type: batch_system
    name: HTCondor-Batch
    repository_url: "https://github.com/simple-framework/simple_htcondor_batch"
    repository_revision: "docknet"
    ...
...