Skip to content

Commit

Permalink
Merge branch 'release-2.3.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
coglinev3 committed Feb 4, 2020
2 parents 09c56ab + 58e0fa9 commit c5ccc1e
Show file tree
Hide file tree
Showing 13 changed files with 294 additions and 126 deletions.
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
# Release 2.3.0

* Added Fedora 30
* Added Fedora 31
* Added `config.yml` to configure some Vagrant environment options

# Release 2.2.1

* Set hostmanager.manage_host back to false by default to avoid problems on
Windows systems (see https://ansible-development.readthedocs.io/en/master/vagrantfile/#configure-the-hostmanager-plugin).

# Release 2.2.0

* Added CentOS 8
Expand Down
15 changes: 10 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,21 @@ clients).

The supported clients are:

* Alpine 3.9,
* Alpine 3.10,
* CentOS 6,
* CentOS 7,
* CentOS 8,
* Debian 8 (Jessie),
* Debian 9 (Stretch),
* Debian 10 (Buster),
* Fedora 30,
* Fedora 31.
* Ubuntu 14.04 LTS (Trusty Tahr),
* Ubuntu 16.04 LTS (Xenial Xerus),
* Ubuntu 18.04 LTS (Bionic Beaver),
* Ubuntu 19.04 (Disco Dingo),
* Debian 8 (Jessie),
* Debian 9 (Stretch) and
* Debian 10 (Buster).
* Ubuntu 19.04 (Disco Dingo) and
* Ubuntu 19.10 (Eoan Ermine).


It is desigend for developing and testing Ansible playbooks and roles on
Expand Down Expand Up @@ -114,7 +119,7 @@ playbooks and roles.

## Version

Release: 2.2.0
Release: 2.3.0


## License
Expand Down
20 changes: 15 additions & 5 deletions Vagrantfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@
# Include box configuration from YAML file boxes.yml
require 'yaml'
boxes = YAML.load_file(File.join(File.dirname(__FILE__), 'boxes.yml'))
config = YAML.load_file(File.join(File.dirname(__FILE__), 'config.yml'))
current_config = config['vagrant_config'][config['vagrant_config']['env']]


# set defaul Language for each virtual machine to C
Expand All @@ -17,29 +19,37 @@ Vagrant.configure(2) do |config|

# configure the hostmanager plugin
config.hostmanager.enabled = false
config.hostmanager.manage_host = true
config.hostmanager.manage_guest = true
config.hostmanager.manage_host = current_config['hostmanager_manage_host']
config.hostmanager.include_offline = current_config['hostmanager_include_offline']
config.hostmanager.ignore_private_ip = false
config.hostmanager.include_offline = true


# Box Configuration for Ansible Clients
boxes.each do |box|
(1..box["nodes"]).each do |i|
config.vm.define "#{box['hostname']}#{i}", autostart: box["start"] do |subconfig|
subconfig.vm.box = box["image"]
subconfig.vm.synced_folder ".", "/vagrant", disabled: true
# Configure vbguesṫ auto updates
subconfig.vbguest.auto_update = current_config['vbguest_auto_update']
subconfig.vm.hostname = "#{box['hostname']}#{i}"
subconfig.vm.provider "libvirt" do |libvirt, override|
libvirt.cpus = 1
libvirt.memory = "512"
libvirt.nested = true
libvirt.nested = false
end
subconfig.vm.provider "virtualbox" do |vbox, override|
# Don't install VirtualBox guest additions with vagrant-vbguest
# plugin, because this doesn't work under Alpine Linux
if box["image"] =~ /alpine/
override.vbguest.auto_update = false
override.vm.provision "shell",
inline: "test -e /usr/sbin/dhclient || (echo nameserver 10.0.2.3 > /etc/resolv.conf && apk add --update dhclient)"
end
vbox.gui = false
vbox.memory = 512
vbox.cpus = 1
vbox.name = "#{box['vbox_name']} #{i}"
vbox.linked_clone = true
vbox.customize ["modifyvm", :id, "--groups", "/Ansible"]
Expand Down Expand Up @@ -76,7 +86,7 @@ Vagrant.configure(2) do |config|
override.vm.synced_folder ".", "/vagrant", type: "nfs"
end
subconfig.vm.provider "virtualbox" do |vbox, override|
vbox.memory = "4096"
vbox.memory = "1024"
vbox.gui = false
vbox.name = "Management Node"
vbox.linked_clone = true
Expand All @@ -98,7 +108,7 @@ Vagrant.configure(2) do |config|
ansible.verbose = false
# ansible.vault_password_file = "provisioning/.ansible_vault"
# ansible.ask_vault_pass = true
ansible.limit = "all" # or only "nodes" group, etc.
ansible.limit = "os" # or only "nodes" group, etc.
ansible.install = true
ansible.inventory_path = "provisioning/inventory.ini"
# pass environment variable to ansible, for example:
Expand Down
35 changes: 25 additions & 10 deletions boxes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,16 @@
# Every Vagrant development environment requires a box. You can search for
# boxes at https://atlas.hashicorp.com/search.

# - image: generic/alpine39
# start: true
# hostname: alpine39-node
# vbox_name: 'Alpine 3.9 - Node'
# nodes: 1
# - image: generic/alpine310
# start: true
# hostname: alpine310-node
# vbox_name: 'Alpine 3.10 - Node'
# nodes: 1
- image: generic/alpine39
start: true
hostname: alpine39-node
vbox_name: 'Alpine 3.9 - Node'
nodes: 1
- image: generic/alpine310
start: true
hostname: alpine310-node
vbox_name: 'Alpine 3.10 - Node'
nodes: 1
- image: centos/6
start: true
hostname: el6-node
Expand Down Expand Up @@ -43,6 +43,16 @@
hostname: debian-buster-node
vbox_name: 'Debian (Buster) - Node'
nodes: 1
- image: generic/fedora30
start: true
hostname: fedora30-node
vbox_name: 'Fedora 30 - Node'
nodes: 1
- image: generic/fedora31
start: true
hostname: fedora31-node
vbox_name: 'Fedora 31 - Node'
nodes: 1
- image: ubuntu/trusty64
start: true
hostname: ubuntu-trusty-node
Expand All @@ -63,3 +73,8 @@
hostname: ubuntu-disco-node
vbox_name: 'Ubuntu (Disco) - Node'
nodes: 1
- image: generic/ubuntu1910
start: true
hostname: ubuntu-eoan-node
vbox_name: 'Ubuntu (Eoan) - Node'
nodes: 1
11 changes: 11 additions & 0 deletions config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
vagrant_config:
env: 'production'
staging:
hostmanager_manage_host: true
hostmanager_include_offline: true
vbguest_auto_update: true
production:
hostmanager_manage_host: false
hostmanager_include_offline: true
vbguest_auto_update: false
15 changes: 5 additions & 10 deletions docs/download_images.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,13 @@
Vagrant boxes can be downloaded separately from
[Vagrant Cloud](https://app.vagrantup.com/) if needed.

- [Alpine 3.9](https://app.vagrantup.com/generic/boxes/alpine39 "Alpine 3.9")
- [Alpine 3.10](https://app.vagrantup.com/generic/boxes/alpine310 "Alpine 3.10")
- [CentOS 6](https://app.vagrantup.com/centos/boxes/6 "CentOS 6")
- [CentOS 7](https://app.vagrantup.com/centos/boxes/7 "CentOS 7")
- [CentOS 8](https://app.vagrantup.com/generic/boxes/centos8 "CentOS 8")
- [Fedora 30](https://app.vagrantup.com/generic/boxes/fedora30 "Fedora 30")
- [Fedora 31](https://app.vagrantup.com/generic/boxes/fedora31 "Fedora 31")
- [Ubuntu/Trusty64](https://app.vagrantup.com/ubuntu/boxes/trusty64 "Ubuntu 14.04 LTS (Trusty Tahr)")
- [Ubuntu/Xenial64](https://app.vagrantup.com/generic/boxes/ubuntu1604 "Ubuntu 16.04 (Xenial Xerus)")
- [Ubuntu/Bionic64](https://app.vagrantup.com/generic/boxes/ubuntu1804 "Ubuntu 18.04 (Bionic Beaver)")
Expand All @@ -15,16 +19,7 @@ Vagrant boxes can be downloaded separately from
- [Debian/Buster64](https://app.vagrantup.com/debian/boxes/buster64 "Debian 10 (Buster)")

```bash
vagrant box add centos/6
vagrant box add centos/7
vagrant box add generic/centos8
vagrant box add ubuntu/trusty64
vagrant box add generic/ubuntu1604
vagrant box add generic/ubuntu1804
vagrant box add generic/ubuntu1904
vagrant box add debian/jessie64
vagrant box add debian/stretch64
vagrant box add debian/buster64
vagrant box add <boxname>
```

If you already have installed the Vagrant boxes you can upgrade them with:
Expand Down
9 changes: 8 additions & 1 deletion docs/getting_started.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,11 +65,13 @@ and the NFS kernel server:
```bash
# on Debian/Ubuntu systems
sudo apt install -y nfs-kernel-server
# on Enterprise Linux (CentOS/RedHat)
sudo yum -y install nfs-utils
```

## Initial Provisioning

The next step will start all CentOS, Ubuntu and Debian nodes and the Ansible
The next step will start all Ansible Clients and the Ansible
management node. While starting the first time Vagrant will be run any
configured provisioners against the running managed machines.

Expand All @@ -81,11 +83,16 @@ configured provisioners against the running managed machines.
and provisioned in sequence. Then the environment is ready for the
development and testing of new Ansible playbooks and roles.

### Provider VirtualBox

The Vagrant environment can be started with the provider VirtualBox as follows.

```bash
vagrant up
```

### Provider libvirt

If you want to use vagrant with libvirt instead of VirtualBox, use
```bash
VAGRANT_DEFAULT_PROVIDER=libvirt vagrant up --no-parallel
Expand Down
19 changes: 12 additions & 7 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,21 @@ clients):
![Ansible figure](ansible_figure.svg)
The supported clients are:

* CentOS 6,
* CentOS 7,
* CentOS 8,
* Alpine 3.9,
* Alpine 3.10,
* CentOS 6,
* CentOS 7,
* CentOS 8,
* Debian 8 (Jessie),
* Debian 9 (Stretch),
* Debian 10 (Buster),
* Fedora 30,
* Fedora 31,
* Ubuntu 14.04 LTS (Trusty Tahr),
* Ubuntu 16.04 LTS (Xenial Xerus),
* Ubuntu 18.04 LTS (Bionic Beaver),
* Ubuntu 19.04 (Disco Dingo),
* Debian 8 (Jessie),
* Debian 9 (Stretch) and
* Debian 10 (Buster).
* Ubuntu 19.04 (Disco Dingo) and
* Ubuntu 19.10 (Eoan Ermine).


It is desigend for developing and testing Ansible playbooks and roles on
Expand Down
11 changes: 11 additions & 0 deletions docs/release_notes.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
# Release Notes for Version 2.3.0

* Added Fedora 30
* Added Fedora 31
* Added `config.yml` to configure some Vagrant environment options

# Release Notes for Version 2.2.1

* Set hostmanager.manage_host back to false by default to avoid problems on
Windows systems (see https://ansible-development.readthedocs.io/en/master/vagrantfile/#configure-the-hostmanager-plugin).

# Release Notes for Version 2.2.0

* Added CentOS 8
Expand Down

0 comments on commit c5ccc1e

Please sign in to comment.