adding buildslave-configure role and dev-buildslave ssh key info
This commit is contained in:
parent
a68eab1ee0
commit
100f0ec463
7 changed files with 91 additions and 1 deletions
|
@ -13,7 +13,7 @@ buildmaster_db_host: db-qa01.qa.fedoraproject.org
|
|||
buildmaster_db_name: buildmaster
|
||||
buildmaster_template: taskotron.master.cfg.j2
|
||||
buildmaster_endpoint: taskmaster
|
||||
buildmaster_pubkey: ''
|
||||
buildslave_ssh_pubkey: 'ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA4EOTNfPIvIjCLNRYauVquS2LA8CZvCi6f87TASDZv4moFTv3mrCIdA3ycYLg+r+ODdPDjF9Cjpw1os/8L07XegTt9gAJVIpxzu3ZgQDkSQbx/hlDi+RG4EOIHL8nNJmu27dOVd1tb3k3aOkP5twO4uEq9RygrQBWMZTmOHdS/q8ZVUQG0d1sKv2J8EuBENgICjjIhhYvdvluu3G65jKxMgDbSXjkK6vZpbDbS2d6JI3VeLbVGlyFbHkTu7vH/vzTJZfOYgp0ZbvW9Wo3VSq/ia5qtrLKwRcBkpyCkP6uOQ14zqj4zJd/Hv7qhEcUhC8Jsb7d/Z6b3q5ID0s/9nuHdQ== buildslave@taskotron-dev01.qa.fedoraproject.org'
|
||||
buildslave_port: 9989
|
||||
cgit_root_title: "Taskotron Dev Server Git Mirror"
|
||||
buildmaster_dir: /home/buildmaster/master
|
||||
|
|
|
@ -13,3 +13,5 @@ slave_user: buildslave
|
|||
buildmaster: 10.5.124.230
|
||||
buildslave_port: 9989
|
||||
tcp_ports: [ "{{ buildslave_port }}" ]
|
||||
buildslave_private_sshkey_file: dev-buildslave-sshkey/dev_buildslave
|
||||
buildslave_public_sshkey_file: dev-buildslave-sshkey/dev_buildslave.pub
|
||||
|
|
30
roles/taskotron/buildslave-configure/tasks/main.yml
Normal file
30
roles/taskotron/buildslave-configure/tasks/main.yml
Normal file
|
@ -0,0 +1,30 @@
|
|||
- name: create slave
|
||||
command: creates={{ slave_dir }} buildslave create-slave {{ slave_dir }} {{ buildmaster }} buildslave passwd
|
||||
|
||||
- name: generate slave config
|
||||
template: src={{ templates }}/buildslave/buildbot.tac.j2 dest={{ slave_dir }}/buildbot.tac mode=0600 owner={{ slave_user }} group={{ slave_user }}
|
||||
|
||||
- name: generate slave info
|
||||
template: src={{ templates }}/buildslave/{{ item }}.j2 dest={{ slave_dir }}/info/{{ item }} mode=0644 owner={{ slave_user }} group={{ slave_user }}
|
||||
with_items:
|
||||
- admin
|
||||
- host
|
||||
|
||||
- name: create slave ssh directory
|
||||
file: path={{ slave_home }}/.ssh owner={{ slave_user }} group={{ slave_user }} mode=0700 state=directory
|
||||
|
||||
- name: install slave ssh private key
|
||||
copy: src={{ private }}/files/{{ buildslave_private_sshkey_file }} dest={{ slave_home }}/.ssh/id_rsa owner={{ slave_user }} group={{ slave_user }} mode=0600
|
||||
|
||||
- name: install slave ssh public key
|
||||
copy: src={{ private }}/files/{{ buildslave_public_sshkey_file }} dest={{ slave_home }}/.ssh/id_rsa.pub owner={{ slave_user }} group={{ slave_user }} mode=0644
|
||||
|
||||
- name: generate buildslave service file
|
||||
template: src={{ templates }}/buildslave/buildslave.service.j2 dest=/lib/systemd/system/buildslave.service owner=root group=root mode=0744
|
||||
sudo_user: root
|
||||
|
||||
- name: start and enable buildslave service
|
||||
service: name=buildslave enabled=yes state=started
|
||||
sudo_user: root
|
||||
|
||||
|
1
roles/taskotron/buildslave-configure/templates/admin.j2
Normal file
1
roles/taskotron/buildslave-configure/templates/admin.j2
Normal file
|
@ -0,0 +1 @@
|
|||
Taskbot Admin <admin@tirfa.net>
|
|
@ -0,0 +1,42 @@
|
|||
|
||||
import os
|
||||
|
||||
from twisted.application import service
|
||||
from buildslave.bot import BuildSlave
|
||||
|
||||
basedir = r'/home/buildslave/slave'
|
||||
rotateLength = 10000000
|
||||
maxRotatedFiles = 10
|
||||
|
||||
# if this is a relocatable tac file, get the directory containing the TAC
|
||||
if basedir == '.':
|
||||
import os.path
|
||||
basedir = os.path.abspath(os.path.dirname(__file__))
|
||||
|
||||
# note: this line is matched against to check that this is a buildslave
|
||||
# directory; do not edit it.
|
||||
application = service.Application('buildslave')
|
||||
|
||||
try:
|
||||
from twisted.python.logfile import LogFile
|
||||
from twisted.python.log import ILogObserver, FileLogObserver
|
||||
logfile = LogFile.fromFullPath(os.path.join(basedir, "twistd.log"), rotateLength=rotateLength,
|
||||
maxRotatedFiles=maxRotatedFiles)
|
||||
application.setComponent(ILogObserver, FileLogObserver(logfile).emit)
|
||||
except ImportError:
|
||||
# probably not yet twisted 8.2.0 and beyond, can't set log yet
|
||||
pass
|
||||
|
||||
buildmaster_host = '{{ buildmaster }}'
|
||||
port = 9989
|
||||
slavename = '{{ buildslave_name }}'
|
||||
passwd = '{{ buildslave_pw }}'
|
||||
keepalive = 600
|
||||
usepty = 0
|
||||
umask = None
|
||||
maxdelay = 300
|
||||
|
||||
s = BuildSlave(buildmaster_host, port, slavename, passwd, basedir,
|
||||
keepalive, usepty, umask=umask, maxdelay=maxdelay)
|
||||
s.setServiceParent(application)
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
[Unit]
|
||||
Description=Buildslave for taskbot
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
PIDFile=/home/buildslave/slave/twistd.pid
|
||||
ExecStart=/bin/buildslave start /home/buildslave/slave/
|
||||
ExecStop=/bin/buildslave stop /home/buildslave/slave/
|
||||
User=buildslave
|
||||
Group=buildslave
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
1
roles/taskotron/buildslave-configure/templates/host.j2
Normal file
1
roles/taskotron/buildslave-configure/templates/host.j2
Normal file
|
@ -0,0 +1 @@
|
|||
Buildslave running on {{ inventory_hostname }}
|
Loading…
Add table
Add a link
Reference in a new issue