Projet

Général

Profil

Development #15797

Cook et déploiement multi-publik

Ajouté par Frédéric Péters il y a environ 7 ans. Mis à jour il y a plus de 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Catégorie:
-
Version cible:
-
Début:
07 avril 2017
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Dans #14744 il y avait un appel à création de ticket trop discret, je le fais donc :

Il faut faire évoluer create-hobo pour que seul le premier passe par la commande create_hobo_tenant, que les autres soient créés comme des autres services, via message hobo_deploy dans rabbitmq, et seul le premier aussi doit modifier le tenant actif.

Et si on veut pouvoir dans le même recipe.json déployer plusieurs collectivités, il faut un paramètre ou une nouvelle commande pour au contraire (de "seul le premier doit modifier le tenant actif") mettre un hobo donné comme étant le tenant actif.


Fichiers

Révisions associées

Révision f9424f64 (diff)
Ajouté par Frédéric Péters il y a plus de 6 ans

cook: add support for creating secondary hoboes (#15797)

{
"create-hobo": {
"url": "https://hobo.second.example.net",
"title": "Secondary Publik"
}},

Révision c25b14cf (diff)
Ajouté par Frédéric Péters il y a plus de 6 ans

cook: add cook step, to run "sub-"recipes (#15797)

{
"cook": {
"filename": "secondary-recipe.json"
}}

Historique

#1

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

Une commande create-hobo qui permet au recipe.json de l'interco de contenir des commandes "create-hobo" supplémentaires,

  "steps": [
    {"create-hobo": {
      "url": "https://hobo-interco.example.net/" 
    }},
    {"create-authentic": {
      "url": "https://auth.example.net/",
      "title": "Authentic" 
    }},
    [...]
    {
     "create-hobo": {
       "url": "https://hobo-secondary.example.net",
       "title": "Secondary Publik" 
    }},
    {
     "create-hobo": {
       "url": "https://hobo-other-secondary.example.net",
       "title": "Other Secondary Publik" 
    }},
    [...]

Le deuxième patch, il ajoute une étape "cook", qui permet à un recipe.json d'en appeler un autre, ex;

        {
         "cook": {
           "filename": "secondary-recipe.json" 
        }}

Et une étape "set-hobo" qui permet de placer de switcher le tenant actuel vers le hobo/publik en question.

        {"set-hobo": {
          "url": "https://${hobo}/" 
        }},

Avec tout ça, on peut en un cook déployer de l'interco, avec une structure qui serait :

  • recipe.json:
    • create-hobo
    • create-authentic
    • set-idp
    • create-wcs
    • ...
    • cook w/ recipe2.json:
      • create-hobo title: Secondary Publik <-- titre obligatoire
      • set-hobo <-- set-hobo obligatoire, sinon la suite se ferait dans le hobo principal
      • create-wcs
      • ...
    • cook w/ recipe3.json:
      • create-hobo title: Other Secondary Publik
      • set-hobo
      • create-wcs
      • ...
#2

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

  • Statut changé de Nouveau à En cours
#3

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

J'ai l'impression qu'on pourrait se passer du set-hobo en reprenant le connection.set_tenant(tenant) qui est lancé à la fin du create_hobo. Je me trompe ?

#4

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

J'ai l'impression qu'on pourrait se passer du set-hobo en reprenant le connection.set_tenant(tenant) qui est lancé à la fin du create_hobo. Je me trompe ?

À relire quand on crée un hobo secondaire on ne passe pas dans le set_tenant() (return self.create_site) et même si j'imagine qu'il doit être à cet endroit là possible de récupérer le tenant et faire un set_tenant, je n'ai plus le détail mais j'ai sans doute préféré être explicite sur les changements de contexte.

#5

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

Frédéric Péters a écrit :

À relire quand on crée un hobo secondaire on ne passe pas dans le set_tenant() (return self.create_site) et même si j'imagine qu'il doit être à cet endroit là possible de récupérer le tenant et faire un set_tenant, je n'ai plus le détail mais j'ai sans doute préféré être explicite sur les changements de contexte.

Justement le premier create-hobo il le fait implicitement, donc je me disais que pour les autres, on ferait pareil. Parce que là, ça me fait bizarre de voir un set-hobo "sauf pour le premier".

#6

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

"sauf pour le premier".

Parce que c'est "pour tous les hobo secondaires" mais je n'arrive pas à me remettre ce qui me justifiait ce fonctionnement, le voici donc sans set-hobo.

#7

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

Ack (sauf si d'ici là tu te rappelles du "truc")

#8

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

  • Statut changé de En cours à Résolu (à déployer)
commit c25b14cf2517b0bd587f74261f67e73d03831290
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Wed Jun 28 22:34:12 2017 +0200

    cook: add cook step, to run "sub-"recipes (#15797)

        {
         "cook": {
           "filename": "secondary-recipe.json" 
        }}

commit f9424f64d90112ce8487a83b851738ba5bc7c554
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Wed Jun 28 22:13:09 2017 +0200

    cook: add support for creating secondary hoboes (#15797)

        {
         "create-hobo": {
           "url": "https://hobo.second.example.net",
           "title": "Secondary Publik" 
        }},
#9

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

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

Formats disponibles : Atom PDF