Cette section illustre l'utilisation d'une seule commande js2ai pour convertir un fichier rules JumpStart et tous les fichiers de profils référencés par ce fichier rules. Par défaut, chaque profil converti est sorti dans un répertoire nommé AI_profile-filename. La règle de sélection de ce profil est sortie dans ce même répertoire sous forme de fichier de critères AI.
Cet exemple utilise le fichier rules suivant :
# The following rule matches only one system: hostname sample_host - fdisk.profile - # The following rule matches only one system: hostaddress 10.6.68.127 - mirrorfilesys.profile - # The following rule matches any system that is on the 924.222.43.0 network: network 924.222.43.0 - rootdisk.profile - # The following rule matches all x86 systems: arch i386 - mirrorpool.profile -
Le fichier fdisk.profile présente le contenu suivant :
install_type initial_install system_type server root_device c1t0d0s0 usedisk c1t0d0 fdisk rootdisk solaris all partitioning explicit filesys rootdisk.s1 5000 swap filesys rootdisk.s0 10000 / cluster SUNWCall
Le fichier mirrorfilesys.profile présente le contenu suivant :
install_type initial_install partitioning default filesys mirror c6t0d0s0 c6t1d0s0 60048 / cluster SUNWCuser
Le fichier mirrorpool.profile présente le contenu suivant :
install_type initial_install partitioning default pool newpool auto auto auto mirror any any cluster SUNWCuser
Le fichier rootdisk.profile présente le contenu suivant :
install_type initial_install partitioning explicit filesys rootdisk.s0 15000 / filesys rootdisk.s1 1000 swap cluster SUNWCall
Utilisez la commande suivante pour le traitement de ce fichier rules. Dans le rapport d'erreur, des erreurs de validation sont affichées sous la forme d'un trait d'union dans la mesure où la validation n'a pas été effectuée. La validation est supprimée par l'option –S.
# js2ai -rS
Process Unsupported Conversion Validation
Name Warnings Errors Items Errors Errors
------------------- -------- ------- ----------- ---------- ----------
rules 0 0 1 0 -
fdisk.profile 0 0 2 0 -
mirrorfilesys.profile 0 0 2 0 -
mirrorpool.profile 0 0 1 1 -
rootdisk.profile 0 0 1 2 -
Conversion completed. One or more failures and/or warnings occurred.
For errors see js2ai.log
# cat js2ai.log
rules:line 3:UNSUPPORTED: unsupported keyword: hostname
fdisk.profile:line 2:UNSUPPORTED: unsupported value for 'system_type' specified: server
fdisk.profile:line 9:UNSUPPORTED: unsupported keyword: cluster
mirrorfilesys.profile:line 3:UNSUPPORTED: unsupported mount point of 'unnamed' specified,
mount points other than '/' and 'swap' are not supported
mirrorfilesys.profile:line 4:UNSUPPORTED: unsupported keyword: cluster
mirrorpool.profile:line 3:CONVERSION: unable to convert 'any' device to physical device. Replace 'any'
with actual device name
mirrorpool.profile:line 4:UNSUPPORTED: unsupported keyword: cluster
rootdisk.profile:line 3:CONVERSION: unable to convert 'rootdisk.s0'. Replace'rootdisk.' with actual
device name
rootdisk.profile:line 4:CONVERSION: unable to convert 'rootdisk.s1'. Replace'rootdisk.' with actual
device name
rootdisk.profile:line 5:UNSUPPORTED: unsupported keyword: cluster
La sortie est stockée dans des répertoires nommés AI_profile-filename . Les fichiers de critères AI créés à partir des règles JumpStart sont nommés pour la position de la règle dans le fichier rules. Les manifestes AI sont nommés profile-filename.arch.xml, où arch est generic, x86, ou sparc.
# ls AI_* AI_fdisk.profile: fdisk.profile.x86.xml AI_mirrorfilesys.profile: criteria-2.xml mirrorfilesys.profile.generic.xml AI_mirrorpool.profile: criteria-2.xml mirrorpool.profile.generic.xml AI_rootdisk.profile: criteria-3.xml rootdisk.profile.generic.xml
Le fichier journal signale que le mot-clé de règle JumpStart hostname n'est pas pris en charge en tant que mot-clé de critère AI pour la sélection d'un manifeste AI Le mot-clé hostname indique quels clients doivent utiliser le profil fdisk.profile. Dans la mesure où hostname n'est pas un mot-clé pris en charge pour la sélection des manifestes AI, le nouveau répertoire AI_fdisk.profile ne contient pas de fichier de critères AI.
Vous pouvez résoudre ce problème en remplaçant hostname par hostaddress dans le fichier rules.
Vous pouvez également résoudre ce problème en créant un fichier de critères AI qui spécifie l'adresse MAC ou IP permettant d'identifier le système hostname. Par exemple, le fichier de critères suivant est équivalent à la règle JumpStart hostname sample_host si 0:14:4F:20:53:97 est l'adresse MAC de sample_host :
<?xml version="1.0" encoding="utf-8"?>
<ai_criteria_manifest>
<ai_criteria name="mac">
<value>0:14:4F:20:53:97</value>
</ai_criteria>
</ai_criteria_manifest>
Pour trouver l'adresse MAC d'un système, utilisez la commande dladm comme décrit à la page de manuel dladm(1M).
Pour la règle JumpStart hostaddress 10.6.68.127, la commande js2ai a automatiquement créé le fichier de critères AI AI_mirrorfilesys.profile/criteria-2.xml , en remplaçant le mot-clé JumpStart hostaddress par le mot-clé AI ipv4 :
<?xml version="1.0" encoding="utf-8"?>
<ai_criteria_manifest>
<ai_criteria name="ipv4">
<value>
10.6.68.127
</value>
</ai_criteria>
</ai_criteria_manifest>
Pour la règle JumpStart network 924.222.43.0, la commande js2ai a automatiquement créé le fichier de critères AI AI_rootdisk.profile/criteria-3.xml, en spécifiant une plage d'adresses IP basée sur l'adresse réseau donnée :
<?xml version="1.0" encoding="utf-8"?>
<ai_criteria_manifest>
<ai_criteria name="ipv4">
<range>
924.222.43.0 924.222.43.255
</range>
</ai_criteria>
</ai_criteria_manifest>
Pour la règle JumpStart arch i386, la commande js2ai a automatiquement créé le fichier de critères AI AI_mirrorpool.profile/criteria-4.xml, en remplaçant le mot-clé JumpStart arch par le mot-clé AI cpu :
<?xml version="1.0" encoding="utf-8"?>
<ai_criteria_manifest>
<ai_criteria name="cpu">
<value>
i386
</value>
</ai_criteria>
</ai_criteria_manifest>
La commande js2ai crée souvent un manifeste AI pour chaque profil JumpStart même si des erreurs sont signalées. Cette section décrit comment résoudre certaines erreurs courantes afin que les manifestes AI de sortie soient plus complets.
Exemple 2-4 Correction des erreurs fdisk.profileLa commande js2ai a indiqué les erreurs suivantes pour le profil JumpStart fdisk.profile :
fdisk.profile:line 2:UNSUPPORTED: unsupported value for 'system_type' specified: server fdisk.profile:line 9:UNSUPPORTED: unsupported keyword: cluster
Ces deux lignes ne sont pas prises en compte et n'ont aucune incidence sur le manifeste AI de sortie. Vous pouvez supprimer ces deux lignes si vous souhaitez que la conversion évite les messages d'erreur. Le fichier fdisk.profile présente le contenu suivant :
install_type initial_install root_device c1t0d0s0 usedisk c1t0d0 fdisk rootdisk solaris all partitioning explicit filesys rootdisk.s1 5000 swap filesys rootdisk.s0 10000 /
Utilisez l'option –p de l'utilitaire js2ai pour traiter ce profil uniquement.
# js2ai -p fdisk.profile Successfully completed conversion
Le manifeste AI de sortie, AI_fdisk.profile/fdisk.profile.x86.xml, présente le contenu suivant dans la strophe cible :
<target>
<disk whole_disk="true">
<disk_name name="c1t0d0" name_type="ctd"/>
<partition action="create" name="1" part_type="191">
<slice name="1" action="create" force="true" is_swap="true">
<size val="5000mb"/>
</slice>
<slice name="0" action="create" force="true" in_zpool="rpool" in_vdev="rpool_vdev">
<size val="10000mb"/>
</slice>
</partition>
</disk>
<logical noswap="false" nodump="true" >
<zpool name="rpool" is_root="true">
<vdev name="rpool_vdev" redundancy="none"/>
<filesystem name="export" mountpoint="/export"/>
<filesystem name="export/home"/>
<be name="solaris"/>
</zpool>
</logical>
</target>
La strophe software est la même que dans /usr/share/auto_install/manifest/default.xml, car ce profil ne contient pas de spécifications de package.
Exemple 2-5 Correction des erreurs mirrorfilesys.profileLa commande js2ai a indiqué les erreurs suivantes pour le profil JumpStart mirrorfilesys.profile :
mirrorfilesys.profile:line 3:UNSUPPORTED: unsupported mount point of 'unnamed' specified, mount points other than '/' and 'swap' are not supported mirrorfilesys.profile:line 4:UNSUPPORTED: unsupported keyword: cluster
Dans un fichier de profils JumpStart, vous pouvez omettre le paramètre file-system dans la spécification filesys mirror. Dans une conversion js2ai, vous pouvez omettre le paramètre file-system, qui doit avoir l'une des deux valeurs suivantes : / ou swap.
Modifiez le fichier mirrorfilesys.profile pour ajouter "/" à la fin de la spécification filesys et pour supprimer la ligne cluster. Le fichier mirrorfilesys.profile présente le contenu suivant :
install_type initial_install partitioning default filesys mirror c6t0d0s0 c6t1d0s0 60048 /
Enregistrez le fichier AI_mirrorfilesys.profile/criteria-2.xml à un autre emplacement. Utilisez l'option –p de la commande js2ai pour traiter ce profil uniquement.
# js2ai -p mirrorfilesys.profile Successfully completed conversion
Le répertoire AI_mirrorfilesys.profile contient deux manifestes AI de sortie : mirrorfilesys.profile.sparc.xml et mirrorfilesys.profile.x86.xml. La seule différence entre ces deux manifestes AI est que mirrorfilesys.profile.x86.xml contient deux spécifications partition. Le manifeste rootdisk.profile.x86.xml présente le contenu suivant dans la strophe target :
<target>
<disk>
<disk_name name="c6t1d0" name_type="ctd"/>
<partition action="create" name="1" part_type="191">
<slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="rpool" name="0">
<size val="60048mb"/>
</slice>
</partition>
</disk>
<disk>
<disk_name name="c6t0d0" name_type="ctd"/>
<partition action="create" name="1" part_type="191">
<slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="rpool" name="0">
<size val="60048mb"/>
</slice>
</partition>
</disk>
<logical noswap="false" nodump="false" >
<zpool name="newpool" is_root="true">
<vdev name="rpool_vdev" redundancy="mirror"/>
<filesystem name="export" mountpoint="/export"/>
<filesystem name="export/home">
<be name="solaris">
</zpool>
</logical>
</target>
La strophe software est la même que dans /usr/share/auto_install/manifest/default.xml, car ce profil ne contient pas de spécifications de package.
Exemple 2-6 Correction des erreurs mirrorpool.profileLa commande js2ai a indiqué les erreurs suivantes pour le profil JumpStart mirrorpool.profile :
mirrorpool.profile:line 4:CONVERSION: unable to convert 'any' device to physical device. Replace 'any' with actual device name mirrorpool.profile:line 8:UNSUPPORTED: unsupported keyword: cluster
Utilisez l'une des deux méthodes ci-dessous pour corriger ces erreurs. Ces deux corrections produisent la même sortie de manifeste AI. Reportez-vous également à la section Conversion du périphérique any.
Modifiez le profil mirrorpool.profile, en remplaçant les deux entrées any par des noms de périphériques physiques. En outre, supprimez la ligne cluster. Le fichier mirrorpool.profile présentera alors un contenu similaire à celui-ci :
install_type initial_install partitioning default pool newpool auto auto auto mirror c6t0d0s0 c6t1d0s0
Si vous spécifiez any au lieu d'un nom de périphérique physique dans la liste vdevlist de la spécification pool, vous devez fournir des informations sur le périphérique avant la spécification qui inclut le paramètre any. Modifiez le profil mirrorpool.profile afin d'ajouter une spécification usedisk avant la spécification du pool. En outre, supprimez la ligne cluster. Le fichier mirrorpool.profile présentera alors un contenu similaire à celui-ci :
install_type initial_install partitioning default usedisk c6t0d0 c6t1d0 pool newpool auto auto auto mirror any any
Enregistrez le fichier AI_mirrorpool.profile/criteria-4.xml à un autre emplacement. Utilisez l'option –p de la commande js2ai pour traiter ce profil uniquement.
# js2ai -p mirrorpool.profile Successfully completed conversion
Le répertoire AI_mirrorpool.profile contient deux manifestes AI de sortie : mirrorpool.profile.sparc.xml et mirrorpool.profile.x86.xml. La seule différence entre ces deux manifestes AI est que mirrorpool.profile.x86.xml contient deux spécifications partition. Le manifeste rootdisk.profile.x86.xml présente le contenu suivant dans la strophe target :
<target>
<disk>
<disk_name name="c6t1d0" name_type="ctd"/>
<partition action="create" name="1" part_type="191">
<slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="newpool" name="0"/>
</partition>
</disk>
<disk>
<disk_name name="c6t0d0" name_type="ctd"/>
<partition action="create" name="1" part_type="191">
<slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="newpool" name="0"/>
</partition>
</disk>
<logical noswap="false" nodump="true">
<zpool name="rpool" is_root="true">
<vdev name="rpool_vdev" redundancy="mirror"/>
<filesystem name="export" mountpoint="/export"/>
<filesystem name="export/home">
<be name="solaris">
</zpool>
</logical>
</target>
La strophe software est la même que dans /usr/share/auto_install/manifest/default.xml, car ce profil ne contient pas de spécifications de package.
Exemple 2-7 Correction des erreurs rootdisk.profileLa commande js2ai a indiqué les erreurs suivantes pour le profil JumpStart rootdisk.profile :
rootdisk.profile:line 3:CONVERSION: unable to convert 'rootdisk.s0'. Replace'rootdisk.' with actual device name rootdisk.profile:line 4:CONVERSION: unable to convert 'rootdisk.s1'. Replace'rootdisk.' with actual device name rootdisk.profile:line 5:UNSUPPORTED: unsupported keyword: cluster
Utilisez l'une des deux méthodes ci-dessous pour corriger ces erreurs. Ces deux corrections produisent la même sortie de manifeste AI.
Modifiez le profil rootdisk.profile, en remplaçant rootdisk par c0t0d0. En outre, supprimez la ligne cluster. Le fichier rootdisk.profile présente le contenu suivant :
install_type initial_install partitioning explicit filesys c0t0d0s0 15000 / filesys c0t0d0s1 1000 swap
Modifiez le profil rootdisk.profile afin d'ajouter une spécification root_device et de supprimer la ligne cluster. Le fichier rootdisk.profile présente le contenu suivant :
install_type initial_install partitioning explicit root_device c0t0d0s0 filesys rootdisk.s0 15000 / filesys rootdisk.s1 1000 swap
Enregistrez le fichier AI_rootdisk.profile/criteria-3.xml à un autre emplacement. Utilisez l'option –p de la commande js2ai pour traiter ce profil uniquement.
# js2ai -p rootdisk.profile Successfully completed conversion
Le répertoire AI_rootdisk.profile contient deux manifestes AI de sortie : rootdisk.profile.sparc.xml et rootdisk.profile.x86.xml. La seule différence entre ces deux manifestes AI est que rootdisk.profile.x86.xml contient une spécification partition. Le manifeste rootdisk.profile.x86.xml présente le contenu suivant dans la strophe target :
<target>
<disk>
<disk_name name="c0t0d0" name_type="ctd"/>
<partition action="create" name="1" part_type="191">
<slice action="create" force="true" in_vdev="rpool_vdev" in_zpool="rpool" name="0">
<size val="15000mb"/>
</slice>
<slice action="create" force="true" is_swap="true" name="1">
<size val="1000mb"/>
</slice>
</partition>
</disk>
<logical noswap="false" nodump="true" noswap="false">
<zpool name="rpool" is_root="true" >
<vdev name="rpool_vdev" redundancy="none"/>
<filesystem name="export" mountpoint="/export"/>
<filesystem name="export/home">
<be name="solaris">
</zpool>
</logical>
</target>
La strophe software est la même que dans /usr/share/auto_install/manifest/default.xml, car ce profil ne contient pas de spécifications de package.