Added playbook for nodepool
Change-Id: Iaba1c9d40a5612fc9d97ac9d5daa082ee3370417
This commit is contained in:
parent
1bceed5ff6
commit
c475f746b9
|
@ -23,3 +23,7 @@ zuul_git_url: git://git.openstack.org/openstack-infra/zuul
|
|||
jjb_git_url: git://git.openstack.org/openstack-infra/jenkins-job-builder
|
||||
jjb_auth_username: admin
|
||||
jjb_auth_password: admin
|
||||
|
||||
# Nodepool params
|
||||
nodepool_user: nodepool
|
||||
nodepool_git_url: git://git.openstack.org/openstack-infra/nodepool
|
||||
|
|
|
@ -20,6 +20,7 @@
|
|||
- unzip
|
||||
- mysql-server
|
||||
- libssl-dev
|
||||
- python-mysqldb
|
||||
|
||||
- name: Install pip packages
|
||||
pip:
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
[Unit]
|
||||
Description=Nodepool
|
||||
|
||||
[Service]
|
||||
ExecStart=/opt/ci/nodepool/.tox/venv/bin/nodepoold -c /etc/nodepool/nodepool.yaml -l /etc/nodepool/logging.conf
|
||||
Restart=on-failure
|
||||
RestartPreventExitStatus=255
|
||||
Type=idle
|
||||
User=nodepool
|
||||
Group=nodepool
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
Alias=nodepool.service
|
|
@ -0,0 +1,75 @@
|
|||
---
|
||||
- name: Create nodepool directories
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
owner: "{{ nodepool_user }}"
|
||||
group: "{{ nodepool_user }}"
|
||||
mode: 0755
|
||||
state: directory
|
||||
with_items:
|
||||
- "{{ ci_dir }}/files/nodepool_dib"
|
||||
- "{{ ci_dir }}/nodepool"
|
||||
- /etc/nodepool
|
||||
- /var/log/nodepool
|
||||
- /var/lib/nodepool
|
||||
- /var/run/nodepool
|
||||
|
||||
- name: Clone nodepool repo
|
||||
git:
|
||||
repo: "{{ nodepool_git_url }}"
|
||||
dest: "{{ ci_dir}}/nodepool"
|
||||
become: true
|
||||
become_user: "{{ nodepool_user }}"
|
||||
|
||||
- name: Install nodepool to virtualenv
|
||||
command: tox -e venv --notest
|
||||
args:
|
||||
chdir: "{{ ci_dir }}/nodepool"
|
||||
become: true
|
||||
become_user: "{{ nodepool_user }}"
|
||||
|
||||
- name: Copy configs
|
||||
copy:
|
||||
src: "{{ item }}"
|
||||
dest: "/etc/nodepool/{{ item }}"
|
||||
become: true
|
||||
become_user: "{{ nodepool_user }}"
|
||||
with_items:
|
||||
- secure.conf
|
||||
- logging.conf
|
||||
|
||||
- name: Copy nodepool-scripts
|
||||
command: cp -r /home/ubuntu/sahara-ci-config/config/nodepool/scripts /opt/ci/files/nodepool-scripts
|
||||
become: true
|
||||
|
||||
- name: Copy nodepool-scripts
|
||||
command: "cp -r /home/ubuntu/sahara-ci-config/slave-scripts/update_pool.sh {{ ci_dir }}/files"
|
||||
become: true
|
||||
become_user: "{{ jenkins_user }}"
|
||||
|
||||
- name: Create db user for nodepool
|
||||
mysql_user:
|
||||
name: nodepool
|
||||
password: ''
|
||||
priv: '*.*:ALL'
|
||||
state: present
|
||||
|
||||
- name: Create db for nodepool
|
||||
mysql_db:
|
||||
name: nodepool
|
||||
state: present
|
||||
|
||||
- name: Create nodepool symlink
|
||||
file:
|
||||
src: "{{ ci_dir }}/nodepool/.tox/venv/bin/nodepool"
|
||||
dest: /usr/sbin/nodepool-client
|
||||
state: link
|
||||
|
||||
- name: Copy unit-file
|
||||
copy:
|
||||
src: "{{ item }}"
|
||||
dest: "/lib/systemd/system/{{ item }}"
|
||||
become: true
|
||||
with_items:
|
||||
- nodepool.service
|
||||
|
|
@ -49,9 +49,9 @@
|
|||
become_user: "{{ zuul_user }}"
|
||||
|
||||
- name: Copy zuul units
|
||||
template:
|
||||
copy:
|
||||
src: "{{ item }}"
|
||||
dest: /lib/systemd/system/
|
||||
dest: "/lib/systemd/system/{{ item }}"
|
||||
become: true
|
||||
with_items:
|
||||
- zuul.service
|
||||
|
|
|
@ -13,11 +13,15 @@
|
|||
tasks:
|
||||
- name: Create Jenkins CI directory
|
||||
file:
|
||||
path: "{{ ci_dir }}/files"
|
||||
path: "{{ ci_dir }}/{{ item }}"
|
||||
owner: "{{ jenkins_user }}"
|
||||
group: "{{ jenkins_user }}"
|
||||
mode: 0755
|
||||
state: directory
|
||||
with_items:
|
||||
- files/nodepool-scripts
|
||||
- files/ext-files
|
||||
- logs
|
||||
|
||||
- name: Install jjb
|
||||
hosts: localhost
|
||||
|
@ -28,3 +32,8 @@
|
|||
hosts: localhost
|
||||
roles:
|
||||
- zuul
|
||||
|
||||
- name: Install nodepool
|
||||
hosts: localhost
|
||||
roles:
|
||||
- nodepool
|
||||
|
|
Loading…
Reference in New Issue