Project

General

Profile

Segnalazione #810

Caricare la configurazione da un file

Added by Elena Grandi over 5 years ago. Updated over 5 years ago.

Status:
Chiuso
Priority:
Normale
Assignee:
Target version:
Start date:
05/15/2019
Due date:
% Done:

0%

Estimated time:
Resolution:

Description

Al momento in caso di presenza della directory /etc/fuss-server viene caricata la configurazione "standard", altrimenti quella mock; la configurazione standard dovrebbe però caricare le opzioni da un file, ad esempio /etc/fuss-manager/fuss-manager.conf (con gli opportuni default).

Il pacchetto dovrebbe poi creare quella directory, con un file opportuno.


Related issues

Related to fuss-manager - Segnalazione #788: Fare pacchetto .debIn elaborazione04/09/2019

Actions

Associated revisions

Revision 41a1f64d (diff)
Added by Elena Grandi over 5 years ago

Load configuration from a file, if explicitely specified. refs: #810

Revision 495bf0d4 (diff)
Added by Elena Grandi over 5 years ago

Add tests for the MockConfig. refs #810

Revision 98d3602b (diff)
Added by Elena Grandi over 5 years ago

Tests for MockConfig. refs #810

Revision 48de70bc (diff)
Added by Elena Grandi over 5 years ago

Improvements to MockConfig. refs #810

Revision 804653e2 (diff)
Added by Elena Grandi over 5 years ago

Use /etc/fuss-manager as a default place for things. refs: #810

Instead of using a mix of /etc/fuss-manager and /etc/fuss-server

Revision 993eb1ad (diff)
Added by Elena Grandi over 5 years ago

Change loading of default configs. refs: #810

If there is /etc/fuss-manager/ but no
/etc/fuss-manager/fuss-manager.yaml nor a fuss-manager.yaml in the
current directory, load default “production” configuration.

Revision a129ef06 (diff)
Added by Elena Grandi over 5 years ago

Remove loading a configuration file from the current directory. refs: #810

Revision 5970d4ce (diff)
Added by Elena Grandi over 5 years ago

Add options to specify a configuration file or mock mode. refs #810

Revision 2aa38c04
Added by Enrico Zini over 5 years ago

Sync with master. refs: #810

Revision 3d10ec64
Added by Enrico Zini over 5 years ago

Merged in master. Closes: #810

History

#1

Updated by Elena Grandi over 5 years ago

#2

Updated by Elena Grandi over 5 years ago

  • Status changed from Nuovo to In elaborazione
#3

Updated by Elena Grandi over 5 years ago

  • Status changed from In elaborazione to Commenti
  • Assignee set to Enrico Zini

Nel branch ci sono le modifiche che fanno sì che fuss-manager carichi:

  • se presente, il file /etc/fuss-manager/fuss-manager.yaml (con dei default opportuni per quanto non presente nel file);
  • altrimenti, se presente il file fuss-manager.yaml nella directory corrente (idem come sopra);
  • altrimenti, se è presente una directory /etc/fuss-manager/ (che viene creata dal pacchetto), la configurazione di “produzione” di default;
  • altrimenti la configurazione mock.

Una volta mergiato può valer la pena di ripassarmi il ticket controllare che il file fuss-manager.yaml.example (che ho aggiunto in doc) venga installato correttamente dal pacchetto.

#4

Updated by Enrico Zini over 5 years ago

  • Assignee changed from Enrico Zini to Elena Grandi

In fuss-manager, Runserver.make_app, l'ordine di caricamento al momento è:

        if os.path.exists('/etc/fuss-manager/fuss-manager.yaml'):
            config = Config('/etc/fuss-manager/fuss-manager.yaml')
        elif os.path.exists('fuss-manager.yaml'):
            config = Config('fuss-manager.yaml')
        elif os.path.exists('/etc/fuss-manager/'):
            config = Config()
        else:
            config = MockConfig()

Salterei il caricamento di fuss-manager.yaml dalla directory corrente, che mi sembra pericoloso, perché si rischia che il comportamento di fuss-manager cambi a seconda di dove venga eseguito.

Propongo di sostituirlo con un'opzione di argparse (installata facendo override di add_subparser in Runserver) che fa override della configurazione da caricare, e già che si mette mano alla commandline, usare --mock per attivare la modalità mock invece di usarla come fallback.

#5

Updated by Elena Grandi over 5 years ago

  • Assignee changed from Elena Grandi to Enrico Zini

Fatte le due modifiche richieste, pronto per review e merge (ho già mergiato master dentro a t810 per verificare l'assenza di conflitti)

#6

Updated by Enrico Zini over 5 years ago

  • Status changed from Commenti to Chiuso

Bellissimo, non conoscevo add_mutually_exclusive_group()!

Mergiato in master, chiudo.

Also available in: Atom PDF