)]}'
{"murano/engine/system/heat_stack.py":[{"author":{"_account_id":15168,"name":"Kirill Zaitsev","email":"k.zaitsev@me.com","username":"kzaitsev"},"change_message_id":"9ae3273236752332d5b87a7e3b42b578de35d85a","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        self._hot_environment \u003d hot_environment"},{"line_number":94,"context_line":"        self._applied \u003d False"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    def updateTemplate(self, template):"},{"line_number":97,"context_line":"        template_version \u003d template.get(\u0027heat_template_version\u0027,"},{"line_number":98,"context_line":"                                        HEAT_TEMPLATE_VERSION)"},{"line_number":99,"context_line":"        if template_version !\u003d HEAT_TEMPLATE_VERSION:"}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_e331d4a3","line":96,"updated":"2015-08-27 11:36:18.000000000","message":"why change this name? looks unrealted","commit_id":"3bc4420b9daa71d449a5b3919fc07187145d92a1"},{"author":{"_account_id":15426,"name":"Guy Paz","email":"guy.paz@alcatel-lucent.com","username":"gpaz"},"change_message_id":"7b7ffd75e285c3a4454ebab6af5aa6039659946a","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        self._hot_environment \u003d hot_environment"},{"line_number":94,"context_line":"        self._applied \u003d False"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    def updateTemplate(self, template):"},{"line_number":97,"context_line":"        template_version \u003d template.get(\u0027heat_template_version\u0027,"},{"line_number":98,"context_line":"                                        HEAT_TEMPLATE_VERSION)"},{"line_number":99,"context_line":"        if template_version !\u003d HEAT_TEMPLATE_VERSION:"}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_cc04f816","line":96,"in_reply_to":"da20952f_e331d4a3","updated":"2015-08-27 13:42:04.000000000","message":"Agree with Kirill. In general I suggest we will use the same convention for method names and use underscore like the other methods.\n(see above \u0027set_files\u0027, \u0027set_parameters\u0027 etc\u0027)","commit_id":"3bc4420b9daa71d449a5b3919fc07187145d92a1"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"562ff25f3fc1caa8868c18a2de2c82aa3ea138e5","unresolved":false,"context_lines":[{"line_number":93,"context_line":"        self._hot_environment \u003d hot_environment"},{"line_number":94,"context_line":"        self._applied \u003d False"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    def updateTemplate(self, template):"},{"line_number":97,"context_line":"        template_version \u003d template.get(\u0027heat_template_version\u0027,"},{"line_number":98,"context_line":"                                        HEAT_TEMPLATE_VERSION)"},{"line_number":99,"context_line":"        if template_version !\u003d HEAT_TEMPLATE_VERSION:"}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_4fbbe4e5","line":96,"in_reply_to":"da20952f_e331d4a3","updated":"2015-08-27 21:19:46.000000000","message":"The function name is the original function name from before the change made to support yaql 1.0.\nIt was not intentional, just a result of the rebase done in the PS. I will fix and also change the name of setHotEnvironment to set_hot_environment.\n\nThank you Kirill, good catch :)","commit_id":"3bc4420b9daa71d449a5b3919fc07187145d92a1"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"13e05088592cf9fc2dbf4deecbdf071f66686ee7","unresolved":false,"context_lines":[{"line_number":89,"context_line":"        self._files \u003d files"},{"line_number":90,"context_line":"        self._applied \u003d False"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    def setHotEnvironment(self, hot_environment):"},{"line_number":93,"context_line":"        self._hot_environment \u003d hot_environment"},{"line_number":94,"context_line":"        self._applied \u003d False"},{"line_number":95,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"da20952f_85dc2e74","line":92,"updated":"2015-08-29 23:21:21.000000000","message":"function name should change","commit_id":"bdbb707dafc8960cd4888d515cb31459bf4358f3"}],"murano/packages/hot_package.py":[{"author":{"_account_id":14265,"name":"Filip Blaha","email":"filip.blaha@hpe.com","username":"fblaha"},"change_message_id":"d97ab30e156c143f14298e1486522ca0c8aef91c","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        self._translated_class \u003d translated"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    @staticmethod"},{"line_number":105,"context_line":"    def _translate_parameters(hot):"},{"line_number":106,"context_line":"        result \u003d {"},{"line_number":107,"context_line":"            \u0027generatedHeatStackName\u0027: {"},{"line_number":108,"context_line":"                \u0027Contract\u0027: YAQL(\u0027$.string()\u0027),"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_a88b35c2","line":105,"updated":"2015-08-20 12:50:57.000000000","message":"prarameter is not used in this method as reported by pylint job","commit_id":"a9e4aeea79094322592f99d71f5592d3e130291e"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"772a16dbec98d6d47bb970948aa246a7eb6a875f","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        self._translated_class \u003d translated"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    @staticmethod"},{"line_number":105,"context_line":"    def _translate_parameters(hot):"},{"line_number":106,"context_line":"        result \u003d {"},{"line_number":107,"context_line":"            \u0027generatedHeatStackName\u0027: {"},{"line_number":108,"context_line":"                \u0027Contract\u0027: YAQL(\u0027$.string()\u0027),"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_5381774c","line":105,"in_reply_to":"fa1b9901_a88b35c2","updated":"2015-08-23 17:37:09.000000000","message":"Done","commit_id":"a9e4aeea79094322592f99d71f5592d3e130291e"},{"author":{"_account_id":14265,"name":"Filip Blaha","email":"filip.blaha@hpe.com","username":"fblaha"},"change_message_id":"03c9549d054bb7f1275dec2b8f44e8400bcf03f0","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        self._translated_class \u003d translated"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    @staticmethod"},{"line_number":105,"context_line":"    def _translate_parameters():"},{"line_number":106,"context_line":"        result \u003d {"},{"line_number":107,"context_line":"            \u0027generatedHeatStackName\u0027: {"},{"line_number":108,"context_line":"                \u0027Contract\u0027: YAQL(\u0027$.string()\u0027),"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_a66dfd9a","line":105,"updated":"2015-08-24 22:03:03.000000000","message":"this method can be simplified no need to declare varibales params_contract and rasult all keys can written drectly into dict instead of result[\u0027templateParameters\u0027] \u003d {...}  and result[\u0027name\u0027] \u003d {...}\n\nretrun {....}","commit_id":"ac8c2a16e5c347242aee519632b737fa1003ddd1"},{"author":{"_account_id":14265,"name":"Filip Blaha","email":"filip.blaha@hpe.com","username":"fblaha"},"change_message_id":"03c9549d054bb7f1275dec2b8f44e8400bcf03f0","unresolved":false,"context_lines":[{"line_number":113,"context_line":"                \u0027Usage\u0027: \u0027In\u0027"},{"line_number":114,"context_line":"            }"},{"line_number":115,"context_line":"        }"},{"line_number":116,"context_line":"        params_contract \u003d {}"},{"line_number":117,"context_line":"        result[\u0027templateParameters\u0027] \u003d {"},{"line_number":118,"context_line":"            \u0027Usage\u0027: \u0027In\u0027,"},{"line_number":119,"context_line":"            \u0027Contract\u0027: params_contract,"}],"source_content_type":"text/x-python","patch_set":5,"id":"fa1b9901_064dc971","line":116,"updated":"2015-08-24 22:03:03.000000000","message":"this variable is not useful can be inlined","commit_id":"ac8c2a16e5c347242aee519632b737fa1003ddd1"},{"author":{"_account_id":15168,"name":"Kirill Zaitsev","email":"k.zaitsev@me.com","username":"kzaitsev"},"change_message_id":"9ae3273236752332d5b87a7e3b42b578de35d85a","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        self._translated_class \u003d translated"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    @staticmethod"},{"line_number":105,"context_line":"    def _translate_parameters():"},{"line_number":106,"context_line":"        result \u003d {"},{"line_number":107,"context_line":"            \u0027generatedHeatStackName\u0027: {"},{"line_number":108,"context_line":"                \u0027Contract\u0027: YAQL(\u0027$.string()\u0027),"}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_83b498f2","line":105,"updated":"2015-08-27 11:36:18.000000000","message":"is it correct? This probably means, that we would not be able to specify hot parameters in UI","commit_id":"3bc4420b9daa71d449a5b3919fc07187145d92a1"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"562ff25f3fc1caa8868c18a2de2c82aa3ea138e5","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        self._translated_class \u003d translated"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    @staticmethod"},{"line_number":105,"context_line":"    def _translate_parameters():"},{"line_number":106,"context_line":"        result \u003d {"},{"line_number":107,"context_line":"            \u0027generatedHeatStackName\u0027: {"},{"line_number":108,"context_line":"                \u0027Contract\u0027: YAQL(\u0027$.string()\u0027),"}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_2f86b013","line":105,"in_reply_to":"da20952f_83b498f2","updated":"2015-08-27 21:19:46.000000000","message":"I am also worried about breaking the current UI, but it seems to work on my devstack.","commit_id":"3bc4420b9daa71d449a5b3919fc07187145d92a1"},{"author":{"_account_id":15168,"name":"Kirill Zaitsev","email":"k.zaitsev@me.com","username":"kzaitsev"},"change_message_id":"9ae3273236752332d5b87a7e3b42b578de35d85a","unresolved":false,"context_lines":[{"line_number":271,"context_line":"            YAQL(\u0027$stack.setFiles($files)\u0027),"},{"line_number":272,"context_line":"            {YAQL(\u0027$hotEnv\u0027): hot_env},"},{"line_number":273,"context_line":"            {"},{"line_number":274,"context_line":"                \u0027If\u0027: YAQL(\"$hotEnv !\u003d null and $hotEnv !\u003d \u0027\u0027\"),"},{"line_number":275,"context_line":"                \u0027Then\u0027: ["},{"line_number":276,"context_line":"                    {YAQL(\u0027$envRelPath\u0027): YAQL(\"\u0027{0}\u0027 + $hotEnv\".format("},{"line_number":277,"context_line":"                        HOT_ENV_DIR_NAME))},"}],"source_content_type":"text/x-python","patch_set":7,"id":"da20952f_a3b51cce","line":274,"updated":"2015-08-27 11:36:18.000000000","message":"this can be simplified to bool($hotEnv)","commit_id":"3bc4420b9daa71d449a5b3919fc07187145d92a1"},{"author":{"_account_id":15168,"name":"Kirill Zaitsev","email":"k.zaitsev@me.com","username":"kzaitsev"},"change_message_id":"33de3bb45c152d4453c2deda5bd039a125a1a2c2","unresolved":false,"context_lines":[{"line_number":93,"context_line":"            \u0027Extends\u0027: \u0027io.murano.Application\u0027"},{"line_number":94,"context_line":"        }"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"        parameters \u003d HotPackage._translate_parameters()"},{"line_number":97,"context_line":"        parameters.update(HotPackage._translate_outputs(hot))"},{"line_number":98,"context_line":"        translated[\u0027Properties\u0027] \u003d parameters"},{"line_number":99,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"da20952f_75de9f40","line":96,"updated":"2015-08-28 10:53:24.000000000","message":"Why do we have to remove the hot parameter here? Can\u0027t we just add new code without breaking existing functionality?\n\nOtherwise — you should have deleted the whole  _translate_parameter subroutine — since it is not used anymore after this change","commit_id":"bdbb707dafc8960cd4888d515cb31459bf4358f3"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"6cc5c3774aadb433c77497420d340c7f033b0ba9","unresolved":false,"context_lines":[{"line_number":93,"context_line":"            \u0027Extends\u0027: \u0027io.murano.Application\u0027"},{"line_number":94,"context_line":"        }"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"        parameters \u003d HotPackage._translate_parameters()"},{"line_number":97,"context_line":"        parameters.update(HotPackage._translate_outputs(hot))"},{"line_number":98,"context_line":"        translated[\u0027Properties\u0027] \u003d parameters"},{"line_number":99,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"da20952f_f1a7d0a4","line":96,"in_reply_to":"da20952f_75de9f40","updated":"2015-08-31 12:23:15.000000000","message":"in the new PS validation is done unless there are hot environments in the package, like we agreed in IRC.","commit_id":"bdbb707dafc8960cd4888d515cb31459bf4358f3"}],"murano/tests/unit/test_heat_stack.py":[{"author":{"_account_id":14265,"name":"Filip Blaha","email":"filip.blaha@hpe.com","username":"fblaha"},"change_message_id":"d97ab30e156c143f14298e1486522ca0c8aef91c","unresolved":false,"context_lines":[{"line_number":151,"context_line":""},{"line_number":152,"context_line":"    def test_heat_environments_are_sent(self):"},{"line_number":153,"context_line":"        \"\"\"Assert that if heat_template_version is omitted, it\u0027s added.\"\"\""},{"line_number":154,"context_line":"        # Note that the \u0027with x as y, a as b:\u0027 syntax was introduced in"},{"line_number":155,"context_line":"        # python 2.7, and contextlib.nested was deprecated in py2.7"},{"line_number":156,"context_line":"        with mock.patch(MOD_NAME + \u0027.HeatStack._get_status\u0027) as status_get:"},{"line_number":157,"context_line":"            with mock.patch(MOD_NAME + \u0027.HeatStack._wait_state\u0027) as wait_st:"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_03f6c2f8","line":154,"updated":"2015-08-20 12:50:57.000000000","message":"these comment and 2 with statements are copied in several test methods. I am not sure whether comment is relevant because I don\u0027t see any usage of contextlib. I would suggest little refactor \n\n1) remove that comment\n2) replace 2 with statements with @mock.patch() decorator on test method\n\nso code could be more readable. Could you please do that for all 4 methods.","commit_id":"a9e4aeea79094322592f99d71f5592d3e130291e"},{"author":{"_account_id":9408,"name":"Michal Gershenzon","email":"michal.gershenzon@gmail.com","username":"Mgershen"},"change_message_id":"772a16dbec98d6d47bb970948aa246a7eb6a875f","unresolved":false,"context_lines":[{"line_number":151,"context_line":""},{"line_number":152,"context_line":"    def test_heat_environments_are_sent(self):"},{"line_number":153,"context_line":"        \"\"\"Assert that if heat_template_version is omitted, it\u0027s added.\"\"\""},{"line_number":154,"context_line":"        # Note that the \u0027with x as y, a as b:\u0027 syntax was introduced in"},{"line_number":155,"context_line":"        # python 2.7, and contextlib.nested was deprecated in py2.7"},{"line_number":156,"context_line":"        with mock.patch(MOD_NAME + \u0027.HeatStack._get_status\u0027) as status_get:"},{"line_number":157,"context_line":"            with mock.patch(MOD_NAME + \u0027.HeatStack._wait_state\u0027) as wait_st:"}],"source_content_type":"text/x-python","patch_set":4,"id":"fa1b9901_137bff7c","line":154,"in_reply_to":"fa1b9901_03f6c2f8","updated":"2015-08-23 17:37:09.000000000","message":"I think I understand, but there were 5 methods (the 5th was different). Please look at the new PS.","commit_id":"a9e4aeea79094322592f99d71f5592d3e130291e"}]}
