)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"75e237ff9a60efb31253af7f57ecd10b4321f994","unresolved":false,"context_lines":[{"line_number":10,"context_line":"upgrades will follow standard setup here."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ic31759efaee4986eb87b9ff0968f13189d130d48"},{"line_number":13,"context_line":"Partially-Implements: blueprint upgrade-nova"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"ba63e191_a673bf14","line":13,"range":{"start_line":13,"start_character":10,"end_line":13,"end_character":20},"updated":"2016-01-19 20:09:50.000000000","message":"also use \"Partially-Implements: blueprint upgrade-kolla\"  \n\ntia","commit_id":"d356e3f41e8c4d76572af1844609c32a22199d2c"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"b6966d295fd332483baab80a02e4fce7e95424cb","unresolved":false,"context_lines":[{"line_number":10,"context_line":"upgrades will follow standard setup here."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: Ic31759efaee4986eb87b9ff0968f13189d130d48"},{"line_number":13,"context_line":"Partially-Implements: blueprint upgrade-nova"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"ba63e191_c2a25c4b","line":13,"range":{"start_line":13,"start_character":10,"end_line":13,"end_character":20},"in_reply_to":"ba63e191_a673bf14","updated":"2016-01-19 21:02:31.000000000","message":"Done","commit_id":"d356e3f41e8c4d76572af1844609c32a22199d2c"}],"ansible/group_vars/all.yml":[{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"de794cb65b904f48982b3659c1d61a48508ea7b4","unresolved":false,"context_lines":[{"line_number":29,"context_line":"kolla_enable_sanity_keystone: \"{{ kolla_enable_sanity_checks }}\""},{"line_number":30,"context_line":"kolla_enable_sanity_glance: \"{{ kolla_enable_sanity_checks }}\""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"kolla_upgrade: false"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"####################"},{"line_number":35,"context_line":"# Database options"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"ba63e191_7536b653","line":32,"updated":"2016-01-20 05:48:49.000000000","message":"we have upgrade playbooks so this value isnt needed. upgrade is an explict action with kolla-ansible now","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"90aa119b70ef2571b0f36b771504864c4d6cdaa3","unresolved":false,"context_lines":[{"line_number":29,"context_line":"kolla_enable_sanity_keystone: \"{{ kolla_enable_sanity_checks }}\""},{"line_number":30,"context_line":"kolla_enable_sanity_glance: \"{{ kolla_enable_sanity_checks }}\""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"kolla_upgrade: false"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"####################"},{"line_number":35,"context_line":"# Database options"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"5a5ae5dd_c8caa64f","line":32,"in_reply_to":"ba63e191_7536b653","updated":"2016-02-03 18:42:59.000000000","message":"Done","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"46a55846a9a824eae1c3967af5920ec52266123e","unresolved":false,"context_lines":[{"line_number":26,"context_line":"kolla_external_address: \"{{ kolla_internal_address }}\""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"kolla_enable_sanity_checks: \"no\""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"kolla_enable_sanity_keystone: \"{{ kolla_enable_sanity_checks }}\""},{"line_number":31,"context_line":"kolla_enable_sanity_glance: \"{{ kolla_enable_sanity_checks }}\""},{"line_number":32,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":23,"id":"bae84128_b6fe5c69","side":"PARENT","line":29,"updated":"2016-02-19 19:55:12.000000000","message":"I think we should leave this whitespace intact  - one is about enabling all sanity checks the other is about enabling individual ones.  They are two separate things.","commit_id":"0cb1d969f499df7c4cbbb52a177eefab4973c2d6"}],"ansible/library/get_container_labels.py":[{"author":{"_account_id":13039,"name":"Martin André","email":"m.andre@redhat.com","username":"mandre"},"change_message_id":"56eda9651d80659fd76464a0b86c940d79eda970","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"3a7e1126_3a425311","updated":"2015-12-18 06:59:29.000000000","message":"Could actually be get_docker_labels, because the labels are really docker specific and technically they belong to the image, not the container","commit_id":"dbacac714879849c0dbe5c772f156c5a101e9f2c"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"d3967abdb0b065606ce74d5008bb32c50539d1d6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"1a7b0d38_14623ad9","in_reply_to":"3a7e1126_3a425311","updated":"2015-12-22 15:39:47.000000000","message":"Done","commit_id":"dbacac714879849c0dbe5c772f156c5a101e9f2c"},{"author":{"_account_id":13039,"name":"Martin André","email":"m.andre@redhat.com","username":"mandre"},"change_message_id":"56eda9651d80659fd76464a0b86c940d79eda970","unresolved":false,"context_lines":[{"line_number":20,"context_line":"short_description: Various utils for container or image label parsing"},{"line_number":21,"context_line":"description:"},{"line_number":22,"context_line":"     - This module will allow you to retrieve labels of containers or images"},{"line_number":23,"context_line":"options:"},{"line_number":24,"context_line":"  name:"},{"line_number":25,"context_line":"    description:"},{"line_number":26,"context_line":"      - name of container or image tag"}],"source_content_type":"text/x-python","patch_set":10,"id":"3a7e1126_5a45df14","line":23,"updated":"2015-12-18 06:59:29.000000000","message":"You may want to add a non-required option \u0027label\u0027 that lets you specify which label you want. In your case you\u0027re only interested in the \u0027kolla_version\u0027 label.","commit_id":"dbacac714879849c0dbe5c772f156c5a101e9f2c"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"d3967abdb0b065606ce74d5008bb32c50539d1d6","unresolved":false,"context_lines":[{"line_number":20,"context_line":"short_description: Various utils for container or image label parsing"},{"line_number":21,"context_line":"description:"},{"line_number":22,"context_line":"     - This module will allow you to retrieve labels of containers or images"},{"line_number":23,"context_line":"options:"},{"line_number":24,"context_line":"  name:"},{"line_number":25,"context_line":"    description:"},{"line_number":26,"context_line":"      - name of container or image tag"}],"source_content_type":"text/x-python","patch_set":10,"id":"3a7e1126_2e3d19c4","line":23,"in_reply_to":"3a7e1126_5a45df14","updated":"2015-12-22 15:39:47.000000000","message":"Well tbh I\u0027d rather keep it like this to keep output consistent at all times and navigate over it in tasks (it\u0027s easy enough), but I guess that\u0027s matter of taste","commit_id":"dbacac714879849c0dbe5c772f156c5a101e9f2c"}],"ansible/library/get_docker_labels.py":[{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"de794cb65b904f48982b3659c1d61a48508ea7b4","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"def docker_client():"},{"line_number":54,"context_line":"    docker_kwargs \u003d docker.utils.kwargs_from_env()"},{"line_number":55,"context_line":"    return docker.Client(version\u003d\u0027auto\u0027, **docker_kwargs)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"ba63e191_35791ec9","line":54,"updated":"2016-01-20 05:48:49.000000000","message":"this section should be removed, we do not want env params for docker","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"90aa119b70ef2571b0f36b771504864c4d6cdaa3","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"def docker_client():"},{"line_number":54,"context_line":"    docker_kwargs \u003d docker.utils.kwargs_from_env()"},{"line_number":55,"context_line":"    return docker.Client(version\u003d\u0027auto\u0027, **docker_kwargs)"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"5a5ae5dd_08b0bedc","line":54,"in_reply_to":"ba63e191_35791ec9","updated":"2016-02-03 18:42:59.000000000","message":"Done","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"de794cb65b904f48982b3659c1d61a48508ea7b4","unresolved":false,"context_lines":[{"line_number":78,"context_line":"                img for img in dc.images() if name in img[\u0027RepoTags\u0027]"},{"line_number":79,"context_line":"            ][0][\u0027Id\u0027]"},{"line_number":80,"context_line":"        labels \u003d dc.inspect_image(image)[\"ContainerConfig\"][\"Labels\"]"},{"line_number":81,"context_line":"        module.exit_json(labels\u003dlabels)"},{"line_number":82,"context_line":"    except IndexError as e:"},{"line_number":83,"context_line":"        module.exit_json(failed\u003dTrue, msg\u003d\"Name not found {}\".format(name))"},{"line_number":84,"context_line":"    except Exception as e:"}],"source_content_type":"text/x-python","patch_set":13,"id":"ba63e191_95ba4a6d","line":81,"updated":"2016-01-20 05:48:49.000000000","message":"we don\u0027t need to have this labels\u003dlabels dict, we can use the keywords from the dc.inspect_image(image)[\"ContainerConfig\"][\"Labels\"] dict itself\n\n    module.exit_json(**labels)","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"de794cb65b904f48982b3659c1d61a48508ea7b4","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        labels \u003d dc.inspect_image(image)[\"ContainerConfig\"][\"Labels\"]"},{"line_number":81,"context_line":"        module.exit_json(labels\u003dlabels)"},{"line_number":82,"context_line":"    except IndexError as e:"},{"line_number":83,"context_line":"        module.exit_json(failed\u003dTrue, msg\u003d\"Name not found {}\".format(name))"},{"line_number":84,"context_line":"    except Exception as e:"},{"line_number":85,"context_line":"        module.exit_json(failed\u003dTrue, msg\u003drepr(e))"},{"line_number":86,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"ba63e191_15a73a50","line":83,"updated":"2016-01-20 05:48:49.000000000","message":"should be fail_json","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"de794cb65b904f48982b3659c1d61a48508ea7b4","unresolved":false,"context_lines":[{"line_number":82,"context_line":"    except IndexError as e:"},{"line_number":83,"context_line":"        module.exit_json(failed\u003dTrue, msg\u003d\"Name not found {}\".format(name))"},{"line_number":84,"context_line":"    except Exception as e:"},{"line_number":85,"context_line":"        module.exit_json(failed\u003dTrue, msg\u003drepr(e))"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"# import module snippets"}],"source_content_type":"text/x-python","patch_set":13,"id":"ba63e191_f5ab861b","line":85,"updated":"2016-01-20 05:48:49.000000000","message":"should be fail_json","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"f04c76c0ad237c096e5c483c4cfe6a860eb9eb8a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"5a5ae5dd_1df0f98f","updated":"2016-02-03 18:59:12.000000000","message":"We actually address labels in kolla_docker module now. I don\u0027t think this module is actually needed.","commit_id":"3cbc1a9d23c4f3b322c009516682f83440774257"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"ef0ed9d3c68c99d670c0c2ab69fa53d1b6e78e48","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"dae33548_218a7c1b","in_reply_to":"5a5ae5dd_1df0f98f","updated":"2016-02-17 18:49:01.000000000","message":"Done","commit_id":"3cbc1a9d23c4f3b322c009516682f83440774257"}],"ansible/library/kolla_docker.py":[{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"de794cb65b904f48982b3659c1d61a48508ea7b4","unresolved":false,"context_lines":[{"line_number":461,"context_line":"                self.remove_container()"},{"line_number":462,"context_line":""},{"line_number":463,"context_line":"    def stop_container(self):"},{"line_number":464,"context_line":"        name \u003d self.params.get(\u0027name\u0027)"},{"line_number":465,"context_line":"        self.dc.stop(name)"},{"line_number":466,"context_line":""},{"line_number":467,"context_line":"    def create_volume(self):"}],"source_content_type":"text/x-python","patch_set":13,"id":"ba63e191_95100aaa","line":464,"updated":"2016-01-20 05:48:49.000000000","message":"no checking if anything changed and reporting as such","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"f04c76c0ad237c096e5c483c4cfe6a860eb9eb8a","unresolved":false,"context_lines":[{"line_number":497,"context_line":"    def stop_container(self):"},{"line_number":498,"context_line":"        name \u003d self.params.get(\u0027name\u0027)"},{"line_number":499,"context_line":"        self.dc.stop(name)"},{"line_number":500,"context_line":"        self.changed \u003d True"},{"line_number":501,"context_line":""},{"line_number":502,"context_line":"    def create_volume(self):"},{"line_number":503,"context_line":"        if not self.check_volume():"}],"source_content_type":"text/x-python","patch_set":14,"id":"5a5ae5dd_5d24310c","line":500,"updated":"2016-02-03 18:59:12.000000000","message":"No this isn\u0027t proper. you need to check that it is running, if it is running then you stop it and register a change","commit_id":"3cbc1a9d23c4f3b322c009516682f83440774257"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"ef0ed9d3c68c99d670c0c2ab69fa53d1b6e78e48","unresolved":false,"context_lines":[{"line_number":497,"context_line":"    def stop_container(self):"},{"line_number":498,"context_line":"        name \u003d self.params.get(\u0027name\u0027)"},{"line_number":499,"context_line":"        self.dc.stop(name)"},{"line_number":500,"context_line":"        self.changed \u003d True"},{"line_number":501,"context_line":""},{"line_number":502,"context_line":"    def create_volume(self):"},{"line_number":503,"context_line":"        if not self.check_volume():"}],"source_content_type":"text/x-python","patch_set":14,"id":"dae33548_618004f8","line":500,"in_reply_to":"5a5ae5dd_5d24310c","updated":"2016-02-17 18:49:01.000000000","message":"Done","commit_id":"3cbc1a9d23c4f3b322c009516682f83440774257"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"2012065502d10fbab080c2c813ea69728586aa0e","unresolved":false,"context_lines":[{"line_number":39,"context_line":"      - remove_volume"},{"line_number":40,"context_line":"      - start_container"},{"line_number":41,"context_line":"      - stop_container"},{"line_number":42,"context_line":"      - compare_image"},{"line_number":43,"context_line":"  api_version:"},{"line_number":44,"context_line":"    description:"},{"line_number":45,"context_line":"      - The version of the api for docker-py to use when contacting docker"}],"source_content_type":"text/x-python","patch_set":16,"id":"dae33548_5d4afc26","line":42,"updated":"2016-02-17 21:57:16.000000000","message":"alphabetical order please","commit_id":"04c4b83bc19743276c78dd6d5d64323b124f5e90"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"2012065502d10fbab080c2c813ea69728586aa0e","unresolved":false,"context_lines":[{"line_number":239,"context_line":"        container_info \u003d self.dc.inspect_container(self.params.get(\u0027name\u0027))"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"        return ("},{"line_number":242,"context_line":"            self._compare_image(container_info) or"},{"line_number":243,"context_line":"            self._compare_labels(container_info) or"},{"line_number":244,"context_line":"            self._compare_privileged(container_info) or"},{"line_number":245,"context_line":"            self._compare_pid_mode(container_info) or"}],"source_content_type":"text/x-python","patch_set":16,"id":"dae33548_5d403c34","line":242,"updated":"2016-02-17 21:57:16.000000000","message":"these changes should not be part of this patchset and frankly I disagree with them being needed. If this class was ever imported you would absolutely want to import these functions.","commit_id":"04c4b83bc19743276c78dd6d5d64323b124f5e90"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"0d70fba48010d87c019f972218b14130366994f2","unresolved":false,"context_lines":[{"line_number":239,"context_line":"        container_info \u003d self.dc.inspect_container(self.params.get(\u0027name\u0027))"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"        return ("},{"line_number":242,"context_line":"            self._compare_image(container_info) or"},{"line_number":243,"context_line":"            self._compare_labels(container_info) or"},{"line_number":244,"context_line":"            self._compare_privileged(container_info) or"},{"line_number":245,"context_line":"            self._compare_pid_mode(container_info) or"}],"source_content_type":"text/x-python","patch_set":16,"id":"dae33548_4964f9b7","line":242,"in_reply_to":"dae33548_13a865da","updated":"2016-02-18 00:11:09.000000000","message":"required or not, its a wrong change that is not appropriate. leading underscores prevent import and is an improper coding style for these functions. even if we did go with this change, you could easily call compare_image something else","commit_id":"04c4b83bc19743276c78dd6d5d64323b124f5e90"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"f73cf96c3f7435157295eab62a45cc4593a8e4a8","unresolved":false,"context_lines":[{"line_number":239,"context_line":"        container_info \u003d self.dc.inspect_container(self.params.get(\u0027name\u0027))"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"        return ("},{"line_number":242,"context_line":"            self._compare_image(container_info) or"},{"line_number":243,"context_line":"            self._compare_labels(container_info) or"},{"line_number":244,"context_line":"            self._compare_privileged(container_info) or"},{"line_number":245,"context_line":"            self._compare_pid_mode(container_info) or"}],"source_content_type":"text/x-python","patch_set":16,"id":"dae33548_13a865da","line":242,"in_reply_to":"dae33548_5d403c34","updated":"2016-02-17 22:42:51.000000000","message":"This is required by new method to keep name clarity","commit_id":"04c4b83bc19743276c78dd6d5d64323b124f5e90"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"e938c4cc8f9b342b4098d45226cf764424b7facc","unresolved":false,"context_lines":[{"line_number":248,"context_line":"            self._compare_environment(container_info)"},{"line_number":249,"context_line":"        )"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    def _compare_pid_mode(self, container_info):"},{"line_number":252,"context_line":"        new_pid_mode \u003d self.params.get(\u0027pid_mode\u0027)"},{"line_number":253,"context_line":"        current_pid_mode \u003d container_info[\u0027HostConfig\u0027].get(\u0027PidMode\u0027)"},{"line_number":254,"context_line":"        if not current_pid_mode:"}],"source_content_type":"text/x-python","patch_set":16,"id":"dae33548_9e70f1a5","line":251,"updated":"2016-02-18 04:25:33.000000000","message":"we can update function to say\n\n    def compare_pid_mode(self, container_info\u003dNone):\n        container_info \u003d container_info or self.check_container()","commit_id":"04c4b83bc19743276c78dd6d5d64323b124f5e90"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"1e5101f89c501b73b6caaf0d60ed97cb0f4d0e9e","unresolved":false,"context_lines":[{"line_number":248,"context_line":"            self._compare_environment(container_info)"},{"line_number":249,"context_line":"        )"},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"    def _compare_pid_mode(self, container_info):"},{"line_number":252,"context_line":"        new_pid_mode \u003d self.params.get(\u0027pid_mode\u0027)"},{"line_number":253,"context_line":"        current_pid_mode \u003d container_info[\u0027HostConfig\u0027].get(\u0027PidMode\u0027)"},{"line_number":254,"context_line":"        if not current_pid_mode:"}],"source_content_type":"text/x-python","patch_set":16,"id":"dae33548_9edf5139","line":251,"in_reply_to":"dae33548_9e70f1a5","updated":"2016-02-18 04:37:16.000000000","message":"actually this could be even simplier\n\n\n    def compare_pid_mode(self, container_info\u003dself.check_container()):","commit_id":"04c4b83bc19743276c78dd6d5d64323b124f5e90"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"2012065502d10fbab080c2c813ea69728586aa0e","unresolved":false,"context_lines":[{"line_number":273,"context_line":"    def _compare_image(self, container_info):"},{"line_number":274,"context_line":"        new_image \u003d self.check_image()"},{"line_number":275,"context_line":"        current_image \u003d container_info[\u0027Image\u0027]"},{"line_number":276,"context_line":"        return new_image[\u0027Id\u0027] !\u003d current_image"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"    def _compare_labels(self, container_info):"},{"line_number":279,"context_line":"        new_labels \u003d self.params.get(\u0027labels\u0027)"}],"source_content_type":"text/x-python","patch_set":16,"id":"dae33548_9d180477","line":276,"updated":"2016-02-17 21:57:16.000000000","message":"this was a design choice to match the other functions, please change this back to an if and return (like all the other functions)\n\nNow this will return False instead of not returning (resulting in None). docker-py returns None in these situations and we have copied that patern","commit_id":"04c4b83bc19743276c78dd6d5d64323b124f5e90"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"2012065502d10fbab080c2c813ea69728586aa0e","unresolved":false,"context_lines":[{"line_number":538,"context_line":"                                                        \u0027remove_volume\u0027,"},{"line_number":539,"context_line":"                                                        \u0027start_container\u0027,"},{"line_number":540,"context_line":"                                                        \u0027stop_container\u0027,"},{"line_number":541,"context_line":"                                                        \u0027compare_image\u0027]),"},{"line_number":542,"context_line":"        api_version\u003ddict(required\u003dFalse, type\u003d\u0027str\u0027, default\u003d\u0027auto\u0027),"},{"line_number":543,"context_line":"        auth_email\u003ddict(required\u003dFalse, type\u003d\u0027str\u0027),"},{"line_number":544,"context_line":"        auth_password\u003ddict(required\u003dFalse, type\u003d\u0027str\u0027),"}],"source_content_type":"text/x-python","patch_set":16,"id":"dae33548_5a24c2c3","line":541,"updated":"2016-02-17 21:57:16.000000000","message":"not alphabetical","commit_id":"04c4b83bc19743276c78dd6d5d64323b124f5e90"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"2012065502d10fbab080c2c813ea69728586aa0e","unresolved":false,"context_lines":[{"line_number":611,"context_line":""},{"line_number":612,"context_line":"    try:"},{"line_number":613,"context_line":"        dw \u003d DockerWorker(module)"},{"line_number":614,"context_line":"        result \u003d getattr(dw, module.params.get(\u0027action\u0027))()"},{"line_number":615,"context_line":"        module.exit_json(changed\u003ddw.changed, result\u003dresult)"},{"line_number":616,"context_line":"    except Exception as e:"},{"line_number":617,"context_line":"        module.exit_json(failed\u003dTrue, changed\u003dTrue, msg\u003drepr(e))"}],"source_content_type":"text/x-python","patch_set":16,"id":"dae33548_3df1f801","line":614,"updated":"2016-02-17 21:57:16.000000000","message":"so this will be sometimes None, sometimes True, and sometimes a dict? Can we unify these outputs to always be a dict please?","commit_id":"04c4b83bc19743276c78dd6d5d64323b124f5e90"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"0d70fba48010d87c019f972218b14130366994f2","unresolved":false,"context_lines":[{"line_number":611,"context_line":""},{"line_number":612,"context_line":"    try:"},{"line_number":613,"context_line":"        dw \u003d DockerWorker(module)"},{"line_number":614,"context_line":"        result \u003d getattr(dw, module.params.get(\u0027action\u0027))()"},{"line_number":615,"context_line":"        module.exit_json(changed\u003ddw.changed, result\u003dresult)"},{"line_number":616,"context_line":"    except Exception as e:"},{"line_number":617,"context_line":"        module.exit_json(failed\u003dTrue, changed\u003dTrue, msg\u003drepr(e))"}],"source_content_type":"text/x-python","patch_set":16,"id":"dae33548_6908ddda","line":614,"in_reply_to":"dae33548_13cd05b7","updated":"2016-02-18 00:11:09.000000000","message":"I disagree entirely with you. You are adding it in this patch, add it correctly","commit_id":"04c4b83bc19743276c78dd6d5d64323b124f5e90"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"62933e71a51b17f6f19cf21b61794ef88e549fd0","unresolved":false,"context_lines":[{"line_number":611,"context_line":""},{"line_number":612,"context_line":"    try:"},{"line_number":613,"context_line":"        dw \u003d DockerWorker(module)"},{"line_number":614,"context_line":"        result \u003d getattr(dw, module.params.get(\u0027action\u0027))()"},{"line_number":615,"context_line":"        module.exit_json(changed\u003ddw.changed, result\u003dresult)"},{"line_number":616,"context_line":"    except Exception as e:"},{"line_number":617,"context_line":"        module.exit_json(failed\u003dTrue, changed\u003dTrue, msg\u003drepr(e))"}],"source_content_type":"text/x-python","patch_set":16,"id":"dae33548_c3b3c208","line":614,"in_reply_to":"dae33548_382f3da2","updated":"2016-02-18 03:49:12.000000000","message":"it wouldnt change teh behavior of anything else fyi. this is newly added in this patchset.","commit_id":"04c4b83bc19743276c78dd6d5d64323b124f5e90"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"f73cf96c3f7435157295eab62a45cc4593a8e4a8","unresolved":false,"context_lines":[{"line_number":611,"context_line":""},{"line_number":612,"context_line":"    try:"},{"line_number":613,"context_line":"        dw \u003d DockerWorker(module)"},{"line_number":614,"context_line":"        result \u003d getattr(dw, module.params.get(\u0027action\u0027))()"},{"line_number":615,"context_line":"        module.exit_json(changed\u003ddw.changed, result\u003dresult)"},{"line_number":616,"context_line":"    except Exception as e:"},{"line_number":617,"context_line":"        module.exit_json(failed\u003dTrue, changed\u003dTrue, msg\u003drepr(e))"}],"source_content_type":"text/x-python","patch_set":16,"id":"dae33548_13cd05b7","line":614,"in_reply_to":"dae33548_3df1f801","updated":"2016-02-17 22:42:51.000000000","message":"I think this would be good change but beyond scope of this patch","commit_id":"04c4b83bc19743276c78dd6d5d64323b124f5e90"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"aafca538375b93ccee11b999e68348948aa0541f","unresolved":false,"context_lines":[{"line_number":611,"context_line":""},{"line_number":612,"context_line":"    try:"},{"line_number":613,"context_line":"        dw \u003d DockerWorker(module)"},{"line_number":614,"context_line":"        result \u003d getattr(dw, module.params.get(\u0027action\u0027))()"},{"line_number":615,"context_line":"        module.exit_json(changed\u003ddw.changed, result\u003dresult)"},{"line_number":616,"context_line":"    except Exception as e:"},{"line_number":617,"context_line":"        module.exit_json(failed\u003dTrue, changed\u003dTrue, msg\u003drepr(e))"}],"source_content_type":"text/x-python","patch_set":16,"id":"dae33548_382f3da2","line":614,"in_reply_to":"dae33548_6908ddda","updated":"2016-02-18 03:31:44.000000000","message":"Problem is I would also need to change behavior of any other action, which is outside of scope.","commit_id":"04c4b83bc19743276c78dd6d5d64323b124f5e90"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"e938c4cc8f9b342b4098d45226cf764424b7facc","unresolved":false,"context_lines":[{"line_number":611,"context_line":""},{"line_number":612,"context_line":"    try:"},{"line_number":613,"context_line":"        dw \u003d DockerWorker(module)"},{"line_number":614,"context_line":"        result \u003d getattr(dw, module.params.get(\u0027action\u0027))()"},{"line_number":615,"context_line":"        module.exit_json(changed\u003ddw.changed, result\u003dresult)"},{"line_number":616,"context_line":"    except Exception as e:"},{"line_number":617,"context_line":"        module.exit_json(failed\u003dTrue, changed\u003dTrue, msg\u003drepr(e))"}],"source_content_type":"text/x-python","patch_set":16,"id":"dae33548_bea4d507","line":614,"in_reply_to":"dae33548_c3b3c208","updated":"2016-02-18 04:25:33.000000000","message":"This still needs to be changes in my opinion to always return the same type, either bool or dict\n\nThis will not affect other containers and requires no refactoring of other code because nothing else uses this newly added \"result\"","commit_id":"04c4b83bc19743276c78dd6d5d64323b124f5e90"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"b3e46114d96d744bb85fca63abaa3a75171f0eda","unresolved":false,"context_lines":[{"line_number":232,"context_line":"            if find_name in cont[\u0027Names\u0027]:"},{"line_number":233,"context_line":"                return cont"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"    def _get_container_info(self):"},{"line_number":236,"context_line":"        container \u003d self.check_container()"},{"line_number":237,"context_line":"        if not container:"},{"line_number":238,"context_line":"            return None"}],"source_content_type":"text/x-python","patch_set":20,"id":"bae84128_22e68eb4","line":235,"updated":"2016-02-19 18:28:42.000000000","message":"this is a useful function, it should not start with an underscore\n\n\nhttps://www.python.org/dev/peps/pep-0008/\n\"_single_leading_underscore : weak \"internal use\" indicator. E.g. from M import * does not import objects whose name starts with an underscore.\"","commit_id":"21d64c2799b0117076c14e070fbc93c287a65701"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"b3e46114d96d744bb85fca63abaa3a75171f0eda","unresolved":false,"context_lines":[{"line_number":265,"context_line":"        if new_privileged !\u003d current_privileged:"},{"line_number":266,"context_line":"            return True"},{"line_number":267,"context_line":""},{"line_number":268,"context_line":"    def compare_image(self, container_info\u003dNone):"},{"line_number":269,"context_line":"        container_info \u003d container_info or self._get_container_info()"},{"line_number":270,"context_line":"        if container_info is None:"},{"line_number":271,"context_line":"            return True"}],"source_content_type":"text/x-python","patch_set":20,"id":"bae84128_82a4ba57","line":268,"updated":"2016-02-19 18:28:42.000000000","message":"this _could_ be reduced to\n\n    def compare_image(self, container_info\u003dself._get_container_info()):","commit_id":"21d64c2799b0117076c14e070fbc93c287a65701"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"b3e46114d96d744bb85fca63abaa3a75171f0eda","unresolved":false,"context_lines":[{"line_number":267,"context_line":""},{"line_number":268,"context_line":"    def compare_image(self, container_info\u003dNone):"},{"line_number":269,"context_line":"        container_info \u003d container_info or self._get_container_info()"},{"line_number":270,"context_line":"        if container_info is None:"},{"line_number":271,"context_line":"            return True"},{"line_number":272,"context_line":"        new_image \u003d self.check_image()"},{"line_number":273,"context_line":"        current_image \u003d container_info[\u0027Image\u0027]"}],"source_content_type":"text/x-python","patch_set":20,"id":"bae84128_e2266615","line":270,"updated":"2016-02-19 18:28:42.000000000","message":"the current style is preferred since docker-py is known to change its return types between versions (this is what broke 1.8.2-\u003e1.8.3)\n\n    if not container_info:\n        return True","commit_id":"21d64c2799b0117076c14e070fbc93c287a65701"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"46a55846a9a824eae1c3967af5920ec52266123e","unresolved":false,"context_lines":[{"line_number":23,"context_line":"options:"},{"line_number":24,"context_line":"  common_options:"},{"line_number":25,"context_line":"    description:"},{"line_number":26,"context_line":"      - A dict containing common params such as login info"},{"line_number":27,"context_line":"    required: False"},{"line_number":28,"context_line":"    type: dict"},{"line_number":29,"context_line":"    default: dict()"}],"source_content_type":"text/x-python","patch_set":23,"id":"bae84128_f63f4423","line":26,"updated":"2016-02-19 19:55:12.000000000","message":"reailly nice work!","commit_id":"0cdbe9424ae9128ee4676241a1d22737773e5df7"}],"ansible/roles/nova/tasks/bootstrap.yml":[{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"f04c76c0ad237c096e5c483c4cfe6a860eb9eb8a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"5a5ae5dd_7dd1edcc","line":104,"updated":"2016-02-03 18:59:12.000000000","message":"You need to add the include here to run the bootstrap_service.yml","commit_id":"3cbc1a9d23c4f3b322c009516682f83440774257"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"ef0ed9d3c68c99d670c0c2ab69fa53d1b6e78e48","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"dae33548_a17e8c16","line":104,"in_reply_to":"5a5ae5dd_7dd1edcc","updated":"2016-02-17 18:49:01.000000000","message":"Done","commit_id":"3cbc1a9d23c4f3b322c009516682f83440774257"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"7326a984eeed1f15ea3f6d80e730807d3fade75f","unresolved":false,"context_lines":[{"line_number":71,"context_line":"  run_once: True"},{"line_number":72,"context_line":"  delegate_to: \"{{ groups[\u0027nova-api\u0027][0] }}\""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"- name: Creating nova-compute volume"},{"line_number":75,"context_line":"  kolla_docker:"},{"line_number":76,"context_line":"    action: \"create_volume\""},{"line_number":77,"context_line":"    common_options: \"{{ docker_common_options }}\""}],"source_content_type":"text/x-yaml","patch_set":21,"id":"bae84128_10bc7004","line":74,"updated":"2016-02-19 18:55:12.000000000","message":"need to remove this since its in bootstrap_service.yml","commit_id":"2efa1c9251c6e0526dd6ef393c48c573c70e7b2a"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"1f7bbad7b029d476364dd49300305c396368e991","unresolved":false,"context_lines":[{"line_number":83,"context_line":""},{"line_number":84,"context_line":"- include: bootstrap_service.yml"},{"line_number":85,"context_line":"  when:"},{"line_number":86,"context_line":"    - inventory_hostname in groups[\u0027nova-api\u0027]"},{"line_number":87,"context_line":"    - database_created"}],"source_content_type":"text/x-yaml","patch_set":21,"id":"bae84128_702cdc4a","line":86,"updated":"2016-02-19 18:56:53.000000000","message":"this limiter should be removed","commit_id":"2efa1c9251c6e0526dd6ef393c48c573c70e7b2a"}],"ansible/roles/nova/tasks/bootstrap_service.yml":[{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"f04c76c0ad237c096e5c483c4cfe6a860eb9eb8a","unresolved":false,"context_lines":[{"line_number":13,"context_line":"    volumes: \"{{ node_config_directory }}/nova-api/:{{ container_config_directory }}/:ro\""},{"line_number":14,"context_line":"  run_once: True"},{"line_number":15,"context_line":"  delegate_to: \"{{ groups[\u0027nova-api\u0027][0] }}\""},{"line_number":16,"context_line":"  when: database_created"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"5a5ae5dd_bdee8589","line":16,"updated":"2016-02-03 18:59:12.000000000","message":"this should not be here, but rather in bootstrap.yml only","commit_id":"3cbc1a9d23c4f3b322c009516682f83440774257"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"ef0ed9d3c68c99d670c0c2ab69fa53d1b6e78e48","unresolved":false,"context_lines":[{"line_number":13,"context_line":"    volumes: \"{{ node_config_directory }}/nova-api/:{{ container_config_directory }}/:ro\""},{"line_number":14,"context_line":"  run_once: True"},{"line_number":15,"context_line":"  delegate_to: \"{{ groups[\u0027nova-api\u0027][0] }}\""},{"line_number":16,"context_line":"  when: database_created"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"dae33548_817b8827","line":16,"in_reply_to":"5a5ae5dd_bdee8589","updated":"2016-02-17 18:49:01.000000000","message":"Done","commit_id":"3cbc1a9d23c4f3b322c009516682f83440774257"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"b3e46114d96d744bb85fca63abaa3a75171f0eda","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: Running Nova compute bootstrap container"},{"line_number":3,"context_line":"  kolla_docker:"},{"line_number":4,"context_line":"    action: \"start_container\""}],"source_content_type":"text/x-yaml","patch_set":20,"id":"bae84128_e25e6644","line":1,"updated":"2016-02-19 18:28:42.000000000","message":"You have lost your db_sync upgrade\n\nAlso, this task should not be unpaired with the nova_compute_volume creation task","commit_id":"21d64c2799b0117076c14e070fbc93c287a65701"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"25ec8c6c5669bd513cc31f69fc3f2210c9c6fc91","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: Creating Nova-api database user and setting permissions"},{"line_number":3,"context_line":"  command: docker exec -t kolla_toolbox /usr/bin/ansible localhost"},{"line_number":4,"context_line":"    -m mysql_user"},{"line_number":5,"context_line":"    -a \"login_host\u003d\u0027{{ database_address }}\u0027"}],"source_content_type":"text/x-yaml","patch_set":21,"id":"bae84128_306d3499","line":2,"updated":"2016-02-19 18:55:53.000000000","message":"wrong task to copy in","commit_id":"2efa1c9251c6e0526dd6ef393c48c573c70e7b2a"}],"ansible/roles/nova/tasks/deploy.yml":[{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"f04c76c0ad237c096e5c483c4cfe6a860eb9eb8a","unresolved":false,"context_lines":[{"line_number":30,"context_line":"  when: inventory_hostname in groups[\u0027nova-api\u0027] or"},{"line_number":31,"context_line":"        inventory_hostname in groups[\u0027compute\u0027]"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"- include: bootstrap_service.yml"},{"line_number":34,"context_line":"  when: inventory_hostname in groups[\u0027nova-api\u0027]"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"- include: start.yml"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"5a5ae5dd_5d00b134","line":33,"updated":"2016-02-03 18:59:12.000000000","message":"please follow the keystone (and current) model of including the bootstrap_service.yml from the bootstrap.yml","commit_id":"3cbc1a9d23c4f3b322c009516682f83440774257"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"ef0ed9d3c68c99d670c0c2ab69fa53d1b6e78e48","unresolved":false,"context_lines":[{"line_number":30,"context_line":"  when: inventory_hostname in groups[\u0027nova-api\u0027] or"},{"line_number":31,"context_line":"        inventory_hostname in groups[\u0027compute\u0027]"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"- include: bootstrap_service.yml"},{"line_number":34,"context_line":"  when: inventory_hostname in groups[\u0027nova-api\u0027]"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"- include: start.yml"}],"source_content_type":"text/x-yaml","patch_set":14,"id":"dae33548_c1711046","line":33,"in_reply_to":"5a5ae5dd_5d00b134","updated":"2016-02-17 18:49:01.000000000","message":"Done","commit_id":"3cbc1a9d23c4f3b322c009516682f83440774257"}],"ansible/roles/nova/tasks/main.yml":[{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"c491bfced9e5e483f04da18e9b63c7d9f8041cd5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"- include: install.yml"},{"line_number":4,"context_line":"  when: not kolla_upgrade"},{"line_number":5,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"5a710552_d2580b59","line":2,"updated":"2015-12-15 15:58:28.000000000","message":"instead of doing two tasks like this with a when conditional (which will generate a metric ton of \"skipped\" messages) do a variable include.\n\n\n    - set_fact: playbook\u003dupgrade/main.yml\n    - include: {{ playbook }}","commit_id":"39b52dbf27a2bfe89a4c474fff8a9fffa8b3a91e"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"c491bfced9e5e483f04da18e9b63c7d9f8041cd5","unresolved":false,"context_lines":[{"line_number":3,"context_line":"- include: install.yml"},{"line_number":4,"context_line":"  when: not kolla_upgrade"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"- include: upgrade/main.yml"},{"line_number":7,"context_line":"  when: kolla_upgrade"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"5a710552_f2f9874e","line":6,"updated":"2015-12-15 15:58:28.000000000","message":"you need to limit all the hosts that these run on, but you are not","commit_id":"39b52dbf27a2bfe89a4c474fff8a9fffa8b3a91e"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"995e46b312b9c014769cc878cebc09a12ee4a0e4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"- include: install.yml"},{"line_number":4,"context_line":"  when: not kolla_upgrade"},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"- include: upgrade/main.yml"},{"line_number":7,"context_line":"  when: kolla_upgrade"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"1a7b0d38_1a9fc160","line":4,"updated":"2015-12-22 16:17:08.000000000","message":"please review my comments in patchset 6","commit_id":"4b53ec1ad727c8675fe855bdc0169465121bc802"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"de794cb65b904f48982b3659c1d61a48508ea7b4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"- include: \"{{ action }}.yml\""}],"source_content_type":"text/x-yaml","patch_set":13,"id":"ba63e191_f52146fc","line":2,"updated":"2016-01-20 05:48:49.000000000","message":"please remove newline","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"90aa119b70ef2571b0f36b771504864c4d6cdaa3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"- include: \"{{ action }}.yml\""}],"source_content_type":"text/x-yaml","patch_set":13,"id":"5a5ae5dd_3a6e1b30","line":2,"in_reply_to":"ba63e191_f52146fc","updated":"2016-02-03 18:42:59.000000000","message":"Done","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"}],"ansible/roles/nova/tasks/upgrade.yml":[{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"de794cb65b904f48982b3659c1d61a48508ea7b4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Create new set of configs on nodes"},{"line_number":4,"context_line":"- include: config.yml"},{"line_number":5,"context_line":"  when:"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"ba63e191_b57aeeef","line":2,"updated":"2016-01-20 05:48:49.000000000","message":"please remove newline","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"90aa119b70ef2571b0f36b771504864c4d6cdaa3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Create new set of configs on nodes"},{"line_number":4,"context_line":"- include: config.yml"},{"line_number":5,"context_line":"  when:"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"5a5ae5dd_5a52f768","line":2,"in_reply_to":"ba63e191_b57aeeef","updated":"2016-02-03 18:42:59.000000000","message":"Done","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"de794cb65b904f48982b3659c1d61a48508ea7b4","unresolved":false,"context_lines":[{"line_number":3,"context_line":"# Create new set of configs on nodes"},{"line_number":4,"context_line":"- include: config.yml"},{"line_number":5,"context_line":"  when:"},{"line_number":6,"context_line":"    - kolla_upgrade"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"- include: upgrade/database.yml"},{"line_number":9,"context_line":"  when:"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"ba63e191_d57d22e8","line":6,"updated":"2016-01-20 05:48:49.000000000","message":"unneeded","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"90aa119b70ef2571b0f36b771504864c4d6cdaa3","unresolved":false,"context_lines":[{"line_number":3,"context_line":"# Create new set of configs on nodes"},{"line_number":4,"context_line":"- include: config.yml"},{"line_number":5,"context_line":"  when:"},{"line_number":6,"context_line":"    - kolla_upgrade"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"- include: upgrade/database.yml"},{"line_number":9,"context_line":"  when:"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"5a5ae5dd_7a5a5385","line":6,"in_reply_to":"ba63e191_d57d22e8","updated":"2016-02-03 18:42:59.000000000","message":"Done","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":13671,"name":"Vladislav Belogrudov","email":"v.belogrudov@yadro.com","username":"vb"},"change_message_id":"1c7fff3787f364cdaec40ebee663fbba6554e567","unresolved":false,"context_lines":[{"line_number":2,"context_line":"# Create new set of configs on nodes"},{"line_number":3,"context_line":"- include: config.yml"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"- include: upgrade/database.yml"},{"line_number":6,"context_line":"  when:"},{"line_number":7,"context_line":"    - inventory_hostname in groups[\u0027nova-api\u0027]"},{"line_number":8,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"5a5ae5dd_358717d9","line":5,"range":{"start_line":5,"start_character":19,"end_line":5,"end_character":27},"updated":"2016-02-09 14:11:52.000000000","message":"this is gone, right?","commit_id":"3cbc1a9d23c4f3b322c009516682f83440774257"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"ef0ed9d3c68c99d670c0c2ab69fa53d1b6e78e48","unresolved":false,"context_lines":[{"line_number":2,"context_line":"# Create new set of configs on nodes"},{"line_number":3,"context_line":"- include: config.yml"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"- include: upgrade/database.yml"},{"line_number":6,"context_line":"  when:"},{"line_number":7,"context_line":"    - inventory_hostname in groups[\u0027nova-api\u0027]"},{"line_number":8,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"dae33548_0196583e","line":5,"range":{"start_line":5,"start_character":19,"end_line":5,"end_character":27},"in_reply_to":"5a5ae5dd_358717d9","updated":"2016-02-17 18:49:01.000000000","message":"Done","commit_id":"3cbc1a9d23c4f3b322c009516682f83440774257"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"53a5af453c8929e0393ecb0099041b1373e8319e","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"- include: upgrade/conductors.yml"},{"line_number":9,"context_line":"  when:"},{"line_number":10,"context_line":"    - inventory_hostname in groups[\u0027nova-conductor\u0027]"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"- include: upgrade/control.yml"},{"line_number":13,"context_line":"  serial: \"30%\""}],"source_content_type":"text/x-yaml","patch_set":15,"id":"dae33548_6133e462","line":10,"updated":"2016-02-17 18:54:49.000000000","message":"this is redudant. this should be removed or the one in conductors.yml should be removed","commit_id":"74fba81153ab26338af5faa45b231d3b8cef4575"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"62fc0572f5ef6a3663b77e24dcdf3fda3098d88f","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"# TODO(inc0): since nova is creating new database in L-\u003eM, we need to call it. It should be removed later"},{"line_number":6,"context_line":"- include: bootstrap.yml"},{"line_number":7,"context_line":"  when: inventory_hostname in groups[\u0027nova-api\u0027]"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"- include: bootstrap_service.yml"},{"line_number":10,"context_line":"  when: inventory_hostname in groups[\u0027nova-api\u0027]"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"bae84128_b6265c66","line":7,"updated":"2016-02-19 19:46:39.000000000","message":"you shouldn\u0027t be filtering on nova-api","commit_id":"3d0895068c3c8a30a41395c4dc38de4223777ce1"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"62fc0572f5ef6a3663b77e24dcdf3fda3098d88f","unresolved":false,"context_lines":[{"line_number":7,"context_line":"  when: inventory_hostname in groups[\u0027nova-api\u0027]"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"- include: bootstrap_service.yml"},{"line_number":10,"context_line":"  when: inventory_hostname in groups[\u0027nova-api\u0027]"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"- name: Checking if conductor container needs upgrading"},{"line_number":13,"context_line":"  kolla_docker:"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"bae84128_962b5830","line":10,"updated":"2016-02-19 19:46:39.000000000","message":"you shouldn\u0027t be filtering on nova-api","commit_id":"3d0895068c3c8a30a41395c4dc38de4223777ce1"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"46a55846a9a824eae1c3967af5920ec52266123e","unresolved":false,"context_lines":[{"line_number":2,"context_line":"# Create new set of configs on nodes"},{"line_number":3,"context_line":"- include: config.yml"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"# TODO(inc0): since nova is creating new database in L-\u003eM, we need to call it. It should be removed later"},{"line_number":6,"context_line":"- include: bootstrap.yml"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"- include: bootstrap_service.yml"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"bae84128_167588f8","line":5,"updated":"2016-02-19 19:55:12.000000000","message":"this needs a linewrap at removed","commit_id":"0cdbe9424ae9128ee4676241a1d22737773e5df7"}],"ansible/roles/nova/tasks/upgrade/compute.yml":[{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"de794cb65b904f48982b3659c1d61a48508ea7b4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"- name: Starting nova-compute container"},{"line_number":4,"context_line":"  kolla_docker:"},{"line_number":5,"context_line":"    action: \"start_container\""}],"source_content_type":"text/x-yaml","patch_set":13,"id":"ba63e191_9587aad6","line":2,"updated":"2016-01-20 05:48:49.000000000","message":"please remove newline","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"90aa119b70ef2571b0f36b771504864c4d6cdaa3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"- name: Starting nova-compute container"},{"line_number":4,"context_line":"  kolla_docker:"},{"line_number":5,"context_line":"    action: \"start_container\""}],"source_content_type":"text/x-yaml","patch_set":13,"id":"5a5ae5dd_bac76b11","line":2,"in_reply_to":"ba63e191_9587aad6","updated":"2016-02-03 18:42:59.000000000","message":"Done","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"f04c76c0ad237c096e5c483c4cfe6a860eb9eb8a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: Starting nova-compute container"},{"line_number":3,"context_line":"  kolla_docker:"},{"line_number":4,"context_line":"    action: \"start_container\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"5a5ae5dd_9dbb8972","line":1,"updated":"2016-02-03 18:59:12.000000000","message":"you need the nova_libvirt container in here","commit_id":"3cbc1a9d23c4f3b322c009516682f83440774257"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"ef0ed9d3c68c99d670c0c2ab69fa53d1b6e78e48","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: Starting nova-compute container"},{"line_number":3,"context_line":"  kolla_docker:"},{"line_number":4,"context_line":"    action: \"start_container\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"dae33548_419ce05c","line":1,"in_reply_to":"5a5ae5dd_9dbb8972","updated":"2016-02-17 18:49:01.000000000","message":"Done","commit_id":"3cbc1a9d23c4f3b322c009516682f83440774257"}],"ansible/roles/nova/tasks/upgrade/conductors.yml":[{"author":{"_account_id":13039,"name":"Martin André","email":"m.andre@redhat.com","username":"mandre"},"change_message_id":"56eda9651d80659fd76464a0b86c940d79eda970","unresolved":false,"context_lines":[{"line_number":32,"context_line":"      - \"{{ node_config_directory }}/nova-conductor/:{{ container_config_directory }}/:ro\""},{"line_number":33,"context_line":"    env:"},{"line_number":34,"context_line":"      KOLLA_CONFIG_STRATEGY: \"{{ config_strategy }}\""},{"line_number":35,"context_line":"  when: \"{{ running_version.labels.kolla_version | default (\u00271.0.0\u0027) !\u003d deploy_version.labels.kolla_version }}\""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"- name: Upgrading Nova-conductor container"},{"line_number":38,"context_line":"  docker:"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"3a7e1126_fa4ccb43","line":35,"updated":"2015-12-18 06:59:29.000000000","message":"You\u0027re actually checking it is different than current, not older. I suggest changing the name of the task.","commit_id":"dbacac714879849c0dbe5c772f156c5a101e9f2c"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"d3967abdb0b065606ce74d5008bb32c50539d1d6","unresolved":false,"context_lines":[{"line_number":32,"context_line":"      - \"{{ node_config_directory }}/nova-conductor/:{{ container_config_directory }}/:ro\""},{"line_number":33,"context_line":"    env:"},{"line_number":34,"context_line":"      KOLLA_CONFIG_STRATEGY: \"{{ config_strategy }}\""},{"line_number":35,"context_line":"  when: \"{{ running_version.labels.kolla_version | default (\u00271.0.0\u0027) !\u003d deploy_version.labels.kolla_version }}\""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"- name: Upgrading Nova-conductor container"},{"line_number":38,"context_line":"  docker:"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"1a7b0d38_54af62e3","line":35,"in_reply_to":"3a7e1126_fa4ccb43","updated":"2015-12-22 15:39:47.000000000","message":"Done","commit_id":"dbacac714879849c0dbe5c772f156c5a101e9f2c"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"75e237ff9a60efb31253af7f57ecd10b4321f994","unresolved":false,"context_lines":[{"line_number":15,"context_line":"# We assume that if there is no version defined for running_container, its 1.0.0"},{"line_number":16,"context_line":"- name: Stopping all nova_conductor containers if release is different than current"},{"line_number":17,"context_line":"  docker:"},{"line_number":18,"context_line":"    tty: True"},{"line_number":19,"context_line":"    net: host"},{"line_number":20,"context_line":"    pull: \"{{ docker_pull_policy }}\""},{"line_number":21,"context_line":"    restart_policy: \"{{ docker_restart_policy }}\""}],"source_content_type":"text/x-yaml","patch_set":12,"id":"ba63e191_c67833c7","line":18,"updated":"2016-01-19 20:09:50.000000000","message":"i\u0027d like to get rid of all tty: true.  Is this necessary for a sudo operation, or something else?  If necessary for a sudo operation lets please fix the sudo configuration.","commit_id":"d356e3f41e8c4d76572af1844609c32a22199d2c"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"b6966d295fd332483baab80a02e4fce7e95424cb","unresolved":false,"context_lines":[{"line_number":15,"context_line":"# We assume that if there is no version defined for running_container, its 1.0.0"},{"line_number":16,"context_line":"- name: Stopping all nova_conductor containers if release is different than current"},{"line_number":17,"context_line":"  docker:"},{"line_number":18,"context_line":"    tty: True"},{"line_number":19,"context_line":"    net: host"},{"line_number":20,"context_line":"    pull: \"{{ docker_pull_policy }}\""},{"line_number":21,"context_line":"    restart_policy: \"{{ docker_restart_policy }}\""}],"source_content_type":"text/x-yaml","patch_set":12,"id":"ba63e191_42f8ac49","line":18,"in_reply_to":"ba63e191_c67833c7","updated":"2016-01-19 21:02:31.000000000","message":"Done","commit_id":"d356e3f41e8c4d76572af1844609c32a22199d2c"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"de794cb65b904f48982b3659c1d61a48508ea7b4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"- name: Get version of running nova_conductor"},{"line_number":4,"context_line":"  get_docker_labels:"},{"line_number":5,"context_line":"    name: nova_conductor"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"ba63e191_356fde2c","line":2,"updated":"2016-01-20 05:48:49.000000000","message":"please remove newline","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"90aa119b70ef2571b0f36b771504864c4d6cdaa3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"- name: Get version of running nova_conductor"},{"line_number":4,"context_line":"  get_docker_labels:"},{"line_number":5,"context_line":"    name: nova_conductor"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"5a5ae5dd_3adcdbe3","line":2,"in_reply_to":"ba63e191_356fde2c","updated":"2016-02-03 18:42:59.000000000","message":"Done","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":1390,"name":"Paul Bourke","email":"pauldbourke@proton.me","username":"pauldbourke"},"change_message_id":"c9e6e1683043e5be34717eacd1ba0fb01da5cfe1","unresolved":false,"context_lines":[{"line_number":12,"context_line":"    type: image"},{"line_number":13,"context_line":"  register: deploy_version"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"# We assume that if there is no version defined for running_container, its 1.0.0"},{"line_number":16,"context_line":"- name: Stopping all nova_conductor containers if release is different than current"},{"line_number":17,"context_line":"    kolla_docker:"},{"line_number":18,"context_line":"    action: \"stop_container\""}],"source_content_type":"text/x-yaml","patch_set":13,"id":"7a5de9d1_06620fae","line":15,"updated":"2016-02-02 12:13:42.000000000","message":"Why was this label based start/stop mechanism not needed in the keystone upgrade?","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"90aa119b70ef2571b0f36b771504864c4d6cdaa3","unresolved":false,"context_lines":[{"line_number":12,"context_line":"    type: image"},{"line_number":13,"context_line":"  register: deploy_version"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"# We assume that if there is no version defined for running_container, its 1.0.0"},{"line_number":16,"context_line":"- name: Stopping all nova_conductor containers if release is different than current"},{"line_number":17,"context_line":"    kolla_docker:"},{"line_number":18,"context_line":"    action: \"stop_container\""}],"source_content_type":"text/x-yaml","patch_set":13,"id":"5a5ae5dd_5a8757b5","line":15,"in_reply_to":"7a5de9d1_06620fae","updated":"2016-02-03 18:42:59.000000000","message":"I explained in irc, but basically we need to stop all the conductors during upgrade, and I want to make sure we do this only if we need to","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"de794cb65b904f48982b3659c1d61a48508ea7b4","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"# We assume that if there is no version defined for running_container, its 1.0.0"},{"line_number":16,"context_line":"- name: Stopping all nova_conductor containers if release is different than current"},{"line_number":17,"context_line":"    kolla_docker:"},{"line_number":18,"context_line":"    action: \"stop_container\""},{"line_number":19,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":20,"context_line":"    name: \"nova_conductor\""}],"source_content_type":"text/x-yaml","patch_set":13,"id":"ba63e191_d564424a","line":17,"updated":"2016-01-20 05:48:49.000000000","message":"improper indent","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"90aa119b70ef2571b0f36b771504864c4d6cdaa3","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"# We assume that if there is no version defined for running_container, its 1.0.0"},{"line_number":16,"context_line":"- name: Stopping all nova_conductor containers if release is different than current"},{"line_number":17,"context_line":"    kolla_docker:"},{"line_number":18,"context_line":"    action: \"stop_container\""},{"line_number":19,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":20,"context_line":"    name: \"nova_conductor\""}],"source_content_type":"text/x-yaml","patch_set":13,"id":"5a5ae5dd_babc4b6d","line":17,"in_reply_to":"ba63e191_d564424a","updated":"2016-02-03 18:42:59.000000000","message":"Done","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"de794cb65b904f48982b3659c1d61a48508ea7b4","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    action: \"stop_container\""},{"line_number":19,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":20,"context_line":"    name: \"nova_conductor\""},{"line_number":21,"context_line":"  when: \"{{ running_version.labels.kolla_version | default (\u00271.0.0\u0027) !\u003d deploy_version.labels.kolla_version }}\""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"- name: Starting nova-conductor container"},{"line_number":24,"context_line":"  kolla_docker:"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"ba63e191_3556fe5c","line":21,"updated":"2016-01-20 05:48:49.000000000","message":"no need to wrap this in \"{{ }}\"","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"90aa119b70ef2571b0f36b771504864c4d6cdaa3","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    action: \"stop_container\""},{"line_number":19,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":20,"context_line":"    name: \"nova_conductor\""},{"line_number":21,"context_line":"  when: \"{{ running_version.labels.kolla_version | default (\u00271.0.0\u0027) !\u003d deploy_version.labels.kolla_version }}\""},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"- name: Starting nova-conductor container"},{"line_number":24,"context_line":"  kolla_docker:"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"5a5ae5dd_7ab6d38b","line":21,"in_reply_to":"ba63e191_3556fe5c","updated":"2016-02-03 18:42:59.000000000","message":"Done","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"f04c76c0ad237c096e5c483c4cfe6a860eb9eb8a","unresolved":false,"context_lines":[{"line_number":12,"context_line":"  register: deploy_version"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"# We assume that if there is no version defined for running_container, its 1.0.0"},{"line_number":15,"context_line":"- name: Stopping all nova_conductor containers if release is different than current"},{"line_number":16,"context_line":"  kolla_docker:"},{"line_number":17,"context_line":"    action: \"stop_container\""},{"line_number":18,"context_line":"    common_options: \"{{ docker_common_options }}\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"5a5ae5dd_5d7511c9","line":15,"updated":"2016-02-03 18:59:12.000000000","message":"This task will have undesired results if this had a partial upgrade and containers are running different versions. You need to stop _all_ containers if one of them doesn\u0027t match that latest version","commit_id":"3cbc1a9d23c4f3b322c009516682f83440774257"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"ef0ed9d3c68c99d670c0c2ab69fa53d1b6e78e48","unresolved":false,"context_lines":[{"line_number":12,"context_line":"  register: deploy_version"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"# We assume that if there is no version defined for running_container, its 1.0.0"},{"line_number":15,"context_line":"- name: Stopping all nova_conductor containers if release is different than current"},{"line_number":16,"context_line":"  kolla_docker:"},{"line_number":17,"context_line":"    action: \"stop_container\""},{"line_number":18,"context_line":"    common_options: \"{{ docker_common_options }}\""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"dae33548_e1ab7473","line":15,"in_reply_to":"5a5ae5dd_5d7511c9","updated":"2016-02-17 18:49:01.000000000","message":"Done","commit_id":"3cbc1a9d23c4f3b322c009516682f83440774257"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"53a5af453c8929e0393ecb0099041b1373e8319e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"# Short downtime here, but from user perspective his call will just timeout or execute later"},{"line_number":3,"context_line":"- name: Stopping all nova_conductor containers if release is different than current"},{"line_number":4,"context_line":"  kolla_docker:"},{"line_number":5,"context_line":"    action: \"stop_container\""}],"source_content_type":"text/x-yaml","patch_set":15,"id":"dae33548_c11bd0c8","line":2,"updated":"2016-02-17 18:54:49.000000000","message":"This is not idempotent. This will always stop the containers whether the containers differ or not.\n\nWe should query the running nova-conductor containers and see if they are all active and running the latest image. if _not_ then we stop the ones that are not running the latest image.\n\nThis may mean additional return info from kolla_docker, I can help you with that if you need it","commit_id":"74fba81153ab26338af5faa45b231d3b8cef4575"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"2012065502d10fbab080c2c813ea69728586aa0e","unresolved":false,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"- name: Checking if conductor container needs upgrading"},{"line_number":4,"context_line":"  kolla_docker:"},{"line_number":5,"context_line":"    action: \"compare_image\""},{"line_number":6,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":7,"context_line":"    name: \"nova_conductor\""},{"line_number":8,"context_line":"    image: \"{{ nova_conductor_image_full }}\""}],"source_content_type":"text/x-yaml","patch_set":16,"id":"dae33548_1de074f9","line":5,"updated":"2016-02-17 21:57:16.000000000","message":"why not just use check_container_differs?\n\nIt should never differ from what we are about to deploy anyway.","commit_id":"04c4b83bc19743276c78dd6d5d64323b124f5e90"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"f73cf96c3f7435157295eab62a45cc4593a8e4a8","unresolved":false,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"- name: Checking if conductor container needs upgrading"},{"line_number":4,"context_line":"  kolla_docker:"},{"line_number":5,"context_line":"    action: \"compare_image\""},{"line_number":6,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":7,"context_line":"    name: \"nova_conductor\""},{"line_number":8,"context_line":"    image: \"{{ nova_conductor_image_full }}\""}],"source_content_type":"text/x-yaml","patch_set":16,"id":"dae33548_f3750198","line":5,"in_reply_to":"dae33548_1de074f9","updated":"2016-02-17 22:42:51.000000000","message":"If you use check_container_differs you need to add information about mounts, envs and whatever other configs you use on start as well, which is not DRY","commit_id":"04c4b83bc19743276c78dd6d5d64323b124f5e90"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"aafca538375b93ccee11b999e68348948aa0541f","unresolved":false,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"- name: Checking if conductor container needs upgrading"},{"line_number":4,"context_line":"  kolla_docker:"},{"line_number":5,"context_line":"    action: \"compare_image\""},{"line_number":6,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":7,"context_line":"    name: \"nova_conductor\""},{"line_number":8,"context_line":"    image: \"{{ nova_conductor_image_full }}\""}],"source_content_type":"text/x-yaml","patch_set":16,"id":"dae33548_5837a1fe","line":5,"in_reply_to":"dae33548_49d6b94f","updated":"2016-02-18 03:31:44.000000000","message":"You are wrong. If something is violation of DRY, multiplying it elsewhere isn\u0027t acceptable if can be avoided. This is new task type so we don\u0027t have standard to follow.","commit_id":"04c4b83bc19743276c78dd6d5d64323b124f5e90"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"283048456c7dc5b2673f80f5a4aae3f7541b32e5","unresolved":false,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"- name: Checking if conductor container needs upgrading"},{"line_number":4,"context_line":"  kolla_docker:"},{"line_number":5,"context_line":"    action: \"compare_image\""},{"line_number":6,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":7,"context_line":"    name: \"nova_conductor\""},{"line_number":8,"context_line":"    image: \"{{ nova_conductor_image_full }}\""}],"source_content_type":"text/x-yaml","patch_set":16,"id":"dae33548_6332b6a8","line":5,"in_reply_to":"dae33548_5837a1fe","updated":"2016-02-18 03:44:42.000000000","message":"fine then split out the starting nova-conductor (and all the other tasks) in this patchset thats fine\n\ntehn you wont be violating DRY anywhere...","commit_id":"04c4b83bc19743276c78dd6d5d64323b124f5e90"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"e938c4cc8f9b342b4098d45226cf764424b7facc","unresolved":false,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"- name: Checking if conductor container needs upgrading"},{"line_number":4,"context_line":"  kolla_docker:"},{"line_number":5,"context_line":"    action: \"compare_image\""},{"line_number":6,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":7,"context_line":"    name: \"nova_conductor\""},{"line_number":8,"context_line":"    image: \"{{ nova_conductor_image_full }}\""}],"source_content_type":"text/x-yaml","patch_set":16,"id":"dae33548_9e7e3168","line":5,"in_reply_to":"dae33548_6332b6a8","updated":"2016-02-18 04:25:33.000000000","message":"To clarify for other reviewers, inc0 is right on this point about not having the mounts so it will violate dry if we still use check_container_differs without a special flag","commit_id":"04c4b83bc19743276c78dd6d5d64323b124f5e90"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"0d70fba48010d87c019f972218b14130366994f2","unresolved":false,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"- name: Checking if conductor container needs upgrading"},{"line_number":4,"context_line":"  kolla_docker:"},{"line_number":5,"context_line":"    action: \"compare_image\""},{"line_number":6,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":7,"context_line":"    name: \"nova_conductor\""},{"line_number":8,"context_line":"    image: \"{{ nova_conductor_image_full }}\""}],"source_content_type":"text/x-yaml","patch_set":16,"id":"dae33548_49d6b94f","line":5,"in_reply_to":"dae33548_f3750198","updated":"2016-02-18 00:11:09.000000000","message":"If you are refering to the duplicated Start command below, this was already identified as a violation of DRY. As to not hold up or further complicate the patch this was somethign we were going to refactor later.\n\nPlease use check_container_differs","commit_id":"04c4b83bc19743276c78dd6d5d64323b124f5e90"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"e938c4cc8f9b342b4098d45226cf764424b7facc","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    - inventory_hostname in groups[\u0027nova-conductor\u0027]"},{"line_number":20,"context_line":"    - conductor_differs[\u0027result\u0027]"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"- name: Starting nova-conductor container"},{"line_number":23,"context_line":"  kolla_docker:"},{"line_number":24,"context_line":"    action: \"start_container\""},{"line_number":25,"context_line":"    common_options: \"{{ docker_common_options }}\""}],"source_content_type":"text/x-yaml","patch_set":16,"id":"dae33548_3e90c594","line":22,"updated":"2016-02-18 04:25:33.000000000","message":"you asked me to comment here saying to refactor this out so we dont violate dry in start.yml","commit_id":"04c4b83bc19743276c78dd6d5d64323b124f5e90"}],"ansible/roles/nova/tasks/upgrade/control.yml":[{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"75e237ff9a60efb31253af7f57ecd10b4321f994","unresolved":false,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"- name: Starting Nova-api container"},{"line_number":4,"context_line":"  docker:"},{"line_number":5,"context_line":"    tty: True"},{"line_number":6,"context_line":"    net: host"},{"line_number":7,"context_line":"    pull: \"{{ docker_pull_policy }}\""},{"line_number":8,"context_line":"    restart_policy: \"{{ docker_restart_policy }}\""}],"source_content_type":"text/x-yaml","patch_set":12,"id":"ba63e191_263fcfd7","line":5,"updated":"2016-01-19 20:09:50.000000000","message":"can you sort out a solution without tty: True","commit_id":"d356e3f41e8c4d76572af1844609c32a22199d2c"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"75e237ff9a60efb31253af7f57ecd10b4321f994","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"- name: Starting Nova-consoleauth container"},{"line_number":27,"context_line":"  docker:"},{"line_number":28,"context_line":"    tty: True"},{"line_number":29,"context_line":"    net: host"},{"line_number":30,"context_line":"    pull: \"{{ docker_pull_policy }}\""},{"line_number":31,"context_line":"    restart_policy: \"{{ docker_restart_policy }}\""}],"source_content_type":"text/x-yaml","patch_set":12,"id":"ba63e191_a602df09","line":28,"updated":"2016-01-19 20:09:50.000000000","message":"can you sort out a solution without tty; true","commit_id":"d356e3f41e8c4d76572af1844609c32a22199d2c"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"75e237ff9a60efb31253af7f57ecd10b4321f994","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"- name: Starting Nova-novncproxy container"},{"line_number":48,"context_line":"  docker:"},{"line_number":49,"context_line":"    tty: True"},{"line_number":50,"context_line":"    net: host"},{"line_number":51,"context_line":"    pull: \"{{ docker_pull_policy }}\""},{"line_number":52,"context_line":"    restart_policy: \"{{ docker_restart_policy }}\""}],"source_content_type":"text/x-yaml","patch_set":12,"id":"ba63e191_e608d72f","line":49,"updated":"2016-01-19 20:09:50.000000000","message":"can you sort out a solution without tty: True","commit_id":"d356e3f41e8c4d76572af1844609c32a22199d2c"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"75e237ff9a60efb31253af7f57ecd10b4321f994","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"- name: Starting Nova-scheduler container"},{"line_number":71,"context_line":"  docker:"},{"line_number":72,"context_line":"    tty: True"},{"line_number":73,"context_line":"    net: host"},{"line_number":74,"context_line":"    pull: \"{{ docker_pull_policy }}\""},{"line_number":75,"context_line":"    restart_policy: \"{{ docker_restart_policy }}\""}],"source_content_type":"text/x-yaml","patch_set":12,"id":"ba63e191_210d7937","line":72,"updated":"2016-01-19 20:09:50.000000000","message":"can you sort out a solution without tty: true","commit_id":"d356e3f41e8c4d76572af1844609c32a22199d2c"},{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"75e237ff9a60efb31253af7f57ecd10b4321f994","unresolved":false,"context_lines":[{"line_number":90,"context_line":""},{"line_number":91,"context_line":"- name: Starting Nova-spicehtml5proxy container"},{"line_number":92,"context_line":"  docker:"},{"line_number":93,"context_line":"    tty: True"},{"line_number":94,"context_line":"    net: host"},{"line_number":95,"context_line":"    pull: \"{{ docker_pull_policy }}\""},{"line_number":96,"context_line":"    restart_policy: \"{{ docker_restart_policy }}\""}],"source_content_type":"text/x-yaml","patch_set":12,"id":"ba63e191_612a9180","line":93,"updated":"2016-01-19 20:09:50.000000000","message":"can you sort out a solution wihtout tty: true","commit_id":"d356e3f41e8c4d76572af1844609c32a22199d2c"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"de794cb65b904f48982b3659c1d61a48508ea7b4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"- name: Starting nova-api container"},{"line_number":4,"context_line":"  kolla_docker:"},{"line_number":5,"context_line":"    action: \"start_container\""}],"source_content_type":"text/x-yaml","patch_set":13,"id":"ba63e191_f54f06bb","line":2,"updated":"2016-01-20 05:48:49.000000000","message":"please remove newline","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"90aa119b70ef2571b0f36b771504864c4d6cdaa3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"- name: Starting nova-api container"},{"line_number":4,"context_line":"  kolla_docker:"},{"line_number":5,"context_line":"    action: \"start_container\""}],"source_content_type":"text/x-yaml","patch_set":13,"id":"5a5ae5dd_5aae772f","line":2,"in_reply_to":"ba63e191_f54f06bb","updated":"2016-02-03 18:42:59.000000000","message":"Done","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"de794cb65b904f48982b3659c1d61a48508ea7b4","unresolved":false,"context_lines":[{"line_number":12,"context_line":"      - \"/lib/modules:/lib/modules:ro\""},{"line_number":13,"context_line":"      - \"/var/lib/kolla/dev/log:/dev/log\""},{"line_number":14,"context_line":"  when: inventory_hostname in groups[\u0027nova-api\u0027]"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"- name: Starting nova-consoleauth container"},{"line_number":18,"context_line":"  kolla_docker:"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"ba63e191_b5c8ae23","line":15,"updated":"2016-01-20 05:48:49.000000000","message":"please remove newline","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"90aa119b70ef2571b0f36b771504864c4d6cdaa3","unresolved":false,"context_lines":[{"line_number":12,"context_line":"      - \"/lib/modules:/lib/modules:ro\""},{"line_number":13,"context_line":"      - \"/var/lib/kolla/dev/log:/dev/log\""},{"line_number":14,"context_line":"  when: inventory_hostname in groups[\u0027nova-api\u0027]"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"- name: Starting nova-consoleauth container"},{"line_number":18,"context_line":"  kolla_docker:"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"5a5ae5dd_faaac318","line":15,"in_reply_to":"ba63e191_b5c8ae23","updated":"2016-02-03 18:42:59.000000000","message":"Done","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"}],"ansible/roles/nova/tasks/upgrade/database.yml":[{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"75e237ff9a60efb31253af7f57ecd10b4321f994","unresolved":false,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"- name: Starting Nova bootstrap container"},{"line_number":4,"context_line":"  docker:"},{"line_number":5,"context_line":"    tty: True"},{"line_number":6,"context_line":"    detach: False"},{"line_number":7,"context_line":"    net: host"},{"line_number":8,"context_line":"    pull: \"{{ docker_pull_policy }}\""}],"source_content_type":"text/x-yaml","patch_set":12,"id":"ba63e191_c13b3dd0","line":5,"updated":"2016-01-19 20:09:50.000000000","message":"can you sort out a solution without tty: true","commit_id":"d356e3f41e8c4d76572af1844609c32a22199d2c"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"de794cb65b904f48982b3659c1d61a48508ea7b4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"- name: Starting Nova bootstrap container"},{"line_number":4,"context_line":"  kolla_docker:"},{"line_number":5,"context_line":"    action: \"start_container\""}],"source_content_type":"text/x-yaml","patch_set":13,"id":"ba63e191_75d236d4","line":2,"updated":"2016-01-20 05:48:49.000000000","message":"please remove newline","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"de794cb65b904f48982b3659c1d61a48508ea7b4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"- name: Starting Nova bootstrap container"},{"line_number":4,"context_line":"  kolla_docker:"},{"line_number":5,"context_line":"    action: \"start_container\""},{"line_number":6,"context_line":"    common_options: \"{{ docker_common_options }}\""}],"source_content_type":"text/x-yaml","patch_set":13,"id":"ba63e191_95d56aba","line":3,"updated":"2016-01-20 05:48:49.000000000","message":"this should be broken out of bootstrap.yml just like keystone","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":1390,"name":"Paul Bourke","email":"pauldbourke@proton.me","username":"pauldbourke"},"change_message_id":"abc456b0fc671f95fbaab25d8e5325d36c6146b4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"- name: Starting Nova bootstrap container"},{"line_number":4,"context_line":"  kolla_docker:"},{"line_number":5,"context_line":"    action: \"start_container\""},{"line_number":6,"context_line":"    common_options: \"{{ docker_common_options }}\""}],"source_content_type":"text/x-yaml","patch_set":13,"id":"7a5de9d1_0b685db8","line":3,"in_reply_to":"ba63e191_95d56aba","updated":"2016-02-01 18:01:32.000000000","message":"+1","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"90aa119b70ef2571b0f36b771504864c4d6cdaa3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"- name: Starting Nova bootstrap container"},{"line_number":4,"context_line":"  kolla_docker:"},{"line_number":5,"context_line":"    action: \"start_container\""},{"line_number":6,"context_line":"    common_options: \"{{ docker_common_options }}\""}],"source_content_type":"text/x-yaml","patch_set":13,"id":"5a5ae5dd_1d3239f2","line":3,"in_reply_to":"ba63e191_95d56aba","updated":"2016-02-03 18:42:59.000000000","message":"Done","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"}],"ansible/roles/nova/tasks/upgrade/reload.yml":[{"author":{"_account_id":2834,"name":"Steven Dake","email":"steven.dake@gmail.com","username":"sdake"},"change_message_id":"75e237ff9a60efb31253af7f57ecd10b4321f994","unresolved":false,"context_lines":[{"line_number":2,"context_line":"---"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"- name: Sighup Nova-api"},{"line_number":5,"context_line":"  command: docker exec -t nova_api kill -1 1"},{"line_number":6,"context_line":"  when: inventory_hostname in groups[\u0027nova-api\u0027]"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"- name: Sighup Nova-conductor"}],"source_content_type":"text/x-yaml","patch_set":12,"id":"ba63e191_a13089e9","line":5,"updated":"2016-01-19 20:09:50.000000000","message":"interesting approach!!","commit_id":"d356e3f41e8c4d76572af1844609c32a22199d2c"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"de794cb65b904f48982b3659c1d61a48508ea7b4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"ba63e191_55fff233","updated":"2016-01-20 05:48:49.000000000","message":"none of these tasks are idempotent","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"607dc15a23c8c909da24a203ca9122d09f94542c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"7a5de9d1_8b4ab153","in_reply_to":"7a5de9d1_45f1086a","updated":"2016-02-01 18:24:50.000000000","message":"sighuping all processes like this means the services could all go down at the same time. this renders your 30% at a time useless.","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"90aa119b70ef2571b0f36b771504864c4d6cdaa3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"5a5ae5dd_bd9be5c8","in_reply_to":"7a5de9d1_8b4ab153","updated":"2016-02-03 18:42:59.000000000","message":"Done","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":1390,"name":"Paul Bourke","email":"pauldbourke@proton.me","username":"pauldbourke"},"change_message_id":"abc456b0fc671f95fbaab25d8e5325d36c6146b4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"7a5de9d1_45f1086a","in_reply_to":"ba63e191_55fff233","updated":"2016-02-01 18:01:32.000000000","message":"Why are we doing this instead of docker restart","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"de794cb65b904f48982b3659c1d61a48508ea7b4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# This play calls sighup on every service to refresh upgrade levels"},{"line_number":2,"context_line":"---"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"- name: Sighup Nova-api"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"ba63e191_b5ef4e86","line":1,"updated":"2016-01-20 05:48:49.000000000","message":"file should start with --- not a comment","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"90aa119b70ef2571b0f36b771504864c4d6cdaa3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# This play calls sighup on every service to refresh upgrade levels"},{"line_number":2,"context_line":"---"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"- name: Sighup Nova-api"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"5a5ae5dd_5dad11e8","line":1,"in_reply_to":"ba63e191_b5ef4e86","updated":"2016-02-03 18:42:59.000000000","message":"Done","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"de794cb65b904f48982b3659c1d61a48508ea7b4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# This play calls sighup on every service to refresh upgrade levels"},{"line_number":2,"context_line":"---"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"- name: Sighup Nova-api"},{"line_number":5,"context_line":"  command: docker exec -t nova_api kill -1 1"},{"line_number":6,"context_line":"  when: inventory_hostname in groups[\u0027nova-api\u0027]"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"ba63e191_55d852ef","line":3,"updated":"2016-01-20 05:48:49.000000000","message":"please remove newline","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"90aa119b70ef2571b0f36b771504864c4d6cdaa3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# This play calls sighup on every service to refresh upgrade levels"},{"line_number":2,"context_line":"---"},{"line_number":3,"context_line":""},{"line_number":4,"context_line":"- name: Sighup Nova-api"},{"line_number":5,"context_line":"  command: docker exec -t nova_api kill -1 1"},{"line_number":6,"context_line":"  when: inventory_hostname in groups[\u0027nova-api\u0027]"}],"source_content_type":"text/x-yaml","patch_set":13,"id":"5a5ae5dd_fdb95d2f","line":3,"in_reply_to":"ba63e191_55d852ef","updated":"2016-02-03 18:42:59.000000000","message":"Done","commit_id":"31af5bad09808b2dd29b44807586b80cbeadcbdf"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"f04c76c0ad237c096e5c483c4cfe6a860eb9eb8a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"# This play calls sighup on every service to refresh upgrade levels"},{"line_number":3,"context_line":"- name: Sighup Nova-api"},{"line_number":4,"context_line":"  command: docker exec -t nova_api kill -1 1"},{"line_number":5,"context_line":"  when: inventory_hostname in groups[\u0027nova-api\u0027]"},{"line_number":6,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"5a5ae5dd_9d49498e","line":3,"updated":"2016-02-03 18:59:12.000000000","message":"please use lowercase for nova-api in task name","commit_id":"3cbc1a9d23c4f3b322c009516682f83440774257"},{"author":{"_account_id":10787,"name":"Michal Jastrzebski (inc0)","email":"michal.jastrzebski@intel.com","username":"inc0"},"change_message_id":"ef0ed9d3c68c99d670c0c2ab69fa53d1b6e78e48","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"# This play calls sighup on every service to refresh upgrade levels"},{"line_number":3,"context_line":"- name: Sighup Nova-api"},{"line_number":4,"context_line":"  command: docker exec -t nova_api kill -1 1"},{"line_number":5,"context_line":"  when: inventory_hostname in groups[\u0027nova-api\u0027]"},{"line_number":6,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":14,"id":"dae33548_21b8bcc7","line":3,"in_reply_to":"5a5ae5dd_9d49498e","updated":"2016-02-17 18:49:01.000000000","message":"Done","commit_id":"3cbc1a9d23c4f3b322c009516682f83440774257"}]}
