Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add more roles and release 1.1.0 #2

Merged
merged 508 commits into from
Oct 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
508 commits
Select commit Hold shift + click to select a range
361041a
Archlinux meta
mtb-xt Dec 27, 2019
3ff7d65
set custom fact with zfs pool to libvirt pool mappings
mtb-xt Dec 27, 2019
a7a4ec8
set custom fact with zfs pool to libvirt pool mappings. fixed
mtb-xt Dec 27, 2019
215abc3
rename custom fact
mtb-xt Dec 27, 2019
f9c0214
one more rename...
mtb-xt Dec 27, 2019
691a00a
Archlinux support, libvirt zfs pool support
mtb-xt Dec 28, 2019
c5dbae4
Remove trailing whitespaces
mtb-xt Dec 28, 2019
9ac1563
forgotten meta
mtb-xt Dec 28, 2019
38d9036
cdrom type devices cannot use 'virtio' bus
mtb-xt Dec 28, 2019
a877746
Syntax fix
mtb-xt Dec 28, 2019
617e07b
typo
mtb-xt Dec 28, 2019
43db416
Create volume when type is volume, not device is disk
markgoddard Jan 2, 2020
e899c0b
Give the VM a rng device by default to avoid entropy starvation
t2d Dec 19, 2019
a31619d
Merge pull request #43 from t2d/random
markgoddard Jan 2, 2020
6f4ab93
Merge pull request #46 from stackhpc/issues/45
markgoddard Jan 2, 2020
d82fe9d
Remove unneded fact setting; only specify source for zfs type pools
mtb-xt Jan 11, 2020
d3a540d
Revert brainfart...
mtb-xt Jan 19, 2020
59c13b7
Update to use standard libvirt pools
mtb-xt Jan 19, 2020
bd200cb
Merge pull request #23 from mtb-xt/archlinuxify
markgoddard Jan 22, 2020
c91fc83
Update README.md
Jan 23, 2020
2c803f1
Define only 'sata' bus explicitly
Jan 23, 2020
c39cf58
Merge pull request #44 from mtb-xt/archlinuxify
markgoddard Jan 23, 2020
ed2f5d4
Use ansible_python to determine whether to use python3
markgoddard Jan 29, 2020
4b6e102
Don't assume English locale
markgoddard Feb 6, 2020
a9f2883
Merge pull request #52 from stackhpc/dont-assume-english
markgoddard Feb 6, 2020
1e53055
Don't install qemu emulator packages on CentOS 8
markgoddard Feb 13, 2020
619962d
Use /usr/libexec/qemu-kvm emulator on CentOS 8
markgoddard Feb 13, 2020
c028711
Use a default machine of 'pc' rather than 'pc-1.0'
markgoddard Feb 13, 2020
fd15189
use logical instead of lvm2 for pool type inside xml template as per …
prisma01 Feb 19, 2020
741cd1e
Update molecule configuration to work with 3.0.
geerlingguy Feb 20, 2020
1160d00
Update molecule configuration to work with 3.0.
geerlingguy Feb 20, 2020
dae1296
Update molecule configuration to work with 3.0.
geerlingguy Feb 20, 2020
d3bb107
add support for chrony on EL7
selyx Oct 30, 2017
2d0f0c8
Add tzdata package and driftfile to vars
ogajduse Feb 22, 2020
ef7bbc1
Make sure molecule lint script has set -e option.
geerlingguy Feb 24, 2020
2548a8b
Merge pull request #26 from stackhpc/ansible-python
markgoddard Feb 28, 2020
016d4b1
Make task names more consistent
markgoddard Feb 28, 2020
1c0f94f
Merge pull request #53 from stackhpc/centos8
markgoddard Feb 28, 2020
bd00dbf
Add probot/stale configuration to repository for stale issues.
geerlingguy Mar 5, 2020
8c621bd
Test Centos 8
ogajduse Mar 20, 2020
0dba472
Merge pull request #68 from xescab/fix/restart-cron
geerlingguy Mar 26, 2020
d0048de
PR #68 follow-up: Styling tweak.
geerlingguy Mar 26, 2020
d2f510a
Merge branch 'master' into feature-chronyd
geerlingguy Mar 26, 2020
c9e2a45
Merge pull request #72 from ogajduse/feature-chronyd
geerlingguy Mar 26, 2020
13e46d8
PR #72 follow-up: Make it so you can still override ntp_package and c…
geerlingguy Mar 26, 2020
5dc65ff
Merge branch 'master' into master
geerlingguy Mar 26, 2020
4fcdcbc
Merge pull request #65 from ATIX-AG/master
geerlingguy Mar 26, 2020
0272b7b
Adjust RedHat vars file name for RHEL 6.
geerlingguy Mar 26, 2020
d663ef6
Fix vars for RHEL 6.
geerlingguy Mar 26, 2020
909217d
Support for network filesystems.
goetzk Oct 22, 2019
a36732e
Add documentation of volume type
markgoddard Feb 20, 2020
cef791b
Fixed issue where you could not change the ntp_daemon to ntp when it …
JuddTracy-DAS May 1, 2020
6abccb7
Ensure galaxy meta information is consistent on all my roles.
geerlingguy May 26, 2020
821ddf6
Merge pull request #75 from JuddTracy-DAS/master
geerlingguy Jun 2, 2020
0d31282
PR #75: Document new variable.
geerlingguy Jun 2, 2020
9f4278e
remove whitespace
DO1JLR Jun 5, 2020
857394f
LINT - Don't compare to empty string
DO1JLR Jun 5, 2020
91d21e4
Merge pull request #34 from DO1JLR/whitespace
jovial Jun 5, 2020
f5e3da9
Cosmetic changes
giner Jun 7, 2020
e7b005c
Allow trusting guest receive filters
markgoddard Jun 12, 2020
3cc1b51
Merge pull request #57 from stackhpc/fix-multicast
markgoddard Jun 17, 2020
44dd0fd
Fix default of volume type
markgoddard Jun 18, 2020
816bf03
Improve documentation of volumes
markgoddard Jun 18, 2020
11d6724
Merge pull request #48 from goetzk/network-disks
markgoddard Jun 18, 2020
166f66c
Allow pool type to be 'logical', deprecate 'lvm2'
markgoddard Jun 18, 2020
031f364
Merge pull request #30 from prisma01/master
markgoddard Jun 18, 2020
5603a18
Update post-install-Debian.yml
DO1JLR Jun 25, 2020
a6dcc39
Merge pull request #35 from DO1JLR/compare
jovial Jun 25, 2020
57f915a
Replace old syntax "with_items" with "loop"
raspbeguy Jun 30, 2020
8df508a
add rbd support
raspbeguy Jul 1, 2020
8f6cec2
update readme
raspbeguy Jul 1, 2020
d44fd9c
Add possibility to give UUID
raspbeguy Jul 1, 2020
60a6d14
Fix missing parenthesis
raspbeguy Jul 1, 2020
809b653
add default for libvirt_vm_default_uuid_deterministic
raspbeguy Jul 1, 2020
fc62319
modify bool syntax
raspbeguy Jul 2, 2020
497acd1
Merge pull request #59 from raspbeguy/uuid
markgoddard Jul 2, 2020
b25772e
allow secret use with usage property
raspbeguy Jul 1, 2020
f4bb37a
allow use of list of ceph monitor
raspbeguy Jul 1, 2020
d6e2cfb
add examples in README
raspbeguy Jul 1, 2020
77d9aae
volume creation script is needed only with volume type
raspbeguy Jul 1, 2020
7f53f6f
fix auth variable names
raspbeguy Jul 3, 2020
f15ae38
fix indentation
raspbeguy Jul 3, 2020
8873e36
change include to include_tasks
raspbeguy Jul 3, 2020
a21623f
remove old parameter hostname
raspbeguy Jul 6, 2020
3526bdf
fix include syntax
raspbeguy Jul 6, 2020
6ded8e0
add RBD example
raspbeguy Jul 6, 2020
d9be1f9
fix again include syntax
raspbeguy Jul 6, 2020
428d117
removed old rbd example
raspbeguy Jul 6, 2020
72a7fb6
Merge pull request #58 from raspbeguy/rbd-fix
markgoddard Jul 6, 2020
2f47f93
Merge pull request #36 from raspbeguy/rbd-volume-pool
markgoddard Jul 7, 2020
0da5a33
use pool directive over server
pritpal-sabharwal Jul 8, 2020
991d1b1
remove iburst parameter from template
dwerder Jul 9, 2020
788ba1e
updating FreeBSD default driftfile location + allowing variable ntp_d…
smbambling Jul 23, 2020
9f6974a
Upgrade Travis CI docker version to fix Molecule tests.
geerlingguy Aug 12, 2020
48a2a0b
Merge pull request #82 from smbambling/fbsd_drift
geerlingguy Aug 13, 2020
4ac1014
Merge pull request #78 from dwerder/patch-1-adjust-chronyconf-template
geerlingguy Aug 13, 2020
a8df7ba
Merge pull request #77 from pritpal-sabharwal/use-pool-directive
geerlingguy Aug 13, 2020
8d3882e
allow pool associations
dlerch-transporeon Aug 14, 2020
23a5978
Ignore the tyranny of ansible-lint rule 106.
geerlingguy Aug 21, 2020
0cd37c2
Fix rule 208 lint issues.
geerlingguy Aug 21, 2020
6ba0f03
Replace tab with space, fix indentation issue of rbd-pool exemple
roumano Sep 9, 2020
6ff82b5
Merge pull request #40 from roumano/README-issue-rbd-pool
jovial Sep 9, 2020
814ae17
add graphics type='spice' when `enable_spice |bool`
Sep 11, 2020
a9cc254
add enable_spice in the documentation
Sep 11, 2020
f558e4d
Fix pvs in README
markgoddard Sep 14, 2020
6b7046c
Update main.yml
roumano Sep 14, 2020
182e154
Merge pull request #64 from roumano/spice
markgoddard Sep 14, 2020
fa1f4f5
Merge pull request #70 from giner/disable_systemd-timesyncd_if_running
geerlingguy Oct 1, 2020
4c8f8cf
PR #70 follow-up: Tweak code style.
geerlingguy Oct 1, 2020
9ae920f
Added support for specifying the interface model
gprocunier Oct 2, 2020
112d216
Typo on the else statement
gprocunier Oct 2, 2020
78e50e4
Merge pull request #67 from gprocunier/tunable-network-driver
markgoddard Oct 2, 2020
d4d6a68
Merge pull request #1 from stackhpc/master
gprocunier Oct 2, 2020
a147afb
Added interface user aliases support
gprocunier Oct 2, 2020
ab1a079
Merge pull request #69 from gprocunier/interface-aliases
markgoddard Oct 5, 2020
7f21f73
Fix README formatting
markgoddard Oct 9, 2020
933b8cb
Fix network volume default, and XML indentation
markgoddard Oct 9, 2020
d7ad6de
Add volume block type support
markgoddard Oct 9, 2020
d13fad7
Fix execution on a remote host with a local image
markgoddard Oct 9, 2020
30607a9
Make sure docker driver is installed with molecule.
geerlingguy Oct 15, 2020
faeb0d1
Add the ability to run without sudo
michaeltchapman Oct 21, 2020
8d8c78c
Merge pull request #71 from michaeltchapman/master
markgoddard Oct 22, 2020
4422b3d
Switch to travis-ci.com.
geerlingguy Oct 27, 2020
5269d1e
Dump Travis CI and move to GitHub Actions.
geerlingguy Nov 5, 2020
c306122
Add a option to use checksum on get_url of tasks Ensure remote images…
Nov 13, 2020
136edcf
avoid copy when checksum is specify
Nov 13, 2020
49a27a2
Add information about the new optional field : checksum
Nov 13, 2020
9fab5e6
Merge pull request #72 from roumano/get_url_checksum
markgoddard Nov 16, 2020
efef608
Drop CentOS / RHEL 6 support.
geerlingguy Dec 8, 2020
b588360
Add libgcrypt to RedHat dependencies
markgoddard Dec 9, 2020
2370285
Add libgcrypt-devel to RedHat dependencies
markgoddard Dec 9, 2020
c2dc3ba
Merge pull request #43 from stackhpc/update-libgcrypt
markgoddard Dec 9, 2020
7a99665
Allow to avoid installing the libvirt daemon and/or client
markgoddard Dec 9, 2020
3f1e2cc
Use virsh pool-build to create pool directory
markgoddard Dec 15, 2020
05a3470
Merge pull request #44 from stackhpc/allow-skip-install
markgoddard Dec 16, 2020
b1eb739
Don't use name in `define`
thomwiggers Dec 17, 2020
534a51b
Merge branch 'master' into block-devices
markgoddard Dec 21, 2020
deaafb9
Update volumes.yml
markgoddard Dec 21, 2020
aab3c67
Only destroy volumes of type volume or network
markgoddard Dec 21, 2020
8c8572b
Specify a default for pool in destroy-volumes.yml
markgoddard Dec 21, 2020
a803654
Merge pull request #70 from stackhpc/block-devices
markgoddard Dec 21, 2020
cb6251b
Update destroy-volumes.yml
markgoddard Dec 21, 2020
e33ebe6
Merge pull request #76 from stackhpc/fix-destroy-file-volume
markgoddard Dec 21, 2020
bf0924e
Make ansible-lint work again.
geerlingguy Feb 22, 2021
38265be
Added {{ ntp_restrict }} to allow lines in chrony.conf.j2 to designat…
shl1 Feb 24, 2021
f7332e3
Remove ansible-lint from roles.
geerlingguy Mar 15, 2021
7e98a6f
Update libvirt QEMU apparmor profile template
markgoddard Mar 19, 2021
a8ccd60
Merge pull request #46 from stackhpc/apparmor
markgoddard Mar 22, 2021
83f6590
Fix AppArmor configuration without daemon install
markgoddard Mar 22, 2021
17d1137
Ubuntu: Install apparmor package for apparmor_parser
markgoddard Mar 23, 2021
7964f3e
Merge pull request #47 from stackhpc/fix-apparmor-no-daemon
markgoddard Mar 23, 2021
920ff29
Merge pull request #84 from dlerch-tpgroup/master
geerlingguy Apr 19, 2021
7f546f2
Install qemu-img for qcow2 creation
markgoddard Apr 23, 2021
231b652
Merge pull request #77 from stackhpc/qemu-img
markgoddard Apr 26, 2021
e6c30ca
Allow "remote_src: false" when uploading "local" images, default to true
jlsm-se May 7, 2021
bc03286
Document remote_src option for volumes
jlsm-se May 7, 2021
9612557
Merge pull request #78 from jlsm-se/feature/allow-remote-src-false
markgoddard May 10, 2021
968556e
Use ansible_facts to reference facts
markgoddard May 13, 2021
b6018f7
Use ansible_facts to reference facts
markgoddard May 13, 2021
9aa5874
Merge pull request #48 from stackhpc/ansible-facts
markgoddard Jun 3, 2021
3578dd4
Merge pull request #79 from stackhpc/ansible-facts
markgoddard Jun 3, 2021
a56b794
Make sure bugs aren't automatically closed.
geerlingguy Aug 23, 2021
ad1b26f
Merge pull request #75 from thomwiggers/patch-1
markgoddard Oct 6, 2021
de05e30
Remove trailing slash from console log path
priteau Oct 7, 2021
19fa75b
Merge pull request #81 from stackhpc/console-log
priteau Oct 8, 2021
f20fca6
Basic routes and ipv6 support
damfle Oct 18, 2021
610b9d7
Fix routes typos on network template
damfle Oct 20, 2021
b484c54
Add documentation for IPv6 and network routes
damfle Oct 20, 2021
25e580c
Rename ip6 variables to ipv6
damfle Oct 20, 2021
e9e4131
Merge pull request #49 from damfle/ipv6
markgoddard Oct 21, 2021
0598951
Fixes service not found issue.
blmhemu Dec 12, 2021
cd707a3
Use rockylinux8 instead of centos8 for CI.
geerlingguy Dec 27, 2021
33a0164
Update release workflow for more consistency.
geerlingguy Dec 27, 2021
fa40f44
Merge branch 'geerlingguy:master' into master
blmhemu Dec 28, 2021
d9bc078
Merge pull request #110 from blmhemu/master
geerlingguy Jan 19, 2022
0d01c7e
Update EFI support for CentOS 8
markgoddard Feb 2, 2022
acf6079
Add efi support
jovial Oct 5, 2018
211b6e6
Merge pull request #50 from stackhpc/efi-centos8
markgoddard Feb 10, 2022
3702892
Merge pull request #83 from stackhpc/efi
markgoddard Feb 10, 2022
021942d
Fix undefining libvirt VMs with EFI boot firmware
markgoddard Feb 11, 2022
13d5f86
Skip installing epel-release on CentOS/RHEL 8
markgoddard Jan 24, 2022
d11ba10
Use import_tasks/include_tasks for task files
markgoddard Jan 24, 2022
e1f2fdc
Make libvirtd.conf and qemu.conf configurable
markgoddard Jan 25, 2022
004f2d0
Support systemd TCP and TLS sockets
markgoddard Jan 24, 2022
8fbf801
Add support for installing additional packages
markgoddard Jan 27, 2022
5211ff9
Make AppArmor configurable separately from daemon installation
markgoddard Feb 15, 2022
a4f0dcc
Merge pull request #51 from stackhpc/libvirt-config
markgoddard Mar 3, 2022
6b52db3
Update OS versions in CI for modernization.
geerlingguy Mar 7, 2022
54cf2cc
Merge pull request #84 from stackhpc/efi-undefine
markgoddard Mar 18, 2022
d899c79
Add support for SASL authentication
markgoddard Mar 8, 2022
55d42c2
Merge pull request #52 from stackhpc/sasl
markgoddard Mar 21, 2022
b23bbc5
added empty mode var (isolated net)
Apr 28, 2022
a980d77
requested chnge
Apr 29, 2022
9172219
suggested change
May 2, 2022
f9d6beb
Merge pull request #53 from IncredibleRichie/master
markgoddard May 3, 2022
cada1cc
added "open" to network teplate
May 27, 2022
3f6dfab
Added new modes to README
May 30, 2022
e94e8f1
Merge pull request #56 from IncredibleRichie/master
markgoddard May 30, 2022
e8b7857
Add role_name_check skipping to all molecule test suites.
geerlingguy Jun 2, 2022
19b671b
feat: automatic update of workflows master
stackhpc-ci Jun 10, 2022
47ff504
feat: automatic update of workflows master
stackhpc-ci Jun 10, 2022
bd4a247
Merge pull request #89 from stackhpc/master-workflows
markgoddard Jun 13, 2022
ea86cac
Merge pull request #59 from stackhpc/master-workflows
markgoddard Jun 13, 2022
8cfdf42
feat: automatic update of workflows master
stackhpc-ci Jun 22, 2022
4c8a1a1
feat: automatic update of workflows master
stackhpc-ci Jun 22, 2022
915cfa6
Merge pull request #92 from stackhpc/master-workflows
markgoddard Jun 22, 2022
8ded92e
Merge pull request #62 from stackhpc/master-workflows
markgoddard Jun 22, 2022
1dc2911
feat: automatic update of community files master
stackhpc-ci Aug 2, 2022
0bab56d
feat: automatic update of community files master
stackhpc-ci Aug 2, 2022
fb35334
Merge pull request #63 from stackhpc/master-community-files
markgoddard Aug 3, 2022
eb3f5db
Merge pull request #93 from stackhpc/master-community-files
markgoddard Aug 3, 2022
a190ba3
Support specifying volume driver discard option
nickbroon Aug 22, 2022
fc36877
Merge pull request #94 from nickbroon/nickbroon-driver-discard
markgoddard Aug 23, 2022
210d754
Add support for EL9
mnasiadka Sep 2, 2022
9edce18
Merge pull request #64 from stackhpc/el9
mnasiadka Sep 2, 2022
002ebcf
Prevent race starting socket unit file
jovial Sep 16, 2022
27144f8
Merge pull request #67 from stackhpc/bugfix/fix-socket-activation
cityofships Sep 17, 2022
0628f39
Fix Molecule CI workflow for Ubuntu 22.04 GitHub Actions.
geerlingguy Dec 7, 2022
1dd6270
Remove CentOS 7 from tests.
geerlingguy Dec 7, 2022
312054a
allow errors in dry-run
iceowlbeer Jan 3, 2023
86ba1cb
Allow for multi-line ansible_managed values
marknl Jan 16, 2023
022ec84
Add usb support to libvirt-vm role (#95)
gavinwill Mar 13, 2023
873d0af
Fix Molecule CI workflow since docker plugin has moved.
geerlingguy Apr 20, 2023
9bc9aaf
Pass yamlint on the role
Jun 19, 2023
21492b5
Pass ansible-lint on the role
Jun 19, 2023
548c27e
Merge pull request #97 from roumano/yamllint
markgoddard Jun 19, 2023
c3c2dc0
Add switch for enabling qemu guest agent virtio channel
ThomasSchlien Jun 20, 2023
4e76a9c
Remove official support for RHEL. Rocky/Alma/Stream support is best-e…
geerlingguy Jun 23, 2023
9568502
Merge pull request #123 from marknl/patch-1
geerlingguy Jul 4, 2023
286534e
Stale bot is now Stale GitHub Action.
geerlingguy Jul 10, 2023
0c08b28
Merge pull request #98 from othiman/master
markgoddard Jul 11, 2023
659a537
Merge pull request #122 from iceowlbeer/master
geerlingguy Aug 17, 2023
858da8b
fix major version & add debian 12 var file
Support-Green-IT-Solutions Oct 18, 2023
07011c0
Make local dev with molecule a little easier.
geerlingguy Jan 25, 2024
d3134cc
A wee bit of modernization.
geerlingguy Jan 25, 2024
b2ca66f
Merge pull request #97 from shl1/shl1_add_allow_chronyconf
geerlingguy Mar 9, 2024
435b7be
Stop testing on Debian 12 temporarily.
geerlingguy Mar 9, 2024
5edd7cd
Merge pull request #130 from Support-Green-IT-Solutions/fix_major_ver…
geerlingguy May 4, 2024
333279f
Fix lint issue and test Debian 12 again.
geerlingguy May 4, 2024
9c06fee
Actually fix the lint issue this time.
geerlingguy May 4, 2024
a7427a8
Install ovmf on Ubuntu when EFI VM is requested
mnasiadka Jun 19, 2024
2d1d834
Merge pull request #99 from stackhpc/ubuntu_ovmf
mnasiadka Jun 20, 2024
a18da55
Fixup CI versions. Drop all older RHEL releases which are broken.
geerlingguy Jul 16, 2024
f3d44bb
2M OVMF packages removed on Debian family
darmach Sep 24, 2024
e238c9a
Merge pull request #100 from stackhpc/2m-ovmf-packages-removed
mnasiadka Oct 16, 2024
fb5988f
galaxy.yml: Fix repo URL
NightTsarina Oct 23, 2024
1af8331
Add 'roles/libvirt_host/' from commit '27144f846d2c088d9de0d633f2ad26…
NightTsarina Oct 23, 2024
3e87296
Add 'roles/libvirt_vm/' from commit 'e238c9a2368567ae4100b3c2bc511dde…
NightTsarina Oct 23, 2024
7ada37c
Add 'roles/ntp/' from commit 'a18da55412ac4c298231bdca71ec3472aa5728f6'
NightTsarina Oct 23, 2024
1109b1b
Release 1.1
NightTsarina Oct 23, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .config/ansible-lint.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
---
profile: production
exclude_paths:
- roles/libvirt_host
- roles/libvirt_vm
- roles/ntp
- roles/resolv
skip_list:
- meta-runtime[unsupported-version] # 2.14 deemed too old by ansible-lint
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Changelog

## 1.1.0 - 2024-10-23

New release adding libvirt-host, libvirt-vm, and ntp roles.

## 1.0.0 - 2024-09-11

Initial release with resolv role.
15 changes: 15 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,21 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Contact: Martina Ferrari <tina@tina.pm>

Files: roles/libvirt_host/*
License: UNKNOWN
Copyright: 2022 Mark Goddard (mark@stackhpc.com)
Comment: https://github.com/stackhpc/ansible-role-libvirt-host

Files: roles/libvirt_vm/*
License: UNKNOWN
Copyright: 2024 Mark Goddard (mark@stackhpc.com)
Comment: https://github.com/stackhpc/ansible-role-libvirt-vm

Files: roles/ntp/*
License: MIT
Copyright: 2017 Jeff Geerling
Comment: https://github.com/geerlingguy/ansible-role-ntp

Files: roles/resolv/*
License: MIT
Copyright: 2016 Andrew J Huffman
Expand Down
4 changes: 2 additions & 2 deletions galaxy.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
namespace: tina_pm
name: third_party
version: 1.0.0
version: 1.1.0

authors:
- Adeodato Simó
Expand All @@ -12,4 +12,4 @@ tags:
readme: README.md
license_file: LICENSE

repository: http://github.com/Tina-pm/ansible-roles.git
repository: https://github.com/Tina-pm/tina_pm.third_party.git
1 change: 1 addition & 0 deletions roles/libvirt_host/.github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @stackhpc/ansible
12 changes: 12 additions & 0 deletions roles/libvirt_host/.github/workflows/publish-role.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
name: Publish Ansible Role
'on':
push:
tags:
- "v?[0-9]+.[0-9]+.[0-9]+"
workflow_dispatch:
jobs:
publish_role:
uses: stackhpc/.github/.github/workflows/publish-role.yml@main
secrets:
GALAXY_API_KEY: ${{ secrets.GALAXY_API_KEY }}
246 changes: 246 additions & 0 deletions roles/libvirt_host/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,246 @@
Libvirt Host
============

This role configures a host as a Libvirt/KVM hypervisor. It can also configure
storage pools and networks on the host.

Requirements
------------

The host should have Virtualization Technology (VT) enabled.

Role Variables
--------------

`libvirt_host_pools` is a list of pools to define and start. Each item
should be a dict containing the following items:
- `name` The name of the pool.
- `type` The type of the pool, currently only `dir`, `logical` and `rbd` are
supported. `lvm2` is supported as an alias for `logical`, but this alias is
deprecated and will be removed in a future release.
- `capacity` The capacity, in bytes, of the pool. (optional)
- `path` The absolute path to the pool's backing directory.
- `mode` The access mode of the pool. N.B.: This should be specified as an
integer **without** a leading zero; for example: `mode: 755`. (only `dir`)
- `owner` The owner of the pool. (only `dir`)
- `group` The group of the pool. (only `dir`)
- `source` The name of the volume group (when type is `logical`) or RBD pool
(when type is `rbd`).
- `pvs` A list of physical volumes the volume group consists of. (only when
type is `logical`)
- `hosts` The list of the Ceph monitors IPs or hostnames. (only `rbd`)
- `username` The username used for RADOS authentification. (only `rbd`)
- `passphrase` The passphrase used for RADOS authentification. (only `rbd`)

`libvirt_host_networks` is a list of networks to define and start. Each item
should be a dict containing the following items:
- `name` The name of the network.
- `mode` The forwarding mode of the network, `bridge`, `route`, `open` and `nat` are
supported. Leave empty for a isolated network mode.
- `bridge` The name of the bridge interface for this network.
- `ip` IP address of the virtual bridge, mandatory for `route`, `open` and `nat` mode.
- `netmask` Netmask of the virtual bridge, mandatory for `route`, `open` and `nat` mode.
- `domain` DNS domain name for `route`, `open` and `nat` mode, default to the network
name (optional).
- `dhcp_start` First IP of the DHCP range in `route` , `open` or `nat` mode (optional).
- `dhcp_end` Last IP of the DHCP range in `route`, `open` or `nat` mode (optional).
- `routes` Optional list of additionals routes defined as following:
- `address` Address of the route, required.
- `prefix` Prefix of the route, required.
- `gateway` Gateway of the route, required.
- `metric` Metric of the route (optional).
- `ipv6` IPv6 address of the virtual bridge (optional).
- `ipv6_prefix` IPv6 prefix of the virtual bridge (optional).
- `routesv6` Optional list of additionals IPv6 routes defined as following:
- `address` IPv6 address of the route, required.
- `prefix` IPv6 previx of the route, required.
- `gateway` gateway of the route, required.
- `metric` metric of the route (optional).

`libvirt_host_require_vt` is whether to require that Intel Virtualisation
Technology (VT) is enabled in order to run this role. While this provides
better VM performance, it may not be available in certain environments. The
default value is `true`.

`libvirt_host_qemu_emulators`: List of architectures for which to install QEMU
system emulators, e.g. `x86`. The default value is `['x86']` if

`libvirt_host_require_vt` is `false`, otherwise the default value is an empty
list.

`libvirt_host_enable_efi_support`: Whether to enable EFI support. This defaults
to false as extra packages need to be installed.

`libvirt_host_var_prefix`: This determines The directory under /var/run that libvirt
uses to store state, e.g unix domain sockets, as well as the default name of the
PID file. Override this if you have a conflict with the default socket e.g it
could be in use by the nova_libvirt container. Defaults to `""`.

`libvirt_host_socket_dir`: Where the libvirtd socket is created. Defaults to
`/var/run/{{ libvirt_host_var_prefix }}` if `libvirt_host_var_prefix` is set,
otherwise `""`.

`libvirt_host_pid_path`: Path to PID file which prevents multiple instances of
the daemon from spawning. Defaults to `/var/run/{{ libvirt_host_var_prefix }}.pid`
if `libvirt_host_var_prefix` is set, otherwise `""`.

`libvirt_host_libvirtd_args`: Command line arguments passed to libvirtd by the
init system when libvirtd is started - quotes will be added

`libvirt_host_uri`: The libvirt connnection URI. Defaults to
`qemu+unix:///system?socket={{ libvirt_host_socket_dir }}/libvirt-sock` if
`libvirt_host_var_prefix` is set, otherwise `""`. If set to a falsey value,
an explicit connection URI will not be set when calling virsh or any of
the virt_ ansible modules.

`libvirt_host_python3`: Whether the python3 version of the libvirt python
bindings should be installed. If `false`, the python 2 bindings will be
installed.

`libvirt_host_install_daemon`: Whether to install and enable the libvirt
daemon. Default is `true`.

`libvirt_host_install_client`: Whether to install and enable the libvirt
client. Default is `true`.

`libvirt_host_extra_daemon_packages`: List of additional packages to install on
libvirt daemon hosts.

`libvirt_host_extra_client_packages`: List of additional packages to install on
libvirt client hosts.

`libvirt_host_libvirtd_conf_enabled`: Whether to configure `libvirtd.conf`.
Default is `true`.

`libvirt_host_libvirtd_conf`: Configuration for `libvirtd.conf`. Dict mapping
option names to values. Default is an empty dict.

`libvirt_host_qemu_conf_enabled`: Whether to configure `qemu.conf`. Default is
`true`.

`libvirt_host_qemu_conf`: Configuration for `qemu.conf`. Dict mapping option
names to values. Default is an empty dict.

`libvirt_host_enable_sasl_support`: Whether to enable SASL authentication
support. Default is `false`.

`libvirt_host_sasl_conf_enabled`: Whether to configure SASL authentication
(`/etc/sasl2/libvirt.conf`). Default is the same as
`libvirt_host_enable_sasl_support`.

`libvirt_host_sasl_conf`: Configuration for SASL authentication
(`/etc/sasl2/libvirt.conf`). String.

`libvirt_host_sasl_mech_list`: List of enabled libvirt SASL authentication
mechanisms. Default is `["SCRAM-SHA-256"]` when `libvirt_host_tls_listen` is
`true`, otherwise `["DIGEST-MD5"]`.

`libvirt_host_sasl_credentials`: List of SASL authentication credentials to
create. Each item is a dict containing `username` and `password` items.
Default is a single item list containing `libvirt_host_sasl_authname` and
`libvirt_host_sasl_password`.

`libvirt_host_sasl_authname`: Username for SASL authentication. Default is
`libvirt`.

`libvirt_host_sasl_password`: Password for SASL authentication. Default is
unset.

`libvirt_host_sasl_auth_conf_enabled`: Whether to configure SASL authentication
credentials (`/etc/libvirt/auth.conf`). Default is the same as
`libvirt_host_enable_sasl_support`.

`libvirt_host_sasl_auth_conf`: Configuration for SASL authentication
credentials (`/etc/libvirt/auth.conf`). String.

`libvirt_host_sasl_auth_conf_filename`: Name of file to write SASL
authentication credentials to. Default is `"/etc/libvirt/auth.conf"`.

`libvirt_host_sasl_auth_conf_owner`: Owner of file to write SASL
authentication credentials to. Default is `"root"`.

`libvirt_host_sasl_auth_conf_group`: Group of file to write SASL
authentication credentials to. Default is `"root"`.

`libvirt_host_sasl_auth_conf_mode`: Mode of file to write SASL
authentication credentials to. Default is `"0600"`.

`libvirt_host_tcp_listen`: Whether to enable the systemd TCP socket unit.
Default is `false`.

`libvirt_host_tcp_listen_address`: Systemd TCP socket ListenStream. See man
systemd.socket for format. Default is unset.

`libvirt_host_tls_listen`: Whether to enable the systemd TLS socket unit.
Default is `false`.

`libvirt_host_tls_listen_address`: Systemd TLS socket ListenStream. See man
systemd.socket for format. Default is unset.

`libvirt_host_tls_server_cert`: TLS server certificate. Default is unset.

`libvirt_host_tls_server_key`: TLS server key. Default is unset.

`libvirt_host_tls_client_cert`: TLS client certificate. Default is unset.

`libvirt_host_tls_client_key`: TLS client key. Default is unset.

`libvirt_host_tls_cacert`: TLS CA certificate. Default is unset.

`libvirt_host_configure_apparmor`: Whether to configure AppArmor for directory
storage pools.

Dependencies
------------

None

Example Playbook
----------------

---
- name: Ensure that Libvirt is configured
hosts: all
roles:
- role: stackhpc.libvirt-host
libvirt_host_pools:
- name: my-pool
type: dir
capacity: 1024
path: /path/to/pool
mode: 755
owner: my-user
group: my-group
- name: lvm_pool
type: logical
source: vg1
target: /dev/vg1
pvs:
- /dev/sda3
- name: rbd-pool
type: rbd
source: rbd
hosts:
- 192.168.42.200
- 192.168.42.204
- 192.168.42.208
username: admin
passphrase: xxxxxxxxxxxxxxxxxxxxxxxxxxxxx

libvirt_host_networks:
- name: br-example
mode: bridge
bridge: br-example
- name: brnat-example
mode: nat
bridge: brnat-example
domain: example.local
ip: 192.168.133.254
netmask: 255.255.255.0
dhcp_start: 192.168.133.100
dhcp_end: 192.168.133.200

Author Information
------------------

- Mark Goddard (<mark@stackhpc.com>)
Loading