Open gabrielbdornas opened 9 months ago
Encontramos o seguinte erro durante o processo de atualização:
silviana.faria@cge-pda:~/age7$ git status
warning: unable to access '/home/desenvolvimento/.config/git/ignore': Permission denied
On branch main
Your branch is up to date with 'origin/main'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: logs/cron.txt
no changes added to commit (use "git add" and/or "git commit -a")
silviana.faria@cge-pda:~/age7$ git restore .
fatal: Unable to create '/home/desenvolvimento/age7/.git/index.lock': Permission denied
silviana.faria@cge-pda:~/age7$
silviana.faria@cge-pda:~/age7$ git restore .
fatal: Unable to create '/home/desenvolvimento/age7/.git/index.lock': Permission denied
O que significa que o usuário silviana.faria
não tem permissão de acesso ao arquivo /home/desenvolvimento/age7/.git/index.lock
. Esta resposta Stackoverflow mostrou a necessidade de rodar o comando cd .. & sudo chown -R silviana.faria:acessossh age
para liberar o acesso desta pasta para o referido usuário.
Depois o erro de permissão ocorreu para a pasta .config
:
silviana.faria@cge-pda:~/age7$ git restore .
warning: unable to access '/home/desenvolvimento/.config/git/attributes': Permission denied
Rodamos sudo chown -R silviana.faria:acessossh .config/
para resolver o problema.
Acesso à máquina virtual (usar dados de acesso da Silviana)
ssh user@ip
Percebemos que o commit diário de atualização do AGE7 não rodou na madrugada passada. Ao checar a pasta de logs com o comando cat full_extract.txt
dentro da pasta age7/logs
foi identificado erro de identação no datapackage.yaml
por volta da linha 2187.
Corrigimos o erro e vamos aguardar o processo rodar nesta madrugada para verificar se o problema foi solucionado.
Percebemos que o commit diário de atualização do AGE7 não rodou na madrugada passada. Ao checar a pasta de logs com o comando
cat full_extract.txt
dentro da pastaage7/logs
foi identificado erro de identação nodatapackage.yaml
por volta da linha 2187.
@AntonioMarcel e @silvianafaria, uma sugestão para evitar esse tipo de erro, ou facilitar encontrar o problema, é sempre incluir uma mudança por vez no datapackage. Assim, caso a rotina não rode, fica mais fácil ir nas poucas linhas modificadas para achar o problema.
@gabrielbdornas @AntonioMarcel vou reverter o commit desse datapackage e fazer novamente, mas não estou achando nada errado
Está igual as linhas de 2023
Vou conferir o log para checar o erro novamente e aí te atualizo @silvianafaria .
Dessa vez, o arquivo full_extract.txt não foi gerado nos logs. Ou seja, o datapackage nem chegou a ser lido. De acordo com o arquivo de log all.txt
:
Print dos arquivos de log evento_etl_carga.txt
e evento_etl_carga.csv
:
Foi alinhado com a @silvianafaria de restaurarmos os commits realizados para observar o processo rodar nesta madrugada. Uma vez que dê tudo certo, vamos realizar as alterações de cada arquivo por dia a fim de descobrir o erro mais facilmente.
@AntonioMarcel todos os commits resetados.
Notamos que os commits de atualização do age7 não estavam rodando de madrugada. Estava faltando reverter os commits do datapackage.
Reverti o restante dos commits. Vamos aguardar esta madrugada para ver se o problema será solucionado.
Os commits de atualização ainda não estão rodando.
Primeiramente, ao realizar o git pull origin main
foi identificado a seguinte mensagem referente a erro de permissão ao tentar realizar o git pull
. A branch foi atualizada ainda assim, mas para efeito de registros, segue o print abaixo.
Em seguida, segue os erros de log identificados:
cron.txt
all.txt
evento_etl_carga.txt
evento_etl_carga.csv
Na tentativa de solucionar os erros mostrados acima foram feitas seguintes etapas:
sudo usermod -a -G docker silviana.faria
.Makefile
: onde estava escrito python
foi modificado para python3
.sudo apt install r-base-core
sudo apt install python3-pip
sudo apt-get install libpq-dev
Ao rodar o comando sudo pip3 install -r requirements.txt
para instalar o restante das dependência do age7 foi mostrada a seguinte mensagem de erro:
Após as alterações realizadas no arquivo Makefile no repositório do AGE7 no github, foi realizado um git pull origin main
para puxar as alterações para a máquina virtual.
Vamos aguardar esta madrugada novamente para ver se os commits de atualização serão rodados.
Após as últimas tentativas, decidimos retomar os testes com a reversão de alguns commits, no entanto sem sucesso. Decidiu-se por pedir auxílio da equipe de TI.
Conforme orientações descritas no comentário do Issue #166:
Atualização dos arquivos
age7.yaml
,datapackage.yaml
, bem como criação de schemas para os recursosschemas/dm_empenho_desp_2024.yaml
,schemas/dm_empenho_resto_2024.yaml
,schemas/ft_despesa_2024.yaml
,schemas/ft_diarias_2024.yaml
,schemas/ft_restos_pagar_2024.yaml
.Antes de acessar a máquina virtural age7 para executar os comandos listados abaixo, foi necessário também solicitar Márcia do NUC a criação da tabela
ft_despesa_2024
no banco de dados.Acesso à máquina virtual age7 e execução dos comandos
git status
para verificar se havia algo não commitado (havia alguns arquivos de log, para os quais rodeigit restore .
),git pull origin main
para buscar as modificações realizadas na documentação,sudo make container-bash
para acessar o docker container aonde o processo é executado e por fim./all.sh
[^1] para colocar o processo para rodar (que demora mais de 4 horas para ser finalizado).Após finalização do processo rodado com o comando
./all.sh
é necessário rodar os comandosdpckan resource <resource_name> create
(um comando por tabela em cada conjunto) para que as novas tabelas apareçam nos respectivos conjuntos do Portal de Dados Abertos[^2].Exemplos:
despesa:
diarias:
restos_pagar:
[^1]: Provavelmente não será necessário rodar o comando
./all.sh
, pois as atualizações feitas no neste commit deverão ser incluídas na máquina virtual age7 na rotina que rodará dia 20/02/2024 (dados e metadados).[^2]: Utilizei comandos como
ls build_datasets/despesa/data | grep _2024
para descobrir com mais facilidade em quais conjuntos os comandos deveriam ser executados.