Skip to content

Commit 83f61c3

Browse files
committed
Set up DNS for libvirt
This sets up a DNS networking hook that reconfigures systemd-resolved to resolve the domain, if the libvirt network has one set. For that it also needs systemd-resolved to be installed.
1 parent 32ab171 commit 83f61c3

File tree

1 file changed

+12
-66
lines changed

1 file changed

+12
-66
lines changed

.github/workflows/test.yml

Lines changed: 12 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -17,35 +17,9 @@ concurrency:
1717
cancel-in-progress: true
1818

1919
jobs:
20-
ansible-lint:
21-
name: Ansible Lint
22-
runs-on: ubuntu-latest
23-
steps:
24-
- uses: actions/checkout@v5
25-
- name: Set up Python
26-
uses: actions/setup-python@v6
27-
with:
28-
python-version: '3.12'
29-
- name: Run ansible-lint on src
30-
uses: ansible/ansible-lint@main
31-
with:
32-
requirements_file: requirements.yml
33-
working_directory: src
34-
setup_python: false
35-
- name: Run ansible-lint on development
36-
uses: ansible/ansible-lint@main
37-
with:
38-
requirements_file: requirements.yml
39-
working_directory: development
40-
setup_python: false
41-
4220
tests:
4321
strategy:
4422
fail-fast: false
45-
matrix:
46-
certificate_source:
47-
- default
48-
- installer
4923
runs-on: ubuntu-24.04
5024
steps:
5125
- uses: actions/checkout@v5
@@ -55,50 +29,22 @@ jobs:
5529
python-version: '3.12'
5630
- name: Setup libvirt for Vagrant
5731
uses: voxpupuli/setup-vagrant@v0
58-
- name: Install Ansible
59-
run: pip install --upgrade ansible-core
60-
- name: Setup environment
61-
run: ./setup-environment
62-
- name: Start VMs
63-
run: |
64-
./forge vms start
65-
- name: Configure repositories
66-
run: |
67-
./forge setup-repositories
68-
- name: Create installer certificates
69-
if: contains(matrix.certificate_source, 'installer')
70-
run: |
71-
./forge installer-certs
72-
- name: Run image pull
32+
- name: Install systemd-resolved
7333
run: |
74-
./foremanctl pull-images
75-
- name: Run deployment
34+
sudo apt-get install -y --no-install-recommends systemd-resolved
35+
- name: Install DNS hook
7636
run: |
77-
./foremanctl deploy --certificate-source=${{ matrix.certificate_source }} --foreman-initial-admin-password=changeme
78-
- name: Setup hammer
79-
run: |
80-
./foremanctl setup-hammer
81-
- name: Run tests
37+
# https://gist.github.com/ekohl/e487422d4aaad8ab176c19ec713b700a
38+
sudo curl -L https://gist.github.com/ekohl/e487422d4aaad8ab176c19ec713b700a/raw/d0792cf733b5ffb65873cc33c96e7a1b54e0d14b/network.py -o /etc/libvirt/hooks/network
39+
sudo chmod 0755 /etc/libvirt/hooks/network
40+
sudo systemctl restart libvirtd
41+
- name: Start VMs
8242
run: |
83-
./forge test --pytest-args="--certificate-source=${{ matrix.certificate_source }}"
84-
- name: Run smoker
43+
vagrant up --no-provision --no-tty quadlet
44+
- name: Ping machine
8545
run: |
86-
./forge smoker
87-
- name: Archive smoker report
88-
if: ${{ always() }}
89-
uses: actions/upload-artifact@v5
90-
with:
91-
name: smoker-${{ matrix.certificate_source }}
92-
path: "/home/runner/smoker/report/"
93-
- name: Generate sos reports
94-
if: ${{ always() }}
95-
run: ./forge sos
96-
- name: Archive sos reports
97-
if: ${{ always() }}
98-
uses: actions/upload-artifact@v5
99-
with:
100-
name: sosreport-${{ matrix.certificate_source }}
101-
path: sos/
46+
resolvectl
47+
ping -c1 quadlet.example.com
10248
- name: Setup upterm session
10349
if: ${{ failure() }}
10450
uses: owenthereal/action-upterm@v1

0 commit comments

Comments
 (0)