)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"1787b9096a55ce54f367dc5d8caebd29dc05d855","unresolved":false,"context_lines":[{"line_number":13,"context_line":"DocImpact"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"Change-Id: If5f288b7fbdf269697ca834da4eb969b61683ca0"},{"line_number":16,"context_line":"Implements: blueprint precheck-tasks"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":19,"id":"da85f559_615c02ee","line":16,"updated":"2015-11-13 12:22:28.000000000","message":"On second thought this should probably be partially-implements because we still need to do all the config variable checking, but not work a new commit all by itself","commit_id":"99d6d44b6c22e9b14899b95aaef81c251f72d927"}],"ansible/prechecks.yml":[{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"7090f72afd32144af1f50f48bbe77f05b84c72e6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- hosts: all"},{"line_number":3,"context_line":"  roles:"},{"line_number":4,"context_line":"    - prechecks"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"da85f559_1a1958d7","line":3,"updated":"2015-11-11 14:57:35.000000000","message":"Shall we distinguish the role for different groups? For example, on database node, we examine the port 3306; for compute node, we do not need to.","commit_id":"96287d173252503ef41590b1109864f9052b8d68"},{"author":{"_account_id":13671,"name":"Vladislav Belogrudov","email":"v.belogrudov@yadro.com","username":"vb"},"change_message_id":"5604a0bd6ac7731fe716b542c37f1f67fbc1bac4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- hosts: all"},{"line_number":3,"context_line":"  roles:"},{"line_number":4,"context_line":"    - prechecks"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"da85f559_b5061f1a","line":3,"in_reply_to":"da85f559_1a1958d7","updated":"2015-11-11 15:01:50.000000000","message":"\"prechecks\" role runs for all nodes. Fine-grained diffs of host groups are inside of tasks, e.g. task will query \u0027mariadb\u0027 and \u0027haproxy\u0027 hosts.","commit_id":"96287d173252503ef41590b1109864f9052b8d68"}],"ansible/roles/precheck/tasks/main.yml":[{"author":{"_account_id":14027,"name":"Michal Rostecki","email":"mrostecki@suse.de","username":"mrostecki"},"change_message_id":"29ab74c4d516f9d859a29f521426f9451c655fce","unresolved":false,"context_lines":[{"line_number":25,"context_line":"  service: name\u003discsid state\u003dstopped enabled\u003dno"},{"line_number":26,"context_line":"  when: inventory_hostname in groups[\u0027compute\u0027]"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"# vbel: enable when cinder is fixed"},{"line_number":29,"context_line":"#- name: Check cinder-volumes VG exists if necessary"},{"line_number":30,"context_line":"#  command: vgs cinder-volumes"},{"line_number":31,"context_line":"#  when: inventory_hostname in groups[\u0027cinder-volume\u0027]"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"1a26ad4f_39cffeb1","line":28,"updated":"2015-10-28 11:56:38.000000000","message":"vbel -\u003e TODO(vbel)","commit_id":"35133c3cd9fda0f5db17d561ff2a6f6871552cf9"},{"author":{"_account_id":13671,"name":"Vladislav Belogrudov","email":"v.belogrudov@yadro.com","username":"vb"},"change_message_id":"3201fb7a1b46645cc222aef03fee7be915a08054","unresolved":false,"context_lines":[{"line_number":25,"context_line":"  service: name\u003discsid state\u003dstopped enabled\u003dno"},{"line_number":26,"context_line":"  when: inventory_hostname in groups[\u0027compute\u0027]"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"# vbel: enable when cinder is fixed"},{"line_number":29,"context_line":"#- name: Check cinder-volumes VG exists if necessary"},{"line_number":30,"context_line":"#  command: vgs cinder-volumes"},{"line_number":31,"context_line":"#  when: inventory_hostname in groups[\u0027cinder-volume\u0027]"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"1a26ad4f_19dd6242","line":28,"in_reply_to":"1a26ad4f_39cffeb1","updated":"2015-10-28 12:00:21.000000000","message":"Done","commit_id":"35133c3cd9fda0f5db17d561ff2a6f6871552cf9"},{"author":{"_account_id":17386,"name":"Steve Noyes","email":"steve.noyes@oracle.com","username":"ssn1ssn"},"change_message_id":"fdb0959c2fe25dc4d1f7b147dbc0f279f4110f47","unresolved":false,"context_lines":[{"line_number":9,"context_line":"- name: Ensuring http server is not running on controllers"},{"line_number":10,"context_line":"  service: name\u003d{{ \u0027httpd\u0027 if ansible_os_family \u003d\u003d \u0027RedHat\u0027 else \u0027apache2\u0027 }}"},{"line_number":11,"context_line":"           state\u003dstopped enabled\u003dno"},{"line_number":12,"context_line":"  when: inventory_hostname in groups[\u0027control\u0027]"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"- name: Ensuring mysql server is not running on controllers"},{"line_number":15,"context_line":"  service: name\u003dmysqld state\u003dstopped enabled\u003dno"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"1a26ad4f_cad86a20","line":12,"updated":"2015-10-28 13:45:59.000000000","message":"the \u0027control; group may not always exist.","commit_id":"2af8c9adadd645fb341cc2fd736fcbcbc2715dce"},{"author":{"_account_id":13671,"name":"Vladislav Belogrudov","email":"v.belogrudov@yadro.com","username":"vb"},"change_message_id":"31e43df3f1ac2d4f8d257b6b0fb0c2dd1d006e52","unresolved":false,"context_lines":[{"line_number":9,"context_line":"- name: Ensuring http server is not running on controllers"},{"line_number":10,"context_line":"  service: name\u003d{{ \u0027httpd\u0027 if ansible_os_family \u003d\u003d \u0027RedHat\u0027 else \u0027apache2\u0027 }}"},{"line_number":11,"context_line":"           state\u003dstopped enabled\u003dno"},{"line_number":12,"context_line":"  when: inventory_hostname in groups[\u0027control\u0027]"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"- name: Ensuring mysql server is not running on controllers"},{"line_number":15,"context_line":"  service: name\u003dmysqld state\u003dstopped enabled\u003dno"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"1a26ad4f_4c69d5bd","line":12,"in_reply_to":"1a26ad4f_cad86a20","updated":"2015-10-28 14:58:37.000000000","message":"Done","commit_id":"2af8c9adadd645fb341cc2fd736fcbcbc2715dce"},{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"13ad35600f09703c491b0420f14dfcacabf6f624","unresolved":false,"context_lines":[{"line_number":12,"context_line":"  when: inventory_hostname in groups[\u0027horizon\u0027]"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"- name: Ensuring mysql server is not running on controllers"},{"line_number":15,"context_line":"  service: name\u003dmysqld state\u003dstopped enabled\u003dno"},{"line_number":16,"context_line":"  when: inventory_hostname in groups[\u0027mariadb\u0027]"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"- name: Ensuring mariadb server is not running on controllers"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"1a26ad4f_7841e70a","line":15,"updated":"2015-10-28 16:41:04.000000000","message":"Does debian OS use the name \"mysql\" (no d)?","commit_id":"1fbde89aa00bf821e5738a34aabcbef69992edc9"},{"author":{"_account_id":13671,"name":"Vladislav Belogrudov","email":"v.belogrudov@yadro.com","username":"vb"},"change_message_id":"cc268856ffbfe45ced5370522257a41712d0367e","unresolved":false,"context_lines":[{"line_number":12,"context_line":"  when: inventory_hostname in groups[\u0027horizon\u0027]"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"- name: Ensuring mysql server is not running on controllers"},{"line_number":15,"context_line":"  service: name\u003dmysqld state\u003dstopped enabled\u003dno"},{"line_number":16,"context_line":"  when: inventory_hostname in groups[\u0027mariadb\u0027]"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"- name: Ensuring mariadb server is not running on controllers"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"1a26ad4f_2eeb12b2","line":15,"in_reply_to":"1a26ad4f_7841e70a","updated":"2015-10-29 12:03:13.000000000","message":"Done","commit_id":"1fbde89aa00bf821e5738a34aabcbef69992edc9"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"4412af33f36ee507f6363e04d68a1517468b0304","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: Checking docker deamon is up"},{"line_number":3,"context_line":"  service: name\u003ddocker state\u003dstarted enabled\u003dyes"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"- name: Checking ntp server is up"},{"line_number":6,"context_line":"  service: name\u003d{{ \u0027ntpd\u0027 if ansible_os_family \u003d\u003d \u0027RedHat\u0027 else \u0027ntp\u0027 }}"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"fa80f949_f4f8b47e","line":3,"updated":"2015-11-03 23:07:55.000000000","message":"The pattern we follow in the rest of kolla is complex args and this should follow that as well.\n\n- name: Checking docker deamon is up\n  service:\n    name: docker\n    state: started\n    enabled: yes","commit_id":"ff9ac2826c7f23aa2079c6fa82a62308114a4f78"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"4412af33f36ee507f6363e04d68a1517468b0304","unresolved":false,"context_lines":[{"line_number":7,"context_line":"           state\u003dstarted enabled\u003dyes"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"- name: Ensuring http server is not running on controllers"},{"line_number":10,"context_line":"  service: name\u003d{{ \u0027httpd\u0027 if ansible_os_family \u003d\u003d \u0027RedHat\u0027 else \u0027apache2\u0027 }}"},{"line_number":11,"context_line":"           state\u003dstopped enabled\u003dno"},{"line_number":12,"context_line":"  register: result"},{"line_number":13,"context_line":"  failed_when: (result | failed) and not (result.msg | match(\"no service or tool found\"))"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"fa80f949_742b64ec","line":10,"updated":"2015-11-03 23:07:55.000000000","message":"This check should be to check if anything is listening on the ports that horizon runs on, we should absolutely not be shutting down apache2","commit_id":"ff9ac2826c7f23aa2079c6fa82a62308114a4f78"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"4412af33f36ee507f6363e04d68a1517468b0304","unresolved":false,"context_lines":[{"line_number":13,"context_line":"  failed_when: (result | failed) and not (result.msg | match(\"no service or tool found\"))"},{"line_number":14,"context_line":"  when: inventory_hostname in groups[\u0027horizon\u0027]"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"- name: Ensuring mysql server is not running on controllers"},{"line_number":17,"context_line":"  service: name\u003d{{ \u0027mysqld\u0027 if ansible_os_family \u003d\u003d \u0027RedHat\u0027 else \u0027mysql\u0027 }}"},{"line_number":18,"context_line":"           state\u003dstopped enabled\u003dno"},{"line_number":19,"context_line":"  register: result"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"fa80f949_94304858","line":16,"updated":"2015-11-03 23:07:55.000000000","message":"same comment as apache","commit_id":"ff9ac2826c7f23aa2079c6fa82a62308114a4f78"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"4412af33f36ee507f6363e04d68a1517468b0304","unresolved":false,"context_lines":[{"line_number":20,"context_line":"  failed_when: (result | failed) and not (result.msg | match(\"no service or tool found\"))"},{"line_number":21,"context_line":"  when: inventory_hostname in groups[\u0027mariadb\u0027]"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"- name: Ensuring mariadb server is not running on controllers"},{"line_number":24,"context_line":"  service: name\u003dmariadb state\u003dstopped enabled\u003dno"},{"line_number":25,"context_line":"  register: result"},{"line_number":26,"context_line":"  failed_when: (result | failed) and not (result.msg | match(\"no service or tool found\"))"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"fa80f949_3435dc45","line":23,"updated":"2015-11-03 23:07:55.000000000","message":"same comment as above","commit_id":"ff9ac2826c7f23aa2079c6fa82a62308114a4f78"}],"ansible/roles/prechecks/tasks/file_checks.yml":[{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"243cbb89ac52919249e680aa9c1301084fa204c1","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- include_vars: files.yml"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"- name: Checking files"},{"line_number":5,"context_line":"  stat: path\u003d\"{{ item.path }}\""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"da85f559_032d7efd","line":2,"updated":"2015-11-11 11:40:34.000000000","message":"you don\u0027t have to include vars like this if you have a main.yml in the vars folder\n\nno -1 for this","commit_id":"b0078b79b97dcfd25529ab4d9dc1fc42ca13c662"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"243cbb89ac52919249e680aa9c1301084fa204c1","unresolved":false,"context_lines":[{"line_number":10,"context_line":"  with_items: service_files"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"- fail: \u0027msg\u003d\"ERROR - wrong state of {{ item.item.path }}, should be {{ item.item }}\"\u0027"},{"line_number":13,"context_line":"  when: \u003e"},{"line_number":14,"context_line":"        not item|skipped"},{"line_number":15,"context_line":"        and item.item.exists !\u003d item.stat.exists"},{"line_number":16,"context_line":"  with_items: file_checks.results"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"da85f559_03b81ec7","line":13,"updated":"2015-11-11 11:40:34.000000000","message":"to match our existing style of yamls this section needs to looks a bit different\n\n    - fail:\n        msg: \"ERROR - wrong state of {{ item.item.path }}, should be {{ item.item }}\"\u0027\n      when:\n        - not item | skipped\n        - item.item.exists !\u003d item.stat.exists\n      with_items: file_checks.results","commit_id":"b0078b79b97dcfd25529ab4d9dc1fc42ca13c662"}],"ansible/roles/prechecks/tasks/package_checks.yml":[{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"5e9d57ac1ab33caf6b20ade42336fa4374d6946b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: docker-py"},{"line_number":3,"context_line":"  shell: python -c \"import docker\" \u0026\u003e /dev/null"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"da85f559_ec65741d","line":3,"updated":"2015-11-12 16:58:47.000000000","message":"Since we will also want to verify versions of these packages since Kolla does have version requirements from time to time, The safer approach here would be to register the output of \u0027pip freeze\u0027 and then look for docker-py and the appropriate version.\n\nBut in anycase, we need to not be using shell","commit_id":"f21876acdad13793d8674ff235bcf97692f9d8be"},{"author":{"_account_id":13671,"name":"Vladislav Belogrudov","email":"v.belogrudov@yadro.com","username":"vb"},"change_message_id":"41ccbec9c6fc80bd39358678b81bb02e2a73830a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: docker-py"},{"line_number":3,"context_line":"  shell: python -c \"import docker\" \u0026\u003e /dev/null"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"da85f559_fc3f4285","line":3,"in_reply_to":"da85f559_ec65741d","updated":"2015-11-13 09:49:36.000000000","message":"pip is not installed on my hosts :) docker-py can be an RPM. I will think how to make it independent of package installation (rpm, pip and whatnot)","commit_id":"f21876acdad13793d8674ff235bcf97692f9d8be"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"975d49430dccc56c2a80c8ae69bf1e64c36affcb","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: docker-py must be installed"},{"line_number":3,"context_line":"  command: python -c \"import docker; print docker.__version__\""},{"line_number":4,"context_line":"  register: result"},{"line_number":5,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":18,"id":"da85f559_36088228","line":2,"updated":"2015-11-13 11:59:28.000000000","message":"\u0027Checking docker-py version\u0027","commit_id":"ae899547d4afaac12576cd5c86c0b1699dbd60b6"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"975d49430dccc56c2a80c8ae69bf1e64c36affcb","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  command: python -c \"import docker; print docker.__version__\""},{"line_number":4,"context_line":"  register: result"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"- fail: msg\u003d\"Correct version of docker-py must be \u003e\u003d {{ docker_py_version_min }}\""},{"line_number":7,"context_line":"  when: result.stdout | version_compare(docker_py_version_min, \u0027\u003c\u0027)"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"da85f559_3311745e","line":6,"updated":"2015-11-13 11:59:28.000000000","message":"we can merge this with the task above but turning that into a failed_when check","commit_id":"ae899547d4afaac12576cd5c86c0b1699dbd60b6"}],"ansible/roles/prechecks/tasks/port_checks.yml":[{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"243cbb89ac52919249e680aa9c1301084fa204c1","unresolved":false,"context_lines":[{"line_number":9,"context_line":"  when: inventory_hostname in groups[ \"{{ item.hostgroup }}\" ]"},{"line_number":10,"context_line":"  with_items: service_ports"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"- fail: msg\u003d\"PORT CHECK FAILED for port {{ item.item.port }} on interface {{ item.item.interface }} ({{ item.item.name }})\""},{"line_number":13,"context_line":"  when: (not item|skipped) and item.rc \u003d\u003d 0"},{"line_number":14,"context_line":"  with_items: port_checks.results"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"da85f559_63448ab6","line":12,"updated":"2015-11-11 11:40:34.000000000","message":"view my other comment on formating","commit_id":"b0078b79b97dcfd25529ab4d9dc1fc42ca13c662"},{"author":{"_account_id":17386,"name":"Steve Noyes","email":"steve.noyes@oracle.com","username":"ssn1ssn"},"change_message_id":"ddcb3c1d6a3e6a10040514a3de591b1dbe72ff87","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: Checking free ports"},{"line_number":3,"context_line":"  shell: nc {{ hostvars[inventory_hostname][\u0027ansible_\u0027 + item.interface ][\u0027ipv4\u0027][\u0027address\u0027] }} {{ item.port }} \u0026\u003e /dev/null \u003c /dev/null"},{"line_number":4,"context_line":"  register: port_checks"},{"line_number":5,"context_line":"  failed_when: False"},{"line_number":6,"context_line":"  ignore_errors: True"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"da85f559_50fee1ae","line":3,"updated":"2015-11-11 15:28:46.000000000","message":"netcat may not always be installed. (It\u0027s not on my OL7 machine).","commit_id":"96287d173252503ef41590b1109864f9052b8d68"}],"ansible/roles/prechecks/tasks/service_checks.yml":[{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"5e9d57ac1ab33caf6b20ade42336fa4374d6946b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: Libvirt must not run"},{"line_number":3,"context_line":"  shell: test ! -e /var/run/libvirt/libvirt-sock"},{"line_number":4,"context_line":"  when: inventory_hostname in groups[\u0027compute\u0027]"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"- name: Docker must run"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"da85f559_cc0d1090","line":3,"updated":"2015-11-12 16:58:47.000000000","message":"this can use the stat module or possibly the file module","commit_id":"f21876acdad13793d8674ff235bcf97692f9d8be"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"5e9d57ac1ab33caf6b20ade42336fa4374d6946b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"  when: inventory_hostname in groups[\u0027compute\u0027]"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"- name: Docker must run"},{"line_number":7,"context_line":"  shell: docker ps \u0026\u003e /dev/null"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"da85f559_6c70a40b","line":7,"updated":"2015-11-12 16:58:47.000000000","message":"Perhaps we should be using `docker info` or `docker version` and validating its running and the version of docker at the same time.","commit_id":"f21876acdad13793d8674ff235bcf97692f9d8be"},{"author":{"_account_id":10419,"name":"Ryan Hallisey","email":"rhallise@redhat.com","username":"rhallisey"},"change_message_id":"d91a1d6d990ceac965d14d86bd23e7ab6da4f10c","unresolved":false,"context_lines":[{"line_number":4,"context_line":"  when: inventory_hostname in groups[\u0027compute\u0027]"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"- name: Docker must run"},{"line_number":7,"context_line":"  shell: docker ps \u0026\u003e /dev/null"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"da85f559_f1e0e8ce","line":7,"in_reply_to":"da85f559_6c70a40b","updated":"2015-11-12 19:33:35.000000000","message":"+1 for checking the docker version. Docker ps should be fine.  The command shouldn\u0027t matter.  Although even when docker isn\u0027t active, running `docker -v` will pass and `docker version` will give a different error code other than 1.","commit_id":"f21876acdad13793d8674ff235bcf97692f9d8be"},{"author":{"_account_id":13671,"name":"Vladislav Belogrudov","email":"v.belogrudov@yadro.com","username":"vb"},"change_message_id":"41ccbec9c6fc80bd39358678b81bb02e2a73830a","unresolved":false,"context_lines":[{"line_number":4,"context_line":"  when: inventory_hostname in groups[\u0027compute\u0027]"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"- name: Docker must run"},{"line_number":7,"context_line":"  shell: docker ps \u0026\u003e /dev/null"}],"source_content_type":"text/x-yaml","patch_set":15,"id":"da85f559_dce35e04","line":7,"in_reply_to":"da85f559_f1e0e8ce","updated":"2015-11-13 09:49:36.000000000","message":"docker version is a good way to check both docker running and its version","commit_id":"f21876acdad13793d8674ff235bcf97692f9d8be"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"975d49430dccc56c2a80c8ae69bf1e64c36affcb","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: Libvirt must not run"},{"line_number":3,"context_line":"  stat: path\u003d/var/run/libvirt/libvirt-sock"},{"line_number":4,"context_line":"  register: result"},{"line_number":5,"context_line":"  failed_when: result.stat.exists"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"da85f559_f3768cd7","line":2,"updated":"2015-11-13 11:59:28.000000000","message":"Perhaps a task rename \u0027Checking that libvirt is not running\u0027","commit_id":"ae899547d4afaac12576cd5c86c0b1699dbd60b6"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"975d49430dccc56c2a80c8ae69bf1e64c36affcb","unresolved":false,"context_lines":[{"line_number":5,"context_line":"  failed_when: result.stat.exists"},{"line_number":6,"context_line":"  when: inventory_hostname in groups[\u0027compute\u0027]"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"- name: Docker must run"},{"line_number":9,"context_line":"  command: docker version"},{"line_number":10,"context_line":"  register: result"},{"line_number":11,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":18,"id":"da85f559_73edbc8d","line":8,"updated":"2015-11-13 11:59:28.000000000","message":"Perhaps we can rename this \u0027Checking Docker version\u0027","commit_id":"ae899547d4afaac12576cd5c86c0b1699dbd60b6"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"975d49430dccc56c2a80c8ae69bf1e64c36affcb","unresolved":false,"context_lines":[{"line_number":9,"context_line":"  command: docker version"},{"line_number":10,"context_line":"  register: result"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"- fail: msg\u003d\"Supported versions of Docker are {{ docker_version_min }}-{{ docker_version_max }}\""},{"line_number":13,"context_line":"  when: ((result.stdout | from_yaml).Server.Version | version_compare(docker_version_min, \u0027\u003c\u0027))"},{"line_number":14,"context_line":"        or ((result.stdout | from_yaml).Server.Version | version_compare(docker_version_max, \u0027\u003e\u0027))"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"da85f559_d34a68ac","line":12,"updated":"2015-11-13 11:59:28.000000000","message":"I am ok with a secondary task to have a more verbose fail message, but we _could_ combine this task with the one above by having the when conditional below as the failed_when above","commit_id":"ae899547d4afaac12576cd5c86c0b1699dbd60b6"}],"ansible/roles/prechecks/vars/main.yml":[{"author":{"_account_id":16993,"name":"Hui Kang","email":"kangh@us.ibm.com","username":"huikang"},"change_message_id":"2568a1266564593f76fb52d85e0a777a8a27bead","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    exists: False"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"  - name: \u0027Libvirt read-only\u0027"},{"line_number":28,"context_line":"    hostgroup: \u0027compute\u0027"},{"line_number":29,"context_line":"    path: \u0027/var/run/libvirt/libvirt-sock-ro\u0027"},{"line_number":30,"context_line":"    exists: False"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"da85f559_587b1fbe","line":28,"updated":"2015-11-12 16:41:48.000000000","message":"Shall we check if kvm module is loaded? But maybe not, because not virt_type could be qemu.","commit_id":"7069e0125d516cac77f9ac514450844f41ed1571"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"975d49430dccc56c2a80c8ae69bf1e64c36affcb","unresolved":false,"context_lines":[{"line_number":1,"context_line":"docker_version_min: \u00271.8.2\u0027"},{"line_number":2,"context_line":"docker_version_max: \u00271.8.2\u0027"},{"line_number":3,"context_line":"docker_py_version_min: \u00271.2.0\u0027"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"da85f559_932f00f6","line":1,"updated":"2015-11-13 11:59:28.000000000","message":"This should be 1.6.0","commit_id":"ae899547d4afaac12576cd5c86c0b1699dbd60b6"},{"author":{"_account_id":10419,"name":"Ryan Hallisey","email":"rhallise@redhat.com","username":"rhallisey"},"change_message_id":"a21c91addfdd58190e3a9f4cec37532f1a87cd89","unresolved":false,"context_lines":[{"line_number":1,"context_line":"docker_version_min: \u00271.6.0\u0027"},{"line_number":2,"context_line":"docker_version_max: \u00271.8.2\u0027"},{"line_number":3,"context_line":"docker_py_version_min: \u00271.2.0\u0027"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"da85f559_47b30e0b","line":2,"updated":"2015-11-13 13:08:55.000000000","message":"This didn\u0027t work for me because I am using a fedora package that returned \nVersion:      1.8.2.fc21\nCan the docker version be a little less specific?  I\u0027m fine if it can\u0027t, but it would be more helpful.","commit_id":"517f30da7114aa90c50d6601b67931f97dd5980e"}]}
