Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ---
- - hosts: judgehosts
- user: root
- vars:
- domjudge_api: http://103.252.50.78/domjudge/api/
- judgehost_user: judgehost
- judgehost_pass: MzfJYWF5agSlUfmiGEy5mgkfqU
- tasks:
- - name: yum update
- action: yum name=* state=latest
- - name: yum install epel
- yum: name=epel-release.noarch state=latest
- - name: download remi repo rpm
- get_url: url=http://rpms.famillecollet.com/enterprise/remi-release-6.rpm dest=/root/
- - name: install remi repo rpm
- yum: name=/root/remi-release-6.rpm state=present
- - name: Install all
- yum: state=latest enablerepo=remi,remi-php56 name={{ item }}
- with_items:
- - procps
- - make
- - sudo
- - libcgroup
- - libcgroup-devel
- - php56
- - php56-php-cli
- - php56-php-mbstring
- - php56-php-process
- - gcc
- - gcc-c++
- - glibc-static
- - java-1.7.0-openjdk
- - java-1.7.0-openjdk-devel
- - http://mirror.centos.org/centos/6/os/x86_64/Packages/glibc-2.12-1.209.el6.x86_64.rpm
- - http://mirror.centos.org/centos/6/os/x86_64/Packages/glibc-common-2.12-1.209.el6.x86_64.rpm
- - libcurl-devel
- - http://dl.fedoraproject.org/pub/epel/6/x86_64/Packages/j/jsoncpp-0.10.5-2.el6.x86_64.rpm
- - http://dl.fedoraproject.org/pub/epel/6/x86_64/Packages/j/jsoncpp-devel-0.10.5-2.el6.x86_64.rpm
- - file-devel
- - redhat-lsb
- - wget
- - unzip
- - name: autostart cgconfig
- command: chkconfig cgconfig on
- - name: Create php symlink
- file: src=/opt/remi/php56/root/usr/bin/php dest=/usr/bin/php state=link
- - name: Setting php timezone
- lineinfile:
- dest: /opt/remi/php56/root/etc/php.ini
- regexp: ";date.timezone ="
- line: "date.timezone = Asia/Jakarta"
- - name: Extracting domjudge package
- unarchive: dest=~ src=https://www.domjudge.org/releases/domjudge-5.3.0.tar.gz remote_src=yes
- - name: Configure judgehost
- command: ./configure --with-domjudge-user=root --with-webserver-group=root chdir=~/domjudge-5.3.0
- - name: Make judgehost
- command: make judgehost chdir=~/domjudge-5.3.0
- - name: Make judgehost
- command: make install-judgehost chdir=~/domjudge-5.3.0
- - name: Create domjudge-run group
- group: name=domjudge-run
- - name: Create domjudge-run user
- user: name=domjudge-run home=/nonexistent createhome=no shell=/bin/false group=domjudge-run
- - name: Copying sudoers
- command: cp /opt/domjudge/judgehost/etc/sudoers-domjudge /etc/sudoers.d/domjudge
- - name: Create dj_make_chroot symlink
- file: src=/opt/domjudge/judgehost/bin/dj_make_chroot dest=/usr/bin/dj_make_chroot state=link
- - name: Create chroot
- shell: PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/bin:/bin bin/dj_make_chroot chdir=/opt/domjudge/judgehost -y -a amd64 -D Debian creates=/chroot/domjudge/bin
- # - name: Create java chroot
- # command: bin/dj_make_ubuntu_java_chroot chdir=/opt/domjudge/judgehost -a amd64
- - name: Create cgroup
- command: bin/create_cgroups chdir=/opt/domjudge/judgehost
- - name: Create configuration for domjudge api
- shell: echo default {{ domjudge_api }} {{ judgehost_user }} {{ judgehost_pass }} > etc/restapi.secret chdir=/opt/domjudge/judgehost/
- - name: Create cron job
- cron: special_time=reboot name=judgedaemon state=present job="/opt/domjudge/judgehost/bin/judgedaemon > ~/judgedaemon.out.log 2> ~/judgedaemon.err.log"
- - name: Reboot
- shell: reboot
Add Comment
Please, Sign In to add comment