)]}'
{"nova/api/openstack/compute/servers.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"62ed2c956a153a1e36968b42f407924fb6ef6800","unresolved":false,"context_lines":[{"line_number":443,"context_line":"            scheduler_hints \u003d body[\u0027OS-SCH-HNT:scheduler_hints\u0027]"},{"line_number":444,"context_line":"        create_kwargs[\u0027scheduler_hints\u0027] \u003d scheduler_hints"},{"line_number":445,"context_line":""},{"line_number":446,"context_line":"        # min_count and max_count are optional.  If they exist, they may come"},{"line_number":447,"context_line":"        # in as strings.  Verify that they are valid integers and \u003e 0."},{"line_number":448,"context_line":"        # Also, we want to default \u0027min_count\u0027 to 1, and default"},{"line_number":449,"context_line":"        # \u0027max_count\u0027 to be \u0027min_count\u0027."}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_2e39b2d6","line":446,"updated":"2018-07-20 13:10:29.000000000","message":"Why don\u0027t we do this in here? https://github.com/openstack/nova/blob/master/nova/api/openstack/compute/helpers.py#L55\n\nOtherwise we\u0027re still splitting extension code across multiple locations (or making this already very large method even larger).","commit_id":"fd99e60d80d4faad724ee8b380de48e63e656a27"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d084a44e16ebfc51000b65dec761d52e0433196c","unresolved":false,"context_lines":[{"line_number":447,"context_line":"        # in as strings.  Verify that they are valid integers and \u003e 0."},{"line_number":448,"context_line":"        # Also, we want to default \u0027min_count\u0027 to 1, and default"},{"line_number":449,"context_line":"        # \u0027max_count\u0027 to be \u0027min_count\u0027."},{"line_number":450,"context_line":"        min_count \u003d int(server_dict.get(\u0027min_count\u0027, 1))"},{"line_number":451,"context_line":"        max_count \u003d int(server_dict.get(\u0027max_count\u0027, min_count))"},{"line_number":452,"context_line":"        return_id \u003d server_dict.get(\u0027return_reservation_id\u0027, False)"},{"line_number":453,"context_line":"        if min_count \u003e max_count:"},{"line_number":454,"context_line":"            msg \u003d _(\u0027min_count must be \u003c\u003d max_count\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_f66979bf","line":451,"range":{"start_line":450,"start_character":0,"end_line":451,"end_character":64},"updated":"2018-07-19 08:27:13.000000000","message":"Not related to this particular change but I do find it weird that we don\u0027t catch ValueError here and wrap it. Maybe that happens automatically?","commit_id":"fd99e60d80d4faad724ee8b380de48e63e656a27"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"10662cf25e95e727ff5daf9582ca490747a9c238","unresolved":false,"context_lines":[{"line_number":447,"context_line":"        # in as strings.  Verify that they are valid integers and \u003e 0."},{"line_number":448,"context_line":"        # Also, we want to default \u0027min_count\u0027 to 1, and default"},{"line_number":449,"context_line":"        # \u0027max_count\u0027 to be \u0027min_count\u0027."},{"line_number":450,"context_line":"        min_count \u003d int(server_dict.get(\u0027min_count\u0027, 1))"},{"line_number":451,"context_line":"        max_count \u003d int(server_dict.get(\u0027max_count\u0027, min_count))"},{"line_number":452,"context_line":"        return_id \u003d server_dict.get(\u0027return_reservation_id\u0027, False)"},{"line_number":453,"context_line":"        if min_count \u003e max_count:"},{"line_number":454,"context_line":"            msg \u003d _(\u0027min_count must be \u003c\u003d max_count\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_e91182b0","line":451,"range":{"start_line":450,"start_character":0,"end_line":451,"end_character":64},"in_reply_to":"5f7c97a3_f66979bf","updated":"2018-07-20 01:18:24.000000000","message":"nice point. we take care that in schema where only positive integer are allowed [1]\n\nAlso we have test for that[2].\n\n[1] https://github.com/openstack/nova/blob/d9e04c4ff0b1a9c3383f1848dc846e93030d83cb/nova/api/openstack/compute/schemas/servers.py#L195\n\nhttps://github.com/openstack/nova/blob/d9e04c4ff0b1a9c3383f1848dc846e93030d83cb/nova/api/validation/parameter_types.py#L236\n\n[2]\nhttps://review.openstack.org/#/c/580017/6/nova/tests/unit/api/openstack/compute/test_serversV21.py@3936","commit_id":"fd99e60d80d4faad724ee8b380de48e63e656a27"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"264b6efc7628b3aba0f9fcd9317972bcd3779666","unresolved":false,"context_lines":[{"line_number":462,"context_line":"        if api_version_request.is_supported(req, min_version\u003d\u00272.52\u0027):"},{"line_number":463,"context_line":"            create_kwargs[\u0027tags\u0027] \u003d server_dict.get(\u0027tags\u0027)"},{"line_number":464,"context_line":""},{"line_number":465,"context_line":"        helpers.translate_attributes(helpers.CREATE,"},{"line_number":466,"context_line":"                                     server_dict, create_kwargs)"},{"line_number":467,"context_line":""},{"line_number":468,"context_line":"        target \u003d {"}],"source_content_type":"text/x-python","patch_set":6,"id":"5f7c97a3_6e980a19","line":465,"range":{"start_line":465,"start_character":16,"end_line":465,"end_character":36},"updated":"2018-07-20 13:34:53.000000000","message":"I still think we should handle a lot of this in here, but that can happen in a follow up.","commit_id":"fd99e60d80d4faad724ee8b380de48e63e656a27"}]}
