Evolution #3662
Intégrer l’architecture hands-off
Description
Le système de hands-off est vraiment très bien ;
Quand on a compris comment ça fonctionne il apparaît comme limpide ;
Ça permettra de fermer #2634, contourner #2353 et sera la première étape pour résoudre #3335.
On intègre à la 2.4 ou ça peut s’envisager pour la 2.3.5 (sachant que j’ai un CD eole-proposed
qui fonctionne ;-)
Related issues
Associated revisions
Import hands-off tools
- preseed.cfg: Run a script to check md5sum.
- checksigs.sh: Load the start.cfg.
- start.cfg: Basic common configuration.
Register classes/early_script to run per class early_script.
Register classes/late_script to run per class late_script.
- start.sh: Setup Hands-Off infrastructure.
Set classes per domain, hostname and fqdn if possible.
- subclass.sh: Load recursively preseed configurations for all classes
and subclasses.
- classes/early_script: Run per class early_script.
- classes/late_script: Run per class late_script.
Ref: #3662 @20m
Manage partitioning per class
- utils/gen_part_recipe.sh: Generate an autohandsoff partman recipe by
concatenating all "*_recipe" in /tmp.
Set manual partitioning if more than one disk is detected.
- classes/partition/base/early_script: Fetch the base recipe as
/tmp/00_recipe.
- classes/partition/base/preseed: Register utils/gen_part_recipe.sh at
partman/early_command.
- classes/partition/base/recipe: Swap and boot as primary partitions.
- classes/partition/lvm/early_script: Fetch the lvm recipe as
/tmp/10_recipe.
- classes/partition/lvm/preseed: Select "Guided - use entire disk and set
up LVM" as partition system.
- classes/partition/lvm/recipe: Create a new primary with full space as
physical volume.
Create / and /tmp volumes as LVM.
- classes/partition/lvm/subclasses: Require partition/base.
- classes/partition/auto/preseed: Set partman values for automatic
partitioning.
- classes/partition/auto-lvm/preseed: Set partman-lvm values for
automatic partitioning.
- classes/partition/auto-lvm/subclasses: Require partman/auto and
partman/lvm.
- classes/partition/manual/preseed: Set seen flag to false of partman and
partman-auto configurations.
- classes/partition/manual-lvm/preseed: Set seen flag to false of
partman-lvm configurations.
- classes/partition/manual-lvm/subclasses: Require partition/lvm and
partition/manual.
Define network configuration classes
- classes/net/preseed: Select automatically the network interface that
has link if possible.
- classes/net/manual/preseed: Disable DHCP.
- classes/net/manual/subclasses: Require net.
- classes/net/dhcp/preseed: Enable DHCP, set timeout to 30s and avoid
dispalying a message if autoconfiguration fails.
- classes/net/dhcp/subclasses: Require net.
- classes/net/dhcp-only/preseed: Do not configure the network if the DHCP
autoconfiguration fails.
- classes/net/dhcp-only/subclasses: Require net/dhcp.
- classes/net/dhcp-manual/preseed: Select manual network configuration if
DHCP autoconfiguration fails.
- classes/net/dhcp-manual/subclasses: Require net/dhcp.
Ref: #3662 @10m
Add LDAP silent installation configuration
- classes/ldap/preseed: Make openldap installation silent.
Ref: #3662 @5m
Add kerberos silent installation configuration
- classes/kerberos/preseed: Make kerberos installation silent.
Ref: #3662 @5m
Add base configuration for EOLE servers
- classes/eole/preseed: Install our kernels.
Set driver policy to most.
- classes/eole/early_script: Install ubuntu-keyring and openssh-server.
- classes/eole/late_script: Update initramfs for all version and grub
configuration.
- classes/eole/subclasses: Require ldap, kerberos, net/dhcp-only and
partition/auto-lvm.
Add base configuration for MEDDE servers
- classes/medde/preseed: No specific configuration, empty file is
required.
- classes/medde/subclasses: Require eole and net/manual, it's just EOLE
configuration with manual network configuration only.
Ref: #3662 @10m
Move EOLE per hostname configurations to classes/hostname/
- classes/hostname/amon/preseed: Set hostname, domain and install
all-amon meta package.
- classes/hostname/amon/subclasses: Require eole.
- classes/hostname/amon/recipe: /home and /var (max size).
- classes/hostname/amonecole/preseed: Set hostname, domain and install
amonecole-pkg meta package.
- classes/hostname/amonecole/subclasses: Require eole.
- classes/hostname/amonecole/recipe: /var, /opt and /home (max size).
- classes/hostname/amonhorus/preseed: Set hostname, domain and install
amonhorus-pkg meta package.
- classes/hostname/amonhorus/subclasses: Require eole.
- classes/hostname/amonhorus/recipe: /var, /opt and /home (max size).
- classes/hostname/eclair/preseed: Set hostname, domain and install
eclair-pkg meta package.
Make libphp-adodb installation silent.
- classes/hostname/eclair/subclasses: Require eole.
- classes/hostname/eclair/recipe: /opt (max size).
- classes/hostname/eolebase/preseed: Set hostname, domain and install
eolebase-pkg meta package.
- classes/hostname/eolebase/subclasses: Require eole and
partition/manual-lvm.
- classes/hostname/eolebase/recipe: Unused LVM volume (max size).
- classes/hostname/horus/preseed: Set hostname, domain and install
all-horus meta package.
- classes/hostname/horus/subclasses: Require eole.
- classes/hostname/horus/recipe: /var and /home (max size).
- classes/hostname/scribe/preseed: Set hostname, domain and install
all-scribe meta package.
- classes/hostname/scribe/subclasses: Require eole.
- classes/hostname/scribe/recipe: /var and /home (max size).
- classes/hostname/sentinelle/preseed: Set hostname, domain and install
sentinelle-pkg meta package.
- classes/hostname/sentinelle/subclasses: Require eole.
- classes/hostname/sentinelle/recipe: /var, /var/log and /home (max
size).
- classes/hostname/seshat/preseed: Set hostname, domain and install
all-seshat meta package.
- classes/hostname/seshat/subclasses: Require eole.
- classes/hostname/seshat/recipe: /home and /var (max size).
- classes/hostname/sphynx/preseed: Set hostname, domain and install
all-sphynx meta package.
- classes/hostname/sphynx/subclasses: Require eole.
- classes/hostname/sphynx/recipe: /home and /var (max size).
- classes/hostname/zephir/preseed: Set hostname, domain and install
all-zephir meta package.
- classes/hostname/zephir/subclasses: Require eole.
- classes/hostname/zephir/recipe: /home and /var (max size).
Ref: #3662 @30m
Move MEDDE per hostname configurations to classes/hostname/
- classes/hostname/ecdl/preseed: Set hostname, domain and install
all-ecdl meta package.
- classes/hostname/ecdl/subclasses: Require medde.
- classes/hostname/ecdl/recipe: /var, /opt and /home (max size).
- classes/hostname/esbl/preseed: Set hostname, domain and install
all-esbl meta package.
- classes/hostname/esbl/subclasses: Require medde.
- classes/hostname/esbl/recipe: /var, /opt and /home (max size).
Ref: #3662 @10m
Publish hands-off based configuration.
Fixes: #3662 @30
History
#1 Updated by Daniel Dehennin over 11 years ago
- Status changed from Nouveau to Accepté
- Target version set to 76
#2 Updated by Daniel Dehennin over 11 years ago
- Target version changed from 76 to Mises à jour 2.3.5 RC
Je planifie pour la 2.3.5 car on peut facilement revenir en arrière, merci git ;-)
#3 Updated by Daniel Dehennin over 11 years ago
- Status changed from Accepté to Résolu
- % Done changed from 0 to 100
Appliqué par commit dcacd86e3cf2c4e16c6acf3441c743e40ece41eb.
#4 Updated by Daniel Dehennin over 11 years ago
Publié sur le CD du 20120620
#5 Updated by Fabrice Barconnière over 11 years ago
- Status changed from Résolu to Fermé