updated to work with setting up a third region
diff --git a/clean.yml b/clean.yml
new file mode 100644
index 0000000..489da83
--- /dev/null
+++ b/clean.yml
@@ -0,0 +1,20 @@
+---
+- hosts: localhost
+ connection: local
+ tasks:
+ - name: Clean files
+ async: 0
+ poll: 0
+ ignore_errors: yes
+ file:
+ path: '{{ item }}'
+ state: absent
+ with_items:
+ - '~/.ansible/tmp/cache'
+ - '~/.ansible/tmp/ansible.log'
+ - '~/.apigee/ssh_keys'
+ - '~/.apigee/logs'
+ - '~/.apigee/configs'
+ - '~/.apigee/logs_configs'
+
+
diff --git a/components/opdk-cassandra-client-update.yml b/components/opdk-cassandra-client-update.yml
new file mode 100644
index 0000000..461ecd9
--- /dev/null
+++ b/components/opdk-cassandra-client-update.yml
@@ -0,0 +1,7 @@
+---
+- hosts: '{{ hosts }}'
+ roles:
+ - apigee-opdk-start-components
+ - apigee-opdk-cassandra-client-update
+ tags:
+ - c-update
\ No newline at end of file
diff --git a/components/opdk-cassandra-rebuild.yml b/components/opdk-cassandra-rebuild.yml
new file mode 100644
index 0000000..9b7ee53
--- /dev/null
+++ b/components/opdk-cassandra-rebuild.yml
@@ -0,0 +1,9 @@
+---
+- hosts: '{{ hosts }}'
+ vars:
+ opdk_region: dc-1
+ roles:
+ - { role: apigee-opdk-start-components, component_name: 'apigee-cassandra' }
+ - apigee-opdk-cassandra-rebuild
+ tags:
+ - c-rebuild
diff --git a/components/opdk-install-component.yml b/components/opdk-install-component.yml
new file mode 100644
index 0000000..1a14538
--- /dev/null
+++ b/components/opdk-install-component.yml
@@ -0,0 +1,10 @@
+---
+- hosts: '{{ hosts }}'
+ serial: 1
+ roles:
+ - apigee-opdk-setup-default-settings
+ - apigee-opdk-setup-component-installer
+ - { role: apigee-opdk-setup-component, profile: '{{ component_profile }}' }
+# - { role: apigee-fetch-files, fetch_files: '{{ apigee_log_files }}', fetched_files_dir: '{{ fetched_logs_dir }}' }
+ tags:
+ - apigee-component
diff --git a/components/opdk-pre-requisites.yml b/components/opdk-pre-requisites.yml
new file mode 100644
index 0000000..4be8465
--- /dev/null
+++ b/components/opdk-pre-requisites.yml
@@ -0,0 +1,52 @@
+---
+- hosts: '{{ hosts }}'
+ strategy: free
+ vars_files:
+ - ~/.apigee/credentials.yml
+ roles:
+ - apigee-opdk-setup-default-settings
+ - apigee-opdk-setup-apigee-user
+ tags:
+ - apigee-user
+ - apigee-pre-req
+
+- hosts: '{{ hosts }}'
+ strategy: free
+ vars_files:
+ - ~/.apigee/credentials.yml
+ roles:
+ - apigee-opdk-setup-os-limits
+# - { role: apigee-fetch-files, fetch_files: '{{ system_config_files }}', fetched_files_dir: '{{ fetched_configs_dir }}' }
+ tags:
+ - apigee-pre-req
+ - apigee-tuning
+
+- hosts: '{{ hosts }}'
+ strategy: free
+ roles:
+ - apigee-opdk-setup-openjdk
+ tags:
+ - apigee-pre-req
+ - openjdk
+
+- hosts: '{{ hosts }}'
+ strategy: free
+ vars_files:
+ - ~/.apigee/credentials.yml
+ roles:
+ - apigee-opdk-setup-default-settings
+ - apigee-opdk-setup-bootstrap
+ tags:
+ - apigee-pre-req
+ - apigee-bootstrap
+
+- hosts: '{{ hosts }}'
+ strategy: free
+ vars_files:
+ - ~/.apigee/credentials.yml
+ roles:
+ - apigee-opdk-setup-silent-installation-config
+# - { role: apigee-fetch-files, fetch_files: '{{ apigee_config_files }}', fetched_files_dir: '{{ fetched_configs_dir }}' }
+ tags:
+ - apigee-pre-req
+ - apigee-silent-config
diff --git a/components/opdk-setup-postgres-common.yml b/components/opdk-setup-postgres-common.yml
new file mode 100644
index 0000000..7015614
--- /dev/null
+++ b/components/opdk-setup-postgres-common.yml
@@ -0,0 +1,31 @@
+---
+- hosts: '{{ hosts }}'
+ strategy: free
+ vars_files:
+ - ~/.apigee/credentials.yml
+ roles:
+ - apigee-opdk-enable-swap
+ - apigee-opdk-setup-default-settings
+ - apigee-opdk-setup-apigee-user
+ - apigee-opdk-setup-os-postgres
+ - apigee-opdk-setup-postgres-config
+
+- include: opdk-install-component.yml
+ vars:
+ hosts: '{{ hosts }}'
+ component_profile: 'ps'
+
+- include: 'opdk-setup-postgres-{{ pg_component }}.yml'
+ when: pg_component is defined
+
+- hosts: '{{ hosts }}'
+ serial: 1
+ roles:
+ - apigee-opdk-setup-default-settings
+ tasks:
+ - name: Obtain server self report
+ opdk_server_self:
+ server_type: 'ps'
+ username: '{{ opdk_user_email }}'
+ password: '{{ opdk_user_pass }}'
+ ignore_errors: yes
diff --git a/components/opdk-setup-postgres-master.yml b/components/opdk-setup-postgres-master.yml
new file mode 100644
index 0000000..1fa4f95
--- /dev/null
+++ b/components/opdk-setup-postgres-master.yml
@@ -0,0 +1,7 @@
+---
+- hosts: '{{ hosts }}'
+ serial: 1
+ roles:
+ - apigee-opdk-setup-postgres-master
+ tags:
+ - pgmaster
diff --git a/components/opdk-setup-postgres-standby.yml b/components/opdk-setup-postgres-standby.yml
new file mode 100644
index 0000000..a8dbba2
--- /dev/null
+++ b/components/opdk-setup-postgres-standby.yml
@@ -0,0 +1,7 @@
+---
+- hosts: '{{ hosts }}'
+ serial: 1
+ roles:
+ - apigee-opdk-setup-postgres-standby
+ tags:
+ - pgstandby
diff --git a/components/opdk-setup-postgresql-add.yml b/components/opdk-setup-postgresql-add.yml
new file mode 100644
index 0000000..6e45161
--- /dev/null
+++ b/components/opdk-setup-postgresql-add.yml
@@ -0,0 +1,9 @@
+---
+- hosts: '{{ hosts }}'
+ vars_files:
+ - ~/.apigee/credentials.yml
+ roles:
+ - apigee-opdk-setup-default-settings
+ - { role: apigee-opdk-server-self, server_type: 'ps'}
+ - apigee-opdk-setup-postgresql-add
+
diff --git a/components/opdk-setup-qpid-add.yml b/components/opdk-setup-qpid-add.yml
new file mode 100644
index 0000000..fc4cb5b
--- /dev/null
+++ b/components/opdk-setup-qpid-add.yml
@@ -0,0 +1,9 @@
+---
+- hosts: '{{ hosts }}'
+ vars_files:
+ - ~/.apigee/credentials.yml
+ roles:
+ - apigee-opdk-setup-default-settings
+ - { role: apigee-opdk-server-self, server_type: 'qs'}
+ - apigee-opdk-setup-qpid-add
+
diff --git a/configuration/load-opdk-credentials.yml b/configuration/load-opdk-credentials.yml
new file mode 100644
index 0000000..afd76f6
--- /dev/null
+++ b/configuration/load-opdk-credentials.yml
@@ -0,0 +1,8 @@
+---
+- hosts: '{{ hosts }}'
+ become: yes
+ gather_facts: no
+ strategy: free
+ tasks:
+ - name: Load credentials from file
+ include_vars: '~/.apigee/credentials.yml'
\ No newline at end of file
diff --git a/configuration/opdk-set-reachable.yml b/configuration/opdk-set-reachable.yml
new file mode 100644
index 0000000..0a5eb9d
--- /dev/null
+++ b/configuration/opdk-set-reachable.yml
@@ -0,0 +1,10 @@
+---
+- hosts: '{{ hosts }}'
+ strategy: free
+ vars_files:
+ - ~/.apigee/credentials.yml
+ roles:
+ - { role: apigee-opdk-set-reachable, reachable: '{{ reachability }}', server_type: 'router' }
+ - { role: apigee-opdk-set-reachable, reachable: '{{ reachability }}', server_type: 'mp' }
+ tags:
+ - reachability
\ No newline at end of file
diff --git a/configuration/opdk-setup-org-config.yml b/configuration/opdk-setup-org-config.yml
new file mode 100644
index 0000000..6b2e672
--- /dev/null
+++ b/configuration/opdk-setup-org-config.yml
@@ -0,0 +1,8 @@
+---
+- hosts: '{{ hosts }}'
+ strategy: free
+ vars_files:
+ - ~/.apigee/credentials.yml
+ roles:
+ - apigee-opdk-setup-org-config
+
diff --git a/configuration/opdk-setup-org.yml b/configuration/opdk-setup-org.yml
new file mode 100644
index 0000000..002ae70
--- /dev/null
+++ b/configuration/opdk-setup-org.yml
@@ -0,0 +1,7 @@
+---
+- hosts: '{{ hosts }}'
+ vars_files:
+ - ~/.apigee/credentials.yml
+ strategy: free
+ roles:
+ - apigee-opdk-setup-org
diff --git a/configuration/opdk-setup-os.yml b/configuration/opdk-setup-os.yml
new file mode 100644
index 0000000..b0461fe
--- /dev/null
+++ b/configuration/opdk-setup-os.yml
@@ -0,0 +1,15 @@
+---
+- hosts: '{{ hosts }}'
+ become: yes
+ gather_facts: no
+ strategy: free
+ pre_tasks:
+ - name: Load credentials from file
+ include_vars: '~/.apigee/credentials.yml'
+ roles:
+ - apigee-opdk-setup-os-minimum
+ - apigee-opdk-setup-selinux-disable
+ - apigee-opdk-shutdown-iptables
+ - apigee-opdk-time-sync
+ - apigee-opdk-setup-os-common
+
diff --git a/configuration/update-user.yml b/configuration/update-user.yml
new file mode 100644
index 0000000..0fb0e4e
--- /dev/null
+++ b/configuration/update-user.yml
@@ -0,0 +1,38 @@
+---
+- hosts: '{{ hosts }}'
+ become: yes
+ vars:
+ pubkey: '~/.ssh/id_rsa.pub'
+
+ vars_files:
+ - ~/.apigee/credentials.yml
+
+ tasks:
+ - name: Build EC2 facts cache
+ ec2_facts:
+
+ - name: Build setup facts cache
+ setup:
+
+ - name: Copy local public keys to server for user {{ user }}
+ authorized_key:
+ user: '{{ user }}'
+ state: present
+ key: "{{ lookup('file', '{{ pubkey }}') }}"
+
+ - name: Permit root login over SSH
+ lineinfile:
+ state: present
+ dest: /etc/ssh/sshd_config
+ regexp: '(^#)(PermitRootLogin yes)'
+ line: '\2'
+ backrefs: yes
+ notify:
+ - Restart SSH service
+ when: user == 'root'
+
+ handlers:
+ - name: Restart SSH service
+ service:
+ name: sshd
+ state: restarted
diff --git a/configuration/update_cache.yml b/configuration/update_cache.yml
new file mode 100644
index 0000000..2a3b521
--- /dev/null
+++ b/configuration/update_cache.yml
@@ -0,0 +1,13 @@
+---
+- hosts: planet
+ vars_files:
+ - ~/.apigee/credentials.yml
+ pre_tasks:
+ - setup:
+
+ - ec2_facts:
+ when: "{{ ansible_bios_version | lower | search('amazon') }}"
+
+ roles:
+ - apigee-opdk-setup-default-settings
+
diff --git a/installation-rollback.yml b/installation-rollback.yml
new file mode 100644
index 0000000..971818d
--- /dev/null
+++ b/installation-rollback.yml
@@ -0,0 +1,8 @@
+---
+- include: configuration/update_cache.yml
+
+- hosts: '{{ hosts }}'
+ vars:
+ remove_apigee: false
+ roles:
+ - apigee-opdk-setup-bootstrap-rollback
diff --git a/installation.yml b/installation.yml
new file mode 100644
index 0000000..f1c5b12
--- /dev/null
+++ b/installation.yml
@@ -0,0 +1,256 @@
+---
+- include: configuration/update_cache.yml
+ tags:
+ - cache
+ - os-pre-req
+ - apigee-pre-req
+ - ms
+ - ds
+ - qpid
+ - pgmaster
+ - pgstandby
+
+- include: configuration/load-opdk-credentials.yml
+ vars:
+ hosts: 'planet'
+ tags:
+ - credentials
+ - os-pre-req
+ - apigee-pre-req
+
+- include: configuration/opdk-setup-os.yml
+ vars:
+ hosts: 'planet'
+ tags:
+ - os
+ - os-pre-req
+
+- include: configuration/update-user.yml
+ vars:
+ hosts: 'planet'
+ user: 'root'
+ tags:
+ - root-user
+
+- include: components/opdk-pre-requisites.yml
+ vars:
+ hosts: 'planet'
+ jdk_version: '1.8'
+ opdk_ldap_type: '2'
+ tags:
+ - apigee-pre-req
+
+- include: components/opdk-install-component.yml
+ vars:
+ hosts: 'dc-3-ds'
+ component_profile: 'ds'
+ jdk_version: '1.8'
+ tags:
+ - ds
+
+- include: components/opdk-install-component.yml
+ vars:
+ hosts: 'dc-2-ds'
+ component_profile: 'ds'
+ jdk_version: '1.8'
+ tags:
+ - ds
+
+- include: components/opdk-install-component.yml
+ vars:
+ hosts: 'dc-1-ds'
+ component_profile: 'ds'
+ jdk_version: '1.8'
+ opdk_ldap_type: '2'
+ tags:
+ - ds
+
+- include: components/opdk-cassandra-rebuild.yml
+ vars:
+ hosts: 'dc-3-ds'
+ jdk_version: '1.8'
+ tags:
+ - ms
+
+- include: components/opdk-cassandra-rebuild.yml
+ vars:
+ hosts: 'dc-2-ds'
+ jdk_version: '1.8'
+ tags:
+ - ms
+
+- include: configuration/opdk-set-reachable.yml
+ vars:
+ hosts: 'dc-3-rmp'
+ reachability: 'false'
+ tags:
+ - rmp
+
+- include: components/opdk-install-component.yml
+ vars:
+ hosts: 'dc-3-rmp'
+ component_profile: 'rmp'
+ jdk_version: '1.8'
+ tags:
+ - rmp
+
+- include: configuration/opdk-set-reachable.yml
+ vars:
+ hosts: 'dc-3-rmp'
+ reachability: 'true'
+ tags:
+ - rmp
+
+- include: configuration/opdk-set-reachable.yml
+ vars:
+ hosts: 'dc-2-rmp'
+ reachability: 'false'
+ tags:
+ - rmp
+
+- include: components/opdk-install-component.yml
+ vars:
+ hosts: 'dc-2-rmp'
+ component_profile: 'rmp'
+ jdk_version: '1.8'
+ tags:
+ - rmp
+
+- include: configuration/opdk-set-reachable.yml
+ vars:
+ hosts: 'dc-2-rmp'
+ reachability: 'true'
+ tags:
+ - rmp
+
+- include: configuration/opdk-set-reachable.yml
+ vars:
+ hosts: 'dc-1-rmp'
+ reachability: 'false'
+ tags:
+ - rmp
+
+- include: components/opdk-install-component.yml
+ vars:
+ hosts: 'dc-1-rmp'
+ component_profile: 'rmp'
+ jdk_version: '1.8'
+ tags:
+ - rmp
+
+- include: configuration/opdk-set-reachable.yml
+ vars:
+ hosts: 'dc-1-rmp'
+ reachability: 'true'
+ tags:
+ - rmp
+
+- include: components/opdk-install-component.yml
+ vars:
+ hosts: 'dc-3-qpid'
+ component_profile: 'qs'
+ jdk_version: '1.8'
+ tags:
+ - qpid
+ - qpid-installer
+
+- include: components/opdk-setup-qpid-add.yml
+ vars:
+ hosts: 'dc-3-qpid'
+ tags:
+ - qpid
+ - qpid-add
+
+- include: components/opdk-install-component.yml
+ vars:
+ hosts: 'dc-2-qpid'
+ component_profile: 'qs'
+ jdk_version: '1.8'
+ tags:
+ - qpid
+
+- include: components/opdk-setup-qpid-add.yml
+ vars:
+ hosts: 'dc-2-qpid'
+ tags:
+ - qpid
+ - qpid-add
+
+- include: validations/opdk-setup-validate.yml
+ vars:
+ hosts: 'dc-3-rmp'
+ tags:
+ - validation
+
+- include: validations/opdk-internal-port-connectivity-validator.yml
+ tags:
+ - port-validator
+
+- include: validations/opdk-setup-status.yml
+ vars:
+ hosts: 'planet'
+ tags:
+ - status
+
+- include: validations/opdk-setup-log-files.yml
+ vars:
+ hosts: dc-1-ds
+ tags:
+ - logs
+ - dc-1
+
+- include: validations/opdk-setup-log-files.yml
+ vars:
+ hosts: dc-2-ds
+ tags:
+ - logs
+ - dc-2
+
+- include: validations/opdk-setup-log-files.yml
+ vars:
+ hosts: dc-3-ds
+ tags:
+ - logs
+ - dc-2
+
+- include: validations/opdk-setup-log-files.yml
+ vars:
+ hosts: dc-1-rmp
+ tags:
+ - logs
+ - dc-1
+
+- include: validations/opdk-setup-log-files.yml
+ vars:
+ hosts: dc-2-rmp
+ tags:
+ - logs
+ - dc-2
+
+- include: validations/opdk-setup-log-files.yml
+ vars:
+ hosts: dc-3-rmp
+ tags:
+ - logs
+ - dc-2
+
+- include: validations/opdk-setup-log-files.yml
+ vars:
+ hosts: dc-1-qpid
+ tags:
+ - logs
+ - dc-1
+
+- include: validations/opdk-setup-log-files.yml
+ vars:
+ hosts: dc-2-qpid
+ tags:
+ - logs
+ - dc-2
+
+- include: validations/opdk-setup-log-files.yml
+ vars:
+ hosts: dc-3-qpid
+ tags:
+ - logs
+ - dc-2
diff --git a/validations/opdk-internal-port-connectivity-validator.yml b/validations/opdk-internal-port-connectivity-validator.yml
new file mode 100644
index 0000000..0e5d7bc
--- /dev/null
+++ b/validations/opdk-internal-port-connectivity-validator.yml
@@ -0,0 +1,38 @@
+---
+
+- hosts: rmp
+ roles:
+ - apigee-internal-port-connectivity-validator-mp
+
+- hosts: ldap
+ roles:
+ - apigee-internal-port-connectivity-validator-ldap
+
+- hosts: ds
+ roles:
+ - apigee-internal-port-connectivity-validator-cassandra
+
+- hosts: ds
+ roles:
+ - apigee-internal-port-connectivity-validator-zookeeper
+
+- hosts: ms
+ roles:
+ - apigee-internal-port-connectivity-validator-ms
+
+- hosts: pg
+ roles:
+ - apigee-internal-port-connectivity-validator-postgres
+
+- hosts: rmp
+ roles:
+ - apigee-internal-port-connectivity-validator-router
+
+- hosts: qpid
+ roles:
+ - apigee-internal-port-connectivity-validator-qpid
+
+- hosts: ui
+ roles:
+ - apigee-internal-port-connectivity-validator-ui
+
diff --git a/validations/opdk-server-self.yml b/validations/opdk-server-self.yml
new file mode 100644
index 0000000..79b61ba
--- /dev/null
+++ b/validations/opdk-server-self.yml
@@ -0,0 +1,76 @@
+---
+- hosts: rmp
+ serial: 1
+ vars_files:
+ - ~/.apigee/credentials.yml
+ roles:
+ - apigee-opdk-setup-default-settings
+ tasks:
+ - name: Obtain router server self report
+ ignore_errors: yes
+ opdk_server_self:
+ server_type: 'router'
+ username: '{{ opdk_user_email }}'
+ password: '{{ opdk_user_pass }}'
+ - debug: var="edge_router_self"
+
+ - name: Obtain message processor server self report
+ ignore_errors: yes
+ opdk_server_self:
+ server_type: 'mp'
+ username: '{{ opdk_user_email }}'
+ password: '{{ opdk_user_pass }}'
+
+ - debug: var="edge_mp_self"
+
+
+- hosts: pg
+ serial: 1
+ vars_files:
+ - ~/.apigee/credentials.yml
+ roles:
+ - apigee-opdk-setup-default-settings
+ tasks:
+ - name: Obtain postgres server self report
+ ignore_errors: yes
+ opdk_server_self:
+ server_type: 'ps'
+ username: '{{ opdk_user_email }}'
+ password: '{{ opdk_user_pass }}'
+
+ - debug: var="edge_ps_self"
+
+
+- hosts: qpid
+ serial: 1
+ vars_files:
+ - ~/.apigee/credentials.yml
+ roles:
+ - apigee-opdk-setup-default-settings
+ tasks:
+ - name: Obtain qpid server self report
+ ignore_errors: yes
+ opdk_server_self:
+ server_type: 'qs'
+ username: '{{ opdk_user_email }}'
+ password: '{{ opdk_user_pass }}'
+
+ - debug: var="edge_qs_self"
+
+
+- hosts: ms
+ serial: 1
+ vars_files:
+ - ~/.apigee/credentials.yml
+ roles:
+ - apigee-opdk-setup-default-settings
+ tasks:
+ - name: Obtain management server self report
+ ignore_errors: yes
+ opdk_server_self:
+ server_type: 'ms'
+ username: '{{ opdk_user_email }}'
+ password: '{{ opdk_user_pass }}'
+
+ - debug: var="edge_ms_self"
+
diff --git a/validations/opdk-setup-log-files.yml b/validations/opdk-setup-log-files.yml
new file mode 100644
index 0000000..93fcd4d
--- /dev/null
+++ b/validations/opdk-setup-log-files.yml
@@ -0,0 +1,30 @@
+---
+- hosts: '{{ hosts }}'
+ become: true
+ strategy: free
+ roles:
+ - apigee-opdk-setup-default-settings
+ - { role: apigee-fetch-files, fetch_files: '{{ system_config_files }}', fetched_files_dir: '{{ fetched_configs_dir }}/{{ hosts }}/' }
+ tags:
+ - logs
+ - os-logs
+
+- hosts: '{{ hosts }}'
+ become: true
+ strategy: free
+ roles:
+ - apigee-opdk-setup-default-settings
+ - { role: apigee-fetch-files, fetch_files: '{{ apigee_log_files }}', fetched_files_dir: '{{ fetched_logs_dir }}/{{ hosts }}/' }
+ tags:
+ - logs
+ - apigee-logs
+
+- hosts: '{{ hosts }}'
+ become: true
+ strategy: free
+ roles:
+ - apigee-opdk-setup-default-settings
+ - { role: apigee-fetch-files, fetch_files: '{{ apigee_config_files }}', fetched_files_dir: '{{ fetched_configs_dir }}/{{ hosts }}/' }
+ tags:
+ - logs
+ - config-logs
diff --git a/validations/opdk-setup-status.yml b/validations/opdk-setup-status.yml
new file mode 100644
index 0000000..a5dff3e
--- /dev/null
+++ b/validations/opdk-setup-status.yml
@@ -0,0 +1,6 @@
+---
+- hosts: '{{ hosts }}'
+ roles:
+ - apigee-opdk-setup-status
+ tags:
+ - status
diff --git a/validations/opdk-setup-validate.yml b/validations/opdk-setup-validate.yml
new file mode 100644
index 0000000..861f295
--- /dev/null
+++ b/validations/opdk-setup-validate.yml
@@ -0,0 +1,16 @@
+---
+- hosts: '{{ hosts }}'
+ serial: 1
+ roles:
+ - apigee-opdk-setup-default-settings
+ - apigee-opdk-setup-validate
+ tags:
+ - validate
+
+- hosts: '{{ hosts }}'
+ serial: 1
+ roles:
+ - apigee-opdk-setup-default-settings
+ - apigee-opdk-setup-validate-cleanup
+ tags:
+ - validate-cleanup