Esta imagem provê o serviço de submeter trabalhos na fila do slurm e acompanhar seus status, enviando e-mails quando seus status ou posição na fila mudem. Ele utiliza uma planilha do google para buscar novos trabalhos e trabalhos submetidos anteriormente. Faz buscas no banco de dados de trabalhos que ainda estejam com status de não concluídos e atualiza suas informações na planilha.
Links
Variaveis de Ambiente
- DB_HOST: endereço do banco de dados utilizado pelo slurm.
- DB_USER: usuário do banco de dados utilizado pelo slurm.
- DB_PASSWORD: senha do banco de dados utilizado pelo slurm.
- DB_DB: banco de dados utilizado pelo slurm.
- MAIL_SERVER: endereço SMTP utilizado para envio de e-mails.
- MAIL_PORT: porta do servidor SMTP utilizado para envio de e-mails.
- MAIL_USER: usuário de servidor SMTP utilizado para envio de e-mails.
- MAIL_PASSWORD: senha do servidor SMTP utilizado para envio de e-mails.
- MAIL_EMAIL: endereço de email utilizado para o envio.
- NFS_HOST: endereço do servidor NFS utilizado para os projetos.
Volumes
- /var/run/docker.sock:/var/run/docker.sock - Necessário para submeter os trabalhos na fila via docker exec (obs: o deploy desse container deve ser feito no mesmo nó que o container slurmctld)
Configs
- Devem ser adicionado o arquivo .json com as credencias dadas pela
Google Sheets API
, esse arquivo pode ser gerado utilizando o tutorial do artigo Read and Update Google Spreadsheets with Python!. Esse arquivo deve ser adicionado ao diretório/home/app do container
, com o nomeworkflow.json
e a planilha utilizada deve ter como nomeSlurm
.
Stack
# Este container tem que rodar no mesmo host do contaienr "slurmctld"
version: "3.5"
services:
workflow:
image: registry.codigos.ufsc.br/setic-hpc/workflow:latest
command: "init.py"
deploy:
placement:
constraints:
- "node.hostname==docker-hpc0"
environment:
DB_HOST: 'master.mysql.setic.ufsc.br'
DB_USER: 'slurm'
DB_PASSWORD: 'slurmslurmslurm'
DB_DB: 'slurm'
MAIL_PORT: 587
MAIL_SERVER: 'smtp.sistemas.ufsc.br'
MAIL_EMAIL: 'hpc@sistemas.ufsc.br'
MAIL_PASSWORD: 'hpchpchpc1'
MAIL_USER: 'hpc'
NFS_HOST: 192.168.6.1
volumes:
- /var/run/docker.sock:/var/run/docker.sock
configs:
- source: workflow_config
target: /home/app/workflow.json
configs:
workflow_config:
external: true