https://github.com/rgl/ansible-vsphere-ubuntu-vm
Example Ansible project that creates a Ubuntu VMware vSphere Virtual Machine
https://github.com/rgl/ansible-vsphere-ubuntu-vm
ansible ansible-playbook example ubuntu vmware vmware-vsphere
Last synced: about 2 months ago
JSON representation
Example Ansible project that creates a Ubuntu VMware vSphere Virtual Machine
- Host: GitHub
- URL: https://github.com/rgl/ansible-vsphere-ubuntu-vm
- Owner: rgl
- Created: 2024-03-20T22:03:03.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-03-25T21:12:28.000Z (over 2 years ago)
- Last Synced: 2024-12-31T11:05:56.059Z (over 1 year ago)
- Topics: ansible, ansible-playbook, example, ubuntu, vmware, vmware-vsphere
- Language: Shell
- Homepage:
- Size: 10.7 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# About
[](https://github.com/rgl/ansible-vsphere-ubuntu-vm/actions/workflows/build.yml)
This is an example Ansible project that creates a Ubuntu VMware vSphere Virtual Machine.
For a more complete Ansible Playbook see the [rgl/my-ubuntu-ansible-playbooks repository](https://github.com/rgl/my-ubuntu-ansible-playbooks).
# Usage
Execute the following procedure in a Ubuntu machine.
Install the [test/templates/ubuntu-24.04-amd64-vsphere virtual machine template](https://github.com/rgl/ubuntu-vagrant) in your VMware vSphere environment.
Install Docker.
Open the [inventory file](inventory.yml) and modify the virtual machines details to fit your environment.
Set your VMware vSphere details:
```bash
cat >secrets.sh <<'EOF'
export VM_VSPHERE_HOSTNAME='vsphere.local'
export VM_VSPHERE_USERNAME='administrator@vsphere.local'
export VM_VSPHERE_PASSWORD='password'
export VM_VSPHERE_DATACENTER='Datacenter'
export VM_VSPHERE_CLUSTER='Cluster'
export VM_VSPHERE_DATASTORE='Datastore'
export VM_VSPHERE_TEMPLATE='test/templates/ubuntu-24.04-amd64-vsphere'
export VM_VSPHERE_FOLDER='test'
export VM_ADMIN_PASSWORD='admin'
export VM_GATEWAY='10.0.0.1'
export VM_FIRST_IP='10.0.0.11'
EOF
source secrets.sh
```
Lint the playbooks:
```bash
./ansible-lint.sh --offline --parseable example.yml || echo 'ERROR linting'
./ansible-lint.sh --offline --parseable example-destroy.yml || echo 'ERROR linting'
```
List the inventory:
```bash
./ansible-inventory.sh --list --yaml
```
Create and configure the `example1` machine using the [`example.yml` playbook](example.yml):
```bash
./ansible-playbook.sh --limit=example1 example.yml | tee ansible.log
```
Destroy the `example1` machine using the [`example-destroy.yml` playbook](example-destroy.yml):
```bash
./ansible-playbook.sh --limit=example1 example-destroy.yml | tee ansible.log
```