)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c7c6bb692949a80cd64fca2aa52bc9c0730a0d67","unresolved":false,"context_lines":[{"line_number":19,"context_line":"This patch fixes this issue by checking os-compute-api-version by"},{"line_number":20,"context_line":"allowing to use service-id if os-compute-api-version is \u003e\u003d2.53."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Closes-Bug: #1821584"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Change-Id: Id37f86ce5a2142737e7280fcb8335449621fdd2f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9fb8cfa7_29327f11","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":20},"updated":"2019-06-25 13:31:39.000000000","message":"this bug is filed against the ubunut downstream python openstack sdk package not the upstream openstack client.\n\nyou should create a story here\nhttps://storyboard.openstack.org/#!/project/openstack/python-openstackclient\n\nand add the story here.\ne.g.\n\nStory: #\u003cstory number\u003e","commit_id":"7c847ae6d9d43af4eb17b7ff1b048f3f04573d2a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c7c6bb692949a80cd64fca2aa52bc9c0730a0d67","unresolved":false,"context_lines":[{"line_number":19,"context_line":"This patch fixes this issue by checking os-compute-api-version by"},{"line_number":20,"context_line":"allowing to use service-id if os-compute-api-version is \u003e\u003d2.53."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Closes-Bug: #1821584"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Change-Id: Id37f86ce5a2142737e7280fcb8335449621fdd2f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9fb8cfa7_69e1579b","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":20},"updated":"2019-06-25 13:31:39.000000000","message":"you should add a story and task for this\nand track it via https://storyboard.openstack.org/#!/project/openstack/python-openstackclient\n\nthe current bug is open against the ubuntu downstream openstack sdk not the upstream python-openstackclient project.","commit_id":"7c847ae6d9d43af4eb17b7ff1b048f3f04573d2a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"535e79c172fd594a43c31cb9d3063d02db912e8f","unresolved":false,"context_lines":[{"line_number":19,"context_line":"This patch fixes this issue by checking os-compute-api-version by"},{"line_number":20,"context_line":"allowing to use service-id if os-compute-api-version is \u003e\u003d2.53."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Closes-Bug: #1821584"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"Change-Id: Id37f86ce5a2142737e7280fcb8335449621fdd2f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"9fb8cfa7_2d5d9546","line":22,"range":{"start_line":22,"start_character":0,"end_line":22,"end_character":20},"in_reply_to":"9fb8cfa7_69e1579b","updated":"2019-06-26 13:40:40.000000000","message":"You can use this story https://storyboard.openstack.org/#!/story/2005349 and task 30302.","commit_id":"7c847ae6d9d43af4eb17b7ff1b048f3f04573d2a"}],"openstackclient/compute/v2/service.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c7c6bb692949a80cd64fca2aa52bc9c0730a0d67","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        parser \u003d super(SetService, self).get_parser(prog_name)"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        parser.add_argument("},{"line_number":123,"context_line":"            \"--host\","},{"line_number":124,"context_line":"            default\u003dNone,"},{"line_number":125,"context_line":"            metavar\u003d\"\u003chost\u003e\","},{"line_number":126,"context_line":"            help\u003d_(\"Name of host. This option requires\""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_e956a7ce","line":123,"range":{"start_line":123,"start_character":13,"end_line":123,"end_character":15},"updated":"2019-06-25 13:31:39.000000000","message":"this would change host form a positional argument to a optional argument which is incorrect for microverions \u003c2.53\nas they are required to use the force-down action api endpoint.\n\nit would also break backward compatiblity so im not sure this is allowed by defualt.\n\ni think you will have to make the parser construction condtional on the microversions so that it remains a postional arg for older microverions or somehow register it as both.","commit_id":"7c847ae6d9d43af4eb17b7ff1b048f3f04573d2a"},{"author":{"_account_id":29238,"name":"jayashri bidwe","email":"Jayashri.Bidwe@nttdata.com","username":"jayashrib"},"change_message_id":"42e2b11bcd1261bac5295827f71cc485141e3cac","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        parser \u003d super(SetService, self).get_parser(prog_name)"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        parser.add_argument("},{"line_number":123,"context_line":"            \"--host\","},{"line_number":124,"context_line":"            default\u003dNone,"},{"line_number":125,"context_line":"            metavar\u003d\"\u003chost\u003e\","},{"line_number":126,"context_line":"            help\u003d_(\"Name of host. This option requires\""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_fcdc1175","line":123,"range":{"start_line":123,"start_character":13,"end_line":123,"end_character":15},"in_reply_to":"9fb8cfa7_e956a7ce","updated":"2019-06-26 10:56:03.000000000","message":"If I make parser construction conditional on the microversions then there are two below scenarios needs to taken care:\n\n1. if microversion\u003c\u003d2.52 host and service arguments are positional and also if user dont specify the mocroversion then it will take default as 2.1 in that case also host and service are mandatory\n\n2. if microversion\u003e\u003d2.53 id of the service as uuid is required argument.\n\nI have tried below code:\n\ncompute_client \u003d self.app.client_manager.compute\nif compute_client.api_version \u003e\u003d api_versions.APIVersion(\u00272.53\u0027):\n\tparser.add_argument(\n\t\t\"id\",\n\t\tmetavar\u003d\"\u003cservice_id\u003e\",\n\t\thelp\u003d_(\"Compute service(s) to update (ID only)\")\n\t)\nelse:\n\t# For compute version 2.53 onwards \u0027force_service_down\u0027 API is superseded.\n\tparser.add_argument(\n\t\t\"host\",\n\t\tmetavar\u003d\"\u003chost\u003e\",\n\t\thelp\u003d_(\"Name of host\")\n\t)\n\tparser.add_argument(\n\t\t\"service\",\n\t\tmetavar\u003d\"\u003cservice\u003e\",\n\t\thelp\u003d_(\"Name of service (Binary name)\")\n\t)\n......\n\n\nWith the above changes able to get desired output but disturbing help logic.\n\nIf tried to execute\n$openstack help compute service set \n\nit shows output as:\n\u0027ClientManager\u0027 object has no attribute \u0027auth\u0027","commit_id":"7c847ae6d9d43af4eb17b7ff1b048f3f04573d2a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c7c6bb692949a80cd64fca2aa52bc9c0730a0d67","unresolved":false,"context_lines":[{"line_number":124,"context_line":"            default\u003dNone,"},{"line_number":125,"context_line":"            metavar\u003d\"\u003chost\u003e\","},{"line_number":126,"context_line":"            help\u003d_(\"Name of host. This option requires\""},{"line_number":127,"context_line":"                   \" --os-compute-api-version\""},{"line_number":128,"context_line":"                   \" from 2.1 to 2.52\")"},{"line_number":129,"context_line":"        )"},{"line_number":130,"context_line":"        parser.add_argument("},{"line_number":131,"context_line":"            \"--service\","}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_29903f43","line":128,"range":{"start_line":127,"start_character":18,"end_line":128,"end_character":38},"updated":"2019-06-25 13:31:39.000000000","message":"where did this range come from?\nthis is required for all micorversion as far as i can tell since the force down action endpoint was added in 2.11\n\nhttps://developer.openstack.org/api-ref/compute/?expanded\u003dupdate-forced-down-detail,update-compute-service-detail#update-forced-down","commit_id":"7c847ae6d9d43af4eb17b7ff1b048f3f04573d2a"},{"author":{"_account_id":29238,"name":"jayashri bidwe","email":"Jayashri.Bidwe@nttdata.com","username":"jayashrib"},"change_message_id":"42e2b11bcd1261bac5295827f71cc485141e3cac","unresolved":false,"context_lines":[{"line_number":124,"context_line":"            default\u003dNone,"},{"line_number":125,"context_line":"            metavar\u003d\"\u003chost\u003e\","},{"line_number":126,"context_line":"            help\u003d_(\"Name of host. This option requires\""},{"line_number":127,"context_line":"                   \" --os-compute-api-version\""},{"line_number":128,"context_line":"                   \" from 2.1 to 2.52\")"},{"line_number":129,"context_line":"        )"},{"line_number":130,"context_line":"        parser.add_argument("},{"line_number":131,"context_line":"            \"--service\","}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_7c0581c1","line":128,"range":{"start_line":127,"start_character":18,"end_line":128,"end_character":38},"in_reply_to":"9fb8cfa7_29903f43","updated":"2019-06-26 10:56:03.000000000","message":"for microversion\u003c-2.52 it takes host and service to update service and from 2.53 onwards this API is superseded by PUT /os-services/{service_id}.","commit_id":"7c847ae6d9d43af4eb17b7ff1b048f3f04573d2a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c7c6bb692949a80cd64fca2aa52bc9c0730a0d67","unresolved":false,"context_lines":[{"line_number":128,"context_line":"                   \" from 2.1 to 2.52\")"},{"line_number":129,"context_line":"        )"},{"line_number":130,"context_line":"        parser.add_argument("},{"line_number":131,"context_line":"            \"--service\","},{"line_number":132,"context_line":"            default\u003dNone,"},{"line_number":133,"context_line":"            metavar\u003d\"\u003cservice\u003e\","},{"line_number":134,"context_line":"            help\u003d_(\"Name of service (Binary name). This option requires\""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_a9f98fc8","line":131,"range":{"start_line":131,"start_character":12,"end_line":131,"end_character":15},"updated":"2019-06-25 13:31:39.000000000","message":"same as above this should not be converted to a optional arguemtn both service and host are required aregument and therefore should be positional args.","commit_id":"7c847ae6d9d43af4eb17b7ff1b048f3f04573d2a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c7c6bb692949a80cd64fca2aa52bc9c0730a0d67","unresolved":false,"context_lines":[{"line_number":132,"context_line":"            default\u003dNone,"},{"line_number":133,"context_line":"            metavar\u003d\"\u003cservice\u003e\","},{"line_number":134,"context_line":"            help\u003d_(\"Name of service (Binary name). This option requires\""},{"line_number":135,"context_line":"                   \" --os-compute-api-version 2.1 to 2.52\")"},{"line_number":136,"context_line":"        )"},{"line_number":137,"context_line":"        parser.add_argument("},{"line_number":138,"context_line":"            \"--id\","}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_29deff10","line":135,"range":{"start_line":135,"start_character":45,"end_line":135,"end_character":49},"updated":"2019-06-25 13:31:39.000000000","message":"this shoudl be 2.11","commit_id":"7c847ae6d9d43af4eb17b7ff1b048f3f04573d2a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c7c6bb692949a80cd64fca2aa52bc9c0730a0d67","unresolved":false,"context_lines":[{"line_number":132,"context_line":"            default\u003dNone,"},{"line_number":133,"context_line":"            metavar\u003d\"\u003cservice\u003e\","},{"line_number":134,"context_line":"            help\u003d_(\"Name of service (Binary name). This option requires\""},{"line_number":135,"context_line":"                   \" --os-compute-api-version 2.1 to 2.52\")"},{"line_number":136,"context_line":"        )"},{"line_number":137,"context_line":"        parser.add_argument("},{"line_number":138,"context_line":"            \"--id\","}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_c9ce4359","line":135,"range":{"start_line":135,"start_character":53,"end_line":135,"end_character":57},"updated":"2019-06-25 13:31:39.000000000","message":"you also can use it after but you have to use the /os-services/force-down api endpoint not hte compute service update endpoint /os-services/{service_id}","commit_id":"7c847ae6d9d43af4eb17b7ff1b048f3f04573d2a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6f022e951df7f720800b50113992b4679f026edd","unresolved":false,"context_lines":[{"line_number":135,"context_line":"                   \" --os-compute-api-version 2.1 to 2.52\")"},{"line_number":136,"context_line":"        )"},{"line_number":137,"context_line":"        parser.add_argument("},{"line_number":138,"context_line":"            \"--id\","},{"line_number":139,"context_line":"            default\u003dNone,"},{"line_number":140,"context_line":"            metavar\u003d\"\u003cservice_id\u003e\","},{"line_number":141,"context_line":"            help\u003d_(\"ID of the service as a UUID. This option requires\""}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_0d7771d6","line":138,"updated":"2019-06-26 13:39:26.000000000","message":"As noted we shouldn\u0027t need this - just lookup the service by host and binary to get the service id as UUID for \u003e\u003d 2.53.","commit_id":"7c847ae6d9d43af4eb17b7ff1b048f3f04573d2a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e34700e63919a1a17297fa07dd9448c802a1f09e","unresolved":false,"context_lines":[{"line_number":135,"context_line":"                   \" --os-compute-api-version 2.1 to 2.52\")"},{"line_number":136,"context_line":"        )"},{"line_number":137,"context_line":"        parser.add_argument("},{"line_number":138,"context_line":"            \"--id\","},{"line_number":139,"context_line":"            default\u003dNone,"},{"line_number":140,"context_line":"            metavar\u003d\"\u003cservice_id\u003e\","},{"line_number":141,"context_line":"            help\u003d_(\"ID of the service as a UUID. This option requires\""}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_15d28935","line":138,"in_reply_to":"7faddb67_4d095bdb","updated":"2019-07-24 18:46:56.000000000","message":"I have a much simpler fix here:\n\nhttps://review.opendev.org/#/c/672577/\n\nAnd can follow that up with adding the --id option.","commit_id":"7c847ae6d9d43af4eb17b7ff1b048f3f04573d2a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"f429aa4abba5ce0e07fd993bbfcef9f0c2a0963f","unresolved":false,"context_lines":[{"line_number":135,"context_line":"                   \" --os-compute-api-version 2.1 to 2.52\")"},{"line_number":136,"context_line":"        )"},{"line_number":137,"context_line":"        parser.add_argument("},{"line_number":138,"context_line":"            \"--id\","},{"line_number":139,"context_line":"            default\u003dNone,"},{"line_number":140,"context_line":"            metavar\u003d\"\u003cservice_id\u003e\","},{"line_number":141,"context_line":"            help\u003d_(\"ID of the service as a UUID. This option requires\""}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_4d095bdb","line":138,"in_reply_to":"9fb8cfa7_0d7771d6","updated":"2019-07-24 15:55:35.000000000","message":"What I\u0027d probably do is fix the immediate problem for using 2.53+ with the existing host and service options by looking up the service by host/binary to get the uuid id and then call the PUT /os-services/{service_id} API, and then in a separate change - which is not backportable - add the --id option which would be only available starting with 2.53 and mutually exclusive with --host and --service.","commit_id":"7c847ae6d9d43af4eb17b7ff1b048f3f04573d2a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c7c6bb692949a80cd64fca2aa52bc9c0730a0d67","unresolved":false,"context_lines":[{"line_number":134,"context_line":"            help\u003d_(\"Name of service (Binary name). This option requires\""},{"line_number":135,"context_line":"                   \" --os-compute-api-version 2.1 to 2.52\")"},{"line_number":136,"context_line":"        )"},{"line_number":137,"context_line":"        parser.add_argument("},{"line_number":138,"context_line":"            \"--id\","},{"line_number":139,"context_line":"            default\u003dNone,"},{"line_number":140,"context_line":"            metavar\u003d\"\u003cservice_id\u003e\","},{"line_number":141,"context_line":"            help\u003d_(\"ID of the service as a UUID. This option requires\""},{"line_number":142,"context_line":"                   \" --os-compute-api-version 2.53 or higher\")"},{"line_number":143,"context_line":"        )"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"        enabled_group \u003d parser.add_mutually_exclusive_group()"},{"line_number":146,"context_line":"        enabled_group.add_argument("}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_4931f359","line":143,"range":{"start_line":137,"start_character":7,"end_line":143,"end_character":9},"updated":"2019-06-25 13:31:39.000000000","message":"ya this makes sense.\n\nwe might want to consider setting the api verion to 2.53 if not set but that would likely be a departure form the norm.\n\nthis likely should be in a mutually exclusive group with host and service.","commit_id":"7c847ae6d9d43af4eb17b7ff1b048f3f04573d2a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6f022e951df7f720800b50113992b4679f026edd","unresolved":false,"context_lines":[{"line_number":157,"context_line":"            \"--disable-reason\","},{"line_number":158,"context_line":"            default\u003dNone,"},{"line_number":159,"context_line":"            metavar\u003d\"\u003creason\u003e\","},{"line_number":160,"context_line":"            help\u003d_(\"Reason for disabling the service (in quotes).\""},{"line_number":161,"context_line":"                   \"Should be used with --disable option.\")"},{"line_number":162,"context_line":"        )"},{"line_number":163,"context_line":"        up_down_group \u003d parser.add_mutually_exclusive_group()"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_eda45d4d","line":160,"range":{"start_line":160,"start_character":64,"end_line":160,"end_character":66},"updated":"2019-06-26 13:39:26.000000000","message":"This is an unrelated regression.","commit_id":"7c847ae6d9d43af4eb17b7ff1b048f3f04573d2a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6f022e951df7f720800b50113992b4679f026edd","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        up_down_group.add_argument("},{"line_number":165,"context_line":"            \u0027--up\u0027,"},{"line_number":166,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":167,"context_line":"            help\u003d_(\u0027Force up service. This option requires at least\u0027"},{"line_number":168,"context_line":"                   \u0027 --os-compute-api-version 2.11\u0027),"},{"line_number":169,"context_line":"        )"},{"line_number":170,"context_line":"        up_down_group.add_argument("}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_6db94d77","line":167,"updated":"2019-06-26 13:39:26.000000000","message":"This is a good change but it\u0027s unrelated to the 2.53 problem and I\u0027d split out.","commit_id":"7c847ae6d9d43af4eb17b7ff1b048f3f04573d2a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"907141912fbe504a1c7ef0413d3517c8f331f8a6","unresolved":false,"context_lines":[{"line_number":164,"context_line":"        up_down_group.add_argument("},{"line_number":165,"context_line":"            \u0027--up\u0027,"},{"line_number":166,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":167,"context_line":"            help\u003d_(\u0027Force up service. This option requires at least\u0027"},{"line_number":168,"context_line":"                   \u0027 --os-compute-api-version 2.11\u0027),"},{"line_number":169,"context_line":"        )"},{"line_number":170,"context_line":"        up_down_group.add_argument("}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_ada1ef97","line":167,"in_reply_to":"9fb8cfa7_6db94d77","updated":"2019-07-24 16:04:01.000000000","message":"Done: https://review.opendev.org/672554","commit_id":"7c847ae6d9d43af4eb17b7ff1b048f3f04573d2a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"6f022e951df7f720800b50113992b4679f026edd","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        up_down_group.add_argument("},{"line_number":171,"context_line":"            \u0027--down\u0027,"},{"line_number":172,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":173,"context_line":"            help\u003d_(\u0027Force down service. This option requires at least\u0027"},{"line_number":174,"context_line":"                   \u0027 --os-compute-api-version 2.11\u0027),"},{"line_number":175,"context_line":"        )"},{"line_number":176,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_0db21195","line":173,"updated":"2019-06-26 13:39:26.000000000","message":"same - split this out like above","commit_id":"7c847ae6d9d43af4eb17b7ff1b048f3f04573d2a"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"907141912fbe504a1c7ef0413d3517c8f331f8a6","unresolved":false,"context_lines":[{"line_number":170,"context_line":"        up_down_group.add_argument("},{"line_number":171,"context_line":"            \u0027--down\u0027,"},{"line_number":172,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":173,"context_line":"            help\u003d_(\u0027Force down service. This option requires at least\u0027"},{"line_number":174,"context_line":"                   \u0027 --os-compute-api-version 2.11\u0027),"},{"line_number":175,"context_line":"        )"},{"line_number":176,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_cd9eab53","line":173,"in_reply_to":"9fb8cfa7_0db21195","updated":"2019-07-24 16:04:01.000000000","message":"Done: https://review.opendev.org/672554","commit_id":"7c847ae6d9d43af4eb17b7ff1b048f3f04573d2a"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c7c6bb692949a80cd64fca2aa52bc9c0730a0d67","unresolved":false,"context_lines":[{"line_number":178,"context_line":"    def _validate_arguments(self, parsed_args):"},{"line_number":179,"context_line":"        compute_client \u003d self.app.client_manager.compute"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"        if (compute_client.api_version \u003c\u003d api_versions.APIVersion("},{"line_number":182,"context_line":"                \u00272.52\u0027)):"},{"line_number":183,"context_line":"            if ((parsed_args.host and parsed_args.service) is None):"},{"line_number":184,"context_line":"                msg \u003d _(\"host and service is required for\""},{"line_number":185,"context_line":"                        \" --os-compute-api-version from 2.1 \""},{"line_number":186,"context_line":"                        \"to 2.52\")"},{"line_number":187,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"            if parsed_args.id:"},{"line_number":190,"context_line":"                msg \u003d _(\"Needs to set --os-compute-api-version from 2.53 and \""},{"line_number":191,"context_line":"                        \" higher to pass id\")"},{"line_number":192,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":193,"context_line":"        else:"},{"line_number":194,"context_line":"            if (parsed_args.id is None):"},{"line_number":195,"context_line":"                msg \u003d _(\"ID of the service as a UUID is required \""},{"line_number":196,"context_line":"                        \"for version 2.53 or higher\")"},{"line_number":197,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"            if (parsed_args.host or"},{"line_number":200,"context_line":"                    parsed_args.service):"},{"line_number":201,"context_line":"                msg \u003d _(\"Host and service parameters are not accepted from \""},{"line_number":202,"context_line":"                        \"version \u003e\u003d2.53\")"},{"line_number":203,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":204,"context_line":""},{"line_number":205,"context_line":"        if ((parsed_args.enable or parsed_args.disable or"},{"line_number":206,"context_line":"            parsed_args.up or"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fb8cfa7_e958e78a","line":203,"range":{"start_line":181,"start_character":7,"end_line":203,"end_character":50},"updated":"2019-06-25 13:31:39.000000000","message":"you will still need to do a version check but if you declare \nthat host+service are in a mutally excplcive group with id i think you would not need to test both in both branches.","commit_id":"7c847ae6d9d43af4eb17b7ff1b048f3f04573d2a"}]}
