)]}'
{"zun/api/controllers/experimental/capsules.py":[{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"cad5ba45ed882477967a9fcdc82a8af0a54bde06","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    return container"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"def is_all_tenants(search_opts):"},{"line_number":54,"context_line":"    all_tenants \u003d search_opts.get(\u0027all_tenants\u0027)"},{"line_number":55,"context_line":"    if all_tenants:"},{"line_number":56,"context_line":"        try:"},{"line_number":57,"context_line":"            all_tenants \u003d strutils.bool_from_string(all_tenants, True)"},{"line_number":58,"context_line":"        except ValueError as err:"},{"line_number":59,"context_line":"            raise exception.InvalidValue(six.text_type(err))"},{"line_number":60,"context_line":"    else:"},{"line_number":61,"context_line":"        all_tenants \u003d False"},{"line_number":62,"context_line":"    return all_tenants"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"def check_policy_on_capsule(capsule, action):"}],"source_content_type":"text/x-python","patch_set":14,"id":"7f287b81_21d82279","line":62,"range":{"start_line":53,"start_character":0,"end_line":62,"end_character":22},"updated":"2017-09-07 09:00:31.000000000","message":"can we move this method to util, it is duplicated at many places in api layer, thoughts?","commit_id":"c0cb30089e057f014a69d89fb35f21d983db8979"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"9bf45514b586321d8308d3372f5425b5561a49b0","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    return container"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"def is_all_tenants(search_opts):"},{"line_number":54,"context_line":"    all_tenants \u003d search_opts.get(\u0027all_tenants\u0027)"},{"line_number":55,"context_line":"    if all_tenants:"},{"line_number":56,"context_line":"        try:"},{"line_number":57,"context_line":"            all_tenants \u003d strutils.bool_from_string(all_tenants, True)"},{"line_number":58,"context_line":"        except ValueError as err:"},{"line_number":59,"context_line":"            raise exception.InvalidValue(six.text_type(err))"},{"line_number":60,"context_line":"    else:"},{"line_number":61,"context_line":"        all_tenants \u003d False"},{"line_number":62,"context_line":"    return all_tenants"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"def check_policy_on_capsule(capsule, action):"}],"source_content_type":"text/x-python","patch_set":14,"id":"7f287b81_e28d727c","line":62,"range":{"start_line":53,"start_character":0,"end_line":62,"end_character":22},"in_reply_to":"7f287b81_21d82279","updated":"2017-09-07 14:26:55.000000000","message":"+1","commit_id":"c0cb30089e057f014a69d89fb35f21d983db8979"},{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"cad5ba45ed882477967a9fcdc82a8af0a54bde06","unresolved":false,"context_lines":[{"line_number":238,"context_line":"            policy.enforce(context, \"capsule:delete_all_tenants\","},{"line_number":239,"context_line":"                           action\u003d\"capsule:delete_all_tenants\")"},{"line_number":240,"context_line":"            context.all_tenants \u003d True"},{"line_number":241,"context_line":"        capsule \u003d _get_capsule(capsule_id)"},{"line_number":242,"context_line":"        check_policy_on_capsule(capsule.as_dict(), \"capsule:delete\")"},{"line_number":243,"context_line":"        try:"},{"line_number":244,"context_line":"            force \u003d strutils.bool_from_string(force, strict\u003dTrue)"},{"line_number":245,"context_line":"        except ValueError:"}],"source_content_type":"text/x-python","patch_set":14,"id":"7f287b81_013e468a","line":242,"range":{"start_line":241,"start_character":8,"end_line":242,"end_character":68},"updated":"2017-09-07 09:00:31.000000000","message":"if all_tenants is set, do we need to check this policy again?","commit_id":"c0cb30089e057f014a69d89fb35f21d983db8979"},{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"cad5ba45ed882477967a9fcdc82a8af0a54bde06","unresolved":false,"context_lines":[{"line_number":247,"context_line":"            raise exception.InvalidValue(msg)"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"        containers_num \u003d len(capsule.containers_uuids)"},{"line_number":250,"context_line":"        context \u003d pecan.request.context"},{"line_number":251,"context_line":"        compute_api \u003d pecan.request.compute_api"},{"line_number":252,"context_line":"        capsule.task_state \u003d consts.CONTAINER_DELETING"},{"line_number":253,"context_line":"        capsule.save(context)"}],"source_content_type":"text/x-python","patch_set":14,"id":"7f287b81_c14b9e28","line":250,"range":{"start_line":250,"start_character":8,"end_line":250,"end_character":39},"updated":"2017-09-07 09:00:31.000000000","message":"duplicate to line #236","commit_id":"c0cb30089e057f014a69d89fb35f21d983db8979"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"164fb92cdbb863c50ace05e3ccd7d15350128d2e","unresolved":false,"context_lines":[{"line_number":247,"context_line":"            raise exception.InvalidValue(msg)"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"        containers_num \u003d len(capsule.containers_uuids)"},{"line_number":250,"context_line":"        context \u003d pecan.request.context"},{"line_number":251,"context_line":"        compute_api \u003d pecan.request.compute_api"},{"line_number":252,"context_line":"        capsule.task_state \u003d consts.CONTAINER_DELETING"},{"line_number":253,"context_line":"        capsule.save(context)"}],"source_content_type":"text/x-python","patch_set":14,"id":"7f287b81_f3d1d1fc","line":250,"range":{"start_line":250,"start_character":8,"end_line":250,"end_character":39},"in_reply_to":"7f287b81_c14b9e28","updated":"2017-09-21 14:24:44.000000000","message":"Done","commit_id":"c0cb30089e057f014a69d89fb35f21d983db8979"},{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"cad5ba45ed882477967a9fcdc82a8af0a54bde06","unresolved":false,"context_lines":[{"line_number":251,"context_line":"        compute_api \u003d pecan.request.compute_api"},{"line_number":252,"context_line":"        capsule.task_state \u003d consts.CONTAINER_DELETING"},{"line_number":253,"context_line":"        capsule.save(context)"},{"line_number":254,"context_line":"        for k in range(0, containers_num):"},{"line_number":255,"context_line":"            try:"},{"line_number":256,"context_line":"                container \u003d _get_container(capsule.containers_uuids[k])"},{"line_number":257,"context_line":"                compute_api.container_delete(context, container, force)"},{"line_number":258,"context_line":"            except Exception as e:"},{"line_number":259,"context_line":"                LOG.exception(e)"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"        capsule.task_state \u003d None"},{"line_number":262,"context_line":"        capsule.save(context)"}],"source_content_type":"text/x-python","patch_set":14,"id":"7f287b81_a171b278","line":259,"range":{"start_line":254,"start_character":8,"end_line":259,"end_character":32},"updated":"2017-09-07 09:00:31.000000000","message":"can we move this logic to compute layer itself, since it is making many calls to compute layer?","commit_id":"c0cb30089e057f014a69d89fb35f21d983db8979"},{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"9bf45514b586321d8308d3372f5425b5561a49b0","unresolved":false,"context_lines":[{"line_number":251,"context_line":"        compute_api \u003d pecan.request.compute_api"},{"line_number":252,"context_line":"        capsule.task_state \u003d consts.CONTAINER_DELETING"},{"line_number":253,"context_line":"        capsule.save(context)"},{"line_number":254,"context_line":"        for k in range(0, containers_num):"},{"line_number":255,"context_line":"            try:"},{"line_number":256,"context_line":"                container \u003d _get_container(capsule.containers_uuids[k])"},{"line_number":257,"context_line":"                compute_api.container_delete(context, container, force)"},{"line_number":258,"context_line":"            except Exception as e:"},{"line_number":259,"context_line":"                LOG.exception(e)"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"        capsule.task_state \u003d None"},{"line_number":262,"context_line":"        capsule.save(context)"}],"source_content_type":"text/x-python","patch_set":14,"id":"7f287b81_82334eab","line":259,"range":{"start_line":254,"start_character":8,"end_line":259,"end_character":32},"in_reply_to":"7f287b81_a171b278","updated":"2017-09-07 14:26:55.000000000","message":"Big +1 on this advice. This should reduce the number of RPC calls and increase the performance a lot.","commit_id":"c0cb30089e057f014a69d89fb35f21d983db8979"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"164fb92cdbb863c50ace05e3ccd7d15350128d2e","unresolved":false,"context_lines":[{"line_number":251,"context_line":"        compute_api \u003d pecan.request.compute_api"},{"line_number":252,"context_line":"        capsule.task_state \u003d consts.CONTAINER_DELETING"},{"line_number":253,"context_line":"        capsule.save(context)"},{"line_number":254,"context_line":"        for k in range(0, containers_num):"},{"line_number":255,"context_line":"            try:"},{"line_number":256,"context_line":"                container \u003d _get_container(capsule.containers_uuids[k])"},{"line_number":257,"context_line":"                compute_api.container_delete(context, container, force)"},{"line_number":258,"context_line":"            except Exception as e:"},{"line_number":259,"context_line":"                LOG.exception(e)"},{"line_number":260,"context_line":""},{"line_number":261,"context_line":"        capsule.task_state \u003d None"},{"line_number":262,"context_line":"        capsule.save(context)"}],"source_content_type":"text/x-python","patch_set":14,"id":"7f287b81_13e9fdb5","line":259,"range":{"start_line":254,"start_character":8,"end_line":259,"end_character":32},"in_reply_to":"7f287b81_a171b278","updated":"2017-09-21 14:24:44.000000000","message":"Hi Pradeep,\nGood point, I will modify","commit_id":"c0cb30089e057f014a69d89fb35f21d983db8979"},{"author":{"_account_id":23365,"name":"feng.shengqin","email":"feng.shengqin@zte.com.cn","username":"FengShengqin"},"change_message_id":"145131a27ac2716ef36822b8e0d77b8681a7e126","unresolved":false,"context_lines":[{"line_number":206,"context_line":""},{"line_number":207,"context_line":"    @pecan.expose(\u0027json\u0027)"},{"line_number":208,"context_line":"    @exception.wrap_pecan_controller_exception"},{"line_number":209,"context_line":"    def delete(self, capsule_id, **kwargs):"},{"line_number":210,"context_line":"        \"\"\"Delete a capsule."},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"        :param capsule_ident: UUID or Name of a capsule."}],"source_content_type":"text/x-python","patch_set":19,"id":"7f515b1d_54748e99","line":209,"range":{"start_line":209,"start_character":21,"end_line":209,"end_character":31},"updated":"2017-09-22 06:57:54.000000000","message":"Hi Kevin,\nplease see the patch: https://review.openstack.org/#/c/505964,\nwe may change this parameter to capsule_ident","commit_id":"cd51648ad96a0f041b69c0f71647c79fa84fd39d"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"e44f7f8fab1db50857741c3d47ffafec7e9ace1e","unresolved":false,"context_lines":[{"line_number":206,"context_line":""},{"line_number":207,"context_line":"    @pecan.expose(\u0027json\u0027)"},{"line_number":208,"context_line":"    @exception.wrap_pecan_controller_exception"},{"line_number":209,"context_line":"    def delete(self, capsule_id, **kwargs):"},{"line_number":210,"context_line":"        \"\"\"Delete a capsule."},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"        :param capsule_ident: UUID or Name of a capsule."}],"source_content_type":"text/x-python","patch_set":19,"id":"7f515b1d_17e3b807","line":209,"range":{"start_line":209,"start_character":21,"end_line":209,"end_character":31},"in_reply_to":"7f515b1d_54748e99","updated":"2017-09-22 08:15:18.000000000","message":"Aha,\nOK, I will modify this to ident","commit_id":"cd51648ad96a0f041b69c0f71647c79fa84fd39d"}],"zun/common/utils.py":[{"author":{"_account_id":23365,"name":"feng.shengqin","email":"feng.shengqin@zte.com.cn","username":"FengShengqin"},"change_message_id":"145131a27ac2716ef36822b8e0d77b8681a7e126","unresolved":false,"context_lines":[{"line_number":366,"context_line":"    return all_tenants"},{"line_number":367,"context_line":""},{"line_number":368,"context_line":""},{"line_number":369,"context_line":"def _get_container(container_id):"},{"line_number":370,"context_line":"    container \u003d api_utils.get_resource(\u0027Container\u0027, container_id)"},{"line_number":371,"context_line":"    if not container:"},{"line_number":372,"context_line":"        pecan.abort(404, (\u0027Not found; the container you requested \u0027"}],"source_content_type":"text/x-python","patch_set":19,"id":"7f515b1d_14917653","line":369,"range":{"start_line":369,"start_character":4,"end_line":369,"end_character":18},"updated":"2017-09-22 06:57:54.000000000","message":"you may rename to get_container because _ is used for non-public function.","commit_id":"cd51648ad96a0f041b69c0f71647c79fa84fd39d"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"e44f7f8fab1db50857741c3d47ffafec7e9ace1e","unresolved":false,"context_lines":[{"line_number":366,"context_line":"    return all_tenants"},{"line_number":367,"context_line":""},{"line_number":368,"context_line":""},{"line_number":369,"context_line":"def _get_container(container_id):"},{"line_number":370,"context_line":"    container \u003d api_utils.get_resource(\u0027Container\u0027, container_id)"},{"line_number":371,"context_line":"    if not container:"},{"line_number":372,"context_line":"        pecan.abort(404, (\u0027Not found; the container you requested \u0027"}],"source_content_type":"text/x-python","patch_set":19,"id":"7f515b1d_97c0c852","line":369,"range":{"start_line":369,"start_character":4,"end_line":369,"end_character":18},"in_reply_to":"7f515b1d_14917653","updated":"2017-09-22 08:15:18.000000000","message":"Thanks I will modify","commit_id":"cd51648ad96a0f041b69c0f71647c79fa84fd39d"}]}
