I have found that on CloudStack 4.2 + (when we changed to using the virtio-socket to send data to the systemvm) when running CentOS 6.X cloud-early-config fails. On new systemvm creation there is a high chance for success, but still a chance for failure. After the systemvm has been created a simple reboot will cause start to fail every time. This has been confirmed on 2 separate CloudStack 4.2 environments; 1 running CentOS 6.3 KVM, and another running CentOS 6.2 KVM. This can be fixed with a simple modification to the get_boot_params function in the cloud-early-config script. If you wrap the while read line inside of another while that checks if $cmd returns an empty string it fixes the issue.
This is a pretty nasty issue for any one running CloudStack 4.2 + on CentOS 6.X John Skinner Appcore