Problèmes de personnalisation d'une machine virtuelle RHEL7 déployée à partir d'un modèle sur VMware


7

Conformément à la matrice de personnalisation VM de VMWare , je teste cela sur vSphere 5.5 Update 2d. Je crée le modèle avec un DVD RHEL 7.1 et pointe anaconda sur un kickstart qui ressemble à ceci:

#version=RHEL7
# Ref: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Installation_Guide/sect-kickstart-syntax.html

# System authorization information
auth --enableshadow --passalgo=sha512

# Installation
cdrom
text
poweroff

# Run the Setup Agent on first boot
firstboot --disable
ignoredisk --only-use=sda

# Localization
keyboard --vckeymap=us --xlayouts='us'
lang en_US.UTF-8
timezone America/New_York --isUtc

# Network information
network  --bootproto=static --ip=192.168.3.10 --netmask=255.255.255.0 --gateway=192.168.3.1 --nameserver=192.168.3.1 --hostname=rhel-template.example.com

# Root password
rootpw --iscrypted $6$SNIP

# Storage
bootloader --append=" crashkernel=auto" --location=mbr --boot-drive=sda
clearpart --all --initlabel --drives=sda
part /boot --fstype="xfs" --ondisk=sda --size=286
part pv.1378 --fstype="lvmpv" --ondisk=sda --size=16093
volgroup vg_example --pesize=4096 pv.1378
logvol /home  --fstype="xfs" --size=2860 --name=lv_home --vgname=vg_example
logvol /  --fstype="xfs" --size=5600 --name=lv_root --vgname=vg_example
logvol /var  --fstype="xfs" --size=3814 --name=lv_var --vgname=vg_example
logvol swap  --fstype="swap" --size=3814 --name=lv_swap --vgname=vg_example

# VMware OSP
# Ref: http://kb.vmware.com/kb/2075048
repo --name="vmware-osp" --baseurl="http://packages.vmware.com/packages/rhel7/x86_64/"

# Install packages
%packages
@core
open-vm-tools
open-vm-tools-deploypkg
net-tools
%end

%post --log=/root/ks-post.log

# So we could see what is happening
exec < /dev/tty3 > /dev/tty3
chvt 3

#Set some variables
export RHEL_MAJ_VER=$(uname -r | grep -Po '(?<=el).*(?=\.)')
export RHEL_ARCH=$(uname -a | grep "x86_64" > /dev/null && echo 64 || echo 32)

# Install satellite RPM
rpm -i http://satellite.example.com/pub/katello-ca-consumer-latest.noarch.rpm

# Register
subscription-manager register --org="example" --activationkey="rhel${RHEL_MAJ_VER}-${RHEL_ARCH}bit"

# Puppet install
yum update -y
yum install -t -y -e 0 puppet
chkconfig --level 345 puppet on

# Configure puppet
cat > /etc/puppet/puppet.conf <<EOF
[main]
    logdir = /var/log/puppet
    rundir = /var/run/puppet
    ssldir = $vardir/ssl
    pluginsync = true

[agent]
    classfile = $vardir/classes.txt
    localconfig = $vardir/localconfig
    server = satellite.example.com
    report = true
    runinterval = 60
EOF

# RHSM cleanup
subscription-manager unregister
subscription-manager clean

# Truncate logs
>| /var/log/audit/audit.log
>| /var/log/wtmp
>| /var/log/lastlog

# Clean out udev (device naming)
rm -f /etc/udev/rules.d/70*

# Clear out networking
sed -i'' '/^\(HWADDR\|UUID\|IPADDR\|GATEWAY\|NETMASK\|DNS\)/d' /etc/sysconfig/network-scripts/ifcfg-eth* || true
sed -i'' '/^\(HWADDR\|UUID\|IPADDR\|GATEWAY\|NETMASK\|DNS\)/d' /etc/sysconfig/network-scripts/ifcfg-ens* || true

%end

Une fois la machine virtuelle RHEL7 créée, je la convertis en modèle et déploie une machine virtuelle à partir de celle-ci. Cependant, aucune des personnalisations ne prend:

  • La configuration du réseau n'est pas appliquée
  • Le changement de nom d'hôte n'est pas appliqué

Voici à quoi ressemblent les deployPkgjournaux:

[root@rhel-template ~]# cat /var/log/vmware-imc/toolsDeployPkg.log
## Starting deploy pkg operation
Deploying /tmp/vmware-root/49b2eefe/imc93D2.tmp
Initializing deployment module.

Cleaning old state file from tmp directory.

EXIT STATE INPROGRESS

Setting deploy error: Error removing lock /tmp/.vmware-deploy.INPROGRESS (No such file or directory)

EXIT STATE Done

Setting deploy error: Error removing lock /tmp/.vmware-deploy.Done (No such file or directory)

EXIT STATE ERRORED

Setting deploy error: Error removing lock /tmp/.vmware-deploy.ERRORED (No such file or directory)

Setting deploy error: Success.

Deploying cabinet file /tmp/vmware-root/49b2eefe/imc93D2.tmp.

Transitioning from state (null) to state INPROGRESS.

ENTER STATE INPROGRESS

Reading cabinet file /tmp/vmware-root/49b2eefe/imc93D2.tmp.

Creating directory /tmp
Creating directory /tmp/.vmware
Creating directory /tmp/.vmware/linux
Creating directory /tmp/.vmware/linux/deploy
Extracting package files.

Launching deployment /usr/bin/perl -I/tmp/.vmware/linux/deploy/scripts /tmp/.vmware/linux/deploy/scripts/Customize.pl /tmp/.vmware/linux/deploy/cust.cfg.

Command to exec : /usr/bin/perl

sizeof ProcessInternal is 56

## Starting deploy pkg operation
Deploying /tmp/vmware-root/49b2eefe/imc93D2.tmp
Initializing deployment module.

Cleaning old state file from tmp directory.

EXIT STATE INPROGRESS

Setting deploy error: Error removing lock /tmp/.vmware-deploy.INPROGRESS (No such file or directory)

EXIT STATE Done

Setting deploy error: Error removing lock /tmp/.vmware-deploy.Done (No such file or directory)

EXIT STATE ERRORED

Setting deploy error: Error removing lock /tmp/.vmware-deploy.ERRORED (No such file or directory)

Setting deploy error: Success.

Deploying cabinet file /tmp/vmware-root/49b2eefe/imc93D2.tmp.

Transitioning from state (null) to state INPROGRESS.

ENTER STATE INPROGRESS

Reading cabinet file /tmp/vmware-root/49b2eefe/imc93D2.tmp.

Creating directory /tmp
Creating directory /tmp/.vmware
Creating directory /tmp/.vmware/linux
Creating directory /tmp/.vmware/linux/deploy
Extracting package files.

Launching deployment /usr/bin/perl -I/tmp/.vmware/linux/deploy/scripts /tmp/.vmware/linux/deploy/scripts/Customize.pl /tmp/.vmware/linux/deploy/cust.cfg.

Command to exec : /usr/bin/perl

sizeof ProcessInternal is 56

Returning, pending output from stdout
Returning, pending output from stderr
Process exited normally after 0 seconds, returned 127
No more output from stdout
No more output from stderr
Customization command output:

Customization process returned with error.

Deployment result = 127

Setting generic error status in vmx.

Transitioning from state INPROGRESS to state ERRORED.

ENTER STATE ERRORED

EXIT STATE INPROGRESS

Setting deploy error: Deployment failed. The forked off process returned error code.

Deployment failed. The forked off process returned error code.

Wait before set enable-nics stats in vmx.

Trying to connect network interfaces, attempt 1
Got VMX response 'queryNicsSupported'
Got VMX response 'disconnected'
Got VMX response 'connected'
The network interfaces are connected on 1 second
Launching cleanup.

Command to exec : /bin/rm

sizeof ProcessInternal is 56

Returning, pending output from stdout
Returning, pending output from stderr
Process exited normally after 0 seconds, returned 0
No more output from stdout
No more output from stderr
Customization command output:

Deploy error: Deployment failed. The forked off process returned error code.

Package deploy failed in DeployPkg_DeployPackageFromFile
## Closing log

Qu'est-ce que j'oublie ici? S'il y a autre chose qui aiderait à trouver la cause, veuillez le demander via un commentaire.

Réponses:


9

Avec l'aide de notre administrateur VMware, nous avons pu déterminer que le script de personnalisation était nécessaire perl. Ce n'est pas installé avec le @coregroupe de paquets de RHEL7 .

Pour résumer, vous avez besoin des packages RHEL7 suivants pour que la personnalisation fonctionne:

  • open-vm-tools
  • open-vm-tools-deploypkg
  • net-tools
  • perl

J'espère que cela aide les autres.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.