Pour gérer un parc grandissant de machines RHEL ou CentOS, il existe plusieurs solutions. La plus connue et la plus répandue est l’utilisation de Puppet et de Foreman ou de Red Hat Satellite 6.

  • Foreman est un outil Open Source vous permettant d’automatiser le provisioning (la création) de vos serveurs grâce à des profils Kickstart (pour l’installation initiale du système) et des modules Puppet (pour la configuration de vos systèmes). Foreman va aussi vous permettre de visualiser l’historique de vos déploiements à des fins de reporting et d’audit.
  • Katello est un plugin de lifecycle management pour Foreman qui gère les dépôts et les souscriptions. Grâce à ce plugin, vous aurez la possibilité de versionner vos canaux afin de distribuer des niveaux de patching différents à différents sous-ensembles de votre parc. Ceci vous permet de facilement mettre en place un processus de validation des mises à jour de sécurité arrivant des dépôts Red Hat ou CentOS, ainsi que de gérer vos propres dépôts internes.
  • Puppet est un logiciel Open Source de gestion des configurations qui vous permet de définir de façon centralisée les configurations de vos serveurs et de vous assurer que le parc entier se situe dans l’état voulu. Avec Puppet, vous pouvez aussi visualiser l’état de chaque serveur avec toutes ses caractéristiques.

System Components

Foreman : Foreman est une application open source utilisée pour le provisionnement et la gestion du cycle de vie de systèmes physiques et virtuels. Foreman configure automatiquement ces systèmes à l'aide de diverses méthodes, notamment les modules kickstart et Puppet. Foreman fournit également des données historiques pour la création de rapports, l'audit et le dépannage.

Katello : Katello est un plug-in Foreman pour la gestion des abonnements et des référentiels. Il fournit un moyen de s'abonner aux référentiels et de télécharger du contenu. Vous pouvez créer et gérer différentes versions de ce contenu et les appliquer à des systèmes spécifiques dans le cadre d'étapes du cycle de vie de l'application définies par l'utilisateur.

Candlepin : Candlepin est un service de Katello qui gère la gestion des abonnements.

Pulp : Pulp est un service de Katello qui gère les référentiels et les contenus. Pulp garantit un espace de stockage efficace en ne dupliquant pas les packages RPM, même à la demande des vues de contenu de différentes organisations.

Hammer : Hammer est un outil CLI qui fournit des équivalents de ligne de commande et de shell de la plupart des fonctions de l'interface utilisateur Web.

REST API : La plateforme inclut un service API RESTful qui permet aux administrateurs système et aux développeurs d'écrire des scripts personnalisés et des applications tierces en interface.

Capsule (Smart proxy) : Capsule Server est utilisée pour inclure les datacenters distants dans le processus de gestion. Une instance de Capsule Server est généralement déployée dans chaque datacenter distant pour fédérer les services comme l'approvisionnement, de manière à ce qu'ils puissent être exécutés localement. Capsule Server remplace Spacewalk Proxy.

Hardware Requirements

Katello peut être installé sur un hôte baremetal ou sur un invité virtuel.

Les exigences minimales sont les suivantes:

  • 2 processeurs logiques (4 processeurs logiques hautement recommandés)
  • 8 GB de memoire (12 GB hautement recommandé)
  • 4 GB de swap recommandés (il s'agit d'un minimum)
  • Le système de fichiers contenant /var/lib/pulp doit être volumineux, mais peut varier en fonction du nombre de systèmes d'exploitation différents que vous souhaitez synchroniser:
  • Allouer 30 Go d'espace pour chaque système d'exploitation. Même si un système d'exploitation peut ne pas occuper autant d'espace maintenant, cela laisse de la place pour les futures mises à jour qui seront synchronisées ultérieurement.
  • Le chemin /var/spool/squid/ est utilisé comme emplacement temporaire pour certains types de synchronisation de référentiel et peut atteindre 10 Go d'espace disque avant que les fichiers ne soient migrés vers /var/lib/pulp. Vous voudrez peut-être placer ceci sur la même partition que /var/lib/pulp.
  • Le système de fichiers contenant /var/lib/mongodb doit être installé sur une partition d'au moins 4 Go, mais cela dépend du nombre de systèmes d'exploitation que vous souhaitez synchroniser:
  • Allouer environ 40% de la capacité donnée au système de fichiers /var/lib/pulp
  • Le système de fichiers racine nécessite au moins 20 Go d'espace disque

Software Requirements

Une fois le système d'exploitation installé, l'administrateur aura besoin d'un accès root pour exécuter le programme d'installation. Une résolution DNS directe et inverse complète du domaine pleinement qualifié nommé de l'hôte est également requise. Les administrateurs doivent également vérifier que le nom d'hôte du système et l'hôte local sont résolus correctement à l'aide des commandes suivantes.

Installation de “epel-release”

[root@foreman ~]# yum install epel-release
Modules complémentaires chargés : fastestmirror
Determining fastest mirrors
 * base: distrib-coffee.ipsl.jussieu.fr
 * extras: mirror.hostup.org
 * updates: distrib-coffee.ipsl.jussieu.fr
base                                               | 3.6 kB     00:00     
extras                                             | 2.9 kB     00:00     
updates                                            | 2.9 kB     00:00     
(1/4): base/7/x86_64/group_gz                        | 165 kB   00:00     
(2/4): extras/7/x86_64/primary_db                    | 165 kB   00:00     
(3/4): base/7/x86_64/primary_db                      | 6.0 MB   00:00     
(4/4): updates/7/x86_64/primary_db                   | 7.6 MB   00:00     
Résolution des dépendances
--> Lancement de la transaction de test
---> Le paquet epel-release.noarch 0:7-11 sera installé
--> Résolution des dépendances terminée
 
Dépendances résolues
 
==========================================================================
 Package              Architecture   Version         Dépôt          Taille
==========================================================================
Installation :
 epel-release         noarch         7-11            extras          15 k
 
Résumé de la transaction
==========================================================================
Installation   1 Paquet
 
Taille totale des téléchargements : 15 k
Taille d'installation : 24 k
Is this ok [y/d/N]: y
Downloading packages:
attention : /var/cache/yum/x86_64/7/extras/packages/epel-release-7-11.noarch.rpm: Entête V3 RSA/SHA256 Signature, clé ID f4a80eb5: NOKEY
La clé publique pour epel-release-7-11.noarch.rpm n'est pas installée
epel-release-7-11.noarch.rpm                         |  15 kB   00:00     
Récupération de la clé à partir de file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Importation de la clef GPG 0xF4A80EB5 :
ID utilisateur : « CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org> »
Empreinte      : 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
Paquet         : centos-release-7-6.1810.2.el7.centos.x86_64 (@anaconda)
Provient de    : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Est-ce correct [o/N] : o
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installation : epel-release-7-11.noarch                             1/1 
  Vérification : epel-release-7-11.noarch                             1/1 
 
Installé :
  epel-release.noarch 0:7-11                                              
 
Terminé !

Mise à jour du serveur

[root@foreman ~]# yum -y update
Modules complémentaires chargés : fastestmirror
Loading mirror speeds from cached hostfile
epel/x86_64/metalink                               |  31 kB     00:00     
 * base: distrib-coffee.ipsl.jussieu.fr
 * epel: www.mirrorservice.org
 * extras: mirror.hostup.org
 * updates: distrib-coffee.ipsl.jussieu.fr
epel                                               | 4.7 kB     00:00     
(1/3): epel/x86_64/updateinfo                        | 1.0 MB   00:00     
(2/3): epel/x86_64/group_gz                          |  95 kB   00:00     
(3/3): epel/x86_64/primary_db                        | 6.8 MB   00:00     
()
  Vérification : curl-7.29.0-51.el7.x86_64                        329/333 
  Vérification : 1:iwl1000-firmware-39.31.5.1-69.el7.noarch       330/333 
  Vérification : ipset-libs-6.38-2.el7.x86_64                     331/333 
  Vérification : grubby-8.28-25.el7.x86_64                        332/333 
  Vérification : diffutils-3.3-4.el7.x86_64                       333/333 
(...)
  util-linux.x86_64 0:2.23.2-61.el7_7.1                                   
  vim-minimal.x86_64 2:7.4.629-6.el7                                      
  xfsprogs.x86_64 0:4.5.0-20.el7                                          
  yum.noarch 0:3.4.3-163.el7.centos                                       
  yum-plugin-fastestmirror.noarch 0:1.1.31-52.el7                         
 
Terminé !

Installation de “puppet-release”

[root@foreman ~]# yum -y install https://yum.puppet.com/puppet6-release-el-7.noarch.rpm
Modules complémentaires chargés : fastestmirror
puppet6-release-el-7.noarch.rpm                    | 9.6 kB     00:00     
Examen de /var/tmp/yum-root-WjbKJg/puppet6-release-el-7.noarch.rpm : puppet6-release-6.0.0-8.el7.noarch
Sélection de /var/tmp/yum-root-WjbKJg/puppet6-release-el-7.noarch.rpm pour installation 
Résolution des dépendances
--> Lancement de la transaction de test
---> Le paquet puppet6-release.noarch 0:6.0.0-8.el7 sera installé
--> Résolution des dépendances terminée
 
Dépendances résolues
 
==========================================================================
 Package         Architecture
                        Version        Dépôt                        Taille
==========================================================================
Installation :
 puppet6-release noarch 6.0.0-8.el7    /puppet6-release-el-7.noarch 5.0 k
 
Résumé de la transaction
==========================================================================
Installation   1 Paquet
 
Taille totale  : 5.0 k
Taille d'installation : 5.0 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installation : puppet6-release-6.0.0-8.el7.noarch                   1/1 
  Vérification : puppet6-release-6.0.0-8.el7.noarch                   1/1 
 
Installé :
  puppet6-release.noarch 0:6.0.0-8.el7                                    
 
Terminé !

Installation de “foreman-release”

[root@foreman ~]# yum -y install https://yum.theforeman.org/releases/2.0/el7/x86_64/foreman-release.rpm
Modules complémentaires chargés : fastestmirror
foreman-release.rpm                                | 7.9 kB     00:00     
Examen de /var/tmp/yum-root-WjbKJg/foreman-release.rpm : foreman-release-2.0.0-1.el7.noarch
Sélection de /var/tmp/yum-root-WjbKJg/foreman-release.rpm pour installation 
Résolution des dépendances
--> Lancement de la transaction de test
---> Le paquet foreman-release.noarch 0:2.0.0-1.el7 sera installé
--> Résolution des dépendances terminée
 
Dépendances résolues
 
==========================================================================
 Package            Architecture
                              Version           Dépôt               Taille
==========================================================================
Installation :
 foreman-release    noarch    2.0.0-1.el7       /foreman-release    2.3 k
 
Résumé de la transaction
==========================================================================
Installation   1 Paquet
 
Taille totale  : 2.3 k
Taille d'installation : 2.3 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installation : foreman-release-2.0.0-1.el7.noarch                   1/1 
  Vérification : foreman-release-2.0.0-1.el7.noarch                   1/1 
 
Installé :
  foreman-release.noarch 0:2.0.0-1.el7                                    
 
Terminé !
[root@foreman ~]# yum -y install foreman-release-scl
Modules complémentaires chargés : fastestmirror
Loading mirror speeds from cached hostfile
 * base: distrib-coffee.ipsl.jussieu.fr
 * epel: ftp.nluug.nl
 * extras: mirror.hostup.org
 * updates: distrib-coffee.ipsl.jussieu.fr
foreman                                            | 2.9 kB     00:00     
foreman-plugins                                    | 2.9 kB     00:00     
puppet6                                            | 2.5 kB     00:00     
(1/3): foreman-plugins/x86_64/primary_db             |  96 kB   00:00     
(2/3): foreman/x86_64/primary_db                     | 254 kB   00:00     
(3/3): puppet6/x86_64/primary_db                     | 276 kB   00:00     
Résolution des dépendances
--> Lancement de la transaction de test
---> Le paquet foreman-release-scl.noarch 0:7-2.el7 sera installé
--> Traitement de la dépendance : centos-release-scl-rh pour le paquet : foreman-release-scl-7-2.el7.noarch
--> Lancement de la transaction de test
---> Le paquet centos-release-scl-rh.noarch 0:2-3.el7.centos sera installé
--> Résolution des dépendances terminée
 
Dépendances résolues
 
==========================================================================
 Package                  Architecture
                                    Version              Dépôt      Taille
==========================================================================
Installation :
 foreman-release-scl      noarch    7-2.el7              foreman    4.1 k
Installation pour dépendances :
 centos-release-scl-rh    noarch    2-3.el7.centos       extras      12 k
 
Résumé de la transaction
==========================================================================
Installation   1 Paquet (+1 Paquet en dépendance)
 
Taille totale des téléchargements : 16 k
Taille d'installation : 20 k
Downloading packages:
(1/2): centos-release-scl-rh-2-3.el7.centos.noarch.r |  12 kB   00:00     
warning: /var/cache/yum/x86_64/7/foreman/packages/foreman-release-scl-7-2.el7.noarch.rpm: Header V4 RSA/SHA256 Signature, key ID 0579baee: NOKEY
La clé publique pour foreman-release-scl-7-2.el7.noarch.rpm n'est pas installée
(2/2): foreman-release-scl-7-2.el7.noarch.rpm        | 4.1 kB   00:00     
--------------------------------------------------------------------------
Total                                        101 kB/s |  16 kB  00:00     
Récupération de la clé à partir de file:///etc/pki/rpm-gpg/RPM-GPG-KEY-foreman
Importation de la clef GPG 0x0579BAEE :
ID utilisateur : « Foreman Automatic Signing Key (2.0) <packages@theforeman.org> »
Empreinte      : 06ab efe2 6c19 97e0 c9e5 6508 926e a010 0579 baee
Paquet         : foreman-release-2.0.0-1.el7.noarch (@/foreman-release)
Provient de    : /etc/pki/rpm-gpg/RPM-GPG-KEY-foreman
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installation : centos-release-scl-rh-2-3.el7.centos.noarch          1/2 
  Installation : foreman-release-scl-7-2.el7.noarch                   2/2 
  Vérification : foreman-release-scl-7-2.el7.noarch                   1/2 
  Vérification : centos-release-scl-rh-2-3.el7.centos.noarch          2/2 
 
Installé :
  foreman-release-scl.noarch 0:7-2.el7                                    
 
Dépendances installées :
  centos-release-scl-rh.noarch 0:2-3.el7.centos                           
 
Terminé !

Vérification des prérequis avant installation

[root@foreman ~]# hostname
foreman.tony.lan
[root@foreman ~]# ping $HOSTNAME
PING foreman.tony.lan (192.168.1.252) 56(84) bytes of data.
64 bytes from foreman.tony.lan (192.168.1.252): icmp_seq=1 ttl=64 time=0.021 ms
64 bytes from foreman.tony.lan (192.168.1.252): icmp_seq=2 ttl=64 time=0.051 ms
64 bytes from foreman.tony.lan (192.168.1.252): icmp_seq=3 ttl=64 time=0.049 ms
^C
--- foreman.tony.lan ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 0.021/0.040/0.051/0.014 ms

Vérification de l'état de selinux

[root@foreman foreman]# sestatus 
SELinux status:                 enabled
SELinuxfs mount:                /sys/fs/selinux
SELinux root directory:         /etc/selinux
Loaded policy name:             targeted
Current mode:                   enforcing
Mode from config file:          enforcing
Policy MLS status:              enabled
Policy deny_unknown status:     allowed
Max kernel policy version:      31

Vérification de l'état du service “chronyd”

[root@foreman foreman]# date
ven. avril 10 23:43:20 CEST 2020
[root@foreman foreman]# rpm -qa |grep chrony
chrony-3.4-1.el7.x86_64
[root@foreman foreman]# systemctl status chronyd
● chronyd.service - NTP client/server
   Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
   Active: active (running) since ven. 2020-04-10 22:20:27 CEST; 1h 23min ago
     Docs: man:chronyd(8)
           man:chrony.conf(5)
 Main PID: 16713 (chronyd)
   CGroup: /system.slice/chronyd.service
           └─16713 /usr/sbin/chronyd
 
avril 10 22:20:27 foreman.tony.lan systemd[1]: Starting NTP client/serv...
avril 10 22:20:27 foreman.tony.lan chronyd[16713]: chronyd version 3.4 ...
avril 10 22:20:27 foreman.tony.lan chronyd[16713]: Frequency 14.981 +/-...
avril 10 22:20:27 foreman.tony.lan systemd[1]: Started NTP client/server.
avril 10 22:20:37 foreman.tony.lan chronyd[16713]: Selected source 194....
avril 10 22:29:18 foreman.tony.lan chronyd[16713]: Selected source 163....
Hint: Some lines were ellipsized, use -l to show in full.

Ajout des règles firewall

[root@foreman foreman]# firewall-cmd --permanent --add-port=80/tcp
success
 
[root@foreman foreman]# firewall-cmd --permanent --add-port=443/tcp
success
 
[root@foreman foreman]# firewall-cmd --permanent --add-port=5646/tcp
success
 
[root@foreman foreman]# firewall-cmd --permanent --add-port=5647/tcp
success
 
[root@foreman foreman]# firewall-cmd --permanent --add-port=5671/tcp
success
 
[root@foreman foreman]# firewall-cmd --permanent --add-port=8140/tcp
success
 
[root@foreman foreman]# firewall-cmd --permanent --add-port=9090/tcp
success
 
[root@foreman foreman]# firewall-cmd --permanent --add-port=53/tcp
success
 
[root@foreman foreman]# firewall-cmd --permanent --add-port=67/udp
success
 
[root@foreman foreman]# firewall-cmd --permanent --add-port=68/udp
success
 
[root@foreman foreman]# firewall-cmd --permanent --add-port=69/udp
success
 
[root@foreman foreman]# firewall-cmd --reload
success
 
[root@foreman foreman]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens192
  sources: 
  services: dhcpv6-client ssh
  ports: 80/tcp 443/tcp 5646/tcp 5647/tcp 5671/tcp 8140/tcp 9090/tcp 53/tcp 67/udp 68/udp 69/udp
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

Installation de “katello”

[root@foreman foreman]# yum -y localinstall https://fedorapeople.org/groups/katello/releases/yum/3.15/katello/el7/x86_64/katello-repos-latest.rpm
Modules complémentaires chargés : fastestmirror
katello-repos-latest.rpm                           |  11 kB     00:00     
Examen de /var/tmp/yum-root-WjbKJg/katello-repos-latest.rpm : katello-repos-3.15.0-0.3.rc2.el7.noarch
Sélection de /var/tmp/yum-root-WjbKJg/katello-repos-latest.rpm pour installation 
Résolution des dépendances
--> Lancement de la transaction de test
---> Le paquet katello-repos.noarch 0:3.15.0-0.3.rc2.el7 sera installé
--> Résolution des dépendances terminée
 
Dépendances résolues
 
==========================================================================
 Package        Architecture
                        Version              Dépôt                  Taille
==========================================================================
Installation :
 katello-repos  noarch  3.15.0-0.3.rc2.el7   /katello-repos-latest  1.9 k
 
Résumé de la transaction
==========================================================================
Installation   1 Paquet
 
Taille totale  : 1.9 k
Taille d'installation : 1.9 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installation : katello-repos-3.15.0-0.3.rc2.el7.noarch              1/1 
  Vérification : katello-repos-3.15.0-0.3.rc2.el7.noarch              1/1 
 
Installé :
  katello-repos.noarch 0:3.15.0-0.3.rc2.el7                               
 
Terminé !

Création du FS “/var/lib/pulp” et ajout dans la fstab

[root@foreman foreman]# df -h
Sys. de fichiers        Taille Utilisé Dispo Uti% Monté sur
devtmpfs                  3,9G       0  3,9G   0% /dev
tmpfs                     3,9G       0  3,9G   0% /dev/shm
tmpfs                     3,9G    8,9M  3,9G   1% /run
tmpfs                     3,9G       0  3,9G   0% /sys/fs/cgroup
/dev/mapper/centos-root    50G    1,5G   49G   3% /
/dev/sda1                1014M    175M  840M  18% /boot
/dev/mapper/centos-home    50G     33M   50G   1% /home
tmpfs                     783M       0  783M   0% /run/user/0
[root@foreman foreman]# mkdir -p /var/lib/pulp
[root@foreman foreman]# vgs
  VG     #PV #LV #SN Attr   VSize   VFree   
  centos   2   3   0 wz--n- 298,99g <191,12g
[root@foreman foreman]# lvs
  LV   VG     Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  home centos -wi-ao---- 50,00g                                                    
  root centos -wi-ao---- 50,00g                                                    
  swap centos -wi-ao---- <7,88g                                                    
[root@foreman foreman]# lvcreate -l 100%FREE -n pulp centos
  Logical volume "pulp" created.
[root@foreman foreman]# mkfs.xfs /dev/mapper/centos-
centos-home  centos-pulp  centos-root  centos-swap  
[root@foreman foreman]# mkfs.xfs /dev/mapper/centos-pulp 
meta-data=/dev/mapper/centos-pulp isize=512    agcount=4, agsize=12525056 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=50100224, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=24463, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@foreman foreman]# cat /etc/fstab |grep pulp
/dev/mapper/centos-pulp	/var/lib/pulp		xfs     defaults        0 0
[root@foreman foreman]# mount -a
[root@foreman foreman]# df -h |grep -i pulp
/dev/mapper/centos-pulp   192G     33M  191G   1% /var/lib/pulp

Installation de “katello”

[root@foreman foreman]# yum -y install katello
Modules complémentaires chargés : fastestmirror
Loading mirror speeds from cached hostfile
 * base: distrib-coffee.ipsl.jussieu.fr
 * centos-sclo-rh: mirror.hostup.org
 * epel: mirrors.coreix.net
 * extras: mirror.hostup.org
 * updates: distrib-coffee.ipsl.jussieu.fr
centos-sclo-rh                                     | 3.0 kB     00:00     
katello                                            | 3.6 kB     00:00     
katello-candlepin                                  | 3.6 kB     00:00     
katello-pulpcore                                   | 3.6 kB     00:00     
pulp                                               | 3.6 kB     00:00 
(...)                                         
  xalan-j2.noarch 0:2.7.1-23.el7                                          
  xerces-j2.noarch 0:2.11.0-17.el7_0                                      
  xml-commons-apis.noarch 0:1.4.01-16.el7                                 
  xml-commons-resolver.noarch 0:1.2-15.el7                                
  xorg-x11-font-utils.x86_64 1:7.5-21.el7                                 
  xorg-x11-fonts-Type1.noarch 0:7.5-9.el7                                 
  zip.x86_64 0:3.0-11.el7                                                 
 
Terminé !
[root@foreman foreman]# foreman-installer --scenario katello --foreman-initial-admin-username admin --foreman-initial-admin-password YOUR_FOREMAN_PASSWORD
le paquet puppet-agent-oauth n'est pas installé
Preparing installation Done                                              
  Success!
  * Foreman is running at https://foreman.tony.lan
      Initial credentials are admin / YOUR_FOREMAN_PASSWORD
  * To install an additional Foreman proxy on separate machine continue by running:
 
      foreman-proxy-certs-generate --foreman-proxy-fqdn "$FOREMAN_PROXY" --certs-tar "/root/$FOREMAN_PROXY-certs.tar"
  * Foreman Proxy is running at https://foreman.tony.lan:9090
  The full log is at /var/log/foreman-installer/katello.log
[root@foreman foreman]# /opt/puppetlabs/bin/puppet agent --test
Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Retrieving locales
Info: Caching catalog for foreman.tony.lan
Info: Applying configuration version '1586559713'
Notice: Applied catalog in 0.47 seconds

Création du fichier qui contiendra les credentials de foreman

[root@foreman ~]# cat ~/.hammer/cli.modules.d/foreman.yml
:foreman:
 :host: 'foreman.tony.lan'
 :username: 'admin'
 :password: 'YOUR_FOREMAN_PASSWORD'
[root@foreman ~]# ls -la
total 36
dr-xr-x---.  8 root root  232 11 avril 01:03 .
dr-xr-xr-x. 17 root root  224 10 avril 17:07 ..
-rw-------.  1 root root 1650 10 avril 17:08 anaconda-ks.cfg
-rw-------.  1 root root  121 10 avril 17:20 .bash_history
-rw-r--r--.  1 root root   18 29 déc.   2013 .bash_logout
-rw-r--r--.  1 root root  176 29 déc.   2013 .bash_profile
-rw-r--r--.  1 root root  176 29 déc.   2013 .bashrc
drwxr-xr-x.  3 root root   29 11 avril 01:03 .cache
-rw-r--r--.  1 root root  100 29 déc.   2013 .cshrc
drwxr-xr-x.  2 root root   27 10 avril 23:51 foreman
drwx------.  4 root root   38 11 avril 01:03 .hammer
drwxr-----.  3 root root   19 10 avril 22:18 .pki
-rw-------.  1 root root 1024 11 avril 00:23 .rnd
drwx------.  2 root root   29 10 avril 21:52 .ssh
drwx------.  3 root root 4096 11 avril 00:44 ssl-build
-rw-r--r--.  1 root root  129 29 déc.   2013 .tcshrc

Création de l'organisation

[root@foreman ~]# hammer organization create --name TONY.LAN --label "TONY" --description "TONY.LAN ORGANIZATION"
Organization created.
[root@foreman ~]# hammer organization list
---|----------------------|----------------------|-----------------------|---------------------
ID | TITLE                | NOM                  | DESCRIPTION           | LABEL               
---|----------------------|----------------------|-----------------------|---------------------
1  | Default Organization | Default Organization |                       | Default_Organization
4  | TONY.LAN             | TONY.LAN             | TONY.LAN ORGANIZATION | TONY_ORGANIZATION   
---|----------------------|----------------------|-----------------------|---------------------

Ajout de l'organisation “TONY.LAN” en tant qu'organisation par défaut

[root@foreman ~]# hammer defaults add --param-name organization_id --param-value 4
A ajouté l'option par défaut organization_id default-option avec la valeur 4.

Création de la localisation

[root@foreman ~]# hammer location create --name "LISSES" --description "LISSES CITY"
Location created.
[root@foreman ~]# hammer location list
---|------------------|------------------|------------
ID | TITLE            | NOM              | DESCRIPTION
---|------------------|------------------|------------
2  | Default Location | Default Location |            
5  | LISSES           | LISSES           | LISSES CITY
---|------------------|------------------|------------

Association de la localisation créée à l'organisation précédemment créée

[root@foreman ~]# hammer location add-organization --name "LISSES" --organization "TONY.LAN"
The organization has been associated.

Ajout de la localisation “LISSES” en tant que localisation par défaut

[root@foreman ~]# hammer defaults add --param-name location_id --param-value 5
A ajouté l'option par défaut location_id default-option avec la valeur 5.
[root@foreman ~]# hammer defaults list
----------------|-------
PARAMÈTRE       | VALEUR
----------------|-------
organization_id | 4     
location_id     | 5     
----------------|-------

Vérification des temps de réponse des différents composants de son foreman

[root@foreman ~]# hammer ping
database:       
    Status:          ok
    Server Response: Duration: 0ms
candlepin:      
    Status:          ok
    Server Response: Duration: 280ms
candlepin_auth: 
    Status:          ok
    Server Response: Duration: 17ms
pulp:           
    Status:          ok
    Server Response: Duration: 95ms
pulp_auth:      
    Status:          ok
    Server Response: Duration: 129ms
foreman_tasks:  
    Status:          ok
    Server Response: Duration: 5ms

Création des produits “CentOS 7” et “CentOS 8”

[root@foreman import]# hammer product create --organization-id 4 --name "CentOS 7 Linux for x86_64" --description "Repositories to use with CentOS 7 Linux"
Product created.
[root@foreman import]# hammer product create --organization-id 4 --name "CentOS 8 Linux for x86_64" --description "Repositories to use with CentOS 8 Linux"
Product created.
[root@foreman import]# hammer product list
---|---------------------------|-----------------------------------------|--------------|--------------|-----------
ID | NOM                       | DESCRIPTION                             | ORGANIZATION | REPOSITORIES | SYNC STATE
---|---------------------------|-----------------------------------------|--------------|--------------|-----------
1  | CentOS 7 Linux for x86_64 | Repositories to use with CentOS 7 Linux | TONY.LAN     | 0            |           
2  | CentOS 8 Linux for x86_64 | Repositories to use with CentOS 8 Linux | TONY.LAN     | 0            |           
---|---------------------------|-----------------------------------------|--------------|--------------|-----------

Création des produits “Epel 7” et “Epel 8”

[root@foreman import]# hammer product create --organization-id 4 --name "EPEL 7 Linux for x86_64" --description "EPEL repository to use with CentOS 7 Linux"
Product created.
[root@foreman import]# hammer product create --organization-id 4 --name "EPEL 8 Linux for x86_64" --description "EPEL repository to use with CentOS 8 Linux"
Product created.
[root@foreman import]# hammer product list
---|---------------------------|--------------------------------------------|--------------|--------------|-----------
ID | NOM                       | DESCRIPTION                                | ORGANIZATION | REPOSITORIES | SYNC STATE
---|---------------------------|--------------------------------------------|--------------|--------------|-----------
1  | CentOS 7 Linux for x86_64 | Repositories to use with CentOS 7 Linux    | TONY.LAN     | 0            |           
2  | CentOS 8 Linux for x86_64 | Repositories to use with CentOS 8 Linux    | TONY.LAN     | 0            |           
3  | EPEL 7 Linux for x86_64   | EPEL repository to use with CentOS 7 Linux | TONY.LAN     | 0            |           
4  | EPEL 8 Linux for x86_64   | EPEL repository to use with CentOS 8 Linux | TONY.LAN     | 0            |           
---|---------------------------|--------------------------------------------|--------------|--------------|-----------

Téléchargement des clés GPS des produits précédemment créées “CentOS 7”, “CentOS 8”, “Epel 7” et “Epel 8”

[root@foreman import]# wget https://www.centos.org/keys/RPM-GPG-KEY-CentOS-Official
--2020-04-11 11:40:24--  https://www.centos.org/keys/RPM-GPG-KEY-CentOS-Official
Résolution de www.centos.org (www.centos.org)... 81.171.33.201, 81.171.33.202, 2001:4de0:aaae::201, ...
Connexion vers www.centos.org (www.centos.org)|81.171.33.201|:443...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 1683 (1,6K)
Sauvegarde en : «RPM-GPG-KEY-CentOS-Official»
 
100%[============================================================================================================>] 1 683       --.-K/s   ds 0s      
 
2020-04-11 11:40:24 (68,8 MB/s) - «RPM-GPG-KEY-CentOS-Official» sauvegardé [1683/1683]
[root@foreman import]# wget https://www.centos.org/keys/RPM-GPG-KEY-CentOS-7
--2020-04-11 11:55:03--  https://www.centos.org/keys/RPM-GPG-KEY-CentOS-7
Résolution de www.centos.org (www.centos.org)... 81.171.33.201, 81.171.33.202, 2001:4de0:aaae::201, ...
Connexion vers www.centos.org (www.centos.org)|81.171.33.201|:443...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 1690 (1,7K)
Sauvegarde en : «RPM-GPG-KEY-CentOS-7»
 
100%[============================================================================================================>] 1 690       --.-K/s   ds 0s      
 
2020-04-11 11:55:03 (153 MB/s) - «RPM-GPG-KEY-CentOS-7» sauvegardé [1690/1690]
[root@foreman import]# wget https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-8
--2020-04-11 11:48:03--  https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-8
Résolution de dl.fedoraproject.org (dl.fedoraproject.org)... 209.132.181.24, 209.132.181.25, 209.132.181.23
Connexion vers dl.fedoraproject.org (dl.fedoraproject.org)|209.132.181.24|:443...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 1627 (1,6K)
Sauvegarde en : «RPM-GPG-KEY-EPEL-8»
 
100%[============================================================================================================>] 1 627       --.-K/s   ds 0s      
 
2020-04-11 11:48:03 (61,4 MB/s) - «RPM-GPG-KEY-EPEL-8» sauvegardé [1627/1627]
[root@foreman import]# wget https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7
--2020-04-11 11:47:54--  https://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-7
Résolution de dl.fedoraproject.org (dl.fedoraproject.org)... 209.132.181.25, 209.132.181.24, 209.132.181.23
Connexion vers dl.fedoraproject.org (dl.fedoraproject.org)|209.132.181.25|:443...connecté.
requête HTTP transmise, en attente de la réponse...200 OK
Longueur: 1662 (1,6K)
Sauvegarde en : «RPM-GPG-KEY-EPEL-7»
 
100%[============================================================================================================>] 1 662       --.-K/s   ds 0s      
 
2020-04-11 11:47:55 (138 MB/s) - «RPM-GPG-KEY-EPEL-7» sauvegardé [1662/1662]
[root@foreman import]# ll
total 16
-rw-r--r--. 1 root root 1690 12 sept.  2019 RPM-GPG-KEY-CentOS-7
-rw-r--r--. 1 root root 1683 12 sept.  2019 RPM-GPG-KEY-CentOS-Official
-rw-r--r--. 1 root root 1662 20 juin   2014 RPM-GPG-KEY-EPEL-7
-rw-r--r--. 1 root root 1627  1 août   2019 RPM-GPG-KEY-EPEL-8

Renommage de la clé GPG “OFFICIAL” en “CENTOS-8”

[root@foreman import]# mv RPM-GPG-KEY-CentOS-Official RPM-GPG-KEY-CentOS-8
[root@foreman import]# ll
total 20
-rw-r--r--. 1 root root 1690 12 sept.  2019 RPM-GPG-KEY-CentOS-7
-rw-r--r--. 1 root root 1683 12 sept.  2019 RPM-GPG-KEY-CentOS-8
-rw-r--r--. 1 root root 1662 20 juin   2014 RPM-GPG-KEY-EPEL-7
-rw-r--r--. 1 root root 1627  1 août   2019 RPM-GPG-KEY-EPEL-8

Création des content credentials pour “CentOS 7”, “CentOS 8”, “Epel 7” et “Epel 8”

Les content credentials sont utilisés pour stocker les informations d'identification telles que les clés GPG et les certificats pour l'authentification aux produits et référentiels.

[root@foreman import]# hammer content-credentials create --content-type "gpg_key" --organization-id 4 --key "RPM-GPG-KEY-CentOS-7" --name "RPM-GPG-KEY-CentOS-7"
Content credential created.
[root@foreman import]# hammer content-credentials create --content-type "gpg_key" --organization-id 4 --key "RPM-GPG-KEY-CentOS-8" --name "RPM-GPG-KEY-CentOS-8"
Content credential created.
[root@foreman import]# hammer content-credentials create --content-type "gpg_key" --organization-id 4 --key "RPM-GPG-KEY-EPEL-7" --name "RPM-GPG-KEY-EPEL-7"
Content credential created.
[root@foreman import]# hammer content-credentials create --content-type "gpg_key" --organization-id 4 --key "RPM-GPG-KEY-EPEL-8" --name "RPM-GPG-KEY-EPEL-8"
Content credential created.

Création des repos pour “CentOS 8”

BaseOS_repo

[root@foreman import]# hammer repository create --organization-id 4 --product "CentOS 8 Linux for x86_64" --name "CentOS 8 Base RPMS" --label "CentOS_8_Base_RPMS" --content-type "yum" --download-policy "on_demand" --gpg-key "RPM-GPG-KEY-CentOS-8" --url "http://ftp.pasteur.fr/mirrors/CentOS/8/BaseOS/x86_64/os/" --mirror-on-sync "yes"
Repository created.

AppStream_repo

[root@foreman import]# hammer repository create --organization-id 4 --product "CentOS 8 Linux for x86_64" --name "CentOS 8 AppStream RPMS" --label "CentOS_8_AppStream_RPMS" --content-type "yum" --download-policy "on_demand" --gpg-key "RPM-GPG-KEY-CentOS-8" --url "http://ftp.pasteur.fr/mirrors/CentOS/8/AppStream/x86_64/os/" --mirror-on-sync "yes"
Repository created.

PowerTools_repo

[root@foreman import]# hammer repository create --organization-id 4 --product "CentOS 8 Linux for x86_64" --name "CentOS 8 PowerTools RPMS" --label "CentOS_8_PowerTools_RPMS" --content-type "yum" --download-policy "on_demand" --gpg-key "RPM-GPG-KEY-CentOS-8" --url "http://ftp.pasteur.fr/mirrors/CentOS/8/PowerTools/x86_64/os/" --mirror-on-sync "yes"
Repository created.

Centosplus_repo

[root@foreman import]# hammer repository create --organization-id 4 --product "CentOS 8 Linux for x86_64" --name "CentOS 8 centosplus RPMS" --label "CentOS_8_centosplus_RPMS" --content-type "yum" --download-policy "on_demand" --gpg-key "RPM-GPG-KEY-CentOS-8" --url "http://ftp.pasteur.fr/mirrors/CentOS/8/centosplus/x86_64/os/" --mirror-on-sync "yes"
Repository created.

Extras_repo

[root@foreman import]# hammer repository create --organization-id 4 --product "CentOS 8 Linux for x86_64" --name "CentOS 8 extras RPMS" --label "CentOS_8_extras_RPMS" --content-type "yum" --download-policy "on_demand" --gpg-key "RPM-GPG-KEY-CentOS-8" --url "http://ftp.pasteur.fr/mirrors/CentOS/8/extras/x86_64/os/" --mirror-on-sync "yes"
Repository created.

Liste des repos du produit “CentOS 8 Linux for x86_64”

[root@foreman import]# hammer repository list --organization-id 4 --product "CentOS 8 Linux for x86_64"
---|--------------------------|---------------------------|--------------|-------------------------------------------------------------
ID | NOM                      | PRODUCT                   | CONTENT TYPE | URL                                                         
---|--------------------------|---------------------------|--------------|-------------------------------------------------------------
2  | CentOS 8 AppStream RPMS  | CentOS 8 Linux for x86_64 | yum          | http://ftp.pasteur.fr/mirrors/CentOS/8/AppStream/x86_64/os/ 
1  | CentOS 8 Base RPMS       | CentOS 8 Linux for x86_64 | yum          | http://ftp.pasteur.fr/mirrors/CentOS/8/BaseOS/x86_64/os/    
4  | CentOS 8 centosplus RPMS | CentOS 8 Linux for x86_64 | yum          | http://ftp.pasteur.fr/mirrors/CentOS/8/centosplus/x86_64/os/
5  | CentOS 8 extras RPMS     | CentOS 8 Linux for x86_64 | yum          | http://ftp.pasteur.fr/mirrors/CentOS/8/extras/x86_64/os/    
3  | CentOS 8 PowerTools RPMS | CentOS 8 Linux for x86_64 | yum          | http://ftp.pasteur.fr/mirrors/CentOS/8/PowerTools/x86_64/os/
---|--------------------------|---------------------------|--------------|-------------------------------------------------------------

SUITE DE LA DOC A VENIR AVEC LES EXPLICATIONS…

Ce site web utilise des cookies. En utilisant le site Web, vous acceptez le stockage de cookies sur votre ordinateur. Vous reconnaissez également que vous avez lu et compris notre politique de confidentialité. Si vous n'êtes pas d'accord, quittez le site.En savoir plus