link-it / govway

API Gateway per la Pubblica Amministrazione italiana
https://govway.org
GNU General Public License v3.0
55 stars 11 forks source link

regressione bug issue 107 #129

Closed Ettore-Morasso closed 1 year ago

Ettore-Morasso commented 1 year ago

Descrizione del Bug Il bug riscontrato e risolto in precedente issue (https://github.com/link-it/govway/issues/107) si ripresenta nell'ultima versione di govway e forse in altre. Per ricapitolare: se nel docker-compose.yaml viene definito un hostname per il gateway, quando il container viene avviato la colonna "hostname" della tabella nodi_runtime rimane vuota, causando problemi alla console di gestione govway, segnatamente nella gestione della pulitura della cache. Nel precedente issue era stata indicata un immagine che conteneva il fix nello script di avvio, ma evidentemente si è persa nelle successive release

Come riprodurlo: Definire nel docker compose la prorprietà hostname; avviare il containner, entra nella console, verificare la voce di menù "runtime"

Risultato atteso: Nella voce di menù "runtime" si deve poter oprare lo svuotamento della cache e ottnere le informazioni del caso sul sistema (db, versione java, etc)

Ambiente:

andreapoli commented 1 year ago

Ciao @Ettore-Morasso, dai test effettuati non ci risulta la regressione del bug #107.

Ti allego l'ambiente docker-compose issue_107_HOSTNAME_3.3.12.zip utilizzato per i test in cui puoi vedere come sia stata definita la proprietà hostname. Riporto di seguito un estratto del file docker-compose.yml presente nell'archivio:

govway:
    container_name: gateway
    image: linkitaly/govway:3.3.12_postgres
    hostname: govway.democontent.3312.it
    ...
    volumes:
        - ./govway_conf:/etc/govway
        - ./govway_log:/var/log/govway

Una volta avviato l'ambiente la colonna "hostname" della tabella nodi_runtime risulta correttamente valorizzata:

govwaydb=> select * from nodi_runtime ;
  hostname  | gruppo |   data_registrazione    |     data_refresh      | id_numerico | id 
------------+--------+-------------------------+-----------------------+-------------+----
 172.28.0.2 | GovWay | 2023-05-13 13:10:55.645 | 2023-05-13 13:10:58.6 |           0 | 18

Molto probabilmente l'errore che incontri è dovuto all'assenza del file govway_local.properties all'interno della directory '/etc/govway' o ad una sua non corretta configurazione. Ti ricordo che nel caso in cui venga ridefinito l'hostname, avendo una configurazione di rete differente da quella attesa per default dall'immagine (govway in ascolto su localhost:8080), deve essere aggiunto nella directory di configurazione di govway il file 'govway.nodirun.properties' valorizzato come segue:

# ===================================================================
# Indirizzamento servizi dei nodi 'run'
# Servizio 'proxy'
GovWay.remoteAccess.url=http://<service-name>:8082/govway/proxy
# Servizio 'check'
GovWay.remoteAccess.checkStatus.url=http://<service-name>:8082/govway/check
# ===================================================================

Nell'archivio zip che ti ho allegato potrai vedere come tale file sia presente (govway_conf/govway.nodirun.properties) e sia configurato utilizzando come 'service-name' il container_name 'gateway'. Ho inoltre effettuato un ulteriore test con successo anche con la seguente configurazione in cui ho utilizzato al posto del container_name l'hostname configurato:

# ===================================================================
# Indirizzamento servizi dei nodi 'run'
# Servizio 'proxy'
GovWay.remoteAccess.url=http://govway.democontent.3312.it:8082/govway/proxy
# Servizio 'check'
GovWay.remoteAccess.checkStatus.url=http://govway.democontent.3312.it:8082/govway/check
# ===================================================================
Ettore-Morasso commented 1 year ago

Salve, grazie della risposta, confermo che è stato sufficiente decommentare il file 'govway.nodirun.properties' lasciando i valori di default (nella nostra configurazione lasciamo abilitata la 8080 per http). Inizialmente i valori erano commentati perchè pensavo essendo il default non fosse necessario esplicitarli, ma forse la presenza del file però "vuoto" ha generato la situazione per cui ho aperto questa segnalazione. Ora funziona tutto correttamente.