markusthoemmes commented on a change in pull request #2248: Make invoker be 
scaled-out via ansible. (#2247)
URL: 
https://github.com/apache/incubator-openwhisk/pull/2248#discussion_r116684813
 
 

 ##########
 File path: ansible/roles/invoker/tasks/deploy.yml
 ##########
 @@ -31,6 +31,24 @@
     linuxOptions: "-v 
/usr/lib/x86_64-linux-gnu/libapparmor.so.1:/usr/lib/x86_64-linux-gnu/libapparmor.so.1"
   when: whisk_version_name != "mac"
 
+- name: get running invoker information
+  shell: >
+        curl -Gs http://{{ inventory_hostname }}:{{ docker.port 
}}/containers/json --data-urlencode 'filters={"name":[ "invoker" ]}'
+  register: results
+
+- name: register invoker infomation from curl results
+  set_fact: invokerInfo="{{results.stdout|from_json}}"
+
+- name: determine if more than one invokers are running
+  fail: msg="more than one invokers are running"
+  with_items: {invokerInfo.stdout_lines}
+  when: "{{ invokerInfo|length > 1 }}"
+
+- name: determine if index of invoker is same with index of inventory host
+  fail: msg="invoker index is invalid {{item.Names}} 
/invoker{{play_hosts.index(inventory_hostname)}}"
+  with_items: "{{ invokerInfo }}"
+  when: '"{{ item.Names[0] }}" != 
"/invoker{{play_hosts.index(inventory_hostname)}}"'
 
 Review comment:
   Are all those steps necessary? They also fail the build if there are 
invokers already running, doesn't that defeat the purpose of the PR?
   
   Could we not filter on the exact invoker name, including index above and 
then not deploy again if its already running?
 
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to