CentOS networking failure following a VM clone

Cloning a CentOS VMware virtual machine will result in the eth0 interface refusing to come up with the following error

Device eth0 does not seem to be present, delaying initialization. 

This is due to the cloned VM being assigned a new MAC address, to resolve the issue the following files need to be updated with the new MAC address and interface number

/etc/sysconfig/network-scripts/ifcfg-eth0

Configure the correct MAC address for the HWADDR property. Removing the line entirely is also an option.

/etc/udev/rules.d/70-persistent-net.rules

There will be two entries in this file. The first will have the old MAC address and will be assigned to eth0, the second will have the new MAC address and be assigned to eth1. Remove the first entry, and replace eth1 with eth0 in the second entry.

Once both changes have been made restart the VM and the eth0 interface will successfully come up.

One method of avoiding this is to create CentOS templates with an empty 70 -persistent-net.rules file, and removing the HWADDR property from ifcfg-eth0. When the VM is provisioned and powered up the new details will be automatically added to 70-persistent-net.rules and assigned to eth0.