Projet

Général

Profil

Ajout Cluster Ceph

Copié depuis https://pad.tetaneutral.net/p/cluster-new-host

sur la machine g22:

faire une config réseau depus l'impi (uniquement ipv4 avec gw par defaut, plus simple à taper)

Une fois le link up sur le vlan 3132, faire un ssh et faire la config réseau via rc.local (cf section suivante "h2. Sur la machine g1.t": )

Ne pas oublier :
dans /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0"

Copier /etc/systemd/system/rc-local.service depuis g21.

Faire un fichier /etc/udev/rules.d/70-persistent-net.rules avec le contenu pour renomer les interfaces réseaux (voir example sur g21)

Penser a disable le service : systemd-resolved.service pour avoir un resolv.conf utilisable...
rm /etc/resolv.conf

copier le resolv.conf d'une autre machine

Sur la machine g20:

installer ce paquet : http://apt.puppetlabs.com/eol-releases/puppet5-release-bionic.deb à la main (ça dépose les fichiers pour avoir le répo puppet, on pourra le dégager une fois que le puppet ttnn sera passé)

Puis faire:

apt update -y
apt install puppet-agent bridge-utils

Sur la machine puppet.t:

dans /etc/puppetlabs/code/environments/production/manifests/nodes/openstack.pp ajouter la machine dans le variable suivante:

$os_ring_bgp = {
  ...
  "g20"  => [ 65014, "89.234.156.69", "2a03:7220:8083:4500::1" ],
}

Et ajouter une nouvelle node:

node "g20.tetaneutral.net" {
  class { 'ttnn_os_ceph_server': }
  class { 'ttnn_os_compute': }
  include ceph::profile::client
}

Sur la machine g1.t:

Ajouter la machine et toutes ces IPs dans le /etc/rc.local:

vlan3132_ipv4["g20"]="89.234.156.69" 
vlan3132_ipv6["g20"]="2a03:7220:8083:4500::1" 
vlan3132_ipv6_local["g20"]="fe80::83:45" 
vlan3175_ipv4["g20"]="192.168.3.120" 
vlan3199_ipv4["g20"]="192.168.99.235" 
netconsole_cfg["g20"]="192.168.128.220" 

Ajouter la machine g20 dans /root/tools/tools-common et /root/tools/libvirt/func.inc

HOSTS="stri g1 g2 g3 g4 g5 g6 n7 g8 g9 g10 g11 g12 g20" 

Copier le /etc/rc.local sur g20

Sur la machine g20

/!\ ATTENTION ICI CA COUPE LE RESEAU /!\

Exécuter le /etc/rc.local ou reboot la machine

Bien vérifier les trois bridges et leur ici:

vlan3132
vlan3175
vlan3199

Une fois le réseau setup correctement:

$ puppet agent -vt --certname g20.tetaneutral.net --server puppet.tetaneutral.net
Info: Creating a new SSL key for g20.tetaneutral.net
Info: Caching certificate for ca
Info: csr_attributes file loading from /etc/puppet/csr_attributes.yaml
Info: Creating a new SSL certificate request for g20.tetaneutral.net
Info: Certificate Request fingerprint (SHA256): BF:C8:2A:B1:48:63:3A:C9:F2:A0:84:A2:89:0E:74:0E:91:C6:51:4C:B6:DA:1D:50:07:A3:E8:6A:C7:62:D4:4C
Info: Caching certificate for ca
Exiting; no certificate found and waitforcert is disabled

Puis sur la machine puppet:

$ puppetserver ca sign --certname g20.tetaneutral.net
Successfully signed certificate request for g20.tetaneutral.net

Puis sur la machine g20:

$ puppet agent -vt --certname g20.tetaneutral.net --server puppet.tetaneutral.net

... prendre un café ... ne pas avoir peur des 200 erreurs qui vont s'afficher (y'a quelque dépendances entre certain étape manquante, mais c'est pas bien grave)

Relancer plusieurs fois (Je l'ai fait 4x pour g20) , jusqu’à ce qu'il n'y est plus d'erreur

$ puppet agent -vt --certname g20.tetaneutral.net --server puppet.tetaneutral.net

Le dernier sort:

$ puppet agent -vt --certname g20.tetaneutral.net --server puppet.tetaneutral.net
Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Retrieving locales
Info: Loading facts
Info: Caching catalog for g20.tetaneutral.net
Info: /Stage[main]/Ttnn::Puppet/Tidy[/var/lib/puppet/clientbucket]: File does not exist
Info: /Stage[main]/Ttnn::Puppet/Tidy[/opt/puppetlabs/server/data/puppetserver/reports/]: File does not exist
Info: Applying configuration version '1611852800'
Notice: /Stage[main]/Ttnn::Prometheus::Exporters/Ttnn::Prometheus::Exporter[libvirt]/Prometheus::Daemon[libvirt_exporter]/Service[libvirt_exporter]/ensure: ensure changed 'stopped' to 'running' (corrective)
Info: /Stage[main]/Ttnn::Prometheus::Exporters/Ttnn::Prometheus::Exporter[libvirt]/Prometheus::Daemon[libvirt_exporter]/Service[libvirt_exporter]: Unscheduling refresh on Service[libvirt_exporter]
Notice: Applied catalog in 2.34 seconds

Enfin sur toutes les autres machines du cluster lancer:

puppet agent -vt
Cela va reconfigurer les bird pour ajouter g20

Et pour finir sur h7.t:

Ajouter dans /etc/bird/bird/openstack.conf
protocol bgp OPENSTACK_G20 from mesh_openstack {
        neighbor 89.234.156.69 as 65014;
}
Ajouter dans /etc/bird/bird6.conf
protocol bgp OPENSTACK_G20 from mesh_openstack {
        neighbor 2a03:7220:8083:4500::1 as 65014;
}

Et faire:

birdc conf
birdc6 conf

ne pas oublier sur puppet et nucnagios

Il faut ajouter la machine dans quelques fichiers pour al supervision et autres.

puppet: dans puppetmaster => environments/production/manifests/files/libvirt/dump-and-sync-xml (liste des hosts)

nucnagios dans les fichiers : /omd/sites/ttnn/etc/check_mk :

  • main.mk
  • update_vm_parents.sh

Penser à lancer le script ./client-plugins/install_plugins.sh

secret et paquet

installer le paquet python-libvirt puis relancer le service

systemctl restart libvirt_exporter.service

copier les secrets ceph dans /etc/libvirt/secrets/ depuis g1

restart les services libvirt