How to use this box with Vagrant:

Vagrant.configure("2") do |config|
  config.vm.box = "hauptj/CentOS75"
  config.vm.box_version = "1.1.0"
end
vagrant init hauptj/CentOS75 \
  --box-version 1.1.0
vagrant up

This version was created over 6 years ago.

Vagrant Hyper-V Gen 2 Centos 7.5 - 1804 AMD 64

This is a Hyper-V generation 2 box with GPT partitioning and nested virtualization. It includes Ansible Roles to install Git, Ansible, Terraform, Chef, Vagrant, VirtualBox, Docker, Golang, and the Google Cloud SDK. SELinux and firewall services are disabled by default.

A group called local is in the Ansible inventory file /etc/ansible/hosts to be used for local provisioning. As of v22.3.2018, usage of the root user for provisioning is optional. The password for the root user is vagrant and the infamous insecure_private_key is in /root/.ssh/authorized_keys.

You can run Ansible locally on Windows hosts using the shell provisioner with config.ssh.username = "root" specified in the Vagrantfile.

Usage:

  • Export VAGRANT_SMB_USERNAME: $env:VAGRANT_SMB_USERNAME="username"
  • Export VAGRANT_SMB_PASSWORD: $env:VAGRANT_SMB_PASSWORD="password"

Vagrantfile

Vagrant.configure("2") do |config|

  config.vm.box = "hauptj/CentOS74"
  # Optional if you wish to use root as the default user
  # config.ssh.username = "root"

  # Optional, SMB folder sharing
  # If you wish to disable SMB share
  # config.vm.synced_folder ".", "/vagrant", disabled: true

  # Configure SMB folder sharing
  config.vm.synced_folder '.', '/vagrant', {
    type: 'smb', mount_options: ['vers=3.0'],
    smb_username: ENV['VAGRANT_SMB_USERNAME'],
    smb_password: ENV['VAGRANT_SMB_PASSWORD']
  }

  config.vm.provider "hyperv" do |hv|
    hv.vmname = "CentOS74"
    # With nested virtualization, at least 2 CPUs are needed.
    hv.cpus = "2"
    # With nested virtualization, at least 4GB of memory is needed.
    hv.memory = "4096"
    # Faster cloning and uses less disk space
    hv.differencing_disk = true
  end
  # Optional, allows you to provision with Ansible locally
  # config.vm.provision "shell", inline: <<-SHELL
  # yum update -y
  # git clone ...
  # ansible-playbook clone_dir/playbook.yml
  SHELL
end

CLI

vagrant init hauptj/CentOS74
vagrant up
1 provider for this version.
  • hyperv
    unknown Hosted by Vagrant Cloud (1.25 GB)