summaryrefslogtreecommitdiff
path: root/salt/openbook
diff options
context:
space:
mode:
authorckonstanski <ckonstanski@pippiandcarlos.com>2017-10-24 18:27:27 -0600
committerckonstanski <ckonstanski@pippiandcarlos.com>2017-10-24 18:27:27 -0600
commit0493747f5d1b30008b4170b3d48080abfa224700 (patch)
tree4ee87ddb639f30a47e95861409a1b9d71d183e07 /salt/openbook
parentdd48453e079d5c93f7cf0af59843bd7d4180e186 (diff)
make it work for all 4 git branches
Diffstat (limited to 'salt/openbook')
-rw-r--r--salt/openbook/admin_api_server/files/installdeps.sh2
-rw-r--r--salt/openbook/admin_web_ui/files/installdeps.sh2
-rw-r--r--salt/openbook/ansible/files/deploy-branch.sh (renamed from salt/openbook/ansible/files/deploy-dev-env.sh)3
-rw-r--r--salt/openbook/ansible/files/env.yaml.docker_registry.example12
-rw-r--r--salt/openbook/ansible/files/env.yaml.openbook.example146
-rw-r--r--salt/openbook/ansible/files/env.yaml.openbook_docker_slave.example18
-rw-r--r--salt/openbook/ansible/files/inventory_json.rb29
-rw-r--r--salt/openbook/ansible/init.sls15
-rw-r--r--salt/openbook/ci/files/build.sh16
-rw-r--r--salt/openbook/customer_api_server/files/installdeps.sh2
-rw-r--r--salt/openbook/customer_web_ui/files/installdeps.sh2
-rw-r--r--salt/openbook/job_scheduler_server/files/installdeps.sh2
-rw-r--r--salt/openbook/workflow_server/files/installdeps.sh2
13 files changed, 195 insertions, 56 deletions
diff --git a/salt/openbook/admin_api_server/files/installdeps.sh b/salt/openbook/admin_api_server/files/installdeps.sh
index e1f2651..a4ac323 100644
--- a/salt/openbook/admin_api_server/files/installdeps.sh
+++ b/salt/openbook/admin_api_server/files/installdeps.sh
@@ -8,6 +8,6 @@ apt-get -y install -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--fo
curl -k \
-u '{{ pillar["jars"]["username"] }}:{{ pillar["jars"]["password"] }}' \
-o "{{ pillar["admin_api_server"]["jar_name"] }}" \
- "{{ pillar["jars"]["url"] }}{{ pillar["admin_api_server"]["jar_name"] }}"
+ "{{ pillar["jars"]["url"] }}/{{ pillar["admin_api_server"]["jar_name"] }}"
exit 0
diff --git a/salt/openbook/admin_web_ui/files/installdeps.sh b/salt/openbook/admin_web_ui/files/installdeps.sh
index 9485ce1..807b0f7 100644
--- a/salt/openbook/admin_web_ui/files/installdeps.sh
+++ b/salt/openbook/admin_web_ui/files/installdeps.sh
@@ -8,6 +8,6 @@ apt-get -y install -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--fo
curl -k \
-u '{{ pillar["jars"]["username"] }}:{{ pillar["jars"]["password"] }}' \
-o "{{ pillar["admin_web_ui"]["jar_name"] }}" \
- "{{ pillar["jars"]["url"] }}{{ pillar["admin_web_ui"]["jar_name"] }}"
+ "{{ pillar["jars"]["url"] }}/{{ pillar["admin_web_ui"]["jar_name"] }}"
exit 0
diff --git a/salt/openbook/ansible/files/deploy-dev-env.sh b/salt/openbook/ansible/files/deploy-branch.sh
index b47774e..3a1a72e 100644
--- a/salt/openbook/ansible/files/deploy-dev-env.sh
+++ b/salt/openbook/ansible/files/deploy-branch.sh
@@ -1,5 +1,6 @@
#!/bin/bash
+env="${1}"
buildroot="$(pwd)"
pushd ${buildroot}/conf
@@ -8,5 +9,5 @@ rm -f env.yaml
ln -s env.yaml.openbook env.yaml
popd
pushd ${buildroot}
-ansible-playbook -i inventory_json.rb openbook_installer.yaml
+ansible-playbook -i inventory_${env}.rb openbook_installer.yaml
popd
diff --git a/salt/openbook/ansible/files/env.yaml.docker_registry.example b/salt/openbook/ansible/files/env.yaml.docker_registry.example
index ccdef39..f00e29c 100644
--- a/salt/openbook/ansible/files/env.yaml.docker_registry.example
+++ b/salt/openbook/ansible/files/env.yaml.docker_registry.example
@@ -1,10 +1,12 @@
---
globals:
ansible_ssh_user: root
+ ansible_private_key_file: /var/lib/jenkins/.ssh/id_rsa
ansible_python_interpreter: /usr/bin/python2
-hosts:
- - host1:
- cn: ~
- username: ~
- password: ~
+environments:
+ - master:
+ - host1:
+ cn: ~
+ username: ~
+ password: ~
diff --git a/salt/openbook/ansible/files/env.yaml.openbook.example b/salt/openbook/ansible/files/env.yaml.openbook.example
index 9fd4894..ef791ad 100644
--- a/salt/openbook/ansible/files/env.yaml.openbook.example
+++ b/salt/openbook/ansible/files/env.yaml.openbook.example
@@ -1,25 +1,131 @@
---
globals:
ansible_ssh_user: root
+ ansible_private_key_file: /var/lib/jenkins/.ssh/id_rsa
ansible_python_interpreter: /usr/bin/python2
- openbook_gcomm_addresses: ~
- openbook_install_database: True|False
- openbook_start_app: True|False
-hosts:
- - host1:
- openbook_database_password: ~
- openbook_customer_web_ui_port: 8080
- openbook_customer_api_server_port: 8081
- openbook_admin_web_ui_port: 8082
- openbook_admin_api_server_port: 8083
- openbook_job_server: True|False
- openbook_workflow_server: True|False
- - host2:
- openbook_database_password: ~
- openbook_customer_web_ui_port: 8080
- openbook_customer_api_server_port: 8081
- openbook_admin_web_ui_port: 8082
- openbook_admin_api_server_port: 8083
- openbook_job_server: True|False
- openbook_workflow_server: True|False
+environments:
+ - unstable:
+ - host1:
+ openbook_database_password: ~
+ openbook_gcomm_addresses: ~
+ openbook_install_database: True|False
+ openbook_start_app: True|False
+ openbook_install_admin_api_server: True|False
+ openbook_install_customer_api_server: True|False
+ openbook_install_admin_web_ui: True|False
+ openbook_install_customer_web_ui: True|False
+ openbook_install_job_scheduler_server: True|False
+ openbook_install_workflow_server: True|False
+ openbook_admin_web_ui_port: ~
+ openbook_admin_api_server_port: ~
+ openbook_customer_web_ui_port: ~
+ openbook_customer_api_server_port: ~
+ - host2:
+ openbook_database_password: ~
+ openbook_gcomm_addresses: ~
+ openbook_install_database: True|False
+ openbook_start_app: True|False
+ openbook_install_admin_api_server: True|False
+ openbook_install_customer_api_server: True|False
+ openbook_install_admin_web_ui: True|False
+ openbook_install_customer_web_ui: True|False
+ openbook_install_job_scheduler_server: True|False
+ openbook_install_workflow_server: True|False
+ openbook_admin_web_ui_port: ~
+ openbook_admin_api_server_port: ~
+ openbook_customer_web_ui_port: ~
+ openbook_customer_api_server_port: ~
+ - develop:
+ - host1:
+ openbook_database_password: ~
+ openbook_gcomm_addresses: ~
+ openbook_install_database: True|False
+ openbook_start_app: True|False
+ openbook_install_admin_api_server: True|False
+ openbook_install_customer_api_server: True|False
+ openbook_install_admin_web_ui: True|False
+ openbook_install_customer_web_ui: True|False
+ openbook_install_job_scheduler_server: True|False
+ openbook_install_workflow_server: True|False
+ openbook_admin_web_ui_port: ~
+ openbook_admin_api_server_port: ~
+ openbook_customer_web_ui_port: ~
+ openbook_customer_api_server_port: ~
+ - host2:
+ openbook_database_password: ~
+ openbook_gcomm_addresses: ~
+ openbook_install_database: True|False
+ openbook_start_app: True|False
+ openbook_install_admin_api_server: True|False
+ openbook_install_customer_api_server: True|False
+ openbook_install_admin_web_ui: True|False
+ openbook_install_customer_web_ui: True|False
+ openbook_install_job_scheduler_server: True|False
+ openbook_install_workflow_server: True|False
+ openbook_admin_web_ui_port: ~
+ openbook_admin_api_server_port: ~
+ openbook_customer_web_ui_port: ~
+ openbook_customer_api_server_port: ~
+ - stage:
+ - host1:
+ openbook_database_password: ~
+ openbook_gcomm_addresses: ~
+ openbook_install_database: True|False
+ openbook_start_app: True|False
+ openbook_install_admin_api_server: True|False
+ openbook_install_customer_api_server: True|False
+ openbook_install_admin_web_ui: True|False
+ openbook_install_customer_web_ui: True|False
+ openbook_install_job_scheduler_server: True|False
+ openbook_install_workflow_server: True|False
+ openbook_admin_web_ui_port: ~
+ openbook_admin_api_server_port: ~
+ openbook_customer_web_ui_port: ~
+ openbook_customer_api_server_port: ~
+ - host2:
+ openbook_database_password: ~
+ openbook_gcomm_addresses: ~
+ openbook_install_database: True|False
+ openbook_start_app: True|False
+ openbook_install_admin_api_server: True|False
+ openbook_install_customer_api_server: True|False
+ openbook_install_admin_web_ui: True|False
+ openbook_install_customer_web_ui: True|False
+ openbook_install_job_scheduler_server: True|False
+ openbook_install_workflow_server: True|False
+ openbook_admin_web_ui_port: ~
+ openbook_admin_api_server_port: ~
+ openbook_customer_web_ui_port: ~
+ openbook_customer_api_server_port: ~
+ - master:
+ - host1:
+ openbook_database_password: ~
+ openbook_gcomm_addresses: ~
+ openbook_install_database: True|False
+ openbook_start_app: True|False
+ openbook_install_admin_api_server: True|False
+ openbook_install_customer_api_server: True|False
+ openbook_install_admin_web_ui: True|False
+ openbook_install_customer_web_ui: True|False
+ openbook_install_job_scheduler_server: True|False
+ openbook_install_workflow_server: True|False
+ openbook_admin_web_ui_port: ~
+ openbook_admin_api_server_port: ~
+ openbook_customer_web_ui_port: ~
+ openbook_customer_api_server_port: ~
+ - host2:
+ openbook_database_password: ~
+ openbook_gcomm_addresses: ~
+ openbook_install_database: True|False
+ openbook_start_app: True|False
+ openbook_install_admin_api_server: True|False
+ openbook_install_customer_api_server: True|False
+ openbook_install_admin_web_ui: True|False
+ openbook_install_customer_web_ui: True|False
+ openbook_install_job_scheduler_server: True|False
+ openbook_install_workflow_server: True|False
+ openbook_admin_web_ui_port: ~
+ openbook_admin_api_server_port: ~
+ openbook_customer_web_ui_port: ~
+ openbook_customer_api_server_port: ~
diff --git a/salt/openbook/ansible/files/env.yaml.openbook_docker_slave.example b/salt/openbook/ansible/files/env.yaml.openbook_docker_slave.example
index 72a8549..51592e9 100644
--- a/salt/openbook/ansible/files/env.yaml.openbook_docker_slave.example
+++ b/salt/openbook/ansible/files/env.yaml.openbook_docker_slave.example
@@ -1,14 +1,16 @@
---
globals:
ansible_ssh_user: root
- locale: en_US.utf8
+ ansible_private_key_file: /var/lib/jenkins/.ssh/id_rsa
ansible_python_interpreter: /usr/bin/python2
+ locale: en_US.utf8
salt_master: localhost
-hosts:
- - host1:
- database_root_password: ~
- docker_username: ~
- docker_password: ~
- webdav_username: ~
- webdav_password: ~
+environments:
+ - master:
+ - host1:
+ database_root_password: ~
+ docker_username: ~
+ docker_password: ~
+ webdav_username: ~
+ webdav_password: ~
diff --git a/salt/openbook/ansible/files/inventory_json.rb b/salt/openbook/ansible/files/inventory_json.rb
index 8a01004..e4a5938 100644
--- a/salt/openbook/ansible/files/inventory_json.rb
+++ b/salt/openbook/ansible/files/inventory_json.rb
@@ -9,23 +9,38 @@ def doit()
STDERR.puts "Unable to find env.yaml. Exiting."
exit(1)
end
+ environ = ""
+ ["unstable", "develop", "stage", "master"].each do |env|
+ if File.basename($0).include?(env)
+ environ = env
+ break
+ end
+ end
+ if environ == ""
+ STDERR.puts "Unable to determine environment. Exiting."
+ exit(1)
+ end
globs = {}
hostvars = {}
outobj = {}
- hosts = []
+ hosts_arr = []
yml = YAML.load_file(env_yaml_path)
yml["globals"].each do |key, value|
globs[key] = value
end
- yml["hosts"].each do |h|
- h.each do |host, attributes|
- hosts.push(host)
- attributes.each do |attribute, value|
- hostvars[host] = globs.merge(attributes)
+ yml["environments"].each do |ee|
+ ee.each do |e, hosts|
+ if e == environ
+ hosts.each do |host_hash|
+ host_hash.each do |host, attributes|
+ hosts_arr.push(host)
+ hostvars[host] = globs.merge(attributes)
+ end
+ end
end
end
end
- outobj["target"] = {"hosts" => hosts}
+ outobj["target"] = {"hosts" => hosts_arr}
outobj["_meta"] = {"hostvars" => hostvars}
puts outobj.to_json
end
diff --git a/salt/openbook/ansible/init.sls b/salt/openbook/ansible/init.sls
index e337964..b446c33 100644
--- a/salt/openbook/ansible/init.sls
+++ b/salt/openbook/ansible/init.sls
@@ -1,5 +1,5 @@
{% for dir in pillar["ansible"]["dirs"].items() %}
-anaible_dirs_{{ dir[0] }}:
+ansible_dirs_{{ dir[0] }}:
file.directory:
{% if dir[1]["relative_to_buildroot"] %}
- name: {{ pillar["ansible"]["build_dir"] }}/{{ dir[1]["name"] }}
@@ -12,6 +12,18 @@ anaible_dirs_{{ dir[0] }}:
- makedirs: True
{% endfor %}
+{% for symlink in pillar["ansible"]["symlinks"].items() %}
+ansible_symlinks_{{ symlink[0] }}:
+ file.symlink:
+{% if symlink[1]["relative_to_buildroot"] %}
+ - name: {{ pillar["ansible"]["build_dir"] }}/{{ symlink[1]["name"] }}
+ - target: {{ pillar["ansible"]["build_dir"] }}/{{ symlink[1]["target"] }}
+{% else %}
+ - name: {{ symlink[1]["name"] }}
+ - target: {{ symlink[1]["target"] }}
+{% endif %}
+{% endfor %}
+
{% for file in pillar["ansible"]["files"].items() %}
ansible_files_{{ file[0] }}:
file.managed:
@@ -24,4 +36,3 @@ ansible_files_{{ file[0] }}:
- group: root
- mode: {{ file[1]["mode"] }}
{% endfor %}
-
diff --git a/salt/openbook/ci/files/build.sh b/salt/openbook/ci/files/build.sh
index 3faef38..abcba51 100644
--- a/salt/openbook/ci/files/build.sh
+++ b/salt/openbook/ci/files/build.sh
@@ -1,5 +1,7 @@
#!/bin/bash
+artifact="${1}"
+
for i in $(docker images | grep -v CREATED | awk '{print $3}'); do
docker rmi --force $i
done
@@ -16,19 +18,19 @@ docker login --username {{ pillar["registry"]["username"] }} --password {{ pilla
# curl -u '{{ pillar["registry"]["username"] }}:{{ pillar["registry"]["password"] }}' -X DELETE https://{{ pillar["registry"]["url"] }}/v2/${i}/manifests/${digest}
# done
-if [ "${1}" == "database" ]; then
+if [ "${artifact}" == "database" ]; then
{{ pillar["database"]["build_dir"] }}/build.sh
-elif [ "${1}" == "admin-api-server" ]; then
+elif [ "${artifact}" == "admin-api-server" ]; then
{{ pillar["admin_api_server"]["build_dir"] }}/build.sh
-elif [ "${1}" == "customer-api-server" ]; then
+elif [ "${artifact}" == "customer-api-server" ]; then
{{ pillar["customer_api_server"]["build_dir"] }}/build.sh
-elif [ "${1}" == "admin-web-ui" ]; then
+elif [ "${artifact}" == "admin-web-ui" ]; then
{{ pillar["admin_web_ui"]["build_dir"] }}/build.sh
-elif [ "${1}" == "customer-web-ui" ]; then
+elif [ "${artifact}" == "customer-web-ui" ]; then
{{ pillar["customer_web_ui"]["build_dir"] }}/build.sh
-elif [ "${1}" == "job-scheduler-server" ]; then
+elif [ "${artifact}" == "job-scheduler-server" ]; then
{{ pillar["job_scheduler_server"]["build_dir"] }}/build.sh
-elif [ "${1}" == "workflow-server" ]; then
+elif [ "${artifact}" == "workflow-server" ]; then
{{ pillar["workflow_server"]["build_dir"] }}/build.sh
else
{{ pillar["database"]["build_dir"] }}/build.sh
diff --git a/salt/openbook/customer_api_server/files/installdeps.sh b/salt/openbook/customer_api_server/files/installdeps.sh
index e0dc20f..d14d7a2 100644
--- a/salt/openbook/customer_api_server/files/installdeps.sh
+++ b/salt/openbook/customer_api_server/files/installdeps.sh
@@ -8,6 +8,6 @@ apt-get -y install -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--fo
curl -k \
-u '{{ pillar["jars"]["username"] }}:{{ pillar["jars"]["password"] }}' \
-o "{{ pillar["customer_api_server"]["jar_name"] }}" \
- "{{ pillar["jars"]["url"] }}{{ pillar["customer_api_server"]["jar_name"] }}"
+ "{{ pillar["jars"]["url"] }}/{{ pillar["customer_api_server"]["jar_name"] }}"
exit 0
diff --git a/salt/openbook/customer_web_ui/files/installdeps.sh b/salt/openbook/customer_web_ui/files/installdeps.sh
index 7ec1f67..e1a5532 100644
--- a/salt/openbook/customer_web_ui/files/installdeps.sh
+++ b/salt/openbook/customer_web_ui/files/installdeps.sh
@@ -8,6 +8,6 @@ apt-get -y install -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--fo
curl -k \
-u '{{ pillar["jars"]["username"] }}:{{ pillar["jars"]["password"] }}' \
-o "{{ pillar["customer_web_ui"]["jar_name"] }}" \
- "{{ pillar["jars"]["url"] }}{{ pillar["customer_web_ui"]["jar_name"] }}"
+ "{{ pillar["jars"]["url"] }}/{{ pillar["customer_web_ui"]["jar_name"] }}"
exit 0
diff --git a/salt/openbook/job_scheduler_server/files/installdeps.sh b/salt/openbook/job_scheduler_server/files/installdeps.sh
index 27f0936..64ba328 100644
--- a/salt/openbook/job_scheduler_server/files/installdeps.sh
+++ b/salt/openbook/job_scheduler_server/files/installdeps.sh
@@ -8,6 +8,6 @@ apt-get -y install -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--fo
curl -k \
-u '{{ pillar["jars"]["username"] }}:{{ pillar["jars"]["password"] }}' \
-o "{{ pillar["job_scheduler_server"]["jar_name"] }}" \
- "{{ pillar["jars"]["url"] }}{{ pillar["job_scheduler_server"]["jar_name"] }}"
+ "{{ pillar["jars"]["url"] }}/{{ pillar["job_scheduler_server"]["jar_name"] }}"
exit 0
diff --git a/salt/openbook/workflow_server/files/installdeps.sh b/salt/openbook/workflow_server/files/installdeps.sh
index adb184f..2bba1b0 100644
--- a/salt/openbook/workflow_server/files/installdeps.sh
+++ b/salt/openbook/workflow_server/files/installdeps.sh
@@ -8,6 +8,6 @@ apt-get -y install -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--fo
curl -k \
-u '{{ pillar["jars"]["username"] }}:{{ pillar["jars"]["password"] }}' \
-o "{{ pillar["workflow_server"]["jar_name"] }}" \
- "{{ pillar["jars"]["url"] }}{{ pillar["workflow_server"]["jar_name"] }}"
+ "{{ pillar["jars"]["url"] }}/{{ pillar["workflow_server"]["jar_name"] }}"
exit 0