Anomalie #3677
Le partitionnement est basé sur le nom d’hôte
Description
La définition de netcfg/get_hostname
et netcfg/get_domain
<1> dans les preseed est écrasée si le serveur DHCP envoi les options "Host Name" et "Domain Name".
L’utilisation du paramètre netcfg/get_hostname
dans source:utils/gen_part_recipe.sh#L15 peut donc être problématique en appliquant une mauvaise recette de partitionnement.
Cela se produit lors de tests en réutilisant la même machine virtuelle<3> gérée par libvirt/dnsmasq en mode DHCP :
- On installe une première fois un module, par exemple scribe
- On une fois l’installation terminée, le serveur redémarre, dnsmasq enregistre<3> l’association scribe/adresse MAC
- On éteint le scribe
- On lance l’installation d’un amonecole, lors de la configuration réseau en DHCP, la machine récupère le
hostname
« scribe » et la recette de partitionnement utilisée est celle de scribe.
Il peut être intéressant de permettre aux administrateurs de définir le nom d’hôte par DHCP<4>, ne serait-ce que pour utiliser le nom d’hôte comme nom de groupe de volumes.
Au lieu de se baser sur le nom d’hôte, on peut ajouter une option de la ligne de boot classes=eole/2.3/<module>
.
<1> http://d-i.alioth.debian.org/manual/en.amd64/apbs04.html#preseed-network
<2> Avec la même adresse MAC
<3> Sure une Debian, cela se trouve dans /var/lib/libvirt/<réseau>.leases
<4> Bien qu’inutile étant donné qu’il faut le redéfinir dans gen_config
Révisions associées
Move EOLE and MEEDE server configurations per <vendor>/<version> hierarchy
The preseed netcfg/get_hostname and netcfg/get_domain are overwrote by
"Host Name" and "Domain Name" DHCP options1.
Each server type will be provider under
classes/<vendor>/<version>/<name>/.
The <version> is optional when the name define the version, as Debian
squeeze or wheezy.
- start.cfg: Remove vendor specific configuration.
- utils/gen_part_recipe.sh: Do not fetch per hostname recipe, this is in
the responsability of classes/hostname/<name>/early_script.
- classes/eole/preseed: Remove 2.3 specific configuration.
- classes/eole/2.3/preseed: Add 2.3 specific configuration.
- classes/eole/2.3/early_script: Move from classes/eole/.
- classes/eole/2.3/late_script: Ditoo.
- classes/eole/2.3/subclasses: Require eole.
- classes/eole/2.3/amon/early_script: Fetch recipe.
- classes/eole/2.3/amon/preseed: Set hostname, domain and install meta
package.
- classes/eole/2.3/amon/recipe: Recipe for amon.
- classes/eole/2.3/amon/subclasses: New require eole/2.3.
- classes/eole/2.3/amonecole/early_script: Fetch recipe.
- classes/eole/2.3/amonecole/preseed: Set hostname, domain and install
meta package.
- classes/eole/2.3/amonecole/recipe: Partman recipe.
- classes/eole/2.3/amonecole/subclasses: New require eole/2.3.
- classes/eole/2.3/amonhorus/early_script: Fetch recipe.
- classes/eole/2.3/amonhorus/preseed: Set hostname, domain and install
meta package.
- classes/eole/2.3/amonhorus/recipe: Partman recipe.
- classes/eole/2.3/amonhorus/subclasses: New require eole/2.3.
- classes/eole/2.3/eclair/early_script: Fetch recipe.
- classes/eole/2.3/eclair/preseed: Set hostname, domain and install meta
package.
- classes/eole/2.3/eclair/recipe: Partman recipe.
- classes/eole/2.3/eclair/subclasses: New require eole/2.3.
- classes/eole/2.3/eolebase/early_script: Fetch recipe.
- classes/eole/2.3/eolebase/preseed: Set hostname, domain and install
meta package.
- classes/eole/2.3/eolebase/recipe: Partman recipe.
- classes/eole/2.3/eolebase/subclasses: New require eole/2.3.
- classes/eole/2.3/horus/early_script: Fetch recipe.
- classes/eole/2.3/horus/preseed: Set hostname, domain and install meta
package.
- classes/eole/2.3/horus/recipe: Partman recipe.
- classes/eole/2.3/horus/subclasses: New require eole/2.3.
- classes/eole/2.3/scribe/early_script: Fetch recipe.
- classes/eole/2.3/scribe/preseed: Set hostname, domain and install meta
package.
- classes/eole/2.3/scribe/recipe: Partman recipe.
- classes/eole/2.3/scribe/subclasses: New require eole/2.3.
- classes/eole/2.3/sentinelle/early_script: Fetch recipe.
- classes/eole/2.3/sentinelle/preseed: Set hostname, domain and install
meta package.
- classes/eole/2.3/sentinelle/recipe: Partman recipe.
- classes/eole/2.3/sentinelle/subclasses: New require eole/2.3.
- classes/eole/2.3/seshat/early_script: Fetch recipe.
- classes/eole/2.3/seshat/preseed: Set hostname, domain and install meta
package.
- classes/eole/2.3/seshat/recipe: Partman recipe.
- classes/eole/2.3/seshat/subclasses: New require eole/2.3.
- classes/eole/2.3/sphynx/early_script: Fetch recipe.
- classes/eole/2.3/sphynx/preseed: Set hostname, domain and install meta
package.
- classes/eole/2.3/sphynx/recipe: Partman recipe.
- classes/eole/2.3/sphynx/subclasses: New require eole/2.3.
- classes/eole/2.3/zephir/early_script: Fetch recipe.
- classes/eole/2.3/zephir/preseed: Set hostname, domain and install meta
package.
- classes/eole/2.3/zephir/recipe: Partman recipe.
- classes/eole/2.3/zephir/subclasses: New require eole/2.3.
- classes/medde/2.3/subclasses: Require eole/2.3
- classes/medde/2.3/ecdl/early_script: Fetch recipe.
- classes/medde/2.3/ecdl/preseed: Set hostname, domain and install meta
package.
- classes/medde/2.3/ecdl/recipe: Partman recipe.
- classes/medde/2.3/ecdl/subclasses: Require eole/2.3.
- classes/medde/2.3/esbl/early_script: Fetch recipe.
- classes/medde/2.3/esbl/preseed: Set hostname, domain and install meta
package.
- classes/medde/2.3/esbl/recipe: Partman recipe.
- classes/medde/2.3/esbl/subclasses: Require eole/2.3.
Footnotes:
[1] https://en.wikipedia.org/wiki/DHCP#DHCP_Options
Fixes: #3677 @15m
There is no users_id fields; fixes #3677
Historique
#1 Mis à jour par Daniel Dehennin il y a presque 12 ans
- Statut changé de Nouveau à Accepté
- Version cible changé de Mises à jour 2.3.6 RC à Mises à jour 2.3.5 Stable
#2 Mis à jour par Daniel Dehennin il y a presque 12 ans
- Statut changé de Accepté à Résolu
- % réalisé changé de 0 à 100
Appliqué par commit 786118c629b38f083e5eda8ac3c6af9787e26f98.
#3 Mis à jour par Joël Cuissinat il y a presque 12 ans
- Version cible changé de Mises à jour 2.3.5 Stable à 2.3.5 Minimale
#4 Mis à jour par Daniel Dehennin il y a plus de 11 ans
Appliqué par commit 786118c629b38f083e5eda8ac3c6af9787e26f98.
#5 Mis à jour par Joël Cuissinat il y a plus de 11 ans
- Statut changé de Résolu à Fermé