Commit 912d31c4 authored by Felipe Pina's avatar Felipe Pina
Browse files

Atualiza documentação

+ Sessão de instalação
+ Sessão de execução via Docker
parent db79872b
Pipeline #69008 skipped
......@@ -133,6 +133,24 @@ env CSBASE_SERVER="http://localhost:40409" \
${SGAD_HOME}/bin/sgad ./sgad.cfg
```
Here is an example of a script to run the SGA:
```bash
#!/bin/sh
timestamp=$(date +%Y%m%d%H%M%S)
logsdir="logs"
[ ! -e "${logsdir}" ] && echo "mkdir $logsdir" && mkdir "${logsdir}"
logfile="${logsdir}/sgad_${timestamp}.log"
instdir=${SGAD_HOME:-/usr/local}
eval $(${instdir}/bin/luarocks path --bin)
sgad "$@" 2>&1 | tee -a "${logfile}"
```
## Check SGA Version
The version of SGA can be found in `sga-daemon-\*.rockspec` file. The same version is also found in each component: `sga-driver-posix`, `sga-driver-pbs`, `sga-driver-slurm `and `sga-exec`. One can execute the following command to list the SGA version:
......@@ -159,7 +177,7 @@ The Docker image only works with the POSIX driver.
### Build
```console
$ docker build -f Docker/Dockerfile --network host -t soma/sga .
$ docker build -f Docker/Dockerfile -t soma/sga .
```
### Run
......@@ -168,7 +186,6 @@ $ docker build -f Docker/Dockerfile --network host -t soma/sga .
docker run -d \
--rm \
-p 40100:40100 \
-v "${WORKING_DIR}/data/logs/sga":/sgad/logs \
-v "${WORKING_DIR}/data/projects":/sgad/projects \
-v "${WORKING_DIR}/data/algorithms":/sgad/algorithms \
-e CSBASE_SERVER="http://csgrided:40500" \
......
......@@ -39,8 +39,6 @@ Aqui são descritos os requisitos, os passos de instalação e como configurar o
Requisitos
----------
+ Lua 5.2 (ou mais recente)
+ Lua 5.2 development files (ou mais recente)
+ gcc 4.8.5 (ou mais recente)
+ g++
+ make
......@@ -49,12 +47,10 @@ Requisitos
+ openssl_dev 1.1
+ perl
+ ksh
+ LuaRocks 2.4.2 (ou mais recente)
+ git
+ Docker (opcional)
.. attention::
**Somente para instalações no Microsoft Windows:** use o próprio Cygwin para gerenciar as dependências, com exceção do LuaRocks que deve ser instalado conforme instruções em https://luarocks.org/.
**Somente para instalações no Microsoft Windows:** use o próprio Cygwin para gerenciar as dependências.
.. important::
As instruções para instalação/configuração/execução via Docker estão na sessão `Execução via Docker`_.
......@@ -71,7 +67,9 @@ Baixar do repositório o arquivo ``.tgz`` correspondente à versão a ser instal
Substituindo ``X.Y.Z`` pelo número da versão desejada.
.. attention::
Pode ser necessário definir as variáveis de ambiente ``http_proxy`` e ``https_proxy`` para configurar o use de proxies ao comando ``wget``. Mais informações em `GNU Wget Manual:8.1 Proxies <https://www.gnu.org/software/wget/manual/html_node/Proxies.html#Proxies>`_
Pode ser necessário definir as variáveis de ambiente ``http_proxy`` e ``https_proxy`` para configurar o uso de proxies no comando ``wget``. Mais informações em `GNU Wget Manual:8.1 Proxies <https://www.gnu.org/software/wget/manual/html_node/Proxies.html#Proxies>`_.
As mesmas variáveis são usadas no script de instalação -- que usa internamente ``curl``. Mais detalhes em `curl.1 the man page <https://curl.se/docs/manpage.html>`_ na seção `ENVIRONMENT`.
Extrair o conteúdo do arquivo usando o comando ``tar``:
......@@ -79,60 +77,21 @@ Extrair o conteúdo do arquivo usando o comando ``tar``:
$ tar -xzf sgarest-daemon-X.Y.Z.tar.gz
.. attention::
Para instalar somente para o usuário corrente use a opção ``--local`` nos comandos ``luarocks``.
.. attention::
**Somente para instalações no Microsoft Windows:** execute os seguintes comandos LuaRocks antes de iniciar a instalação:
.. code-block:: console
$ luarocks install xml CC=g++ LD=g++
$ luarocks install luaposix LDFLAGS=-no-undefined
Execute os comandos abaixo para instalar o módulo principal do SGA:
.. code-block:: console
$ luarocks install lua-schema-scm-1.rockspec
$ luarocks make sga-daemon-*.rockspec
Em seguida execute um dos comandos para instalar ao menos um dos drivers:
POSIX
.. code-block:: console
$ luarocks make sga-driver-posix-*.rockspec
PBS
.. code-block:: console
$ luarocks make sga-exec-*.rockspec
$ luarocks make sga-driver-pbs-*.rockspec
Slurm
Executar o script de instalação informando um caminho de instalação:
.. code-block:: console
$ luarocks make sga-exec-*.rockspec
$ luarocks make sga-driver-slurm-*.rockspec
$ export SGAD_HOME=/sgad/instalation/path
$ ./install.sh --posix ${SGAD_HOME}
Instalação sem conexão com a Internet
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Deve-se informar o driver a ser instalado usando um dos argumentos que seguem:
Se a instalação for feita em uma máquina sem acesso a Internet, pode-se pegar as `dependências <http://www.tecgraf.puc-rio.br/ftp_pub/csbase/sga-rest/sga-rocks-2020-03-25.tar.gz>`_, copiá-las e extraí-las para a máquina e ao executar os comandos LuaRocks ``install`` and ``make`` adicionar a opção ``--only-server=caminho_para_dependencias``. Por exemplo:
.. code-block:: console
$ tar -xzf sga-rocks-2020-03-25.tar.gz
$ luarocks install --only-server=$HOME/sga-rocks-2020-03-25 lua-schema-scm-1.rockspec
$ luarocks make --only-server=$HOME/sga-rocks-2020-03-25 sga-daemon-*.rockspec
Instalação usando proxy
^^^^^^^^^^^^^^^^^^^^^^^
Para instalações realizadas em máquina usando proxy para conexão à Internet siga as instruções disponíveis em https://github.com/luarocks/luarocks/wiki/LuaRocks-through-a-proxy.
\\-\\-posix
Instala o driver POSIX
\\-\\-pbs
Instala o driver PBS
\\-\\-slurm
Instala o driver Slurm
..
TODO Como desistalar o SGA e o LuaRocks -- e Lua se for o caso
......@@ -180,7 +139,7 @@ csbase_server
platform
Plataforma na qual o SGA está executando
sgad_bind_addr
Endereço de bind do SGA. O valor padrão é 0.0.0.0
Endereço de bind do SGA. O valor padrão é ``0.0.0.0``
sgad_host
Endereço IP ou nome da máquina
sgad_port
......@@ -337,8 +296,8 @@ sga.driver.slurm
.. code-block::
sga_user ALL=(ALL) ALL
sga_user ALL=(ALL) NOPASSWD: /bin/sbatch,/bin/scancel
sga_user ALL=(ALL) ALL
sga_user ALL=(ALL) NOPASSWD: /bin/sbatch,/bin/scancel
.. caution::
Somente faça alterações no arquivo ``/etc/sudoers`` através do utilitário ``visudo``.
......@@ -402,31 +361,46 @@ Segue exemplo de configuração:
Execução
========
O arquivo ``sgad.sh`` é um script de exemplo -- que pode ser modificado -- de como executar o SGA. Nele pode-se configurar um diretório para onde redirecionar a saída padrão durante a execução do SGA.
Para iniciar o SGA execute o seguinte comando em um shell/terminal:
Com os caminhos da instalação do SGA usado na seção `Instalação`_ e do arquivo de configuração, execute o seguinte comando em um shell/terminal para iniciar o SGA:
.. code-block:: console
$ ./sgad.sh sgad.cfg
$ /sgad/instalation/path/sgad /path/to/conig/sgad.cfg
Já para executar um SGAs que utiliza a configuração múltipla
.. code-block:: console
$ ./sgad.sh sgad.cfg --sga_name garoa
$ /sgad/instalation/path/sgad /path/to/conig/sgad.cfg --sga_name garoa
Para visualizar as propriedades processadas antes de executar o SGA existe a flag ``--debug``:
.. code-block:: console
$ ./sgad.sh sgad.cfg --sga_name garoa --debug
$ /sgad/instalation/path/sgad /path/to/conig/sgad.cfg --sga_name garoa --debug
Para somente visualizar as propriedades processadas sem executar o SGA existe a flag ``--info``:
.. code-block:: console
$ ./sgad.sh sgad.cfg --sga_name garoa --info
$ /sgad/instalation/path/sgad /path/to/conig/sgad.cfg --sga_name garoa --info
Exemplo de script para iniciar o SGA com redirecioamento da saída padrão e de erro para arquivo de log:
.. code-block:: bash
#!/bin/sh
timestamp=$(date +%Y%m%d%H%M%S)
logsdir="logs"
[ ! -e "${logsdir}" ] && echo "mkdir $logsdir" && mkdir "${logsdir}"
logfile="${logsdir}/sgad_${timestamp}.log"
eval $(${SGAD_HOME}/bin/luarocks path --bin)
sgad "$@" 2>&1 | tee -a "${logfile}"
Execução via systemd
--------------------
......@@ -469,9 +443,9 @@ A imagem do SGA está no repositório ``repo.tecgraf.puc-rio.br:18089`` e no cam
Para a execução via Docker deve-se definir e mapear os seguintes volumes:
/sgad/projects
/sgad/data/projects
Área de projetos
/sgad/algorithms
/sgad/data/algorithms
Repositório de algoritmos
/sgad/logs
Diretório de logs
......@@ -488,6 +462,8 @@ SGAD_NAME
Nome do SGA
SGAD_PLATFORM
A plataforma do SGA. O valor padrão é Linux44_64
LOG_TO_FILE
Indicador de escrita do log em arquivo
.. important::
A porta configurada dentro do container via a variável de ambiente ``SGAD_PORT`` precisa ser a igual a porta que será exportada pois o SGA envia essa porta ao servidor CSBase, logo ela deve estar acessível na máquina hospedeira.
......@@ -521,13 +497,13 @@ Exemplo de script para iniciar um container Docker usando a imagem do SGA:
--name ${CONTAINER_NAME} \
--rm \
-p 40100:40100 \
-v "${WORKING_DIR}/data/logs/sga":/sgad/logs \
-v "${WORKING_DIR}/data/projects":/sgad/projects \
-v "${WORKING_DIR}/data/algorithms":/sgad/algorithms \
-v "${WORKING_DIR}/data/projects":/sgad/data/projects \
-v "${WORKING_DIR}/data/algorithms":/sgad/data/algorithms \
-e CSBASE_SERVER="http://${HOSTNAME}:40500" \
-e SGAD_HOST="${HOSTNAME}" \
-e SGAD_PORT="40100" \
-e SGAD_NAME="tempestade" \
-e LOG_TO_FILE=1 \
--restart=unless-stopped \
--network=host \
--privileged \
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment