Feat(judgehost): test legacy with debian11
This commit is contained in:
13
README.md
13
README.md
@@ -2,9 +2,20 @@
|
||||
|
||||
## Usage
|
||||
|
||||
0. Install Arch Linux for domserver and **Debian 11** for judgehost.
|
||||
1. Fill in the vars in `group_vars`.
|
||||
2. Fill in `domserver` and `judgehost` machine ips in `hosts` file.
|
||||
2. Fill in `domserver` and `judgehost` groups in `hosts` file.
|
||||
3. Run `ansible-playbook playbooks/domserver`.
|
||||
4. Run `ansible-playbook playbooks/judgehost`.
|
||||
5. Put web cert and key to `/etc/haproxy/cert.pem` on domserver.
|
||||
6. Check if judgehost been registered.
|
||||
|
||||
## Trouble shooting
|
||||
|
||||
### Judgehost cannot startup
|
||||
|
||||
The cgroups v2 support had been patched since October, 2024. However the latest
|
||||
release of domjudge is 8.3.1, which was published on September, 2024.
|
||||
|
||||
Therefore, before cgroups v2 patch came out as a stable release, we still have
|
||||
to use a older release, like Debian 11, to make things work.
|
||||
|
||||
@@ -1,2 +1,5 @@
|
||||
---
|
||||
judgehost_version: 8.3.1
|
||||
|
||||
# For legacy support
|
||||
domjudge_tarball_url: https://www.domjudge.org/releases/domjudge-8.3.1.tar.gz
|
||||
|
||||
2
hosts
2
hosts
@@ -10,4 +10,4 @@ localhost ansible_connection=local
|
||||
10.4.2.228
|
||||
|
||||
[all:vars]
|
||||
ansible_python_interpreter=/usr/bin/python
|
||||
ansible_python_interpreter=/usr/bin/python3
|
||||
|
||||
@@ -2,5 +2,5 @@
|
||||
- name: Install judgehost
|
||||
hosts: judgehost
|
||||
roles:
|
||||
- role: install_packages
|
||||
- role: configure_judgehost
|
||||
- role: install_packages_debian11
|
||||
- role: configure_judgehost_legacy
|
||||
|
||||
@@ -3,11 +3,7 @@
|
||||
ansible.builtin.lineinfile:
|
||||
path: /boot/loader/entries/arch.conf
|
||||
line: >-
|
||||
options
|
||||
cgroup_enable=memory
|
||||
swapaccount=1
|
||||
SYSTEMD_CGROUP_ENABLE_LEGACY_FORCE=1
|
||||
systemd.unified_cgroup_hierarchy=0
|
||||
options cgroup_enable=memory
|
||||
notify: Reboot
|
||||
- name: Flush handlers
|
||||
ansible.builtin.meta: flush_handlers
|
||||
|
||||
13
roles/configure_judgehost_legacy/tasks/domjudge.yml
Normal file
13
roles/configure_judgehost_legacy/tasks/domjudge.yml
Normal file
@@ -0,0 +1,13 @@
|
||||
- name: Download domjudge tarball
|
||||
ansible.builtin.get_url:
|
||||
url: "{{ domjudge_tarball_url }}"
|
||||
dest: /opt/
|
||||
mode: '0644'
|
||||
owner: root
|
||||
group: root
|
||||
register: downloaded_tarball
|
||||
- name: Extract domjudge tarball
|
||||
ansible.builtin.unarchive:
|
||||
src: "{{ downloaded_tarball.dest }}"
|
||||
dest: "{{ (downloaded_tarball.dest | basename).split('.') | first }}"
|
||||
remote_src: true
|
||||
18
roles/install_packages_debian11/tasks/main.yml
Normal file
18
roles/install_packages_debian11/tasks/main.yml
Normal file
@@ -0,0 +1,18 @@
|
||||
---
|
||||
- name: Install packages
|
||||
ansible.builtin.apt:
|
||||
pkg:
|
||||
- make
|
||||
- pkg-config
|
||||
- sudo
|
||||
- debootstrap
|
||||
- libcgroup-dev
|
||||
- php-cli
|
||||
- php-curl
|
||||
- php-json
|
||||
- php-xml
|
||||
- php-zip
|
||||
- lsof
|
||||
- procps
|
||||
- gcc
|
||||
- g++
|
||||
Reference in New Issue
Block a user