## opnsense ### fonctionnalité - ajout de clef ssh ## prérequis environnement d'exécution harmony - git-lfs est installé et les gros fichiers ont été téléchargés localement ## prérequis physique - les disques dur de toutes les nodes doivent être effacés (dd if=/dev/zero of=/dev/... ou ## prérequis opnsense ## procédure ### Actuelle - mettre en place le setup physique - mettre en place le setup opnsense - initialisation opnsense et démarrage de l'agent inventaire (OKDipxeScore et OKDSetup01InventoryScore) - mise en place de la node bootstrap (OKDSetup01InventoryScore) ### idéale - setup physique - setup opnsense (avec topology harmony) - ## OKDipxeScore - Améliore visibilité de l'erreur si les packages ne sont pas à jour. En particulier, certains packages ne cont pas accessible lorsque le registre n'est pas à jour (os-caddy, haproxy, etc) ## OKDSetup01InventoryScore ## OKDSetup02BootstrapScore > [INFO ] [Bootstrap] Rebooting bootstrap node via SSH > ? Now reboot the bootstrap node so it picks up its pxe boot file. Press enter when ready. - on devrait pas assigner le role à la node après que le pxe boot soit ok? génère localement (.data/okd) tout le nécessaire à installer okd 1 node (config, certificat, exécutables, etc) ## OKDSetup03ControlPlaneScore ## OKDSetupPersistNetworkBondScore ## OKDSetup04WorkersScore ## OKDSetup05SanityCheckScore ## OKDSetup06InstallationReportScore ## Conception ## Ce qu'il manque / bug - le webgui de opensense n'est plus utilisable après la mise en place de ha proxy. Il faut changer son port à 8443 - création du sqlite - dépendance sur git-lfs. sinon, ne récupère pas correctement les gros fichiers - le plugin os-caddy doit être installé manuellement - réexécution de OKDipxeScore efface le fichier authorized_keys. les cles ssh ajouter par l'utilisateur sont détruite - Si l'on change les fichiers dans data, une réexécution de OKDipxeScore ne les mets pas à jour ### OKDSetup01InventoryScore ne termine pas - l'agent inventaire est lancé en background - ceci empêche de terminer le score ### fichiers data manquants - ce qui arrive: plante avec erreur non explicite - raison: fichier ./data/pxe/okd/tftpboot/ - composante affectée: opnsense_config::config::shell::ssh. - mitigation: Afficher un meilleur message - solutions: - passer le path vers data en paramètre - documenter ### chargement des fichiers requis - Execute the copy : `scp -r data/pxe/okd/http_files/* root@192.168.1.1:/usr/local/http/` and confirm when done to continue > [INFO ] ✅ Http Server running and serving files from folder No > ne and content for ./boot.ipxe,./inventory.kickstart,./fallback > .ipxe,./cluster_ssh_key.pub > ? Execute the copy : `scp -r data/pxe/okd/http_files/* root@192 > .168.1.1:/usr/local/http/` and confirm when done to continue - pas idempotent, redemande à toutes les exécutions ### Configurer les hostnames dans opnsense > [INFO ] Setting up base DNS config for OKD > ? Set hostnames manually in your opnsense dnsmasq config : > *.apps.demo.harmony.mcd -> 192.168.1.1 > api.demo.harmony.mcd -> 192.168.1.1 > api-int.demo.harmony.mcd -> 192.168.1.1 > When you can dig them, confirm to continue. ### Base de donnée sqlite > [ERROR] ⚠️ Interpret error : Could not connect to the database: error returned from database: (code: > 14) unable to open database fi voir: https://git.nationtech.io/NationTech/harmony/src/branch/feat/rebuild_inventory/empty_database.sqlite - initialiser automatiquement la bd mysql - vérifier aviser si la bd n'est pas trouvée ou si elle n'est pas lisible ou mauvais schema ## À améliorer - inventory agent: meilleur gestion des nodes et de leur role (exemple, pas possible de voir quels sont les nodes et leur rôle) - pour boot sur node bootsratp , l user est core et non root - clarifier le 'nom du cluster' (arg 2 de location) ve secret namespace - meilleur manière de sélectionner la node pour bootstrap - comment vérifier que OKDSetup01InventoryScore est terminé avec succès? - Avant d'installer os, vérifier que les disques sont bien effacés et aviser l'utilisateur dans le cas contraire - où trouver le pullsecret de redhat? https://console.redhat.com/openshift/install/pull-secret - documenter le format de la clef Redhat: pull_secret: - lorsque harmony lance une commande et que ça plante, afficher la commande qui a été lancée pour que l'on puisse reproduire manuellement ### Mieux informer l'utilisateur > [INFO ] Launching discovery agent, make sure that your nodes ar > e successfully PXE booted and running inventory agent. They sho > uld answer on `http://:8080/inventory` - le message est pas évident et passe rapidement - il faut savoir que les nodes doivent être démarrés par pxe pour être identifier par harmony - fix rapide: demander à user de confirmer ### instruction sur le setup matériel - inclure une documentation sur le setup matériel - avoir des prérequis et une check list checklist: - spec min (...) - setup bios: no tmp, no secure boot, - effacer les disques durs ### score plan - Le plus tôt possible, s'assurer (dans l'implémentation des scores) que l'exécution est possible. (score plan) - sinon fail fast (avant toute exécution ### prérequis opnsense - opnsense fonctionnel et interfaces configurés - ssh actif et connectivité possible => credentials dans harmony secrets manager - update faits - port = 8443 (443 sera utilisé par HAProxy ## PR ## Questions - comment faire pour configurer opnsense (ssh ok, mans pas root, création d'utilisateur + role/permission) - wipefs - sgdisk