Project

General

Profile

Anomalie #3677

Le partitionnement est basé sur le nom d’hôte

Added by Daniel Dehennin about 9 years ago. Updated almost 9 years ago.

Status:
Fermé
Priority:
Normal
Assigned To:
Category:
-
Start date:
06/21/2012
Due date:
% Done:

100%

Spent time:
Distribution:
EOLE 2.3

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 :

  1. On installe une première fois un module, par exemple scribe
  2. On une fois l’installation terminée, le serveur redémarre, dnsmasq enregistre<3> l’association scribe/adresse MAC
  3. On éteint le scribe
  4. 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

Associated revisions

Revision 786118c6 (diff)
Added by Daniel Dehennin about 9 years ago

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

Revision 3d0649c6 (diff)
Added by Johan Cwiklinski over 3 years ago

There is no users_id fields; fixes #3677

History

#1 Updated by Daniel Dehennin about 9 years ago

  • Status changed from Nouveau to Accepté
  • Target version changed from Mises à jour 2.3.6 RC to Mises à jour 2.3.5 Stable

#2 Updated by Daniel Dehennin about 9 years ago

  • Status changed from Accepté to Résolu
  • % Done changed from 0 to 100

#3 Updated by Joël Cuissinat about 9 years ago

  • Target version changed from Mises à jour 2.3.5 Stable to 2.3.5 Minimale

#5 Updated by Joël Cuissinat almost 9 years ago

  • Status changed from Résolu to Fermé

Also available in: Atom PDF