Updated to apply pre-requisite to the planet separately from the installation of the component do 2 data centers
diff --git a/installations/dc2-expansion/README.md b/installations/dc2-expansion/README.md
new file mode 100644
index 0000000..24eb4e6
--- /dev/null
+++ b/installations/dc2-expansion/README.md
@@ -0,0 +1,27 @@
+Apigee OPDK Installation to add Second Data Center to an Existing Data Center
+=============================================================================
+
+# Ansible Roles
+
+The following ansible roles will be installed with the requirements.yml file:
+
+* [opdk-setup-apigee-user](https://github.com/carlosfrias/apigee-opdk-setup-apigee-user)
+* [opdk-setup-os-common](https://github.com/carlosfrias/apigee-opdk-setup-os-common)
+* [opdk-setup-os-ds](https://github.com/carlosfrias/apigee-opdk-setup-os-ds)
+* [opdk-setup-os-minimum](https://github.com/carlosfrias/apigee-opdk-setup-os-minimum)
+* [opdk-setup-default-settings](https://github.com/carlosfrias/apigee-opdk-setup-default-settings)
+* [opdk-time-sync](https://github.com/carlosfrias/apigee-opdk-time-sync)
+* [opdk-setup-openjdk](https://github.com/carlosfrias/apigee-opdk-setup-openjdk)
+* [opdk-setup-bootstrap](https://github.com/carlosfrias/apigee-opdk-setup-bootstrap)
+* [opdk-setup-silent-installation-config](https://github.com/carlosfrias/apigee-opdk-setup-silent-installation-config)
+* [opdk-setup-component](https://github.com/carlosfrias/apigee-opdk-setup-component)
+* [opdk-setup-component-installer](https://github.com/carlosfrias/apigee-opdk-setup-component-installer)
+* [opdk-setup-selinux-disable](https://github.com/carlosfrias/apigee-opdk-setup-selinux-disable)
+* [opdk-shutdown-iptables](https://github.com/carlosfrias/apigee-opdk-shutdown-iptables)
+* [opdk-setup-org-config](https://github.com/carlosfrias/apigee-opdk-setup-org-config)
+* [opdk-setup-org](https://github.com/carlosfrias/apigee-opdk-setup-org)
+* [opdk-setup-validate](https://github.com/carlosfrias/apigee-opdk-setup-validate)
+* [opdk-setup-validate-cleanup](https://github.com/carlosfrias/apigee-opdk-setup-validate-cleanup)
+* [opdk-setup-apigee-log-files](https://github.com/carlosfrias/apigee-opdk-setup-apigee-log-files)
+* [fetch-files](https://github.com/carlosfrias/apigee-fetch-files)
+
diff --git a/installations/dc2-expansion/clean.yml b/installations/dc2-expansion/clean.yml
new file mode 100644
index 0000000..5cf1303
--- /dev/null
+++ b/installations/dc2-expansion/clean.yml
@@ -0,0 +1,18 @@
+---
+- 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/edge-1601-dc3-dc4'
+    - '~/.ansible/tmp/edge-1601-dc3-dc4.log'
+    - '~/.apigee/ssh_keys'
+    - '~/.apigee/logs_configs/edge-1601-dc3-dc4/'
+
+
diff --git a/installations/dc2-expansion/components/opdk-cassandra-client-update.yml b/installations/dc2-expansion/components/opdk-cassandra-client-update.yml
new file mode 100644
index 0000000..461ecd9
--- /dev/null
+++ b/installations/dc2-expansion/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/installations/dc2-expansion/components/opdk-cassandra-rebuild.yml b/installations/dc2-expansion/components/opdk-cassandra-rebuild.yml
new file mode 100644
index 0000000..ac712e1
--- /dev/null
+++ b/installations/dc2-expansion/components/opdk-cassandra-rebuild.yml
@@ -0,0 +1,8 @@
+---
+- hosts: '{{ hosts }}'
+  vars:
+    opdk_region: dc-1
+  roles:
+  - apigee-opdk-cassandra-rebuild
+  tags:
+  - c-rebuild
diff --git a/installations/dc2-expansion/components/opdk-install-component.yml b/installations/dc2-expansion/components/opdk-install-component.yml
new file mode 100644
index 0000000..b2b370f
--- /dev/null
+++ b/installations/dc2-expansion/components/opdk-install-component.yml
@@ -0,0 +1,9 @@
+---
+- hosts: '{{ hosts }}'
+  serial: 1
+  roles:
+  - apigee-opdk-setup-default-settings
+  - { 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/installations/dc2-expansion/components/opdk-pre-requisites.yml b/installations/dc2-expansion/components/opdk-pre-requisites.yml
new file mode 100644
index 0000000..9071b44
--- /dev/null
+++ b/installations/dc2-expansion/components/opdk-pre-requisites.yml
@@ -0,0 +1,53 @@
+---
+- 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
+  - apigee-opdk-setup-component-installer
+#  - { role: apigee-fetch-files, fetch_files: '{{ apigee_config_files }}', fetched_files_dir: '{{ fetched_configs_dir }}' }
+  tags:
+  - apigee-pre-req
+  - apigee-installer
diff --git a/installations/dc2-expansion/components/opdk-setup-postgres-common.yml b/installations/dc2-expansion/components/opdk-setup-postgres-common.yml
new file mode 100644
index 0000000..ee339fb
--- /dev/null
+++ b/installations/dc2-expansion/components/opdk-setup-postgres-common.yml
@@ -0,0 +1,45 @@
+---
+- hosts: '{{ hosts }}'
+  strategy: free
+  vars_files:
+  - ~/.apigee/credentials.yml
+  roles:
+  - apigee-opdk-enable-swap
+  - apigee-opdk-setup-default-settings
+  - apigee-opdk-setup-os-postgres
+  tags:
+  - os-pre-req
+
+- hosts: '{{ hosts }}'
+  strategy: free
+  vars_files:
+  - ~/.apigee/credentials.yml
+  roles:
+  - apigee-opdk-setup-default-settings
+  - apigee-opdk-setup-postgres-config
+  tags:
+  - apigee-pre-req
+
+- include: opdk-install-component.yml
+  vars:
+    hosts: '{{ hosts }}'
+    component_profile: 'ps'
+  tags:
+  - apigee-component
+
+- include: 'opdk-setup-postgres-{{ pg_component }}.yml'
+  when: pg_component is defined
+  tags:
+  - apigee-component
+
+- 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/installations/dc2-expansion/components/opdk-setup-postgres-master.yml b/installations/dc2-expansion/components/opdk-setup-postgres-master.yml
new file mode 100644
index 0000000..1fa4f95
--- /dev/null
+++ b/installations/dc2-expansion/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/installations/dc2-expansion/components/opdk-setup-postgres-standby.yml b/installations/dc2-expansion/components/opdk-setup-postgres-standby.yml
new file mode 100644
index 0000000..a8dbba2
--- /dev/null
+++ b/installations/dc2-expansion/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/installations/dc2-expansion/configuration/load-opdk-credentials.yml b/installations/dc2-expansion/configuration/load-opdk-credentials.yml
new file mode 100644
index 0000000..afd76f6
--- /dev/null
+++ b/installations/dc2-expansion/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/installations/dc2-expansion/configuration/opdk-set-reachable.yml b/installations/dc2-expansion/configuration/opdk-set-reachable.yml
new file mode 100644
index 0000000..0a5eb9d
--- /dev/null
+++ b/installations/dc2-expansion/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/installations/dc2-expansion/configuration/opdk-setup-org-config.yml b/installations/dc2-expansion/configuration/opdk-setup-org-config.yml
new file mode 100644
index 0000000..6b2e672
--- /dev/null
+++ b/installations/dc2-expansion/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/installations/dc2-expansion/configuration/opdk-setup-org.yml b/installations/dc2-expansion/configuration/opdk-setup-org.yml
new file mode 100644
index 0000000..002ae70
--- /dev/null
+++ b/installations/dc2-expansion/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/installations/dc2-expansion/configuration/opdk-setup-os.yml b/installations/dc2-expansion/configuration/opdk-setup-os.yml
new file mode 100644
index 0000000..b0461fe
--- /dev/null
+++ b/installations/dc2-expansion/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/installations/dc2-expansion/configuration/update-user.yml b/installations/dc2-expansion/configuration/update-user.yml
new file mode 100644
index 0000000..0fb0e4e
--- /dev/null
+++ b/installations/dc2-expansion/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/installations/dc2-expansion/configuration/update_cache.yml b/installations/dc2-expansion/configuration/update_cache.yml
new file mode 100644
index 0000000..2a3b521
--- /dev/null
+++ b/installations/dc2-expansion/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/installations/dc2-expansion/installation-rollback.yml b/installations/dc2-expansion/installation-rollback.yml
new file mode 100644
index 0000000..971818d
--- /dev/null
+++ b/installations/dc2-expansion/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/installations/dc2-expansion/installation.yml b/installations/dc2-expansion/installation.yml
new file mode 100644
index 0000000..4012489
--- /dev/null
+++ b/installations/dc2-expansion/installation.yml
@@ -0,0 +1,311 @@
+---
+- include: configuration/update_cache.yml
+  tags:
+  - cache
+  - os-pre-req
+  - apigee-pre-req
+  - dc-1
+  - dc-2
+
+- include: configuration/load-opdk-credentials.yml
+  vars:
+    hosts: 'planet'
+  tags:
+  - credentials
+  - os-pre-req
+  - apigee-pre-req
+  - dc-1
+  - dc-2
+  - dc-1-validation
+  - dc-2-validation
+
+- include: configuration/opdk-setup-os.yml
+  vars:
+    hosts: 'planet'
+  tags:
+  - os
+  - os-pre-req
+  - dc-1
+  - dc-2
+
+- include: configuration/update-user.yml
+  vars:
+    hosts: 'planet'
+    user: 'root'
+  tags:
+  - root-user
+  - dc-1
+  - dc-2
+
+
+# Region 1
+- include: components/opdk-pre-requisites.yml
+  vars:
+    hosts: 'dc-1'
+    jdk_version: '1.8'
+  tags:
+  - apigee-pre-req
+  - dc-1
+
+- include: components/opdk-install-component.yml
+  vars:
+    hosts: 'dc-1-ds'
+    component_profile: 'ds'
+  tags:
+  - dc-1-ds
+  - dc-1
+
+- include: components/opdk-install-component.yml
+  vars:
+    hosts: 'dc-1-ms'
+    component_profile: 'ms'
+  tags:
+  - dc-1-ms
+  - dc-1
+
+- include: configuration/opdk-set-reachable.yml
+  vars:
+    hosts: 'dc-1-rmp'
+    reachability: 'false'
+  tags:
+  - dc-1-rmp
+  - dc-1
+
+- include: components/opdk-install-component.yml
+  vars:
+    hosts: 'dc-1-rmp'
+    component_profile: 'rmp'
+  tags:
+  - dc-1-rmp
+  - dc-1
+
+- include: configuration/opdk-set-reachable.yml
+  vars:
+    hosts: 'dc-1-rmp'
+    reachability: 'true'
+  tags:
+  - dc-1-rmp
+  - dc-1
+
+- include: components/opdk-install-component.yml
+  vars:
+    hosts: 'dc-1-qpid'
+    component_profile: 'qs'
+  tags:
+  - dc-1-qpid
+  - dc-1
+
+- include: components/opdk-setup-postgres-common.yml
+  vars:
+    hosts: 'dc-1-pgmaster'
+    pg_component: 'master'
+  tags:
+  - dc-1-pgmaster
+  - dc-1
+  - dc-1-pg
+
+- include: components/opdk-setup-postgres-common.yml
+  vars:
+    hosts: 'dc-1-pgstandby'
+    pg_component: 'standby'
+  tags:
+  - dc-1-pgstandby
+  - dc-1
+  - dc-1-pg
+
+- include: configuration/opdk-setup-org-config.yml
+  vars:
+    hosts: 'dc-1-ms'
+  tags:
+  - dc-1-org
+  - dc-1
+
+- include: configuration/opdk-setup-org.yml
+  vars:
+    hosts: 'dc-1-ms'
+  tags:
+  - dc-1-org
+  - dc-1
+
+- include: validations/opdk-setup-validate.yml
+  vars:
+    hosts: 'dc-1-rmp'
+  tags:
+  - dc-1-validation
+  - dc-1
+
+# Region 2
+- include: components/opdk-pre-requisites.yml
+  vars:
+    hosts: 'dc-2'
+    jdk_version: '1.8'
+    opdk_ldap_type: '2'
+  tags:
+  - apigee-pre-req
+  - dc-2
+
+- include: components/opdk-install-component.yml
+  vars:
+    hosts: 'dc-2-ds'
+    component_profile: 'ds'
+    jdk_version: '1.8'
+  tags:
+  - dc-2-ds
+  - dc-2
+
+- include: components/opdk-install-component.yml
+  vars:
+    hosts: 'dc-1-ds'
+    component_profile: 'ds'
+    jdk_version: '1.8'
+  tags:
+  - dc-2-ds
+  - dc-2
+
+- include: components/opdk-cassandra-client-update.yml
+  vars:
+     hosts: 'dc-1-ms'
+     jdk_version: '1.8'
+  tags:
+  - dc-2-ms
+  - dc-2
+
+- include: components/opdk-install-component.yml
+  vars:
+    hosts: 'dc-1-ms'
+    component_profile: 'ms'
+    jdk_version: '1.8'
+  tags:
+  - dc-2-ms
+  - dc-2
+
+- include: components/opdk-cassandra-rebuild.yml
+  vars:
+    hosts: 'dc-2-ds'
+    jdk_version: '1.8'
+  tags:
+  - dc-2-ms
+  - dc-2
+
+- include: components/opdk-install-component.yml
+  vars:
+    hosts: 'dc-2-ms'
+    component_profile: 'ms'
+    jdk_version: '1.8'
+  tags:
+  - dc-2-ms
+  - dc-2
+
+- include: configuration/opdk-set-reachable.yml
+  vars:
+    hosts: 'dc-2-rmp'
+    reachability: 'false'
+  tags:
+  - dc-2-rmp
+  - dc-2
+
+- include: components/opdk-install-component.yml
+  vars:
+    hosts: 'dc-2-rmp'
+    component_profile: 'rmp'
+    jdk_version: '1.8'
+  tags:
+  - dc-2-rmp
+  - dc-2
+
+- include: configuration/opdk-set-reachable.yml
+  vars:
+    hosts: 'dc-2-rmp'
+    reachability: 'true'
+  tags:
+  - dc-2-rmp
+  - dc-2
+
+- include: configuration/opdk-set-reachable.yml
+  vars:
+    hosts: 'dc-1-rmp'
+    reachability: 'false'
+  tags:
+  - dc-2-rmp
+  - dc-2
+
+- include: components/opdk-install-component.yml
+  vars:
+    hosts: 'dc-1-rmp'
+    component_profile: 'rmp'
+    jdk_version: '1.8'
+  tags:
+  - dc-2-rmp
+  - dc-2
+
+- include: configuration/opdk-set-reachable.yml
+  vars:
+    hosts: 'dc-1-rmp'
+    reachability: 'true'
+  tags:
+  - dc-2-rmp
+  - dc-2
+
+- include: components/opdk-install-component.yml
+  vars:
+    hosts: 'dc-2-qpid'
+    component_profile: 'qs'
+    jdk_version: '1.8'
+  tags:
+  - dc-2-qpid
+  - dc-2
+
+- include: components/opdk-setup-postgres-common.yml
+  vars:
+    hosts: 'dc-2-pgmaster'
+    pg_component: 'master'
+    jdk_version: '1.8'
+  tags:
+  - dc-2-pgmaster
+  - dc-2
+  - dc-2-pg
+
+- include: components/opdk-setup-postgres-common.yml
+  vars:
+    hosts: 'dc-2-pgstandby'
+    pg_component: 'standby'
+    jdk_version: '1.8'
+  tags:
+  - dc-2-pgstandby
+  - dc-2
+  - dc-2-pg
+
+- include: configuration/opdk-setup-org-config.yml
+  vars:
+    hosts: 'dc-2-ms'
+  tags:
+  - dc-2-org
+  - dc-2
+
+- include: configuration/opdk-setup-org.yml
+  vars:
+    hosts: 'dc-2-ms'
+  tags:
+  - dc-2-org
+  - dc-2
+
+- include: validations/opdk-setup-validate.yml
+  vars:
+    hosts: 'dc-2-rmp'
+  tags:
+  - dc-2-validation
+  - dc-2
+
+- 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
+  tags:
+  - logs
diff --git a/installations/dc2-expansion/requirements.yml b/installations/dc2-expansion/requirements.yml
new file mode 100644
index 0000000..181d698
--- /dev/null
+++ b/installations/dc2-expansion/requirements.yml
@@ -0,0 +1,78 @@
+---
+- src: https://github.com/carlosfrias/apigee-opdk-setup-apigee-user
+
+- src: https://github.com/carlosfrias/apigee-opdk-setup-os-common
+
+- src: https://github.com/carlosfrias/apigee-opdk-setup-os-limits
+
+- src: https://github.com/carlosfrias/apigee-opdk-setup-os-minimum
+
+- src: https://github.com/carlosfrias/apigee-opdk-setup-default-settings
+
+- src: https://github.com/carlosfrias/apigee-opdk-time-sync
+
+- src: https://github.com/carlosfrias/apigee-opdk-setup-openjdk
+
+- src: https://github.com/carlosfrias/apigee-opdk-setup-bootstrap
+
+- src: https://github.com/carlosfrias/apigee-opdk-setup-silent-installation-config
+
+- src: https://github.com/carlosfrias/apigee-opdk-setup-component
+
+- src: https://github.com/carlosfrias/apigee-opdk-set-reachable
+
+- src: https://github.com/carlosfrias/apigee-opdk-setup-component-installer
+
+- src: https://github.com/carlosfrias/apigee-opdk-setup-selinux-disable
+
+- src: https://github.com/carlosfrias/apigee-opdk-shutdown-iptables
+
+- src: https://github.com/carlosfrias/apigee-opdk-setup-org-config
+
+- src: https://github.com/carlosfrias/apigee-opdk-setup-org
+
+- src: https://github.com/carlosfrias/apigee-opdk-setup-validate
+
+- src: https://github.com/carlosfrias/apigee-opdk-setup-validate-cleanup
+
+- src: https://github.com/carlosfrias/apigee-opdk-setup-apigee-log-files
+
+- src: https://github.com/carlosfrias/apigee-fetch-files
+
+- src: https://github.com/carlosfrias/apigee-opdk-setup-postgres-config
+
+- src: https://github.com/carlosfrias/apigee-opdk-setup-postgres-master
+
+- src: https://github.com/carlosfrias/apigee-opdk-setup-postgres-standby
+
+- src: https://github.com/carlosfrias/apigee-opdk-setup-os-postgres
+
+- src: https://github.com/carlosfrias/apigee-opdk-setup-status
+
+- src: https://github.com/carlosfrias/apigee-opdk-setup-bootstrap-rollback
+
+- src: https://github.com/carlosfrias/apigee-internal-port-connectivity-validator-mp
+
+- src: https://github.com/carlosfrias/apigee-internal-port-connectivity-validator-ldap
+
+- src: https://github.com/carlosfrias/apigee-internal-port-connectivity-validator-cassandra
+
+- src: https://github.com/carlosfrias/apigee-internal-port-connectivity-validator-zookeeper
+
+- src: https://github.com/carlosfrias/apigee-internal-port-connectivity-validator-ms
+
+- src: https://github.com/carlosfrias/apigee-internal-port-connectivity-validator-postgres
+
+- src: https://github.com/carlosfrias/apigee-internal-port-connectivity-validator-router
+
+- src: https://github.com/carlosfrias/apigee-internal-port-connectivity-validator-qpid
+
+- src: https://github.com/carlosfrias/apigee-internal-port-connectivity-validator-ui
+
+- src: https://github.com/carlosfrias/apigee-opdk-enable-swap
+
+- src: https://github.com/carlosfrias/apigee-opdk-cassandra-rebuild
+
+- src: https://github.com/carlosfrias/apigee-opdk-cassandra-client-update
+
+- src: https://github.com/carlosfrias/apigee-opdk-start-components.git
diff --git a/installations/dc2-expansion/validations/opdk-internal-port-connectivity-validator.yml b/installations/dc2-expansion/validations/opdk-internal-port-connectivity-validator.yml
new file mode 100644
index 0000000..0e5d7bc
--- /dev/null
+++ b/installations/dc2-expansion/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/installations/dc2-expansion/validations/opdk-server-self.yml b/installations/dc2-expansion/validations/opdk-server-self.yml
new file mode 100644
index 0000000..c95adcf
--- /dev/null
+++ b/installations/dc2-expansion/validations/opdk-server-self.yml
@@ -0,0 +1,68 @@
+---
+- hosts: rmp
+  serial: 1
+  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
+  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
+  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
+  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/installations/dc2-expansion/validations/opdk-setup-log-files.yml b/installations/dc2-expansion/validations/opdk-setup-log-files.yml
new file mode 100644
index 0000000..aadeb2f
--- /dev/null
+++ b/installations/dc2-expansion/validations/opdk-setup-log-files.yml
@@ -0,0 +1,30 @@
+---
+- hosts: planet
+  become: true
+  strategy: free
+  roles:
+  - apigee-opdk-setup-default-settings
+  - { role: apigee-fetch-files, fetch_files: '{{ system_config_files }}', fetched_files_dir: "~/.apigee/logs_configs/edge-1601-dc3-dc4/" }
+  tags:
+  - logs
+  - os-logs
+
+- hosts: planet
+  become: true
+  strategy: free
+  roles:
+  - apigee-opdk-setup-default-settings
+  - { role: apigee-fetch-files, fetch_files: '{{ apigee_log_files }}', fetched_files_dir: "~/.apigee/logs_configs/edge-1601-dc3-dc4/" }
+  tags:
+  - logs
+  - apigee-logs
+
+- hosts: planet
+  become: true
+  strategy: free
+  roles:
+  - apigee-opdk-setup-default-settings
+  - { role: apigee-fetch-files, fetch_files: '{{ apigee_config_files }}', fetched_files_dir: "~/.apigee/logs_configs/edge-1601-dc3-dc4/" }
+  tags:
+  - logs
+  - config-logs
diff --git a/installations/dc2-expansion/validations/opdk-setup-status.yml b/installations/dc2-expansion/validations/opdk-setup-status.yml
new file mode 100644
index 0000000..a5dff3e
--- /dev/null
+++ b/installations/dc2-expansion/validations/opdk-setup-status.yml
@@ -0,0 +1,6 @@
+---
+- hosts: '{{ hosts }}'
+  roles:
+  - apigee-opdk-setup-status
+  tags:
+  - status
diff --git a/installations/dc2-expansion/validations/opdk-setup-validate.yml b/installations/dc2-expansion/validations/opdk-setup-validate.yml
new file mode 100644
index 0000000..861f295
--- /dev/null
+++ b/installations/dc2-expansion/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