From 4ace8671d0336d13345f5ba5d67cf62a356c08cc Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Sat, 10 Dec 2022 20:19:45 -0500 Subject: [PATCH] Creating the jails. --- .../environments/vm/host_vars/poudriereodo | 8 +++ .../roles/firewall/files/homeserver_pf.conf | 2 +- ansible/roles/poudriere/tasks/freebsd.yaml | 53 +++++++++++++++---- 3 files changed, 52 insertions(+), 11 deletions(-) diff --git a/ansible/environments/vm/host_vars/poudriereodo b/ansible/environments/vm/host_vars/poudriereodo index ac36095..970eaa7 100644 --- a/ansible/environments/vm/host_vars/poudriereodo +++ b/ansible/environments/vm/host_vars/poudriereodo @@ -3,3 +3,11 @@ poudriere_builds: - jail: 13amd64 ports: default set: framework + version: 13.1-RELEASE + - jail: current + ports: default + set: framework + version: CURRENT + revision: af01b4722577903f91acc44f01bdcb8cdb2d65ad + kernel: CUSTOM + branch: main diff --git a/ansible/roles/firewall/files/homeserver_pf.conf b/ansible/roles/firewall/files/homeserver_pf.conf index a374e05..f33724e 100644 --- a/ansible/roles/firewall/files/homeserver_pf.conf +++ b/ansible/roles/firewall/files/homeserver_pf.conf @@ -44,4 +44,4 @@ pass quick on $ext_if proto udp from any port $dhcp to any port $dhcp pass in on host_uplink0 proto udp from any to any port { 53 51820 } pass out on host_uplink0 proto tcp from any to any port 8081 -pass in on host_uplink1 +pass on host_uplink1 diff --git a/ansible/roles/poudriere/tasks/freebsd.yaml b/ansible/roles/poudriere/tasks/freebsd.yaml index 68ff4ed..b0ac278 100644 --- a/ansible/roles/poudriere/tasks/freebsd.yaml +++ b/ansible/roles/poudriere/tasks/freebsd.yaml @@ -86,16 +86,6 @@ mode: 0600 loop: "{{ poudriere_builds }}" -- name: Get ports tree list - command: poudriere ports -ln - register: ports_tree_list - changed_when: false - check_mode: no - -- name: Configure the ports tree - command: poudriere ports -c -m null -M /usr/local/portshaker/trees/main -p default - when: '"default" not in ports_tree_list.stdout_lines' - - name: Install rc script copy: src: "files/{{ item.src }}" @@ -105,3 +95,46 @@ mode: 0755 loop: - src: poudboot + +- name: Get ports tree list + command: poudriere ports -ln + register: poudriere_ports_tree_list + changed_when: false + check_mode: no + +- name: Configure the ports tree + command: poudriere ports -c -m null -M /usr/local/portshaker/trees/main -p default + when: '"default" not in poudriere_ports_tree_list.stdout_lines' + +- name: Get jail list + command: poudriere jail -l -n -q + register: poudriere_jail_list + changed_when: false + check_mode: no + +- name: Create the jails + when: item.version != "CURRENT" + command: |- + poudriere jail -c -j {{ item.jail }} -v {{ item.version }} + args: + creates: "/usr/local/poudriere/jails/{{ item.jail }}" + loop: "{{ poudriere_builds }}" + +- name: Create the jails + when: item.version == "CURRENT" + # -D clones the entire history instead of just the most recent commit + command: |- + poudriere jail -c -j {{ item.jail }} -v {{ item.branch|default("main") }} -a amd64 -m git -D -U https://git.FreeBSD.org/src.git -K {{ item.kernel|default("GENERIC") }} -p {{ item.ports }} -z {{ item.set }} + args: + creates: "/usr/local/poudriere/jails/{{ item.jail }}" + loop: "{{ poudriere_builds }}" + +# - name: Get current jail version +# command: poudriere jail -i -j current +# register: current_jail_version +# changed_when: false +# check_mode: no + +# - name: Set current jail version +# command: "poudriere jail -u {{poudriere_perf_flags}} -j current -t {{ freebsd_version }}" +# when: freebsd_version[:9] not in current_jail_version.stdout