What does it mean to provision a virtual machine?

user1956609 picture user1956609 · Apr 17, 2015 · Viewed 11k times · Source

I see the word "provisioning" used everywhere with virtualization but I can't seem to find a clear definition of it on google. Does it involve just setting up the guest operating system and allotting resources to it, or does it include downloading software and updates as well? Or does it include even more than that, like setting up shared folders and configurations?

Answer

Todd A. Jacobs picture Todd A. Jacobs · Apr 17, 2015

Definitions and Examples

From the definition of Puppet:

Puppet is a configuration management system that allows you to define the state of your IT infrastructure, then automatically enforces the correct state.

Vagrant allows you to use provisioners like shell scripts, Puppet, Chef, or Ansible to configure your machine as part of the provisioning process:

Provisioners in Vagrant allow you to automatically install software, alter configurations, and more on the machine as part of the vagrant up process.

In general, if you want to automate the setup or configuration of a node, virtual or not, then a configuration management tool that supports hardware and/or OS provisioning is what you need.