)]}'
{"tripleo_common/actions/derive_params.py":[{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"8026f6736e336b387ab626952799ead5bc904383","unresolved":false,"context_lines":[{"line_number":14,"context_line":"# under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"import logging"},{"line_number":17,"context_line":"import uuid"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from tripleo_common import constants"},{"line_number":20,"context_line":"from tripleo_common.utils import parameters"}],"source_content_type":"text/x-python","patch_set":1,"id":"df140735_e7c5d33d","line":17,"updated":"2017-05-31 18:48:09.000000000","message":"Don\u0027t think this is used.","commit_id":"e9c1a6f45b9bd8c3ab9fd31eb7ef843a6fd52bb0"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"8026f6736e336b387ab626952799ead5bc904383","unresolved":false,"context_lines":[{"line_number":25,"context_line":"#TODO(skramaja): Check if it is OK to expose the internal URL to workflows and"},{"line_number":26,"context_line":"#                control the container with swift actions."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class GetDerivedParametersAction(base.TripleOAction):"},{"line_number":29,"context_line":"    \"\"\"Gets list of available derived params from siwft container.\"\"\""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def __init__(self, container\u003dconstants.DEFAULT_CONTAINER_NAME):"}],"source_content_type":"text/x-python","patch_set":1,"id":"df140735_276d0b32","line":28,"updated":"2017-05-31 18:48:09.000000000","message":"I _think_ you are storing the derived parameters in their own location so that the derived values can be distinguished from user-specified values (so that the user can override). Is that true:\n\nWill some TBD agent be responsible for merging these derived parameters into the rest of the plan when the plan is deployed?","commit_id":"e9c1a6f45b9bd8c3ab9fd31eb7ef843a6fd52bb0"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"8026f6736e336b387ab626952799ead5bc904383","unresolved":false,"context_lines":[{"line_number":26,"context_line":"#                control the container with swift actions."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class GetDerivedParametersAction(base.TripleOAction):"},{"line_number":29,"context_line":"    \"\"\"Gets list of available derived params from siwft container.\"\"\""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def __init__(self, container\u003dconstants.DEFAULT_CONTAINER_NAME):"},{"line_number":32,"context_line":"        super(UpdateParametersAction, self).__init__()"}],"source_content_type":"text/x-python","patch_set":1,"id":"df140735_a7147ba1","line":29,"updated":"2017-05-31 18:48:09.000000000","message":"typo: \"siwft\"","commit_id":"e9c1a6f45b9bd8c3ab9fd31eb7ef843a6fd52bb0"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"8026f6736e336b387ab626952799ead5bc904383","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    \"\"\"Gets list of available derived params from siwft container.\"\"\""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    def __init__(self, container\u003dconstants.DEFAULT_CONTAINER_NAME):"},{"line_number":32,"context_line":"        super(UpdateParametersAction, self).__init__()"},{"line_number":33,"context_line":"        self.container \u003d container"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def run(self, context):"}],"source_content_type":"text/x-python","patch_set":1,"id":"df140735_c7ee4fb3","line":32,"updated":"2017-05-31 18:48:09.000000000","message":"UpdateParametersAction is the super?!?","commit_id":"e9c1a6f45b9bd8c3ab9fd31eb7ef843a6fd52bb0"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"8026f6736e336b387ab626952799ead5bc904383","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"    def run(self, context):"},{"line_number":36,"context_line":"        swift \u003d self.get_object_client(context)"},{"line_number":37,"context_line":"        # Get the existing derived params environment from swift container"},{"line_number":38,"context_line":"        params \u003d parameters.get_environment("},{"line_number":39,"context_line":"            swift, self.container, constants.INTERNAL_ENV_DERIVED_PARAMS)"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"df140735_473ebfda","line":37,"updated":"2017-05-31 18:48:09.000000000","message":"nit: would it be better to refer to the \"deployment plan\" instead of the \"swift container?\" Use of a swift container to store the deployment plan is really just an implementation detail.","commit_id":"e9c1a6f45b9bd8c3ab9fd31eb7ef843a6fd52bb0"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"8026f6736e336b387ab626952799ead5bc904383","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    def run(self, context):"},{"line_number":36,"context_line":"        swift \u003d self.get_object_client(context)"},{"line_number":37,"context_line":"        # Get the existing derived params environment from swift container"},{"line_number":38,"context_line":"        params \u003d parameters.get_environment("},{"line_number":39,"context_line":"            swift, self.container, constants.INTERNAL_ENV_DERIVED_PARAMS)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        return params"}],"source_content_type":"text/x-python","patch_set":1,"id":"df140735_07cc475f","line":38,"updated":"2017-05-31 18:48:09.000000000","message":"I can\u0027t find any parameters.get_environment() implemented.","commit_id":"e9c1a6f45b9bd8c3ab9fd31eb7ef843a6fd52bb0"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"eecef1aa41f38416522e94feb9e2ee719a9305a0","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    def run(self, context):"},{"line_number":36,"context_line":"        swift \u003d self.get_object_client(context)"},{"line_number":37,"context_line":"        # Get the existing derived params environment from swift container"},{"line_number":38,"context_line":"        params \u003d parameters.get_environment("},{"line_number":39,"context_line":"            swift, self.container, constants.INTERNAL_ENV_DERIVED_PARAMS)"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"        return params"}],"source_content_type":"text/x-python","patch_set":1,"id":"df140735_82d5e545","line":38,"in_reply_to":"df140735_07cc475f","updated":"2017-05-31 19:00:42.000000000","message":"Found it, over in https://review.openstack.org/#/c/467909 (the parent of this commit).","commit_id":"e9c1a6f45b9bd8c3ab9fd31eb7ef843a6fd52bb0"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"8026f6736e336b387ab626952799ead5bc904383","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def run(self, context):"},{"line_number":65,"context_line":"        swift \u003d self.get_object_client(context)"},{"line_number":66,"context_line":"        params \u003d parameters.delete_environment("},{"line_number":67,"context_line":"            swift, self.container, constants.INTERNAL_ENV_DERIVED_PARAMS)"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"        return params"}],"source_content_type":"text/x-python","patch_set":1,"id":"df140735_27dbcbed","line":66,"updated":"2017-05-31 18:48:09.000000000","message":"I don\u0027t think you want delete_environment here ;)","commit_id":"e9c1a6f45b9bd8c3ab9fd31eb7ef843a6fd52bb0"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"8026f6736e336b387ab626952799ead5bc904383","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        return params"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"class GetDerivedParametersWorkflowInputAction(base.TripleOAction):"},{"line_number":73,"context_line":"    \"\"\"Get derived parameter workflow\u0027s input from plan-environment"},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"    The inputs for derived parameters workflow will be updated with in the"}],"source_content_type":"text/x-python","patch_set":1,"id":"df140735_c77befbb","line":72,"updated":"2017-05-31 18:48:09.000000000","message":"I realize these are inputs to our DP workflows, but I propose calling them xxxWorkflowParameters instead of xxxWorkflowInput. This would be consistent with the plan environment\u0027s \"workflow_parameters\"","commit_id":"e9c1a6f45b9bd8c3ab9fd31eb7ef843a6fd52bb0"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"94763dae7c7ed6835c73e495b5752a85eb0e84ae","unresolved":false,"context_lines":[{"line_number":25,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class GetDerivedParametersEnvironmetUrlAction(base.TripleOAction):"},{"line_number":29,"context_line":"    \"\"\"Gets the url of the derived environment file in the swift container."},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    The workflow will obtains the url of the environment and mananges the"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf091321_e13abc32","line":28,"updated":"2017-06-07 21:13:16.000000000","message":"Technically this isn\u0027t a URL. This might be a nit, but I was looking for something that processed a \"proto://\" prefix. I now see it\u0027s basically the path to a specific file within the container.","commit_id":"4e319740d1e882d4cd3036a28ab997d2bb3cda9e"},{"author":{"_account_id":18575,"name":"Saravanan KR","email":"krsacme@gmail.com","username":"saravanankr"},"change_message_id":"cba518b817ae51f76d6db9e2b043421251220994","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        return constants.INTERNAL_ENV_DERIVED_PARAMS"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"class GetDerivedParametersWorkflowInputAction(base.TripleOAction):"},{"line_number":40,"context_line":"    \"\"\"Get derived parameter workflow\u0027s input from plan-environment"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    The inputs for derived parameters workflow will be updated with in the"}],"source_content_type":"text/x-python","patch_set":3,"id":"df140735_04714e76","line":39,"updated":"2017-06-06 11:19:49.000000000","message":"It makes sense to read the input from the tripleoclient and pass it as a parameter to the workflow, instead of a new action to read it. Instead of passing individual parameters, a map will be used to pass all the parameters, just to avoid bloating of parameter list.","commit_id":"4e319740d1e882d4cd3036a28ab997d2bb3cda9e"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"94763dae7c7ed6835c73e495b5752a85eb0e84ae","unresolved":false,"context_lines":[{"line_number":36,"context_line":"        return constants.INTERNAL_ENV_DERIVED_PARAMS"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"class GetDerivedParametersWorkflowInputAction(base.TripleOAction):"},{"line_number":40,"context_line":"    \"\"\"Get derived parameter workflow\u0027s input from plan-environment"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"    The inputs for derived parameters workflow will be updated with in the"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf091321_8161c03c","line":39,"in_reply_to":"df140735_04714e76","updated":"2017-06-07 21:13:16.000000000","message":"Absolutely agree!","commit_id":"4e319740d1e882d4cd3036a28ab997d2bb3cda9e"}],"tripleo_common/actions/templates.py":[{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"94763dae7c7ed6835c73e495b5752a85eb0e84ae","unresolved":false,"context_lines":[{"line_number":294,"context_line":"                swift, self.container, constants.INTERNAL_ENV_PASSWORDS)"},{"line_number":295,"context_line":"            merged_params.update(passwords)"},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"            # Merge the derived parameters"},{"line_number":298,"context_line":"            derived_params \u003d parameters.get_environment("},{"line_number":299,"context_line":"                swift, self.container, constants.INTERNAL_ENV_DERIVED_PARAMS)"},{"line_number":300,"context_line":"            merged_params.update(derived_params)"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf091321_c1ab3873","line":297,"updated":"2017-06-07 21:13:16.000000000","message":"I think this comment should be expanded to emphasize this must be done before merging the user\u0027s values. This is necessary to meet the requirement that user-specified values override any derived value.","commit_id":"4e319740d1e882d4cd3036a28ab997d2bb3cda9e"}],"tripleo_common/constants.py":[{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"94763dae7c7ed6835c73e495b5752a85eb0e84ae","unresolved":false,"context_lines":[{"line_number":120,"context_line":"# The name for the swift container to host the cache for tripleo"},{"line_number":121,"context_line":"TRIPLEO_CACHE_CONTAINER \u003d \"__cache__\""},{"line_number":122,"context_line":""},{"line_number":123,"context_line":"# Folder name in the swfit plan container where the internal generated"},{"line_number":124,"context_line":"# environment files will be stored like passwords, derived parameters, etc.,"},{"line_number":125,"context_line":"INTERNAL_ENV_FOLDER \u003d \u0027tripleo-environments\u0027"},{"line_number":126,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bf091321_81a0a0a7","line":123,"updated":"2017-06-07 21:13:16.000000000","message":"In case I miss this in another review, typo: swfit","commit_id":"4e319740d1e882d4cd3036a28ab997d2bb3cda9e"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"94763dae7c7ed6835c73e495b5752a85eb0e84ae","unresolved":false,"context_lines":[{"line_number":132,"context_line":"# deployment. This file should not be deleted for stack update (while emptying"},{"line_number":133,"context_line":"# swift container), but the derived parametrs workflow will update it when"},{"line_number":134,"context_line":"# there is a change in plan templates."},{"line_number":135,"context_line":"INTERNAL_ENV_DERIVED_PARAMS \u003d INTERNAL_ENV_FOLDER + \u0027/drived-params.yaml\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"bf091321_c19d7867","line":135,"updated":"2017-06-07 21:13:16.000000000","message":"typo: drived \u003d\u003e derived","commit_id":"4e319740d1e882d4cd3036a28ab997d2bb3cda9e"},{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"bb6ef1e6a0f972eab1b89b0524e7ccc12f12ad2f","unresolved":false,"context_lines":[{"line_number":133,"context_line":"# deployment. This file should not be deleted for stack update (while emptying"},{"line_number":134,"context_line":"# swift container), but the derived parametrs workflow will update it when"},{"line_number":135,"context_line":"# there is a change in plan templates."},{"line_number":136,"context_line":"INTERNAL_ENV_DERIVED_PARAMS \u003d INTERNAL_ENV_FOLDER + \u0027/drived-params.yaml\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"9f0e0f27_f91dca0f","line":136,"updated":"2017-06-09 13:55:10.000000000","message":"typo: /drived \u003d\u003e /derived","commit_id":"4663e29d00b2afeba767c9a3ecf950483ce37a94"},{"author":{"_account_id":18575,"name":"Saravanan KR","email":"krsacme@gmail.com","username":"saravanankr"},"change_message_id":"ce3fe1d81e71616a76822fbdd4c2474cfdc9a9ea","unresolved":false,"context_lines":[{"line_number":133,"context_line":"# deployment. This file should not be deleted for stack update (while emptying"},{"line_number":134,"context_line":"# swift container), but the derived parametrs workflow will update it when"},{"line_number":135,"context_line":"# there is a change in plan templates."},{"line_number":136,"context_line":"INTERNAL_ENV_DERIVED_PARAMS \u003d INTERNAL_ENV_FOLDER + \u0027/drived-params.yaml\u0027"}],"source_content_type":"text/x-python","patch_set":5,"id":"7f231b9d_d5b75dd8","line":136,"in_reply_to":"9f0e0f27_f91dca0f","updated":"2017-06-12 04:43:01.000000000","message":"Done","commit_id":"4663e29d00b2afeba767c9a3ecf950483ce37a94"}],"tripleo_common/utils/parameters.py":[{"author":{"_account_id":21129,"name":"Alan Bishop","email":"abishopsweng@gmail.com","username":"ASBishop","status":"ex Red Hat"},"change_message_id":"94763dae7c7ed6835c73e495b5752a85eb0e84ae","unresolved":false,"context_lines":[{"line_number":135,"context_line":"    try:"},{"line_number":136,"context_line":"        swift.delete_object(container, path)"},{"line_number":137,"context_line":"    except swiftexceptions.ClientException:"},{"line_number":138,"context_line":"        # Siwft Object not found, no environment file available"},{"line_number":139,"context_line":"        pass"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"bf091321_0127f014","line":138,"updated":"2017-06-07 21:13:16.000000000","message":"typo: Siwft","commit_id":"4e319740d1e882d4cd3036a28ab997d2bb3cda9e"}]}
