Projet

Général

Profil

Development #34503

commande pour importer un site indépendamment de la commande hobo_deploy

Ajouté par Nicolas Roche il y a presque 5 ans. Mis à jour il y a plus de 4 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
03 juillet 2019
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Pour lancer un import site via la ligne de commande comme pour combo :

$ combo-manage tenant_command import_template signal-publik-portal-user -d commune1-combo.dev.publik.love
$ combo-manage tenant_command import_template signal-publik-portal-agent -d commune1-agent-combo.dev.publik.love
$ wcsctl.py -f ~/.config/publik/settings/wcs/wcs.cfg import_template signal-publik.zip --vhost commune1-wcs.dev.publik.love


Fichiers

Révisions associées

Révision c1f0acb9 (diff)
Ajouté par Nicolas Roche il y a plus de 4 ans

commands: add import_site management command (#34503)

Historique

#1

Mis à jour par Nicolas Roche il y a presque 5 ans

#3

Mis à jour par Frédéric Péters il y a presque 5 ans

  • Statut changé de Solution proposée à En cours

On n'écrit plus de commandes ainsi, ça doit passer dans wcs/ctl/management/commands/.

Et que ça ne s'appelle pas import_template mais import_site, comme dans chrono, combo, passerelle.

#4

Mis à jour par Nicolas Roche il y a presque 5 ans

Merci pour les indications.
Il me manque encore la gestion du '--if-empty'...

#6

Mis à jour par Nicolas Roche il y a presque 5 ans

J'ai retiré le rôles du test de l'état 'déjà configuration'.
Il sont provisionnés indépendamment de la configuration via l'import du zip.

#7

Mis à jour par Frédéric Péters il y a presque 5 ans

  • Sujet changé de commande pour importer un site indépendament de la commande hobo_deploy à commande pour importer un site indépendamment de la commande hobo_deploy
#8

Mis à jour par Frédéric Péters il y a presque 5 ans

Sujet du commit, plutôt préfixer par commands: ...

Import de Role inutile.

s/is_already_configurated/is_empty/

On n'utilise pas file().

Utiliser le init_tenant_publisher de TenantCommand plutôt que dupliquer ce code.

#9

Mis à jour par Nicolas Roche il y a presque 5 ans

Voilà
(je ne suis pas certain d'avoir bien compris le dernier point).

#10

Mis à jour par Frédéric Péters il y a presque 5 ans

(je ne suis pas certain d'avoir bien compris le dernier point)

En effet :

+ from . import TenantCommand

- class Command(BaseCommand):
+ class Command(TenantCommand):
...
+     publisher = self.init_tenant_publisher(domain)
...
#11

Mis à jour par Christophe Siraut il y a plus de 4 ans

  • Statut changé de Solution proposée à En cours
  • Assigné à changé de Nicolas Roche à Christophe Siraut
#12

Mis à jour par Frédéric Péters il y a plus de 4 ans

Ah je comprends enfin l'affaire, désolé, il faut d'abord #34405, c'est là-dedans qu'arrive la classe TenantCommand.

#13

Mis à jour par Christophe Siraut il y a plus de 4 ans

  • Statut changé de En cours à Solution proposée

ok j'ai poussé une version qui utilise TenantCommand (nécessite #34405).

#14

Mis à jour par Frédéric Péters il y a plus de 4 ans

ok j'ai poussé une version qui utilise TenantCommand (nécessite #34405).

Mais la branche en question ne le reprend pas ? Et jenkins passe par l'absence de tests.

+        parser.add_argument('--if-empty', action='store_true', default=False,
+                            help='Import only if wcs is empty')

Plutôt "if site is empty", ou "if tenant is empty".

+        if not os.path.exists(filename):
+            raise CommandError('unknown file: %s' % filename)

Quand un fichier est manquant on écrira plus volontiers "missing file".

#15

Mis à jour par Christophe Siraut il y a plus de 4 ans

J'ai adapté la branche avec les corrections demandées.

#16

Mis à jour par Nicolas Roche il y a plus de 4 ans

Un grand merci pour l'ajout des tests.
J'ai repris la main juste pour compléter la couverture.

#17

Mis à jour par Thomas Noël il y a plus de 4 ans

Moi ça me semble OK, mais je préfère que ceux qui ont commencé à gérer (Christophe ou Frédéric) pose le "solution validée" ici.

Un seul truc, dont j'ai déjà discuté avec Nicolas :

        if if_empty and not is_empty:
            return

Ici j'aurais bien vu un raise CommandError pour dire que l'import n'a pas eu lieu. Mais je comprends qu'on préfère avoir le même résultat que pour Combo & co, où rien ne se passe dans ce cas... Peut-être faire un print en cas de verbosity>0. Bon c'est vraiment mineur comme truc, et comme c'est déjà tout silencieux dans Combo, on peut sans doute pousser ça.

#18

Mis à jour par Christophe Siraut il y a plus de 4 ans

  • Statut changé de Solution proposée à Solution validée
#19

Mis à jour par Nicolas Roche il y a plus de 4 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit c1f0acb94c947cdbd00c586be198680266f8137e
Author: Nicolas ROCHE <nroche@entrouvert.com>
Date:   Thu Jul 4 19:22:24 2019 +0200

    commands: add import_site management command (#34503)
#20

Mis à jour par Frédéric Péters il y a plus de 4 ans

  • Statut changé de Résolu (à déployer) à Solution déployée

Formats disponibles : Atom PDF