Clone
95
Home
lseys 於 2021-09-09 09:57:42 +02:00 修改了此頁面

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