With the advent of private clouds, the challenge of configuring a mix of physical and virtual machines is no longer reserved to a few system administrator gurus. How to assign virtual machines onto physical machines to leverage the available resources? How to maintain the virtual machine configurations congruent with a given specification, even in the face of unexpected changes? System administrators should be able to rely on appropriate tools to tackle these questions. However, today, even if tools exist to automate system configuration, there is no solution that seamlessly integrate the administration and configuration of virtual as well as physical machines. In this paper, we present MetaConfig, a system that supports (a) convergent as well as congruent configuration management, (b) full bootstrapping of blank physical and virtual machines and (c) automatic allocation of virtual machines onto physical machines based on their resource requirements. We describe our design and explain how MetaConfig differs from existing systems such as Cfengine and Puppet. Based on a robust implementation, we evaluate how MetaConfig handles virtual machine allocation, unexpected changes, and scalability requirements.