- include_vars: cobald-slurm.yml when: cobald_slurm | default(False) - file: path: "/container/{{item.name}}/cobald{{item.pfx|default('')}}/" state: directory owner: "{{unpriv_user}}" group: docker loop: - name: docker-images pfx: ".{{cobald_image_tag|default('latest')}}" - name: volumes - template: src: cobald.Dockerfile dest: "/container/docker-images/cobald.{{cobald_image_tag|default('latest')}}/Dockerfile" owner: "{{unpriv_user}}" group: docker register: cobald_cp_dockerfile - copy: src: "{{item}}" dest: "/container/docker-images/cobald.{{cobald_image_tag|default('latest')}}/{{item}}" owner: "{{unpriv_user}}" group: docker mode: 0755 with_items: - cobald-entrypoint.sh - init-cobaldmodules.sh register: cobald_cp_files - docker_image: name: "cobald" tag: "{{cobald_image_tag|default('latest')}}" # pull: False build: pull: False path: "/container/docker-images/cobald.{{cobald_image_tag|default('latest')}}/" source: build force_source: "{{cobald_cp_dockerfile.changed or cobald_cp_files.changed}}" - copy: src: cobald-config/ dest: /container/volumes/cobald owner: "{{unpriv_user}}" group: docker when: False - docker_network: name: "{{cobald_docker_network}}" # FIXME state: present # docker run -v $(pwd)/cobald-config-host:/etc/cobald -v $(pwd)/cobald:/cobald --rm -it cobald bash - yum: name: git state: present - file: path: "{{item}}" owner: "{{unpriv_user}}" group: "{{unpriv_user}}" mode: "a=rx,u=rwx" state: directory with_items: - "~{{unpriv_user}}/cobald/modules" - "~{{unpriv_user}}/cobald" - git: repo: https://github.com/thoto/cobald dest: "~{{unpriv_user}}/cobald-src" version: bugfix/mixed_construction_methods update: no become: yes become_user: "{{unpriv_user}}" register: cobald_git_pull - git: repo: https://github.com/MatterMiners/tardis dest: "~{{unpriv_user}}/tardis-src" version: master become: yes become_user: "{{unpriv_user}}" register: tardis_git_pull - name: "get unpriv_user {{unpriv_user}} uid and gid" getent: database: passwd key: "{{unpriv_user}}" - name: run pip install docker_container: image: "cobald:{{cobald_image_tag|default('latest')}}" name: "cobald-src-{{item.name}}-install" volumes: - "~{{unpriv_user}}/{{item.name}}-src:/usr/local/src/{{item.name}}:rw" state: started detach: False cleanup: True user: "{{getent_passwd[unpriv_user][1]}}:{{getent_passwd[unpriv_user][2]}}" entrypoint: "" command: | bash -c 'HOME=/tmp pip3 install --editable /usr/local/src/{{item.name}}' with_items: - name: cobald run: "{{cobald_git_pull.changed}}" - name: tardis run: "{{tardis_git_pull.changed}}" when: item.run - import_tasks: telegraf.yml - name: get cobald hostname include_tasks: facts.yml when: cobald_container_hostname is not defined - name: run cobald container docker_container: name: "{{ container_name | default('cobald') }}" image: "cobald:{{cobald_image_tag|default('latest')}}" hostname: "{{cobald_container_hostname}}" domainname: "{{ cobald_domainname | default('cobald.local')}}" volumes: "{{default_mounts + cobald_mounts }}" networks: - name: "{{cobald_docker_network}}" networks_cli_compatible: True # env: # slurmuser: "{{slurm_user}}" # privileged: "{{ container_privileged | bool }}" state: started detach: True cleanup: True interactive: True # command: python3 -m cobald.daemon /etc/cobald/config.yaml vars: default_mounts: "{{cobald_slurm_mounts | default([])}}" cobald_mounts: - "~{{unpriv_user}}/cobald:/etc/cobald" # - /container/volumes/cobald:/etc/cobald:ro - "~{{unpriv_user}}/cobald/modules:/usr/local/src/cobaldmodules" - "~{{unpriv_user}}/cobald-src:/usr/local/src/cobald:ro" - "~{{unpriv_user}}/tardis-src:/usr/local/src/tardis:ro"