En esta sección se muestra el uso de un único comando js2ai para convertir un archivo rules de JumpStart y todos los archivos de perfil a los que hace referencia ese archivo rules. De manera predeterminada, la salida de cada perfil se envía a un directorio denominado AI_profile-filename. La regla para seleccionar ese perfil es la salida a ese mismo directorio como un archivo de criterios de AI.
En este ejemplo, se utiliza el siguiente archivo rules:
# 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 -
El archivo fdisk.profile tiene el siguiente contenido:
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
El archivo mirrorfilesys.profile tiene el siguiente contenido:
install_type initial_install partitioning default filesys mirror c6t0d0s0 c6t1d0s0 60048 / cluster SUNWCuser
El archivo mirrorpool.profile tiene el siguiente contenido:
install_type initial_install partitioning default pool newpool auto auto auto mirror any any cluster SUNWCuser
El archivo rootdisk.profile tiene el siguiente contenido:
install_type initial_install partitioning explicit filesys rootdisk.s0 15000 / filesys rootdisk.s1 1000 swap cluster SUNWCall
Utilice el siguiente comando para procesar este archivo rules. En el informe de errores, los errores de validación se muestran como un carácter de guión porque no se realizó la validación. La opción –S omite la validación.
# 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 salida se almacena en directorios denominados AI_profile-filename. Los archivos de criterios de AI creados de reglas de JumpStart son denominados para la posición de la regla en el archivo rules. Los manifiestos de AI son denominados profile-filename.arch.xml, donde arch es generic, x86 o 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
El archivo de registro informa que la palabra clave de regla de JumpStart hostname no se admite como una palabra clave de criterios de AI para seleccionar un manifiesto de AI. La palabra clave hostname especifica los clientes que deben usar el perfil fdisk.profile. Dado que hostname no es una palabra clave admitida para seleccionar manifiestos de AI, el nuevo directorio AI_fdisk.profile no contiene un archivo de criterios de AI.
Para corregir este problema, cambie hostname a hostaddress en el archivo rules.
Otra manera de corregir este problema es crear un archivo de criterios de AI que especifique una dirección MAC o una dirección IP para identificar el sistema hostname. Por ejemplo, el siguiente archivo de criterios es equivalente a la regla de JumpStart hostname sample_host si 0:14:4F:20:53:97 es la dirección 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>
Para buscar la dirección MAC de un sistema, use el comando dladm, como se describe en la página del comando man dladm(1M).
Para la regla de JumpStart hostaddress 10.6.68.127, el comando js2ai creó automáticamente el archivo de criterios de AI AI_mirrorfilesys.profile/criteria-2.xml y reemplazó la palabra clave hostaddress de JumpStart con la palabra clave ipv4 de AI:
<?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>
Para la regla de JumpStart network 924.222.43.0, el comando js2ai creó automáticamente el archivo de criterios de AI AI_rootdisk.profile/criteria-3.xml y especificó un rango de direcciones IP según la dirección de red determinada:
<?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>
Para la regla de JumpStart arch i386, la utilidad js2ai creó automáticamente el archivo de criterios de AI AI_mirrorpool.profile/criteria-4.xml y reemplazó la palabra clave arch de JumpStart con la palabra clave cpu de AI:
<?xml version="1.0" encoding="utf-8"?> <ai_criteria_manifest> <ai_criteria name="cpu"> <value> i386 </value> </ai_criteria> </ai_criteria_manifest>
El comando js2ai suele crear un manifiesto de AI para cada perfil de JumpStart, aun cuando se informan errores. En esta sección se describe cómo abordar algunos errores comunes para que los manifiestos de AI de salida estén más completos.
Ejemplo 2-4 Corrección de errores de fdisk.profileEl comando js2ai mostró los siguientes errores para el perfil de JumpStart fdisk.profile:
fdisk.profile:line 2:UNSUPPORTED: unsupported value for 'system_type' specified: server fdisk.profile:line 9:UNSUPPORTED: unsupported keyword: cluster
Estas dos líneas se ignoran y no afectan el manifiesto de AI de salida. Puede suprimir estas dos líneas si desea que la conversión evite los mensajes de error. El archivo fdisk.profile tiene el siguiente contenido:
install_type initial_install root_device c1t0d0s0 usedisk c1t0d0 fdisk rootdisk solaris all partitioning explicit filesys rootdisk.s1 5000 swap filesys rootdisk.s0 10000 /
Use la opción –p del comando js2ai para procesar solamente este perfil.
# js2ai -p fdisk.profile Successfully completed conversion
El manifiesto de AI de salida, AI_fdisk.profile/fdisk.profile.x86.xml, tiene el siguiente contenido en el grupo de líneas target:
<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>
El fragmento software es el mismo que en /usr/share/auto_install/manifest/default.xml porque este perfil no contiene ninguna especificación de paquete.
Ejemplo 2-5 Corrección de errores de mirrorfilesys.profileEl comando js2ai mostró los siguientes errores para el perfil de 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
En un archivo de perfil de JumpStart, puede omitir el parámetro file-system en la especificación filesys mirror. En una conversión de js2ai, no puede omitir el parámetro file-system, que debe tener uno de los dos valores siguientes: / or swap.
Edite el archivo mirrorfilesys.profile para agregar "/" al final de la especificación filesys y para suprimir la línea cluster. El archivo mirrorfilesys.profile tiene el siguiente contenido:
install_type initial_install partitioning default filesys mirror c6t0d0s0 c6t1d0s0 60048 /
Guarde el archivo AI_mirrorfilesys.profile/criteria-2.xml en otra ubicación. A continuación, use la opción –p del comando js2ai para procesar únicamente este perfil.
# js2ai -p mirrorfilesys.profile Successfully completed conversion
El directorio AI_mirrorfilesys.profile contiene dos manifiestos de AI de salida: mirrorfilesys.profile.sparc.xml y mirrorfilesys.profile.x86.xml. La única diferencia entre estos dos manifiestos de AI es que mirrorfilesys.profile.x86.xml contiene dos especificaciones partition. El manifiesto mirrorfilesys.profile.x86.xml tiene el siguiente contenido en el fragmento 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>
El fragmento software es el mismo que en /usr/share/auto_install/manifest/default.xml porque este perfil no contiene ninguna especificación de paquete.
Ejemplo 2-6 Corrección de errores de mirrorpool.profileEl comando js2ai mostró los siguientes errores para el perfil de 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
Utilice cualquiera de los dos métodos siguientes para corregir estos errores. Ambas correcciones originan exactamente la misma salida del manifiesto de AI. Consulte también Cómo se traduce el dispositivo any.
Edite el perfil mirrorpool.profile y reemplace ambas entradas any con nombres de dispositivos físicos. También, suprima la línea cluster. El archivo mirrorpool.profile tendrá un contenido similar al siguiente:
install_type initial_install partitioning default pool newpool auto auto auto mirror c6t0d0s0 c6t1d0s0
Si especifica any en lugar de un nombre de dispositivo físico en la lista vdev-list de la especificación pool, debe proporcionar información del dispositivo antes de la especificación que incluye el parámetro any. Edite el perfil mirrorpool.profile para agregar una especificación usedisk antes de la especificación de agrupación. También, suprima la línea cluster. El archivo mirrorpool.profile tendrá un contenido similar al siguiente:
install_type initial_install partitioning default usedisk c6t0d0 c6t1d0 pool newpool auto auto auto mirror any any
Guardar el archivo AI_mirrorpool.profile/criteria-4.xml en otra ubicación. A continuación, use la opción –p del comando js2ai para procesar únicamente este perfil.
# js2ai -p mirrorpool.profile Successfully completed conversion
El directorio AI_mirrorpool.profile contiene dos manifiestos de AI de salida: mirrorpool.profile.sparc.xml y mirrorpool.profile.x86.xml. La única diferencia entre estos dos manifiestos de AI es que mirrorpool.profile.x86.xml contiene dos especificaciones partition. El manifiesto mirrorpool.profile.x86.xml tiene el siguiente contenido en el fragmento 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>
El fragmento software es el mismo que en /usr/share/auto_install/manifest/default.xml porque este perfil no contiene ninguna especificación de paquete.
Ejemplo 2-7 Corrección de errores de rootdisk.profileEl comando js2ai mostró los siguientes errores para el perfil de 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
Utilice cualquiera de los dos métodos siguientes para corregir estos errores. Ambas correcciones originan exactamente la misma salida del manifiesto de AI.
Edite el perfil rootdisk.profile y reemplace rootdisk con c0t0d0. También, suprima la línea cluster. El archivo rootdisk.profile tiene el siguiente contenido:
install_type initial_install partitioning explicit filesys c0t0d0s0 15000 / filesys c0t0d0s1 1000 swap
Edite el perfil rootdisk.profile para agregar una especificación root_device y para suprimir la línea cluster. El archivo rootdisk.profile tiene el siguiente contenido:
install_type initial_install partitioning explicit root_device c0t0d0s0 filesys rootdisk.s0 15000 / filesys rootdisk.s1 1000 swap
Guarde el archivo AI_rootdisk.profile/criteria-3.xml en otra ubicación. A continuación, use la opción –p del comando js2ai para procesar únicamente este perfil.
# js2ai -p rootdisk.profile Successfully completed conversion
El directorio AI_rootdisk.profile contiene dos manifiestos de AI de salida: rootdisk.profile.sparc.xml y rootdisk.profile.x86.xml. La única diferencia entre estos dos manifiestos de AI es que rootdisk.profile.x86.xml contiene una especificación partition. El manifiesto rootdisk.profile.x86.xml tiene el siguiente contenido en el fragmento 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>
El fragmento software es el mismo que en /usr/share/auto_install/manifest/default.xml porque este perfil no contiene ninguna especificación de paquete.