Compare commits

...

3 Commits

Author SHA1 Message Date
ecb9724ee3 generic unpriv_user 2021-05-11 23:56:29 +02:00
4373e0a4a2 cobald development environment 2021-05-11 23:48:49 +02:00
19b71c9933 first cobald tardis 2021-05-10 12:20:27 +02:00
6 changed files with 178 additions and 0 deletions

View File

@@ -13,3 +13,6 @@ all:
slurm:
hosts:
ed-c7-1:
cobald:
hosts:
ed-c7-1:

View File

@@ -54,3 +54,9 @@
vars:
slurm_user: slurm # or root
tags: slurm
- hosts: cobald
roles:
- name: "install cobald"
role: cobald
tags: cobald

View 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}"

View 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"

View 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

View 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