Compare commits
3 Commits
master
...
ecb9724ee3
Author | SHA1 | Date | |
---|---|---|---|
ecb9724ee3
|
|||
4373e0a4a2
|
|||
19b71c9933 |
3
inv.yml
3
inv.yml
@@ -13,3 +13,6 @@ all:
|
|||||||
slurm:
|
slurm:
|
||||||
hosts:
|
hosts:
|
||||||
ed-c7-1:
|
ed-c7-1:
|
||||||
|
cobald:
|
||||||
|
hosts:
|
||||||
|
ed-c7-1:
|
||||||
|
6
play.yml
6
play.yml
@@ -54,3 +54,9 @@
|
|||||||
vars:
|
vars:
|
||||||
slurm_user: slurm # or root
|
slurm_user: slurm # or root
|
||||||
tags: slurm
|
tags: slurm
|
||||||
|
|
||||||
|
- hosts: cobald
|
||||||
|
roles:
|
||||||
|
- name: "install cobald"
|
||||||
|
role: cobald
|
||||||
|
tags: cobald
|
||||||
|
7
roles/cobald/files/cobald-entrypoint.sh
Normal file
7
roles/cobald/files/cobald-entrypoint.sh
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
[ -f /usr/local/lib/cobaldmodules/setup.py -a \
|
||||||
|
-d /usr/local/lib/cobaldmodules/cobaldmodules ] && \
|
||||||
|
pip3 install --no-deps --editable /usr/local/lib/cobaldmodules
|
||||||
|
|
||||||
|
exec "${@:-/bin/bash}"
|
51
roles/cobald/files/cobald.Dockerfile
Normal file
51
roles/cobald/files/cobald.Dockerfile
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
FROM docker.io/library/centos:7
|
||||||
|
|
||||||
|
RUN yum update -y && \
|
||||||
|
yum install -y python3 git && pip3 install --upgrade pip && \
|
||||||
|
yum clean all && rm -rf /var/cache/yum
|
||||||
|
|
||||||
|
ARG REPOCOBALD=https://github.com/MatterMiners/cobald
|
||||||
|
ARG REPOTARDIS=https://github.com/MatterMiners/tardis
|
||||||
|
|
||||||
|
RUN git clone $REPOCOBALD /usr/local/src/cobald && \
|
||||||
|
git clone $REPOTARDIS /usr/local/src/tardis
|
||||||
|
|
||||||
|
RUN mkdir /etc/cobald /var/log/cobald && \
|
||||||
|
useradd -m -d /var/lib/cobald --no-log-init --system cobald
|
||||||
|
|
||||||
|
#RUN mkdir /cobald && python3 -m venv /cobald && source /cobald/bin/activate &&\
|
||||||
|
# pip3 install --upgrade pip && pip3 install cobald
|
||||||
|
|
||||||
|
RUN mkdir /usr/local/src/cobaldmodules /usr/local/lib/cobaldmodules && \
|
||||||
|
ln -s /usr/local/src/cobaldmodules/setup.py \
|
||||||
|
/usr/local/lib/cobaldmodules/setup.py && \
|
||||||
|
ln -s /usr/local/src/cobaldmodules/cobaldmodules \
|
||||||
|
/usr/local/lib/cobaldmodules/cobaldmodules && \
|
||||||
|
chown cobald:cobald /usr/local/lib/cobaldmodules
|
||||||
|
|
||||||
|
RUN pip3 install --editable /usr/local/src/cobald && \
|
||||||
|
pip3 install --editable /usr/local/src/cobald[contrib]
|
||||||
|
|
||||||
|
RUN pip3 install --editable /usr/local/src/tardis&& \
|
||||||
|
pip3 install --editable /usr/local/src/tardis[contrib]
|
||||||
|
|
||||||
|
ENV PYTHONPATH=/usr/local/src/cobaldmodules
|
||||||
|
|
||||||
|
# pip3 install --editable .
|
||||||
|
# pip3 install --editable .[contrib]
|
||||||
|
# pip3 install --upgrade --editable /etc/cobald/modules/
|
||||||
|
# su cobald -c "python3 -m cobald.daemon /etc/cobald/config.yaml"
|
||||||
|
|
||||||
|
VOLUME /usr/local/src/cobaldmodules
|
||||||
|
|
||||||
|
VOLUME /etc/cobald
|
||||||
|
|
||||||
|
COPY cobald-entrypoint.sh /usr/local/sbin/docker-entrypoint.sh
|
||||||
|
|
||||||
|
RUN chmod 755 /usr/local/sbin/docker-entrypoint.sh
|
||||||
|
|
||||||
|
ENTRYPOINT /usr/local/sbin/docker-entrypoint.sh
|
||||||
|
|
||||||
|
USER cobald
|
||||||
|
|
||||||
|
CMD "python3 -m cobald.daemon /etc/cobald/config.yaml"
|
58
roles/cobald/tasks/dev.yml
Normal file
58
roles/cobald/tasks/dev.yml
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
- yum:
|
||||||
|
name: git
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- git:
|
||||||
|
repo: https://github.com/thoto/cobald
|
||||||
|
dest: "~{{unpriv_user}}/cobald-src"
|
||||||
|
version: bugfix/mixed_construction_methods
|
||||||
|
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
|
||||||
|
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
|
||||||
|
|
||||||
|
- docker_container:
|
||||||
|
name: cobald-dev
|
||||||
|
image: cobald
|
||||||
|
volumes:
|
||||||
|
- "~{{unpriv_user}}/cobald:/etc/cobald"
|
||||||
|
- "~{{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"
|
||||||
|
state: started
|
||||||
|
detach: True
|
||||||
|
cleanup: True
|
||||||
|
interactive: True
|
||||||
|
command: /bin/bash
|
53
roles/cobald/tasks/main.yml
Normal file
53
roles/cobald/tasks/main.yml
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
- file:
|
||||||
|
path: "/container/{{item}}/cobald/"
|
||||||
|
state: directory
|
||||||
|
owner: "{{unpriv_user}}"
|
||||||
|
group: docker
|
||||||
|
loop:
|
||||||
|
- docker-images
|
||||||
|
- volumes
|
||||||
|
|
||||||
|
- copy:
|
||||||
|
src: cobald.Dockerfile
|
||||||
|
dest: /container/docker-images/cobald/Dockerfile
|
||||||
|
owner: "{{unpriv_user}}"
|
||||||
|
group: docker
|
||||||
|
register: cobald_cp_dockerfile
|
||||||
|
|
||||||
|
- copy:
|
||||||
|
src: cobald-entrypoint.sh
|
||||||
|
dest: /container/docker-images/cobald/cobald-entrypoint.sh
|
||||||
|
owner: "{{unpriv_user}}"
|
||||||
|
group: docker
|
||||||
|
mode: 0755
|
||||||
|
register: cobald_cp_files
|
||||||
|
|
||||||
|
- docker_image:
|
||||||
|
name: "cobald"
|
||||||
|
# pull: False
|
||||||
|
build:
|
||||||
|
pull: False
|
||||||
|
path: "/container/docker-images/cobald/"
|
||||||
|
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 run -v $(pwd)/cobald-config-host:/etc/cobald -v $(pwd)/cobald:/cobald --rm -it cobald bash
|
||||||
|
|
||||||
|
- docker_container:
|
||||||
|
name: cobald
|
||||||
|
image: cobald
|
||||||
|
volumes:
|
||||||
|
- /container/volumes/cobald:/etc/cobald:ro
|
||||||
|
state: started
|
||||||
|
detach: True
|
||||||
|
cleanup: True
|
||||||
|
when: False
|
||||||
|
|
||||||
|
- include_tasks: dev.yml
|
Reference in New Issue
Block a user