This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
eole-risotto
Contournement à mettre en place
Pour installer facilement risotto faire :
Démarrer un serveur
- aca.hapy-2.8.1-instance-default
# installer les paquets libvirt
scp -r root@192.168.230.107:libvirt .
dpkg -i libvirt/*deb
# installer ovmf
apt -y install ovmf
# reconfigure + reboot
reconfigure ; echo|reboot
- aca.eolebase-2.8.0-Daily avec au minimum 6GO de RAM (pour packer).
Fix temporaire
# problème de prise en compte des certificats LE
cp /usr/share/ca-certificates/letsencrypt/* /usr/local/share/ca-certificates/
update-ca-certificates
/root/mount.eole-ci-tests
/mnt/eole-ci-tests/scripts/configure-vm.sh -M configeol
echo "from creole.loader import creole_loader, config_save_values
c=creole_loader(rw=True)
c.creole.depot_tiers.additional_repository_name.additional_repository_name = [u'cadoles', u'hashicorp']
c.creole.depot_tiers.additional_repository_name.additional_repository_source = [u'deb https://vulcain.cadoles.com risotto-2.8.0-dev main', u'deb https://apt.releases.hashicorp.com focal main']
c.creole.depot_tiers.additional_repository_name.additional_repository_key_type = [u'URL de la clé', u'URL de la clé']
c.creole.depot_tiers.additional_repository_name.additional_repository_key_url = [u'https://vulcain.cadoles.com/cadoles.gpg', u'https://apt.releases.hashicorp.com/gpg']
config_save_values(c, 'creole')" > add_repo.py
python3 add_repo.py
echo "Package: *
Pin: origin "apt.releases.hashicorp.com"
Pin-Priority: 400
" > /etc/apt/preferences.d/hashicorp
Maj-Auto
apt-eole install eole-risotto-all jq terraform
echo "from creole.loader import creole_loader, config_save_values
c=creole_loader(rw=True)
c.creole.risotto.password_admin_email = 'contact@cadoles.com'
c.creole.lemur.lemur_admin_email = 'contact@cadoles.com'
c.creole.lemur.lemur_default_organization = 'Cadoles'
c.creole.lemur.lemur_default_organization_unit = 'Prod'
config_save_values(c, 'creole')" > conf.py
python3 conf.py
CreoleSet password_length 10
manage_schedule -d majauto
manage_schedule --apply
instance
scp root@hapy.ac-test.fr:/etc/ssl/certs/ca_local.crt /usr/local/share/ca-certificates
update-ca-certificates
Importation avec cucchiaiata-cli
Exemple de script de provisioning : https://forge.cadoles.com/Infra/cucchiaiata/raw/branch/develop/provisioning_example.sh
Importation avec cucchiaiata-import
Il faut d'abord créer un utilisateur et autoriser l'utilisateur a modifier les serveurs créés :
cucchiaiata-cli v1.user.user.create --login gnunux \
--name gnunux \
--surname gnunux \
--email egarette@cadoles.com
cucchiaiata-cli v1.user.role.create --user_login gnunux \
--role_name 'server_rw' \
--role_attribute 'Server.ServerName' \
--role_attribute_value dns.cadoles.com
Crééer un fichier d'import (exemple de fichier : https://forge.cadoles.com/Infra/cucchiaiata/src/branch/develop/provisioning.yaml ).
cucchiaiata-import provisioning.yaml
Création d'un clé SSH
FORCE_RISOTTO_USER=gnunux cucchiaiata-cli v1.setting.pki.openssh.client.get -a cadoles.com -w
Dans /etc/hosts ajouter : "192.168.0.150 dns.cadoles.com".
ssh dns.cadoles.com
Note
l’ajustement est actuellement fait dans un script postservice. Il manquait la capacité login pour les roles (alter role tiramisu with login; idem pour risotto) et les droits sur les tables, ceux-ci étant remis à zéro par eoledb à chaque reconfigure. Un paquet d’une version modifiée de eole-db est également fournie dans le répertoire owncloud pour gérer ce cas.
Supprimer contenu de la base de donnée
psql -U risotto
truncate applicationservicedependency, deployment, factoryclusternode, factorycluster, log, release, userrole, risottouser, roleuri, server, servermodel, site, source, uri, userrole, zone, applicationservice;
PLUS
remise à zero risotto (reset des BDD)
Au préalable il est nécessaire d'arrêter les services :
systemctl stop risotto.service
systemctl stop lemur.service
systemctl stop bitwarden_rs.service
systemctl stop celeryrisotto.service
Se connecter ensuite à postgresql pour supprimer les différentes bases et les rôles associés
psql -U postgres
drop database risotto;
drop database tiramisu;
drop database celery;
drop database lemur;
drop database bitwarden;
drop role celery;
drop role bitwarden;
drop role lemur;
drop role risotto;
drop role tiramisu;
quit;
Supprimer le fichier yaml précédement créé
rm .cucchiaiata-config.yaml
Ensuite effectuer un reconfigure pour que les bases soit rebuildées. attention la création d'utilisateur sera perdu
retour d'information
Sur la machine RISOTTO => afficher log de création d'iso.
journalctl -fu celeryrisotto.service
suivie après lancement d'un script provisionning
cucchiaiata-cli v1.user.log.list
aller sur un job particulier, ici id 51 (cf commande plus haut, elle renvoi des jobs avec id, utiliser l'id voulue)
cucchiaiata-cli v1.user.log.query -c 51
afficher tout les jobs status pour avoir les jobs failure
cucchiaiata-cli v1.user.log.list | grep Status
affiche en condensé (réduit) les infos sur les état d'action d'une suite de construction
cucchiaiata-cli v1.user.log.list | grep status | uniq -c
avoir les infos au dessus d'un failure pour voir ce qui déconne, -B 20 ou 20= nombre de ligne précédent le message (attention affiche ici tous les jobs failure)
cucchiaiata-cli v1.user.log.list | grep Failure -B 20
BUG au 24 mai 2021
Une fois l'image buildée, et opérationnel, se connecter à sunstone, cliquer sur la VM pour accéder à ses options, puis dans les options => configuration & cliquer sur mettre à jours la configuration. coller :
<os firmware='efi'>
<type>hvm</type>
<loader secure='no'/>
</os>
accès bitwarden
eolebase.ac-test.fr à modifier pour correspondre à la conf
https://eolebase.ac-test.fr:8001/#/
récupérer le mdp de la vm
pour récupérer le mdp => utiliser
mailq
puis voir les courrier en attente sinon ci-dessous
en essayant de se connecter à bitwarden et créant un nouvel utilisateur
https://eolebase.ac-test.fr:8001/#/
Sinon
remonter dans les logs jusqu'au job infra.server.deploy de la vm concerné (partir de la fin)
cucchiaiata-cli v1.user.log.list
"context_id": 357,
"uri_name": "v1.infra.server.deploy",
"user_login": "Anonymous",
"kwargs": {
"server_name": "nsd.cadoles.com"
},
"status": "Success"
},
{
"context_id": 360,
"uri_name": "v1.infra.server.deploy",
"user_login": "Anonymous",
"kwargs": {
"server_name": "dns.cadoles.com"
},
"status": "Failure"
},
{
"context_id": 383,
"uri_name": "v1.user.log.list",
On trouve server.deploy et on prend l'id juste au dessus ici 357.
cucchiaiata-cli v1.user.log.query -c 357 | grep passwo
"root_password": "rj5uHuROPCcs4g",
"root_password": "rj5uHuROPCcs4g",
"root_password": "rj5uHuROPCcs4g",
et voila mdp de la vm
### Ce balader dans l'iso créé
/srv/risotto/images/
pour monter l'image
mkdir a
mount nsd.cadoles.com.iso a
fichier de conf qui seront utilisé pour le build d'image
a/tmpfiles.d/
Emplacement file
emplacement des modèles
- cluster servermodel zone
/srv/risotto/cache
-modèles prêt pour serveurs, cahque dossier représente un établissement. dans les établissements ce trouve les modèles de serveurs
/srv/risotto/cache/servermodel/3
dataset => FICHIER DE CONF, ET TEMPLATES
/usr/share/risotto/seed/
infos annexes
https://www.freedesktop.org/software/systemd/man/systemd-repart.html