completed implementation so that the scripts leaves edgemicro is running with the key and secret passed to edge during configuration.
diff --git a/component/microgateway-setup.yml b/component/microgateway-setup.yml
new file mode 100644
index 0000000..f498db3
--- /dev/null
+++ b/component/microgateway-setup.yml
@@ -0,0 +1,83 @@
+---
+- hosts: micro
+ vars:
+ config_output: '/tmp/edgemicro_config_output.txt'
+ vars_files:
+ - ~/.apigee/credentials.yml
+ roles:
+ - apigee-opdk-setup-default-settings
+ tasks:
+
+ - name: Init edgemicro
+ become: no
+ shell: 'edgemicro init'
+ args:
+ chdir: '~'
+ tags:
+ - apigee-pre-req
+
+ - block:
+
+ - name: Get router public IP address
+ set_fact:
+ router_ip: "{{ hostvars[groups['rmp'][0]]['public_address'] }}"
+ tags:
+ - apigee-component
+
+ - name: Configure edgemicro on private
+ become: no
+ delegate_to: '{{ inventory_hostname }}'
+ shell: edgemicro private configure -m http://{{ local_mgmt_ip }}:8080 -r http://{{ router_ip }}:9001 -o {{ org_name }} -e {{ env_name }} -u {{ opdk_user_email }} -p {{ opdk_user_pass }} -v default
+ args:
+ chdir: '~'
+ tags:
+ - apigee-component
+ register: config_private
+ when: edgemicro_private is defined and edgemicro_private | bool
+
+ - block:
+# TODO: This block needs to be tested
+ - name: Configure edgemicro on private
+ become: no
+ delegate_to: '{{ inventory_hostname }}'
+ shell: edgemicro configure -o {{ org_name }} -e {{ env_name }} -u {{ opdk_user_email }} -p {{ opdk_user_pass }} -v default
+ args:
+ chdir: '~'
+ tags:
+ - apigee-component
+ register: config_public
+
+ when: edgemicro_private is not defined or not edgemicro_private | bool
+
+ - name: Report config data
+ debug:
+ var: config_private.stdout_lines
+
+ - copy :
+ content: "{{ config_private.stdout }}"
+ dest: '{{ config_output }}'
+
+ - name: Capture key
+ shell: "awk '/key:/ { print $2 }' {{ config_output }}"
+ register: key
+
+ - name: Capture secret
+ shell: "awk '/secret:/ { print $2 }' {{ config_output }}"
+ register: secret
+
+ - name: Cache edgemicro key
+ cache:
+ key: 'edgemicro_key'
+ value: '{{ key.stdout }}'
+
+ - name: Cache edgemicro secret
+ cache:
+ key: 'edgemicro_secret'
+ value: '{{ secret.stdout }}'
+
+ - name: Start edgemicro
+ shell: edgemicro start -o {{ org_name }} -e {{ env_name }} -k {{ edgemicro_key }} -s {{ edgemicro_secret }}
+ args:
+ chdir: '~'
+ async: 5
+ poll: 0
diff --git a/configuration/opdk-setup-os.yml b/configuration/opdk-setup-os.yml
new file mode 100644
index 0000000..0e9394a
--- /dev/null
+++ b/configuration/opdk-setup-os.yml
@@ -0,0 +1,59 @@
+---
+- hosts: micro
+ become: yes
+ vars_files:
+ - ~/.apigee/credentials.yml
+ roles:
+ - apigee-opdk-setup-os-minimum
+ - apigee-opdk-setup-os-common
+
+
+ tasks:
+ - name: Install needed Python used for downloading files with https
+ pip:
+ name: '{{ item }}'
+ state: present
+ with_items:
+ - urllib3
+ - pyopenssl
+ - ndg-httpsclient
+ - pyasn1
+ tags:
+ - os-pre-req
+
+ - name: Download Node 6.x package manager configuration script
+ get_url:
+ url: https://rpm.nodesource.com/setup_6.x
+ dest: /tmp/setup_node.sh
+ mode: 0700
+ tags:
+ - os-pre-req
+
+
+ - name: Setup Node 6.x package manager
+ shell: "/tmp/setup_node.sh"
+ tags:
+ - os-pre-req
+
+ - name: Install Yum packages
+ yum:
+ name: '{{ item }}'
+ state: present
+ with_items:
+ - nodejs
+ - gcc-c++
+ - make
+ tags:
+ - os-pre-req
+
+ - name: Install edgemicro
+ npm:
+ name: '{{ item.name }}'
+ version: '{{ item.version }}'
+ path: '~'
+ global: true
+ state: present
+ with_items:
+ - { name: edgemicro, version: '2.1.1' }
+ tags:
+ - os-pre-req
diff --git a/configuration/update-cache.yml b/configuration/update-cache.yml
new file mode 100644
index 0000000..56c4d88
--- /dev/null
+++ b/configuration/update-cache.yml
@@ -0,0 +1,10 @@
+---
+- hosts: planet,micro
+ vars_files:
+ - ~/.apigee/credentials.yml
+ roles:
+ - apigee-opdk-setup-default-settings
+ tags:
+ - cache
+ - os-pre-req
+ - apigee-pre-req
diff --git a/installation.yml b/installation.yml
index 8598c32..c94806f 100644
--- a/installation.yml
+++ b/installation.yml
@@ -1,115 +1,6 @@
---
-- hosts: planet,micro
- vars_files:
- - ~/.apigee/credentials.yml
- roles:
- - apigee-opdk-setup-default-settings
- tags:
- - cache
- - os-pre-req
- - apigee-pre-req
+- include: configuration/update-cache.yml
-- hosts: micro
- become: yes
- vars_files:
- - ~/.apigee/credentials.yml
- roles:
- - apigee-opdk-setup-os-minimum
- - apigee-opdk-setup-os-common
+- include: configuration/opdk-setup-os.yml
- tasks:
- - name: Install needed Python used for downloading files with https
- pip:
- name: '{{ item }}'
- state: present
- with_items:
- - urllib3
- - pyopenssl
- - ndg-httpsclient
- - pyasn1
- tags:
- - os-pre-req
-
- - name: Download Node 6.x package manager configuration script
- get_url:
- url: https://rpm.nodesource.com/setup_6.x
- dest: /tmp/setup_node.sh
- mode: 0700
- tags:
- - os-pre-req
-
-
- - name: Setup Node 6.x package manager
- shell: "/tmp/setup_node.sh"
- tags:
- - os-pre-req
-
- - name: Install Yum packages
- yum:
- name: '{{ item }}'
- state: present
- with_items:
- - nodejs
- - gcc-c++
- - make
- tags:
- - os-pre-req
-
- - name: Install edgemicro
- npm:
- name: '{{ item.name }}'
- version: '{{ item.version }}'
- path: '~'
- global: true
- state: present
- with_items:
- - { name: edgemicro, version: '2.1.1' }
- tags:
- - os-pre-req
-
-- hosts: micro
- become: true
- vars_files:
- - ~/.apigee/credentials.yml
- roles:
- - apigee-opdk-setup-default-settings
- tasks:
-
- - name: Init edgemicro
- shell: 'edgemicro init'
- args:
- chdir: '~'
- tags:
- - apigee-pre-req
-
- - block:
-
- - name: Get router public IP address
- set_fact:
- router_ip: "{{ hostvars[groups['rmp'][0]]['public_address'] }}"
- tags:
- - apigee-component
-
- - name: Configure edgemicro on private
- become: true
- delegate_to: '{{ inventory_hostname }}'
- shell: edgemicro private configure -m http://{{ local_mgmt_ip }}:8080 -r http://{{ router_ip }}:9001 -o {{ org_name }} -e {{ env_name }} -u {{ opdk_user_email }} -p {{ opdk_user_pass }} -v default
- args:
- chdir: '~'
- tags:
- - apigee-component
- # TODO: This when clause needs to be tested.
- when: edgemicro_private is defined and edgemicro_private | bool
-
- - block:
-# TODO: This block needs to be tested
- - name: Configure edgemicro on private
- become: true
- delegate_to: '{{ inventory_hostname }}'
- shell: edgemicro configure -o {{ org_name }} -e {{ env_name }} -u {{ opdk_user_email }} -p {{ opdk_user_pass }} -v default
- args:
- chdir: '~'
- tags:
- - apigee-component
-
- when: edgemicro_private is not defined or not edgemicro_private | bool
\ No newline at end of file
+- include: component/microgateway-setup.yml