)]}'
{"zun/api/controllers/v1/containers.py":[{"author":{"_account_id":11536,"name":"hongbin","email":"hongbin034@gmail.com","username":"hongbin"},"change_message_id":"cdf81faffb3f3ced488e669e07e4575f6cd40128","unresolved":false,"context_lines":[{"line_number":136,"context_line":"                     },"},{"line_number":137,"context_line":"                     created_at\u003dtimeutils.utcnow(),"},{"line_number":138,"context_line":"                     updated_at\u003dtimeutils.utcnow(),"},{"line_number":139,"context_line":"                     restart_policy\u003d{\u0027Name\u0027: \u0027no\u0027, \u0027MaximumRetryCount\u0027: \u00270\u0027})"},{"line_number":140,"context_line":"        return cls._convert_with_links(sample, \u0027http://localhost:9517\u0027, expand)"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"7a3c09a3_7190b2ed","line":139,"range":{"start_line":139,"start_character":46,"end_line":139,"end_character":48},"updated":"2017-01-12 21:28:29.000000000","message":"nit: It seems \"no\" is not a valid value. According to https://docs.docker.com/engine/reference/api/docker_remote_api_v1.24/#/create-a-container , it can only be \"\", \"always\", \"unless-stopped\", \"on-failure\".","commit_id":"ce2b37c8c9bf01ab6c06a1732a1bc145556dbda8"},{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"eb0a21759f9e04c0b1bd95bab38ec2677dfdcbaf","unresolved":false,"context_lines":[{"line_number":157,"context_line":"    def _check_for_restart_policy(self, container_dict):"},{"line_number":158,"context_line":"        \u0027\u0027\u0027Check for restart policy input\u0027\u0027\u0027"},{"line_number":159,"context_line":"        name \u003d container_dict.get(\u0027restart_policy\u0027)[\u0027Name\u0027]"},{"line_number":160,"context_line":"        num \u003d container_dict.get(\u0027restart_policy\u0027)[\u0027MaximumRetryCount\u0027]"},{"line_number":161,"context_line":"        count \u003d int(num)"},{"line_number":162,"context_line":"        if name in [\u0027unless-stopped\u0027, \u0027always\u0027]:"},{"line_number":163,"context_line":"            if count !\u003d 0:"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a3c09a3_8a082793","line":160,"updated":"2017-01-16 09:56:34.000000000","message":"Currently \u0027MaximumRetryCount\u0027 is not a mandatory option in restart_policy json schema. So if \u0027MaximumRetryCount\u0027 is not there in \u0027restart_policy\u0027 dict then this line will generate KeyError. So its better to use get(\u0027MaximumRetryCount\u0027, 0)","commit_id":"10e1ef78b763b412df963791153bf2a87bf16a2a"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"7f34876524e28b63894e8a4baf9367e50886e554","unresolved":false,"context_lines":[{"line_number":157,"context_line":"    def _check_for_restart_policy(self, container_dict):"},{"line_number":158,"context_line":"        \u0027\u0027\u0027Check for restart policy input\u0027\u0027\u0027"},{"line_number":159,"context_line":"        name \u003d container_dict.get(\u0027restart_policy\u0027)[\u0027Name\u0027]"},{"line_number":160,"context_line":"        num \u003d container_dict.get(\u0027restart_policy\u0027)[\u0027MaximumRetryCount\u0027]"},{"line_number":161,"context_line":"        count \u003d int(num)"},{"line_number":162,"context_line":"        if name in [\u0027unless-stopped\u0027, \u0027always\u0027]:"},{"line_number":163,"context_line":"            if count !\u003d 0:"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a3c09a3_0a75e830","line":160,"in_reply_to":"7a3c09a3_8a082793","updated":"2017-01-17 09:03:36.000000000","message":"Done","commit_id":"10e1ef78b763b412df963791153bf2a87bf16a2a"},{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"eb0a21759f9e04c0b1bd95bab38ec2677dfdcbaf","unresolved":false,"context_lines":[{"line_number":161,"context_line":"        count \u003d int(num)"},{"line_number":162,"context_line":"        if name in [\u0027unless-stopped\u0027, \u0027always\u0027]:"},{"line_number":163,"context_line":"            if count !\u003d 0:"},{"line_number":164,"context_line":"                raise exception.ZunException(_LE(\"maximum restart \""},{"line_number":165,"context_line":"                                                 \"count not valid \""},{"line_number":166,"context_line":"                                                 \"with restart policy \""},{"line_number":167,"context_line":"                                                 \"of %s\") % name)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a3c09a3_2a22d300","line":164,"updated":"2017-01-16 09:56:34.000000000","message":"isn\u0027t it should be \u0027maximum retry\u0027 instead of \u0027maximum restart\u0027?","commit_id":"10e1ef78b763b412df963791153bf2a87bf16a2a"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"7f34876524e28b63894e8a4baf9367e50886e554","unresolved":false,"context_lines":[{"line_number":161,"context_line":"        count \u003d int(num)"},{"line_number":162,"context_line":"        if name in [\u0027unless-stopped\u0027, \u0027always\u0027]:"},{"line_number":163,"context_line":"            if count !\u003d 0:"},{"line_number":164,"context_line":"                raise exception.ZunException(_LE(\"maximum restart \""},{"line_number":165,"context_line":"                                                 \"count not valid \""},{"line_number":166,"context_line":"                                                 \"with restart policy \""},{"line_number":167,"context_line":"                                                 \"of %s\") % name)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a3c09a3_2a72a449","line":164,"in_reply_to":"7a3c09a3_2a22d300","updated":"2017-01-17 09:03:36.000000000","message":"Done","commit_id":"10e1ef78b763b412df963791153bf2a87bf16a2a"},{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"ba94a93f55e9847557c7eda2305e20c3fc5733b6","unresolved":false,"context_lines":[{"line_number":162,"context_line":"        count \u003d int(num)"},{"line_number":163,"context_line":"        if name in [\u0027unless-stopped\u0027, \u0027always\u0027]:"},{"line_number":164,"context_line":"            if count !\u003d 0:"},{"line_number":165,"context_line":"                raise exception.ZunException(_LE(\"maximum retry \""},{"line_number":166,"context_line":"                                                 \"count not valid \""},{"line_number":167,"context_line":"                                                 \"with restart policy \""},{"line_number":168,"context_line":"                                                 \"of %s\") % name)"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a3c09a3_c7cf1654","line":165,"updated":"2017-01-18 03:54:26.000000000","message":"This will raise 500, i think 400 is more suitable. So we can use InvalidValue exception.","commit_id":"2185d284beb6087019c8880a71e335e9f46a2907"}],"zun/api/controllers/v1/views/containers_view.py":[{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"eb0a21759f9e04c0b1bd95bab38ec2677dfdcbaf","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    \u0027addresses\u0027,"},{"line_number":35,"context_line":"    \u0027image_pull_policy\u0027,"},{"line_number":36,"context_line":"    \u0027host\u0027,"},{"line_number":37,"context_line":"    \u0027restart_policy\u0027"},{"line_number":38,"context_line":")"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7a3c09a3_caba2f6e","line":37,"updated":"2017-01-16 09:56:34.000000000","message":"What will be the output for restart_policy? I think it will show the maxretrycount also, although user may not have supplied it? What do you think?","commit_id":"10e1ef78b763b412df963791153bf2a87bf16a2a"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"7f34876524e28b63894e8a4baf9367e50886e554","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    \u0027addresses\u0027,"},{"line_number":35,"context_line":"    \u0027image_pull_policy\u0027,"},{"line_number":36,"context_line":"    \u0027host\u0027,"},{"line_number":37,"context_line":"    \u0027restart_policy\u0027"},{"line_number":38,"context_line":")"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7a3c09a3_b632775d","line":37,"in_reply_to":"7a3c09a3_caba2f6e","updated":"2017-01-17 09:03:36.000000000","message":"Yes, by default, the clis will give a default \u00270\u0027 to maxretrycount if user don\u0027t specify it in commandline. So here will outout like this:\nrestart_policy    | {\u0027MaximumRetryCount\u0027: \u00270\u0027, \u0027Name\u0027: \u0027always\u0027}","commit_id":"10e1ef78b763b412df963791153bf2a87bf16a2a"}],"zun/common/validation/parameter_types.py":[{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"8977240173c97d180afb0d278c2b0af1b5185048","unresolved":false,"context_lines":[{"line_number":96,"context_line":"    \u0027pattern\u0027: \u0027^[0-9]+[b|B|k|K|m|M|g|G]?$\u0027,"},{"line_number":97,"context_line":"}"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"restart_policy \u003d {"},{"line_number":100,"context_line":"    \u0027type\u0027: [\u0027object\u0027, \u0027null\u0027]"},{"line_number":101,"context_line":"}"}],"source_content_type":"text/x-python","patch_set":1,"id":"9a57fde8_8f2a55e6","line":99,"updated":"2017-01-12 07:44:24.000000000","message":"I have one concern over here, I think restart policy can have following values i.e [\u0027no\u0027, \u0027always\u0027, \u0027on-failure\u0027, \u0027unless-stopped\u0027]. So better to write something like below:\nrestart_policy \u003d {\n    \"type\": [\u0027object\u0027, \u0027null\u0027],\n    \"properties\": {\n        \"Name\":      { \"type\": \"String\",\n                              \"enum\": [\u0027no\u0027, \u0027always\u0027, \u0027on-failure\u0027, \u0027unless-stopped\u0027] },\n        \"MaximumRetryCount\": { \"type\": [\"integer\", \u0027String\u0027, \u0027null\u0027],\n                                                  \"minimum\": 1 },\n     },\n     \"additionalProperties\": false,\n     \"required\": [\u0027Name\u0027]\n}\n\nI haven\u0027t tested it, so please check if you agree.","commit_id":"ce2b37c8c9bf01ab6c06a1732a1bc145556dbda8"},{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"eb0a21759f9e04c0b1bd95bab38ec2677dfdcbaf","unresolved":false,"context_lines":[{"line_number":99,"context_line":"restart_policy \u003d {"},{"line_number":100,"context_line":"    \u0027type\u0027: [\u0027object\u0027, \u0027null\u0027],"},{"line_number":101,"context_line":"    \"properties\": {"},{"line_number":102,"context_line":"        \"Name\": {\"type\": [\"string\", \u0027null\u0027],"},{"line_number":103,"context_line":"                 \"enum\": [\u0027no\u0027, \u0027always\u0027, \u0027on-failure\u0027, \u0027unless-stopped\u0027]},"},{"line_number":104,"context_line":"        \"MaximumRetryCount\": {\"type\": [\u0027integer\u0027, \u0027string\u0027, \u0027null\u0027],"},{"line_number":105,"context_line":"                              \"minimum\": 0},"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a3c09a3_2a08132c","line":102,"updated":"2017-01-16 09:56:34.000000000","message":"I think it can not be null, since it is mandatory. Sorry for my bad suggestion.","commit_id":"10e1ef78b763b412df963791153bf2a87bf16a2a"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"7f34876524e28b63894e8a4baf9367e50886e554","unresolved":false,"context_lines":[{"line_number":99,"context_line":"restart_policy \u003d {"},{"line_number":100,"context_line":"    \u0027type\u0027: [\u0027object\u0027, \u0027null\u0027],"},{"line_number":101,"context_line":"    \"properties\": {"},{"line_number":102,"context_line":"        \"Name\": {\"type\": [\"string\", \u0027null\u0027],"},{"line_number":103,"context_line":"                 \"enum\": [\u0027no\u0027, \u0027always\u0027, \u0027on-failure\u0027, \u0027unless-stopped\u0027]},"},{"line_number":104,"context_line":"        \"MaximumRetryCount\": {\"type\": [\u0027integer\u0027, \u0027string\u0027, \u0027null\u0027],"},{"line_number":105,"context_line":"                              \"minimum\": 0},"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a3c09a3_2aa9c47b","line":102,"in_reply_to":"7a3c09a3_2a08132c","updated":"2017-01-17 09:03:36.000000000","message":"Done","commit_id":"10e1ef78b763b412df963791153bf2a87bf16a2a"},{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"eb0a21759f9e04c0b1bd95bab38ec2677dfdcbaf","unresolved":false,"context_lines":[{"line_number":101,"context_line":"    \"properties\": {"},{"line_number":102,"context_line":"        \"Name\": {\"type\": [\"string\", \u0027null\u0027],"},{"line_number":103,"context_line":"                 \"enum\": [\u0027no\u0027, \u0027always\u0027, \u0027on-failure\u0027, \u0027unless-stopped\u0027]},"},{"line_number":104,"context_line":"        \"MaximumRetryCount\": {\"type\": [\u0027integer\u0027, \u0027string\u0027, \u0027null\u0027],"},{"line_number":105,"context_line":"                              \"minimum\": 0},"},{"line_number":106,"context_line":"    },"},{"line_number":107,"context_line":"    \"additionalProperties\": False,"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a3c09a3_8a3587f8","line":104,"updated":"2017-01-16 09:56:34.000000000","message":"I think we need to write here a pattern too when the number is in string format, may be you can borrow it from memory schema.","commit_id":"10e1ef78b763b412df963791153bf2a87bf16a2a"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"7f34876524e28b63894e8a4baf9367e50886e554","unresolved":false,"context_lines":[{"line_number":101,"context_line":"    \"properties\": {"},{"line_number":102,"context_line":"        \"Name\": {\"type\": [\"string\", \u0027null\u0027],"},{"line_number":103,"context_line":"                 \"enum\": [\u0027no\u0027, \u0027always\u0027, \u0027on-failure\u0027, \u0027unless-stopped\u0027]},"},{"line_number":104,"context_line":"        \"MaximumRetryCount\": {\"type\": [\u0027integer\u0027, \u0027string\u0027, \u0027null\u0027],"},{"line_number":105,"context_line":"                              \"minimum\": 0},"},{"line_number":106,"context_line":"    },"},{"line_number":107,"context_line":"    \"additionalProperties\": False,"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a3c09a3_8ae638ae","line":104,"in_reply_to":"7a3c09a3_8a3587f8","updated":"2017-01-17 09:03:36.000000000","message":"Done","commit_id":"10e1ef78b763b412df963791153bf2a87bf16a2a"}],"zun/tests/unit/api/controllers/v1/test_containers.py":[{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"eb0a21759f9e04c0b1bd95bab38ec2677dfdcbaf","unresolved":false,"context_lines":[{"line_number":310,"context_line":"    @patch(\u0027zun.compute.rpcapi.API.container_show\u0027)"},{"line_number":311,"context_line":"    @patch(\u0027zun.compute.rpcapi.API.container_create\u0027)"},{"line_number":312,"context_line":"    @patch(\u0027zun.compute.api.API.image_search\u0027)"},{"line_number":313,"context_line":"    def test_create_container_with_restart_policy_no_retry_5("},{"line_number":314,"context_line":"            self,"},{"line_number":315,"context_line":"            mock_search,"},{"line_number":316,"context_line":"            mock_container_create,"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a3c09a3_2d4d8d6c","line":313,"updated":"2017-01-16 09:56:34.000000000","message":"retry count is 6 here in test.","commit_id":"10e1ef78b763b412df963791153bf2a87bf16a2a"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"7f34876524e28b63894e8a4baf9367e50886e554","unresolved":false,"context_lines":[{"line_number":310,"context_line":"    @patch(\u0027zun.compute.rpcapi.API.container_show\u0027)"},{"line_number":311,"context_line":"    @patch(\u0027zun.compute.rpcapi.API.container_create\u0027)"},{"line_number":312,"context_line":"    @patch(\u0027zun.compute.api.API.image_search\u0027)"},{"line_number":313,"context_line":"    def test_create_container_with_restart_policy_no_retry_5("},{"line_number":314,"context_line":"            self,"},{"line_number":315,"context_line":"            mock_search,"},{"line_number":316,"context_line":"            mock_container_create,"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a3c09a3_d52380a5","line":313,"in_reply_to":"7a3c09a3_2d4d8d6c","updated":"2017-01-17 09:03:36.000000000","message":"Done","commit_id":"10e1ef78b763b412df963791153bf2a87bf16a2a"},{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"eb0a21759f9e04c0b1bd95bab38ec2677dfdcbaf","unresolved":false,"context_lines":[{"line_number":389,"context_line":"                  \u0027\"command\": \"env\", \"memory\": \"512\",\u0027"},{"line_number":390,"context_line":"                  \u0027\"restart_policy\": {\"Name\": \"always\",\u0027"},{"line_number":391,"context_line":"                  \u0027\"MaximumRetryCount\": \"5\"}}\u0027)"},{"line_number":392,"context_line":"        self.assertRaises(AppError, self.app.post, \u0027/v1/containers/\u0027,"},{"line_number":393,"context_line":"                          params\u003dparams, content_type\u003d\u0027application/json\u0027)"},{"line_number":394,"context_line":""},{"line_number":395,"context_line":"        self.assertTrue(mock_container_create.not_called)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a3c09a3_2d92ed9e","line":392,"updated":"2017-01-16 09:56:34.000000000","message":"Better to match the exception using assertRaisesRegex. Please see other test cases for assertRaisesRegex example in this file.","commit_id":"10e1ef78b763b412df963791153bf2a87bf16a2a"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"7f34876524e28b63894e8a4baf9367e50886e554","unresolved":false,"context_lines":[{"line_number":389,"context_line":"                  \u0027\"command\": \"env\", \"memory\": \"512\",\u0027"},{"line_number":390,"context_line":"                  \u0027\"restart_policy\": {\"Name\": \"always\",\u0027"},{"line_number":391,"context_line":"                  \u0027\"MaximumRetryCount\": \"5\"}}\u0027)"},{"line_number":392,"context_line":"        self.assertRaises(AppError, self.app.post, \u0027/v1/containers/\u0027,"},{"line_number":393,"context_line":"                          params\u003dparams, content_type\u003d\u0027application/json\u0027)"},{"line_number":394,"context_line":""},{"line_number":395,"context_line":"        self.assertTrue(mock_container_create.not_called)"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a3c09a3_80e454e1","line":392,"in_reply_to":"7a3c09a3_2d92ed9e","updated":"2017-01-17 09:03:36.000000000","message":"Done","commit_id":"10e1ef78b763b412df963791153bf2a87bf16a2a"},{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"eb0a21759f9e04c0b1bd95bab38ec2677dfdcbaf","unresolved":false,"context_lines":[{"line_number":405,"context_line":"                  \u0027\"command\": \"env\", \"memory\": \"512\",\u0027"},{"line_number":406,"context_line":"                  \u0027\"restart_policy\": {\"Name\": \"something\",\u0027"},{"line_number":407,"context_line":"                  \u0027\"MaximumRetryCount\": \"0\"}}\u0027)"},{"line_number":408,"context_line":"        self.assertRaises(AppError, self.app.post, \u0027/v1/containers/\u0027,"},{"line_number":409,"context_line":"                          params\u003dparams, content_type\u003d\u0027application/json\u0027)"},{"line_number":410,"context_line":"        self.assertTrue(mock_container_create.not_called)"},{"line_number":411,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7a3c09a3_8deda127","line":408,"updated":"2017-01-16 09:56:34.000000000","message":"ditto.","commit_id":"10e1ef78b763b412df963791153bf2a87bf16a2a"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"7f34876524e28b63894e8a4baf9367e50886e554","unresolved":false,"context_lines":[{"line_number":405,"context_line":"                  \u0027\"command\": \"env\", \"memory\": \"512\",\u0027"},{"line_number":406,"context_line":"                  \u0027\"restart_policy\": {\"Name\": \"something\",\u0027"},{"line_number":407,"context_line":"                  \u0027\"MaximumRetryCount\": \"0\"}}\u0027)"},{"line_number":408,"context_line":"        self.assertRaises(AppError, self.app.post, \u0027/v1/containers/\u0027,"},{"line_number":409,"context_line":"                          params\u003dparams, content_type\u003d\u0027application/json\u0027)"},{"line_number":410,"context_line":"        self.assertTrue(mock_container_create.not_called)"},{"line_number":411,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"7a3c09a3_a0e5d0dc","line":408,"in_reply_to":"7a3c09a3_8deda127","updated":"2017-01-17 09:03:36.000000000","message":"Done the test in validation.py","commit_id":"10e1ef78b763b412df963791153bf2a87bf16a2a"},{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"ba94a93f55e9847557c7eda2305e20c3fc5733b6","unresolved":false,"context_lines":[{"line_number":390,"context_line":"                  \u0027\"restart_policy\": {\"Name\": \"always\",\u0027"},{"line_number":391,"context_line":"                  \u0027\"MaximumRetryCount\": \"1\"}}\u0027)"},{"line_number":392,"context_line":"        with self.assertRaisesRegexp("},{"line_number":393,"context_line":"                AppError, \"Bad response: 500 Internal Server Error\"):"},{"line_number":394,"context_line":"            self.app.post(\u0027/v1/containers/\u0027,"},{"line_number":395,"context_line":"                          params\u003dparams,"},{"line_number":396,"context_line":"                          content_type\u003d\u0027application/json\u0027)"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a3c09a3_470a468b","line":393,"updated":"2017-01-18 03:54:26.000000000","message":"Here you need to modify once you modify the exception in controller.","commit_id":"2185d284beb6087019c8880a71e335e9f46a2907"}],"zun/tests/unit/common/test_validations.py":[{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"eb0a21759f9e04c0b1bd95bab38ec2677dfdcbaf","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        \u0027workdir\u0027: parameter_types.workdir,"},{"line_number":28,"context_line":"        \u0027image_pull_policy\u0027: parameter_types.image_pull_policy,"},{"line_number":29,"context_line":"        \u0027labels\u0027: parameter_types.labels,"},{"line_number":30,"context_line":"        \u0027environment\u0027: parameter_types.environment,"},{"line_number":31,"context_line":"        \u0027restart_policy\u0027: parameter_types.restart_policy"},{"line_number":32,"context_line":"    },"},{"line_number":33,"context_line":"    \u0027required\u0027: [\u0027image\u0027],"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a3c09a3_4d0019ab","line":30,"updated":"2017-01-16 09:56:34.000000000","message":"Please write test cases for checking the validity of restart_policy schema. Like test will fail if \u0027Name\u0027 in restart_policy is not specified, or when \u0027Name\u0027 value is \u0027xyz\u0027 or when \u0027MaximumRetryCount\u0027 is -1 or \u0027xyz\u0027.\nWhat do you think?","commit_id":"10e1ef78b763b412df963791153bf2a87bf16a2a"},{"author":{"_account_id":22076,"name":"Kevin Zhao","email":"kevin.zhao@linaro.org","username":"KevinZhao"},"change_message_id":"7f34876524e28b63894e8a4baf9367e50886e554","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        \u0027workdir\u0027: parameter_types.workdir,"},{"line_number":28,"context_line":"        \u0027image_pull_policy\u0027: parameter_types.image_pull_policy,"},{"line_number":29,"context_line":"        \u0027labels\u0027: parameter_types.labels,"},{"line_number":30,"context_line":"        \u0027environment\u0027: parameter_types.environment,"},{"line_number":31,"context_line":"        \u0027restart_policy\u0027: parameter_types.restart_policy"},{"line_number":32,"context_line":"    },"},{"line_number":33,"context_line":"    \u0027required\u0027: [\u0027image\u0027],"}],"source_content_type":"text/x-python","patch_set":4,"id":"7a3c09a3_367cc71e","line":30,"in_reply_to":"7a3c09a3_4d0019ab","updated":"2017-01-17 09:03:36.000000000","message":"Thanks~ Done","commit_id":"10e1ef78b763b412df963791153bf2a87bf16a2a"},{"author":{"_account_id":16277,"name":"Pradeep Kumar Singh","email":"ps4openstack@gmail.com","username":"pradeep_singh"},"change_message_id":"ba94a93f55e9847557c7eda2305e20c3fc5733b6","unresolved":false,"context_lines":[{"line_number":110,"context_line":"                                         \"Invalid input for field \u0027cpu\u0027\"):"},{"line_number":111,"context_line":"                self.schema_validator.validate(request_to_validate)"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"    def test_create_schema_restart_policy_name(self):"},{"line_number":114,"context_line":"        valid_name \u003d [\u0027no\u0027, \u0027on-failure\u0027, \u0027unless-stopped\u0027, \u0027always\u0027]"},{"line_number":115,"context_line":"        invalid_name \u003d [\u002712a\u0027, \u0027abc\u0027, \u00275\u0027, \u0027dd\u0027, \"\", \"   \"]"},{"line_number":116,"context_line":"        for value in valid_name:"}],"source_content_type":"text/x-python","patch_set":5,"id":"7a3c09a3_07ed9eb6","line":113,"updated":"2017-01-18 03:54:26.000000000","message":"I would suggest please create two more test case in which \u0027Name\u0027 is missing and \u0027MaximumRetryCount\u0027 is missing in restart_policy.","commit_id":"2185d284beb6087019c8880a71e335e9f46a2907"}]}
