punchplatform / punchbox

the punchbox tool to deploy servers, kubernetes or punch
Apache License 2.0
4 stars 2 forks source link

Déploiement de pp-conf ne fonctionne pas. #20

Closed jmerdy closed 3 years ago

jmerdy commented 4 years ago

Bonjour, J'ai utilisé la commande suivante pour générer la configuration :

punchbox --config /repo/deployment/punchplatform-6.0.1/complete_punch_32G.json \
        --punch-conf /standalone/punchplatform-standalone-6.0.1-linux/conf \
        --deployer/deployer/punchplatform-deployer-6.0.1.zip \
        --interface ens3d1
punchplatform-deployer.sh --generate-platform-config \
    --templates-dir $PUNCHBOX_DIR/punch/platform_template/ \
    --model $PUNCHBOX_DIR/punch/build/model.json
punchplatform-deployer.sh -gi
punchplatform-deployer.sh --deploy -u user

Le dossier pp-conf est alors vide. Suite à un ticket créer dans le help desk sur le deployer punch, il a été identifié que dans le fichier punchplatform-deployment.settings, il manque la section punchplatform_operator.servers.server1.properties_source_path. Cette section aurais du être ajouté par la punchbox.

Le fichier punchplatform.properties est alors copié mais rien d'autre.

Si j'ai bien compris l'option --punch-conf aurais du permettre le déploiement du dossier pp-conf de la standalone ainsi que le fichier punchplatform.properties.

ppenhouet commented 4 years ago

Bonjour Jeremy,

Dans le dossier punchbox/punch/build, tu as bien un dossier pp-conf contenant les configurations issues de --punch-conf /standalone/punchplatform-standalone-6.0.1-linux/conf ?

jmerdy commented 4 years ago

oui j'ai bien un dossier pp-conf contenant :

check_platform.sh
generated_inventory
punchplatform-deployment.settings
punchplatform.properties
punchplatform.properties.zip
resolv.hjson
resources
samples
tenants
jmerdy commented 4 years ago

Voici ce que j'ai mis dans la variable properties_source_path "properties_source_path": "/punchbox-6.0/punch/build/pp-conf/punchplatform.properties"

ppenhouet commented 4 years ago

Les machines cibles du déploiement sont des box vagrant générées au travers de la punchbox ?

jmerdy commented 4 years ago

non ce sont des bare metals

jmerdy commented 4 years ago

En reagrdant le fichier punchplatform-deployment.settings.j2, je me rend compte qu'il ne contient pas la variable properties_source_path. Cela n'explique pas pourquoi les tenants ne sont pas déployé mais pourquoi la variable properties_source_path n'existe pas dans le fichier punchplatform-deployment.settings généré

ppenhouet commented 4 years ago

D'accord, je comprends mieux.

Premièrement, tu as soulevé un problème de documentation punchbox. En effet, l'option "synced_pp_conf_folder" à true (configuration punchbox, ex : complete_punch_32GB.json) permet le déploiement du dossier spécifié par le paramètre --punch-conf sur la machine opératrice. Néanmoins, cette option est en réalité un répertoire partagé au travers de vagrant et ne fonctionne qu'avec ce dernier dans le cadre des développements.

Deuxièmement, le paramètre punch "properties_source_path" ne copie que le punchplatform.properties sur la machine opératrice. Par conséquent, il manquera toujours les autres ressources (channels, tenants etc ..) sur la machine. Même en l'intégrant à la punchbox cela sera insuffisant pour avoir une machine opératrice complètement opérationnelle

Sur des plateformes classiques, le mode opératoire est d'utiliser les shells punchplatform-put-conf.sh/punchplatform-get-conf.sh afin de pousser la conf depuis la machine deployer sur zookeeper puis de la récupérer depuis la machine opératrice.

Par conséquent, sur la punchbox nous devons implémenter le mode put-conf/get-conf et le faire devenir le mode par défaut. Le mode filesystem partagé via vagrant pourra être activé si besoin.

En attendant que le ticket soit résolu, tu peux faire un scp du répertoire sous punchbox/punch/build/pp-conf vers la machine opératrice. Puis, faire les commandes suivantes depuis la machine opératrice :

punchplatform-putconf.sh --zookeeper-cluster-name $clusterName --platform -v punchplatform-putconf.sh --zookeeper-cluster-name $clusterName --tenant $tenant -v

jmerdy commented 4 years ago

Merci beaucoup pour ces explications c'est maintenant beaucoup plus clair.