HOw to set hostname on chef client



I am pretty new at chef, so please bear with me.

What I have is a XCP private cloud and a VM that I copy or clone to create new VM’s.

What would be the best way to create a new hostname and apply it to the running vm and keep the name readable and unique?
For example centos-webserver6, etc…

A way to provide for a fixed IP that is unused and unique would be nice too.