added mirror installation
diff --git a/clean.yml b/clean.yml
index 72ff1ad..489da83 100644
--- a/clean.yml
+++ b/clean.yml
@@ -1,17 +1,20 @@
 ---
 - hosts: localhost
   connection: local
-
   tasks:
-  - name: Remove .ansible_cache
+  - name: Clean files
+    async: 0
+    poll: 0
+    ignore_errors: yes
     file:
       path: '{{ item }}'
       state: absent
-      force: yes
     with_items:
     - '~/.ansible/tmp/cache'
     - '~/.ansible/tmp/ansible.log'
-    - 'ssh_keys'
-    - 'configs_and_logs'
-    - 'rpm_resources'
+    - '~/.apigee/ssh_keys'
+    - '~/.apigee/logs'
+    - '~/.apigee/configs'
+    - '~/.apigee/logs_configs'
+
 
diff --git a/components/apigee-mirror.yml b/components/apigee-mirror.yml
new file mode 100644
index 0000000..a847dfc
--- /dev/null
+++ b/components/apigee-mirror.yml
@@ -0,0 +1,37 @@
+---
+- hosts: mirror
+
+  vars:
+    mirror_file: /opt/apigee/customer/application/mirror.properties
+
+  tasks:
+  - name: Install mirror server
+    shell: /opt/apigee/apigee-service/bin/apigee-service apigee-mirror nginxconfig
+
+  - name: Create mirror.properties
+    file:
+      path: '{{ mirror_file }}'
+      state: touch
+      owner: apigee
+      group: apigee
+
+  - name: Add line
+    lineinfile:
+      dest: '{{ mirror_file }}'
+      line: '{{ item }}'
+    with_items:
+    - conf_apigee_mirror_listen_port=3939
+    - conf_apigee_mirror_server_name=localhost
+
+  - name: Nginx restart
+    shell: /opt/nginx/scripts/apigee-nginx restart
+
+  - name: Add nginx credentials
+    lineinfile:
+      backrefs: yes
+      dest: /etc/environment
+      regexp: "({{ item.attribute }}).*"
+      line: '{{ item.attribute }}{{ item.value }}'
+    with_items:
+    - { attribute: 'export MIRROR_USERNAME=', value: 'admin' }
+    - { attribute: 'export MIRROR_PASSWORD=', value: 'admin'}
diff --git a/components/opdk-apigee-mirror.yml b/components/opdk-apigee-mirror.yml
new file mode 100644
index 0000000..4c3a366
--- /dev/null
+++ b/components/opdk-apigee-mirror.yml
@@ -0,0 +1,16 @@
+---
+- hosts: '{{ hosts }}'
+  vars_files:
+  - ~/.apigee/credentials.yml
+  roles:
+  - apigee-opdk-setup-bootstrap-create-archive
+  tags:
+  - create-archive
+
+- hosts: '{{ hosts }}'
+  vars_files:
+  - ~/.apigee/credentials.yml
+  roles:
+  - apigee-opdk-setup-bootstrap-download-archive
+  tags:
+  - download-archive
diff --git a/components/opdk-create-download-apigee-mirror.yml b/components/opdk-create-download-apigee-mirror.yml
deleted file mode 100644
index 0844a2d..0000000
--- a/components/opdk-create-download-apigee-mirror.yml
+++ /dev/null
@@ -1,56 +0,0 @@
----
-- hosts: '{{ hosts }}'
-  vars_files:
-  - ~/.apigee/credentials.yml
-  roles:
-  - apigee-opdk-setup-apigee-user
-  tags:
-  - user
-
-- hosts: '{{ hosts }}'
-  vars_files:
-  - ~/.apigee/credentials.yml
-  roles:
-  - apigee-opdk-setup-os-limits
-  tags:
-  - os
-
-- hosts: '{{ hosts }}'
-  roles:
-  - apigee-opdk-setup-openjdk
-  tags:
-  - openjdk
-
-- hosts: '{{ hosts }}'
-  vars_files:
-  - ~/.apigee/credentials.yml
-  roles:
-  - apigee-opdk-setup-bootstrap
-  tags:
-  - bootstrap
-
-- hosts: '{{ hosts }}'
-  vars_files:
-  - ~/.apigee/credentials.yml
-  roles:
-  - apigee-opdk-setup-silent-installation-config
-  - apigee-opdk-setup-component-installer
-  tags:
-  - installer
-
-- hosts: '{{ hosts }}'
-  vars_files:
-  - ~/.apigee/credentials.yml
-  roles:
-  - apigee-opdk-setup-bootstrap-create-archive
-  tags:
-  - create
-
-- hosts: '{{ hosts }}'
-  vars_files:
-  - ~/.apigee/credentials.yml
-  roles:
-  - apigee-opdk-setup-bootstrap-download-archive
-  tags:
-  - download
-
diff --git a/components/opdk-pre-requisites.yml b/components/opdk-pre-requisites.yml
new file mode 100644
index 0000000..ab3dea0
--- /dev/null
+++ b/components/opdk-pre-requisites.yml
@@ -0,0 +1,40 @@
+---
+- 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
+  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
diff --git a/components/opdk-upload-install-apigee-mirror.yml b/components/opdk-upload-apigee-mirror-archive.yml
similarity index 100%
rename from components/opdk-upload-install-apigee-mirror.yml
rename to components/opdk-upload-apigee-mirror-archive.yml
diff --git a/configuration/opdk-setup-os.yml b/configuration/opdk-setup-os.yml
index b0461fe..7cff5a8 100644
--- a/configuration/opdk-setup-os.yml
+++ b/configuration/opdk-setup-os.yml
@@ -12,4 +12,3 @@
   - apigee-opdk-shutdown-iptables
   - apigee-opdk-time-sync
   - apigee-opdk-setup-os-common
-
diff --git a/configuration/update_cache.yml b/configuration/update_cache.yml
new file mode 100644
index 0000000..754e9e4
--- /dev/null
+++ b/configuration/update_cache.yml
@@ -0,0 +1,11 @@
+---
+- 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/create_download_apigee_mirror.yml b/create_download_apigee_mirror.yml
deleted file mode 100644
index ab9e91a..0000000
--- a/create_download_apigee_mirror.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-- include: configuration/opdk-setup-os.yml
-  vars:
-    hosts: 'planet'
-  tags:
-  - os
-
-- include: configuration/update-user.yml
-  vars:
-    hosts: 'planet'
-    user: 'root'
-  tags:
-  - user
-
-- include: components/opdk-create-download-apigee-mirror.yml
-  vars:
-    hosts: 'planet[0]'
-    jdk_version: '1.8'
-  tags:
-  - create_download
-
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..d2ccb01
--- /dev/null
+++ b/installation.yml
@@ -0,0 +1,49 @@
+---
+- include: configuration/update_cache.yml
+  tags:
+  - cache
+  - os-pre-req
+  - apigee-pre-req
+
+- include: configuration/load-opdk-credentials.yml
+  vars:
+    hosts: 'mirror'
+  tags:
+  - credentials
+  - os-pre-req
+  - apigee-pre-req
+
+- include: configuration/opdk-setup-os.yml
+  vars:
+    hosts: 'mirror'
+  tags:
+  - os
+  - os-pre-req
+
+- include: configuration/update-user.yml
+  vars:
+    hosts: 'mirror'
+    user: 'root'
+  tags:
+  - root-user
+
+- include: components/opdk-pre-requisites.yml
+  vars:
+    hosts: 'mirror'
+    jdk_version: '1.8'
+  tags:
+  - apigee-pre-req
+
+- include: components/opdk-apigee-mirror.yml
+  vars:
+    hosts: 'mirror'
+  tags:
+  - apigee-archive
+
+- include: components/opdk-upload-apigee-mirror-archive.yml
+  vars:
+    hosts: 'mirror'
+  tags:
+  - upload-archive
+
+- include: components/apigee-mirror.yml
diff --git a/requirements.yml b/requirements.yml
index 6d819cf..0a5d13f 100644
--- a/requirements.yml
+++ b/requirements.yml
@@ -1,60 +1,54 @@
 ---
-- src: https://github.com/carlosfrias/apigee-opdk-setup-default-settings
-  name: apigee-opdk-setup-default-settings
-
-- src: https://github.com/carlosfrias/apigee-opdk-setup-bootstrap-create-archive
-  name: apigee-opdk-setup-bootstrap-create-archive
-
-- src: https://github.com/carlosfrias/apigee-opdk-setup-os-minimum
-  name: apigee-opdk-setup-os-minimum
-
-- src: https://github.com/carlosfrias/apigee-opdk-setup-default-settings
-  name: apigee-opdk-setup-default-settings
-
-- src: https://github.com/carlosfrias/apigee-opdk-time-sync
-  name: apigee-opdk-time-sync
+- src: https://github.com/carlosfrias/apigee-opdk-setup-apigee-user
 
 - src: https://github.com/carlosfrias/apigee-opdk-setup-os-common
-  name: apigee-opdk-setup-os-common
-
-- src: https://github.com/carlosfrias/apigee-opdk-setup-apigee-user
-  name: apigee-opdk-setup-apigee-user
 
 - src: https://github.com/carlosfrias/apigee-opdk-setup-os-limits
-  name: apigee-opdk-setup-os-limits
 
-- src: https://github.com/carlosfrias/apigee-opdk-setup-selinux-disable
-  name: apigee-opdk-setup-selinux-disable
+- 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
-  name: apigee-opdk-setup-openjdk
 
 - src: https://github.com/carlosfrias/apigee-opdk-setup-bootstrap
-  name: apigee-opdk-setup-bootstrap
 
-- src: https://github.com/carlosfrias/apigee-opdk-setup-bootstrap-rollback
-  name: apigee-opdk-setup-bootstrap-rollback
-
-- src: https://github.com/carlosfrias/apigee-opdk-setup-bootstrap-upload-archive
-  name: apigee-opdk-setup-bootstrap-upload-archive
-
-- src: https://github.com/carlosfrias/apigee-opdk-setup-bootstrap-archive-installer
-  name: apigee-opdk-setup-bootstrap-archive-installer
-
-- src: https://github.com/carlosfrias/apigee-opdk-setup-bootstrap-upload-archive
-  name: apigee-opdk-setup-bootstrap-archive-installer
-
-- src: https://github.com/carlosfrias/apigee-opdk-setup-bootstrap-archive-installer
-  name: apigee-opdk-setup-bootstrap-archive-installer
-
-- src: https://github.com/carlosfrias/apigee-opdk-setup-silent-installation-config
-  name: apigee-opdk-setup-silent-installation-config
-
-- src: https://github.com/carlosfrias/apigee-opdk-setup-component-installer
-  name: apigee-opdk-setup-component-installer
-
-- src: https://github.com/carlosfrias/apigee-opdk-shutdown-iptables
-  name: apigee-opdk-shutdown-iptables
+- src: https://github.com/carlosfrias/apigee-opdk-setup-bootstrap-create-archive
 
 - src: https://github.com/carlosfrias/apigee-opdk-setup-bootstrap-download-archive
-  name: apigee-opdk-setup-bootstrap-download-archive
+
+- src: https://github.com/carlosfrias/apigee-opdk-setup-bootstrap-upload-archive
+
+- src: https://github.com/carlosfrias/apigee-opdk-setup-bootstrap-archive-installer
+
+- 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-fetch-files
+
+- 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-opdk-start-component
+
+- src: https://github.com/carlosfrias/apigee-opdk-stop-components
+
+- src: https://github.com/carlosfrias/apigee-opdk-backup
+
+- src: https://github.com/carlosfrias/apigee-opdk-restore
+
+- src: https://github.com/carlosfrias/apigee-opdk-server-self.git
+
+- src: https://github.com/carlosfrias/apigee-opdk-aws-setup.git
diff --git a/upload_install_apigee_mirror.yml b/upload_install_apigee_mirror.yml
deleted file mode 100644
index 3b024c6..0000000
--- a/upload_install_apigee_mirror.yml
+++ /dev/null
@@ -1,12 +0,0 @@
----
-- include: configuration/load-opdk-credentials.yml
-  vars:
-    hosts: 'planet'
-
-- include: components/opdk-upload-install-apigee-mirror.yml
-  vars:
-    hosts: 'planet'
-    jdk_version: '1.8'
-  tags:
-  - upload_install
-