)]}'
{"zun/common/utils.py":[{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"2799ee77c8e620bb0ad8b4e1e46841033a1df97c","unresolved":false,"context_lines":[{"line_number":593,"context_line":"    \"\"\"Warps a method to log the event taken on the container, and result."},{"line_number":594,"context_line":""},{"line_number":595,"context_line":"    This decorator wraps a method to log the start and result of an event, as"},{"line_number":596,"context_line":"    part of an action taken on an instance."},{"line_number":597,"context_line":"    \"\"\""},{"line_number":598,"context_line":"    def helper(function):"},{"line_number":599,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f93b717_4374d135","line":596,"range":{"start_line":596,"start_character":31,"end_line":596,"end_character":42},"updated":"2018-01-25 20:40:29.000000000","message":"a container.","commit_id":"171c893ba9e333e07109f9b86fab37932aa59628"}],"zun/compute/api.py":[{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"2799ee77c8e620bb0ad8b4e1e46841033a1df97c","unresolved":false,"context_lines":[{"line_number":108,"context_line":"                                          timestamps, tail, since)"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"    def container_exec(self, context, container, *args):"},{"line_number":111,"context_line":"        self._record_action_start(context, container,"},{"line_number":112,"context_line":"                                  container_actions.EXEC_CMD)"},{"line_number":113,"context_line":"        return self.rpcapi.container_exec(context, container, *args)"},{"line_number":114,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f93b717_3991b69a","line":111,"range":{"start_line":111,"start_character":13,"end_line":111,"end_character":33},"updated":"2018-01-25 20:40:29.000000000","message":"Personally, I don\u0027t think we need to record a command execution because this action is probably not interesting.","commit_id":"171c893ba9e333e07109f9b86fab37932aa59628"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"2799ee77c8e620bb0ad8b4e1e46841033a1df97c","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        return self.rpcapi.container_kill(context, container, *args)"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"    def container_update(self, context, container, *args):"},{"line_number":123,"context_line":"        self._record_action_start(context, container, container_actions.UPDATE)"},{"line_number":124,"context_line":"        return self.rpcapi.container_update(context, container, *args)"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"    def container_attach(self, context, container, *args):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f93b717_99ab2ad5","line":123,"range":{"start_line":123,"start_character":13,"end_line":123,"end_character":33},"updated":"2018-01-25 20:40:29.000000000","message":"Personally, I don\u0027t think we need to record an container update because this action is probably not interesting.","commit_id":"171c893ba9e333e07109f9b86fab37932aa59628"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"2799ee77c8e620bb0ad8b4e1e46841033a1df97c","unresolved":false,"context_lines":[{"line_number":124,"context_line":"        return self.rpcapi.container_update(context, container, *args)"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"    def container_attach(self, context, container, *args):"},{"line_number":127,"context_line":"        self._record_action_start(context, container,"},{"line_number":128,"context_line":"                                  container_actions.CONTAINER_ATTACH)"},{"line_number":129,"context_line":"        return self.rpcapi.container_attach(context, container, *args)"},{"line_number":130,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f93b717_d92c5249","line":127,"range":{"start_line":127,"start_character":13,"end_line":127,"end_character":33},"updated":"2018-01-25 20:40:29.000000000","message":"Personally, I don\u0027t think we need to record a container attach because this action is probably not interesting.","commit_id":"171c893ba9e333e07109f9b86fab37932aa59628"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"2799ee77c8e620bb0ad8b4e1e46841033a1df97c","unresolved":false,"context_lines":[{"line_number":129,"context_line":"        return self.rpcapi.container_attach(context, container, *args)"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    def container_resize(self, context, container, *args):"},{"line_number":132,"context_line":"        self._record_action_start(context, container, container_actions.RESIZE)"},{"line_number":133,"context_line":"        return self.rpcapi.container_resize(context, container, *args)"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"    def container_top(self, context, container, *args):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f93b717_c3a3014f","line":132,"range":{"start_line":132,"start_character":13,"end_line":132,"end_character":33},"updated":"2018-01-25 20:40:29.000000000","message":"I don\u0027t think we need to record this because a resize should not be used by end-users. It is actually implemented for CLI/UI tools.","commit_id":"171c893ba9e333e07109f9b86fab37932aa59628"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"2799ee77c8e620bb0ad8b4e1e46841033a1df97c","unresolved":false,"context_lines":[{"line_number":143,"context_line":"                                  container_actions.ADD_SECURITY_GROUP)"},{"line_number":144,"context_line":"        return self.rpcapi.add_security_group(context, container, *args)"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"    def remove_security_group(self, context, container, *args):"},{"line_number":147,"context_line":"        return self.rpcapi.remove_security_group(context, container, *args)"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"    def container_put_archive(self, context, container, *args):"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f93b717_2392e5f7","line":146,"range":{"start_line":146,"start_character":8,"end_line":146,"end_character":29},"updated":"2018-01-25 20:40:29.000000000","message":"How about recording this.","commit_id":"171c893ba9e333e07109f9b86fab37932aa59628"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"2799ee77c8e620bb0ad8b4e1e46841033a1df97c","unresolved":false,"context_lines":[{"line_number":147,"context_line":"        return self.rpcapi.remove_security_group(context, container, *args)"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"    def container_put_archive(self, context, container, *args):"},{"line_number":150,"context_line":"        self._record_action_start(context, container,"},{"line_number":151,"context_line":"                                  container_actions.PUT_ARCHIVE)"},{"line_number":152,"context_line":"        return self.rpcapi.container_put_archive(context, container, *args)"},{"line_number":153,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f93b717_f9bb4ee2","line":150,"range":{"start_line":150,"start_character":13,"end_line":150,"end_character":33},"updated":"2018-01-25 20:40:29.000000000","message":"Personally, I don\u0027t think we need to record a container attach because this action is probably not interesting.","commit_id":"171c893ba9e333e07109f9b86fab37932aa59628"}],"zun/compute/manager.py":[{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"2799ee77c8e620bb0ad8b4e1e46841033a1df97c","unresolved":false,"context_lines":[{"line_number":449,"context_line":""},{"line_number":450,"context_line":"        utils.spawn_n(do_remove_security_group)"},{"line_number":451,"context_line":""},{"line_number":452,"context_line":"    def _remove_security_group(self, context, container, security_group):"},{"line_number":453,"context_line":"        LOG.debug(\u0027Removing security_group from container: %s\u0027, container.uuid)"},{"line_number":454,"context_line":"        try:"},{"line_number":455,"context_line":"            self.driver.remove_security_group(context, container,"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f93b717_9947aa1e","line":452,"range":{"start_line":452,"start_character":8,"end_line":452,"end_character":30},"updated":"2018-01-25 20:40:29.000000000","message":"How about wrapping this as an event.","commit_id":"171c893ba9e333e07109f9b86fab37932aa59628"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"2799ee77c8e620bb0ad8b4e1e46841033a1df97c","unresolved":false,"context_lines":[{"line_number":618,"context_line":"            LOG.exception(\"Unexpected exception: %s\", six.text_type(e))"},{"line_number":619,"context_line":"            raise"},{"line_number":620,"context_line":""},{"line_number":621,"context_line":"    @wrap_container_event(prefix\u003d\u0027compute\u0027)"},{"line_number":622,"context_line":"    @translate_exception"},{"line_number":623,"context_line":"    def container_exec(self, context, container, command, run, interactive):"},{"line_number":624,"context_line":"        LOG.debug(\u0027Executing command in container: %s\u0027, container.uuid)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f93b717_f95fcee2","line":621,"range":{"start_line":621,"start_character":5,"end_line":621,"end_character":25},"updated":"2018-01-25 20:40:29.000000000","message":"Ditto, I don\u0027t think we need this.","commit_id":"171c893ba9e333e07109f9b86fab37932aa59628"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"2799ee77c8e620bb0ad8b4e1e46841033a1df97c","unresolved":false,"context_lines":[{"line_number":673,"context_line":""},{"line_number":674,"context_line":"        utils.spawn_n(do_container_kill)"},{"line_number":675,"context_line":""},{"line_number":676,"context_line":"    @wrap_container_event(prefix\u003d\u0027compute\u0027)"},{"line_number":677,"context_line":"    @translate_exception"},{"line_number":678,"context_line":"    def container_update(self, context, container, patch):"},{"line_number":679,"context_line":"        LOG.debug(\u0027Updating a container: %s\u0027, container.uuid)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f93b717_1965dab5","line":676,"range":{"start_line":676,"start_character":5,"end_line":676,"end_character":25},"updated":"2018-01-25 20:40:29.000000000","message":"Ditto, I don\u0027t think we need this.","commit_id":"171c893ba9e333e07109f9b86fab37932aa59628"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"2799ee77c8e620bb0ad8b4e1e46841033a1df97c","unresolved":false,"context_lines":[{"line_number":691,"context_line":"                      six.text_type(e))"},{"line_number":692,"context_line":"            raise"},{"line_number":693,"context_line":""},{"line_number":694,"context_line":"    @wrap_container_event(prefix\u003d\u0027compute\u0027)"},{"line_number":695,"context_line":"    @translate_exception"},{"line_number":696,"context_line":"    def container_attach(self, context, container):"},{"line_number":697,"context_line":"        LOG.debug(\u0027Get websocket url from the container: %s\u0027, container.uuid)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f93b717_d95e92e5","line":694,"range":{"start_line":694,"start_character":5,"end_line":694,"end_character":25},"updated":"2018-01-25 20:40:29.000000000","message":"I don\u0027t think we need this.","commit_id":"171c893ba9e333e07109f9b86fab37932aa59628"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"2799ee77c8e620bb0ad8b4e1e46841033a1df97c","unresolved":false,"context_lines":[{"line_number":710,"context_line":"                      six.text_type(e))"},{"line_number":711,"context_line":"            raise"},{"line_number":712,"context_line":""},{"line_number":713,"context_line":"    @wrap_container_event(prefix\u003d\u0027compute\u0027)"},{"line_number":714,"context_line":"    @translate_exception"},{"line_number":715,"context_line":"    def container_resize(self, context, container, height, width):"},{"line_number":716,"context_line":"        LOG.debug(\u0027Resize tty to the container: %s\u0027, container.uuid)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f93b717_9e5c704c","line":713,"range":{"start_line":713,"start_character":5,"end_line":713,"end_character":25},"updated":"2018-01-25 20:40:29.000000000","message":"Ditto. I don\u0027t think we need to record the resize.","commit_id":"171c893ba9e333e07109f9b86fab37932aa59628"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"2799ee77c8e620bb0ad8b4e1e46841033a1df97c","unresolved":false,"context_lines":[{"line_number":751,"context_line":"            LOG.exception(\"Unexpected exception: %s\", six.text_type(e))"},{"line_number":752,"context_line":"            raise"},{"line_number":753,"context_line":""},{"line_number":754,"context_line":"    @wrap_container_event(prefix\u003d\u0027compute\u0027)"},{"line_number":755,"context_line":"    @translate_exception"},{"line_number":756,"context_line":"    def container_put_archive(self, context, container, path, data):"},{"line_number":757,"context_line":"        LOG.debug(\u0027Copying resource to the container: %s\u0027, container.uuid)"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f93b717_f904aec8","line":754,"range":{"start_line":754,"start_character":5,"end_line":754,"end_character":25},"updated":"2018-01-25 20:40:29.000000000","message":"I don\u0027t think we need this.","commit_id":"171c893ba9e333e07109f9b86fab37932aa59628"}]}
