summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRiku Voipio <riku.voipio@linaro.org>2018-03-08 12:06:07 +0200
committerKelley Spoon <kelley.spoon@linaro.org>2018-03-10 01:29:32 +0000
commit73845143a5e0d2e10a9a2eb4c43d8c4972bbe1d6 (patch)
treefc25e8577b16180ba836bf8808d5307978a40bea
parentbe7f5fbe275f158aae2d688bcdf1a4a9c25a6237 (diff)
OBS: toplevel playbooks
These have apparently been forgotten. The main missing bit is adding the machines listed here into LDAP, to avoid me being SPOF in managing OBS. Change-Id: I37eb7703846eb08d8290ca80f6b7c6d41c45149d Reviewed-on: https://review.linaro.org/24267 Reviewed-by: Benjamin Copeland <ben.copeland@linaro.org>
-rw-r--r--host_vars/obs-bastion-cn1.linaro.cloud5
-rw-r--r--host_vars/obs-bastion-us1.linaro.cloud1
-rw-r--r--host_vars/obs-server-cn1.linaro.cloud1
-rw-r--r--host_vars/obs-server-us1.linaro.cloud1
-rw-r--r--obs-cn1.yml85
-rw-r--r--obs-us1.yml87
6 files changed, 180 insertions, 0 deletions
diff --git a/host_vars/obs-bastion-cn1.linaro.cloud b/host_vars/obs-bastion-cn1.linaro.cloud
new file mode 100644
index 00000000..24851aa1
--- /dev/null
+++ b/host_vars/obs-bastion-cn1.linaro.cloud
@@ -0,0 +1,5 @@
+obsdata_fstype: ext4
+obsdata_dev: /dev/sdb
+obsbackup_fstype: ext4
+obsbackup_dev: /dev/sdc
+debian_mirror: http://mirrors.ustc.edu.cn/debian/
diff --git a/host_vars/obs-bastion-us1.linaro.cloud b/host_vars/obs-bastion-us1.linaro.cloud
index f6cd4ec2..a80a7d4d 100644
--- a/host_vars/obs-bastion-us1.linaro.cloud
+++ b/host_vars/obs-bastion-us1.linaro.cloud
@@ -2,3 +2,4 @@ obsdata_fstype: ext4
obsdata_dev: /dev/sdb
obsbackup_fstype: ext4
obsbackup_dev: /dev/sdc
+debian_mirror: http://deb.debian.org/debian
diff --git a/host_vars/obs-server-cn1.linaro.cloud b/host_vars/obs-server-cn1.linaro.cloud
new file mode 100644
index 00000000..40cd3e98
--- /dev/null
+++ b/host_vars/obs-server-cn1.linaro.cloud
@@ -0,0 +1 @@
+hostname: obs-dev.linaro.org
diff --git a/host_vars/obs-server-us1.linaro.cloud b/host_vars/obs-server-us1.linaro.cloud
new file mode 100644
index 00000000..689ce4dc
--- /dev/null
+++ b/host_vars/obs-server-us1.linaro.cloud
@@ -0,0 +1 @@
+hostname: obs.linaro.org
diff --git a/obs-cn1.yml b/obs-cn1.yml
new file mode 100644
index 00000000..329551f8
--- /dev/null
+++ b/obs-cn1.yml
@@ -0,0 +1,85 @@
+# Deploy staging OBS on devcloud
+---
+- name: Create staging machines with OpenStack
+ hosts: localhost
+ gather_facts: false
+ tasks:
+ - name: create OBS bastion server
+ os_server:
+ state: present
+ name: obs-bastion-cn1.linaro.cloud
+ image: Official Debian Stretch
+ key_name: Riku Linaro
+ wait: yes
+ flavor: m1.small
+ auto_floating_ip: yes
+ network: obs-net
+ meta:
+ hostname: obs-bastion-cn1.linaro.cloud
+ - name: Create obs_data volume
+ os_volume:
+ state: present
+ size: 400
+ display_name: obs_data
+ - name: Create obs_backup volume
+ os_volume:
+ state: present
+ size: 400
+ display_name: obs_backup
+ - name: Attach obs_data volume to obs server
+ os_server_volume:
+ state: present
+ volume: obs_data
+ server: obs-bastion-cn1.linaro.cloud
+ device: "{{ hostvars['obs-bastion-cn1.linaro.cloud'].obsdata_dev }}"
+ - name: Attach obs_backup volume to obs server
+ os_server_volume:
+ state: present
+ volume: obs_backup
+ server: obs-bastion-cn1.linaro.cloud
+ device: "{{ hostvars['obs-bastion-cn1.linaro.cloud'].obsbackup_dev }}"
+ - name: Deploy OBS worker
+ os_server:
+ state: present
+ name: obs-worker-cn1.linaro.cloud
+ image: Official Debian Stretch
+ key_name: Riku Linaro
+ wait: yes
+ flavor: m1.small
+ auto_floating_ip: yes
+ network: obs-net
+ meta:
+ hostname: obs-worker-cn1.linaro.cloud
+
+- name: Configure firewall and OBS container
+ hosts: obs-bastion-cn1.linaro.cloud
+ become: yes
+ roles:
+ - role: obs-bastion
+ worker_ip:
+ - 192.168.1.1/24
+ - role: systemd-container
+ container_name: obs
+ container_user: obs-admin
+ ssh_port: 2201
+
+- name: Install OBS server
+ hosts: obs-server-cn1.linaro.cloud
+ become: yes
+ vars_files:
+ - "{{secrets_dir}}/host_vars/{{inventory_hostname}}"
+ roles:
+ - role: letsencrypt
+ email: riku.voipio@linaro.org
+ - role: obs
+
+- name: Install staging worker
+ hosts: obs-worker-cn1.linaro.cloud
+ become: yes
+ roles:
+ - role: obs-worker
+ OBS_IP: 192.168.1.10
+ OBS_JOBS: 2
+ OBS_PORT: 5454
+ OBS_TMPFS: 0
+
diff --git a/obs-us1.yml b/obs-us1.yml
new file mode 100644
index 00000000..e9b5791e
--- /dev/null
+++ b/obs-us1.yml
@@ -0,0 +1,87 @@
+# Deploy OBS on devcloud
+---
+- name: Create Production OBS machines in OpenStack
+ hosts: localhost
+ gather_facts: false
+ tasks:
+ - name: create OBS bastion server
+ os_server:
+ state: present
+ name: obs-bastion-us1.linaro.cloud
+ image: Official Debian Stretch
+ key_name: Riku Linaro
+ wait: yes
+ flavor: m1.large
+ auto_floating_ip: yes
+ network: obs-net
+ meta:
+ hostname: obs-bastion-us1.linaro.cloud
+ - name: Create obs_data volume
+ os_volume:
+ state: present
+ size: 400
+ display_name: obs_data
+ - name: Create obs_backup volume
+ os_volume:
+ state: present
+ size: 400
+ display_name: obs_backup
+ - name: Attach obs_data volume to obs server
+ os_server_volume:
+ state: present
+ volume: obs_data
+ server: obs-bastion-us1.linaro.cloud
+ device: "{{ hostvars['obs-bastion-us1.linaro.cloud'].obsdata_dev }}"
+ - name: Attach obs_backup volume to obs server
+ os_server_volume:
+ state: present
+ volume: obs_backup
+ server: obs-bastion-us1.linaro.cloud
+ device: "{{ hostvars['obs-bastion-us1.linaro.cloud'].obsbackup_dev }}"
+ - name: Deploy OBS worker
+ os_server:
+ state: present
+ name: obs-worker-us1.linaro.cloud
+ image: Official Debian Stretch
+ key_name: Riku Linaro
+ wait: yes
+ flavor: m1.tiny
+ auto_floating_ip: no
+ network: obs-net
+ meta:
+ hostname: obs-worker-us1.linaro.cloud
+
+- name: Configure firewall and OBS container
+ hosts: obs-bastion-us1.linaro.cloud
+ become: yes
+ roles:
+ - role: obs-bastion
+ worker_ip:
+ - 192.168.1.1/24
+ - 10.20.0.1/24
+ - 138.201.52.83
+ - 64.28.99.105
+ - role: systemd-container
+ container_name: obs
+ container_user: obs-admin
+ ssh_port: 2201
+
+- name: Install OBS server
+ hosts: obs-server-us1.linaro.cloud
+ become: yes
+ vars_files:
+ - "{{secrets_dir}}/host_vars/{{inventory_hostname}}"
+ roles:
+ - role: restic
+ backup_host: 211.148.24.209
+ backup_user: obs-backup
+ backup_db:
+ - obsapi
+ backup_dirs:
+ - /srv/obs
+ - /etc
+ - role: letsencrypt
+ hostname: obs.linaro.org
+ email: riku.voipio@linaro.org
+ - role: obs
+