)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"9d4437b5f326fddf960b520f3ce26fd47de28af2","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     zhangbailin \u003czhangbailin@inspur.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-07-31 17:04:02 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Microversion 2.76: Add delete_on_termination to volume-attach API"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added a ``--delete-on-termination`` option to"},{"line_number":10,"context_line":"``openstack server add volume`` command that enables users to marked"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7faddb67_a96e2093","line":7,"range":{"start_line":7,"start_character":15,"end_line":7,"end_character":17},"updated":"2019-09-05 02:52:36.000000000","message":"78","commit_id":"16751ec08f4e976288bc8f846d7326c34e28ace2"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"9d4437b5f326fddf960b520f3ce26fd47de28af2","unresolved":false,"context_lines":[{"line_number":10,"context_line":"``openstack server add volume`` command that enables users to marked"},{"line_number":11,"context_line":"the attachd volume whether to delete the data volume when the"},{"line_number":12,"context_line":"instance is destroyed."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Part of blueprint support-delete-on-termination-in-server-attach-volume"},{"line_number":15,"context_line":"Change-Id: I6b5cd54b82a1135335a71b9768a1a2c2012f755b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"7faddb67_498d2c7a","line":13,"updated":"2019-09-05 02:52:36.000000000","message":"Depends-On: https://review.opendev.org/#/c/673485","commit_id":"16751ec08f4e976288bc8f846d7326c34e28ace2"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"446466c8e1a37ca78c4edb52cdbae52a8d55f602","unresolved":false,"context_lines":[{"line_number":11,"context_line":"the attachd volume whether to delete the data volume when the"},{"line_number":12,"context_line":"server is being destroy."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Depends-On: https://review.opendev.org/#/c/673485"},{"line_number":15,"context_line":"Part of blueprint support-delete-on-termination-in-server-attach-volume"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I6b5cd54b82a1135335a71b9768a1a2c2012f755b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"5faad753_267682a6","line":14,"updated":"2019-09-09 15:58:03.000000000","message":"Just like with 2.77 this is insufficient, you will need to depend on the released version of novaclient that contains this patch and is updated in the upper-constraints file in the openstack/requirements repo and then bump the minimum required version of novaclient for OSC. IOW, trying to use this OSC code today would blow up with a TypeError.","commit_id":"98d79c465b126a8f8b5c78962b2d41f1ec6b0da9"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"1976edca1f895baa5d65355d28209afb405ed177","unresolved":false,"context_lines":[{"line_number":11,"context_line":"the attachd volume whether to delete the data volume when the"},{"line_number":12,"context_line":"server is being destroy."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Depends-On: https://review.opendev.org/#/c/673485"},{"line_number":15,"context_line":"Part of blueprint support-delete-on-termination-in-server-attach-volume"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"Change-Id: I6b5cd54b82a1135335a71b9768a1a2c2012f755b"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"5faad753_0537b3b2","line":14,"in_reply_to":"5faad753_267682a6","updated":"2019-09-10 02:10:59.000000000","message":"Released changes: https://review.opendev.org/#/c/681151/\nRequirements changes: https://review.opendev.org/#/c/681148/","commit_id":"98d79c465b126a8f8b5c78962b2d41f1ec6b0da9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d2492e6ba91ffe4bf0ecad5ab8d9eaa37be18943","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Microversion 2.79: Add delete_on_termination to volume-attach API"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Added a ``--disable-delete-on-termination`` and"},{"line_number":10,"context_line":"``--enable-delete-on-termination`` options to"},{"line_number":11,"context_line":"``openstack server add volume`` command that enables users to mark"},{"line_number":12,"context_line":"whether to delete the attached volume when the server is destroyed."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":12,"id":"5faad753_5050e15d","line":9,"range":{"start_line":9,"start_character":6,"end_line":9,"end_character":7},"updated":"2019-09-11 14:40:08.000000000","message":"nit: remove this","commit_id":"68c2242fa916fc5687f4df74df43e0cfede62703"}],"openstackclient/compute/v2/server.py":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"9d4437b5f326fddf960b520f3ce26fd47de28af2","unresolved":false,"context_lines":[{"line_number":448,"context_line":"        )"},{"line_number":449,"context_line":"        parser.add_argument("},{"line_number":450,"context_line":"            \u0027--delete-on-termination\u0027,"},{"line_number":451,"context_line":"            metavar\u003d\u0027\u003cdelete_on_termination\u003e\u0027,"},{"line_number":452,"context_line":"            default\u003dFalse,"},{"line_number":453,"context_line":"            help\u003d_(\"Determine if the attached volume is deleted when the \""},{"line_number":454,"context_line":"                   \"server is destroyed. (Supported by API versions \u00272.76\u0027 \""},{"line_number":455,"context_line":"                   \"- \u00272.latest\u0027)\"),"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_a945c016","line":452,"range":{"start_line":451,"start_character":12,"end_line":452,"end_character":26},"updated":"2019-09-05 02:52:36.000000000","message":"metavar\u003d\u0027\u003cdelete-on-termination\u003e\u0027,\ndest\u003d\u0027delete_on_termination\u0027,\naction\u003d\u0027store_true\u0027,\ndefault\u003dFalse,","commit_id":"16751ec08f4e976288bc8f846d7326c34e28ace2"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"ecb3725f725630a97e48e85a2fb24d6998ea983e","unresolved":false,"context_lines":[{"line_number":448,"context_line":"        )"},{"line_number":449,"context_line":"        parser.add_argument("},{"line_number":450,"context_line":"            \u0027--delete-on-termination\u0027,"},{"line_number":451,"context_line":"            metavar\u003d\u0027\u003cdelete_on_termination\u003e\u0027,"},{"line_number":452,"context_line":"            default\u003dFalse,"},{"line_number":453,"context_line":"            help\u003d_(\"Determine if the attached volume is deleted when the \""},{"line_number":454,"context_line":"                   \"server is destroyed. (Supported by API versions \u00272.76\u0027 \""},{"line_number":455,"context_line":"                   \"- \u00272.latest\u0027)\"),"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_2931d0a2","line":452,"range":{"start_line":451,"start_character":12,"end_line":452,"end_character":26},"in_reply_to":"7faddb67_a945c016","updated":"2019-09-05 03:06:43.000000000","message":"Done","commit_id":"16751ec08f4e976288bc8f846d7326c34e28ace2"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"ecb3725f725630a97e48e85a2fb24d6998ea983e","unresolved":false,"context_lines":[{"line_number":450,"context_line":"            \u0027--delete-on-termination\u0027,"},{"line_number":451,"context_line":"            metavar\u003d\u0027\u003cdelete_on_termination\u003e\u0027,"},{"line_number":452,"context_line":"            default\u003dFalse,"},{"line_number":453,"context_line":"            help\u003d_(\"Determine if the attached volume is deleted when the \""},{"line_number":454,"context_line":"                   \"server is destroyed. (Supported by API versions \u00272.76\u0027 \""},{"line_number":455,"context_line":"                   \"- \u00272.latest\u0027)\"),"},{"line_number":456,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_691268ff","line":453,"range":{"start_line":453,"start_character":20,"end_line":453,"end_character":29},"updated":"2019-09-05 03:06:43.000000000","message":"Specify","commit_id":"16751ec08f4e976288bc8f846d7326c34e28ace2"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"9d4437b5f326fddf960b520f3ce26fd47de28af2","unresolved":false,"context_lines":[{"line_number":451,"context_line":"            metavar\u003d\u0027\u003cdelete_on_termination\u003e\u0027,"},{"line_number":452,"context_line":"            default\u003dFalse,"},{"line_number":453,"context_line":"            help\u003d_(\"Determine if the attached volume is deleted when the \""},{"line_number":454,"context_line":"                   \"server is destroyed. (Supported by API versions \u00272.76\u0027 \""},{"line_number":455,"context_line":"                   \"- \u00272.latest\u0027)\"),"},{"line_number":456,"context_line":"        )"},{"line_number":457,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_4950ccd5","line":454,"range":{"start_line":454,"start_character":71,"end_line":454,"end_character":73},"updated":"2019-09-05 02:52:36.000000000","message":"78","commit_id":"16751ec08f4e976288bc8f846d7326c34e28ace2"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"ecb3725f725630a97e48e85a2fb24d6998ea983e","unresolved":false,"context_lines":[{"line_number":451,"context_line":"            metavar\u003d\u0027\u003cdelete_on_termination\u003e\u0027,"},{"line_number":452,"context_line":"            default\u003dFalse,"},{"line_number":453,"context_line":"            help\u003d_(\"Determine if the attached volume is deleted when the \""},{"line_number":454,"context_line":"                   \"server is destroyed. (Supported by API versions \u00272.76\u0027 \""},{"line_number":455,"context_line":"                   \"- \u00272.latest\u0027)\"),"},{"line_number":456,"context_line":"        )"},{"line_number":457,"context_line":"        return parser"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_c9235c57","line":454,"range":{"start_line":454,"start_character":71,"end_line":454,"end_character":73},"in_reply_to":"7faddb67_4950ccd5","updated":"2019-09-05 03:06:43.000000000","message":"Done","commit_id":"16751ec08f4e976288bc8f846d7326c34e28ace2"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"9d4437b5f326fddf960b520f3ce26fd47de28af2","unresolved":false,"context_lines":[{"line_number":470,"context_line":"        )"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"        suppor_set_delete_on_termination \u003d (compute_client.api_version \u003e\u003d"},{"line_number":473,"context_line":"                                            api_versions.APIVersion(\u00272.76\u0027))"},{"line_number":474,"context_line":""},{"line_number":475,"context_line":"        if (not suppor_set_delete_on_termination and"},{"line_number":476,"context_line":"                parsed_args.delete_on_termination):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_694b4827","line":473,"range":{"start_line":473,"start_character":71,"end_line":473,"end_character":73},"updated":"2019-09-05 02:52:36.000000000","message":"78","commit_id":"16751ec08f4e976288bc8f846d7326c34e28ace2"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"ecb3725f725630a97e48e85a2fb24d6998ea983e","unresolved":false,"context_lines":[{"line_number":470,"context_line":"        )"},{"line_number":471,"context_line":""},{"line_number":472,"context_line":"        suppor_set_delete_on_termination \u003d (compute_client.api_version \u003e\u003d"},{"line_number":473,"context_line":"                                            api_versions.APIVersion(\u00272.76\u0027))"},{"line_number":474,"context_line":""},{"line_number":475,"context_line":"        if (not suppor_set_delete_on_termination and"},{"line_number":476,"context_line":"                parsed_args.delete_on_termination):"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_e9265867","line":473,"range":{"start_line":473,"start_character":71,"end_line":473,"end_character":73},"in_reply_to":"7faddb67_694b4827","updated":"2019-09-05 03:06:43.000000000","message":"Done","commit_id":"16751ec08f4e976288bc8f846d7326c34e28ace2"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"9d4437b5f326fddf960b520f3ce26fd47de28af2","unresolved":false,"context_lines":[{"line_number":474,"context_line":""},{"line_number":475,"context_line":"        if (not suppor_set_delete_on_termination and"},{"line_number":476,"context_line":"                parsed_args.delete_on_termination):"},{"line_number":477,"context_line":"                msg \u003d _(\u0027--os-compute-api-version 2.76 or greater is required \u0027"},{"line_number":478,"context_line":"                        \u0027to support the delete_on_termination option.\u0027)"},{"line_number":479,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":480,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_296310b3","line":477,"range":{"start_line":477,"start_character":52,"end_line":477,"end_character":54},"updated":"2019-09-05 02:52:36.000000000","message":"78","commit_id":"16751ec08f4e976288bc8f846d7326c34e28ace2"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"ecb3725f725630a97e48e85a2fb24d6998ea983e","unresolved":false,"context_lines":[{"line_number":474,"context_line":""},{"line_number":475,"context_line":"        if (not suppor_set_delete_on_termination and"},{"line_number":476,"context_line":"                parsed_args.delete_on_termination):"},{"line_number":477,"context_line":"                msg \u003d _(\u0027--os-compute-api-version 2.76 or greater is required \u0027"},{"line_number":478,"context_line":"                        \u0027to support the delete_on_termination option.\u0027)"},{"line_number":479,"context_line":"                raise exceptions.CommandError(msg)"},{"line_number":480,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_8921e44f","line":477,"range":{"start_line":477,"start_character":52,"end_line":477,"end_character":54},"in_reply_to":"7faddb67_296310b3","updated":"2019-09-05 03:06:43.000000000","message":"Done","commit_id":"16751ec08f4e976288bc8f846d7326c34e28ace2"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"446466c8e1a37ca78c4edb52cdbae52a8d55f602","unresolved":false,"context_lines":[{"line_number":475,"context_line":"            parsed_args.volume,"},{"line_number":476,"context_line":"        )"},{"line_number":477,"context_line":""},{"line_number":478,"context_line":"        suppor_set_delete_on_termination \u003d (compute_client.api_version \u003e\u003d"},{"line_number":479,"context_line":"                                            api_versions.APIVersion(\u00272.79\u0027))"},{"line_number":480,"context_line":""},{"line_number":481,"context_line":"        if (not suppor_set_delete_on_termination and"}],"source_content_type":"text/x-python","patch_set":8,"id":"5faad753_c638ced4","line":478,"range":{"start_line":478,"start_character":8,"end_line":478,"end_character":14},"updated":"2019-09-09 15:58:03.000000000","message":"support","commit_id":"98d79c465b126a8f8b5c78962b2d41f1ec6b0da9"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"1976edca1f895baa5d65355d28209afb405ed177","unresolved":false,"context_lines":[{"line_number":475,"context_line":"            parsed_args.volume,"},{"line_number":476,"context_line":"        )"},{"line_number":477,"context_line":""},{"line_number":478,"context_line":"        suppor_set_delete_on_termination \u003d (compute_client.api_version \u003e\u003d"},{"line_number":479,"context_line":"                                            api_versions.APIVersion(\u00272.79\u0027))"},{"line_number":480,"context_line":""},{"line_number":481,"context_line":"        if (not suppor_set_delete_on_termination and"}],"source_content_type":"text/x-python","patch_set":8,"id":"5faad753_45636bdd","line":478,"range":{"start_line":478,"start_character":8,"end_line":478,"end_character":14},"in_reply_to":"5faad753_c638ced4","updated":"2019-09-10 02:10:59.000000000","message":"Done","commit_id":"98d79c465b126a8f8b5c78962b2d41f1ec6b0da9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"446466c8e1a37ca78c4edb52cdbae52a8d55f602","unresolved":false,"context_lines":[{"line_number":490,"context_line":"        }"},{"line_number":491,"context_line":""},{"line_number":492,"context_line":"        if suppor_set_delete_on_termination:"},{"line_number":493,"context_line":"            if parsed_args.enable_delete_on_termination:"},{"line_number":494,"context_line":"                kwargs[\u0027delete_on_termination\u0027] \u003d True"},{"line_number":495,"context_line":"            if parsed_args.disable_delete_on_termination:"},{"line_number":496,"context_line":"                kwargs[\u0027delete_on_termination\u0027] \u003d False"},{"line_number":497,"context_line":""},{"line_number":498,"context_line":"        compute_client.volumes.create_server_volume("},{"line_number":499,"context_line":"            server.id,"}],"source_content_type":"text/x-python","patch_set":8,"id":"5faad753_46529e15","line":496,"range":{"start_line":493,"start_character":12,"end_line":496,"end_character":55},"updated":"2019-09-09 15:58:03.000000000","message":"You can\u0027t pass this kwarg to novaclient yet since the novaclient change that takes this kwarg isn\u0027t even released yet, so like the change for 2.77, the OSC change is going to have to wait for novaclient to be released with https://review.opendev.org/#/c/673485/ and then require that version of novaclient, which will likely be in Ussuri at this point.","commit_id":"98d79c465b126a8f8b5c78962b2d41f1ec6b0da9"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"1976edca1f895baa5d65355d28209afb405ed177","unresolved":false,"context_lines":[{"line_number":490,"context_line":"        }"},{"line_number":491,"context_line":""},{"line_number":492,"context_line":"        if suppor_set_delete_on_termination:"},{"line_number":493,"context_line":"            if parsed_args.enable_delete_on_termination:"},{"line_number":494,"context_line":"                kwargs[\u0027delete_on_termination\u0027] \u003d True"},{"line_number":495,"context_line":"            if parsed_args.disable_delete_on_termination:"},{"line_number":496,"context_line":"                kwargs[\u0027delete_on_termination\u0027] \u003d False"},{"line_number":497,"context_line":""},{"line_number":498,"context_line":"        compute_client.volumes.create_server_volume("},{"line_number":499,"context_line":"            server.id,"}],"source_content_type":"text/x-python","patch_set":8,"id":"5faad753_05e9f318","line":496,"range":{"start_line":493,"start_character":12,"end_line":496,"end_character":55},"in_reply_to":"5faad753_46529e15","updated":"2019-09-10 02:10:59.000000000","message":"Done","commit_id":"98d79c465b126a8f8b5c78962b2d41f1ec6b0da9"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"1976edca1f895baa5d65355d28209afb405ed177","unresolved":false,"context_lines":[{"line_number":490,"context_line":"        }"},{"line_number":491,"context_line":""},{"line_number":492,"context_line":"        if suppor_set_delete_on_termination:"},{"line_number":493,"context_line":"            if parsed_args.enable_delete_on_termination:"},{"line_number":494,"context_line":"                kwargs[\u0027delete_on_termination\u0027] \u003d True"},{"line_number":495,"context_line":"            if parsed_args.disable_delete_on_termination:"},{"line_number":496,"context_line":"                kwargs[\u0027delete_on_termination\u0027] \u003d False"},{"line_number":497,"context_line":""},{"line_number":498,"context_line":"        compute_client.volumes.create_server_volume("},{"line_number":499,"context_line":"            server.id,"}],"source_content_type":"text/x-python","patch_set":8,"id":"5faad753_c540bb0a","line":496,"range":{"start_line":493,"start_character":12,"end_line":496,"end_character":55},"in_reply_to":"5faad753_46529e15","updated":"2019-09-10 02:10:59.000000000","message":"Done","commit_id":"98d79c465b126a8f8b5c78962b2d41f1ec6b0da9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4195f43c1d2cb09a10d95630f77041b68e83d2fc","unresolved":false,"context_lines":[{"line_number":449,"context_line":"        parser.add_argument("},{"line_number":450,"context_line":"            \u0027--enable-delete-on-termination\u0027,"},{"line_number":451,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":452,"context_line":"            help\u003d_(\"Specify if the attached volume is deleted when the \""},{"line_number":453,"context_line":"                   \"server is destroyed. (Supported by API versions \u00272.79\u0027 \""},{"line_number":454,"context_line":"                   \"- \u00272.latest\u0027)\"),"},{"line_number":455,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":11,"id":"5faad753_fd69b4bd","line":452,"range":{"start_line":452,"start_character":51,"end_line":452,"end_character":53},"updated":"2019-09-11 01:19:45.000000000","message":"should be deleted when...","commit_id":"71534b4af145b3fd9cc63d20d46f1a9ce1d9f620"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"7a4a79608eed9ca1b4374c18364da120d45818a0","unresolved":false,"context_lines":[{"line_number":449,"context_line":"        parser.add_argument("},{"line_number":450,"context_line":"            \u0027--enable-delete-on-termination\u0027,"},{"line_number":451,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":452,"context_line":"            help\u003d_(\"Specify if the attached volume is deleted when the \""},{"line_number":453,"context_line":"                   \"server is destroyed. (Supported by API versions \u00272.79\u0027 \""},{"line_number":454,"context_line":"                   \"- \u00272.latest\u0027)\"),"},{"line_number":455,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":11,"id":"5faad753_f869c2bd","line":452,"range":{"start_line":452,"start_character":51,"end_line":452,"end_character":53},"in_reply_to":"5faad753_fd69b4bd","updated":"2019-09-11 03:14:29.000000000","message":"Done","commit_id":"71534b4af145b3fd9cc63d20d46f1a9ce1d9f620"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4195f43c1d2cb09a10d95630f77041b68e83d2fc","unresolved":false,"context_lines":[{"line_number":450,"context_line":"            \u0027--enable-delete-on-termination\u0027,"},{"line_number":451,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":452,"context_line":"            help\u003d_(\"Specify if the attached volume is deleted when the \""},{"line_number":453,"context_line":"                   \"server is destroyed. (Supported by API versions \u00272.79\u0027 \""},{"line_number":454,"context_line":"                   \"- \u00272.latest\u0027)\"),"},{"line_number":455,"context_line":"        )"},{"line_number":456,"context_line":"        parser.add_argument("},{"line_number":457,"context_line":"            \u0027--disable-delete-on-termination\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"5faad753_dd5e3811","line":454,"range":{"start_line":453,"start_character":41,"end_line":454,"end_character":33},"updated":"2019-09-11 01:19:45.000000000","message":"This is nova CLI help text. In OSC you\u0027d say something like, \"Supported with ``--os-compute-api-version`` 2.79 or greater.\"","commit_id":"71534b4af145b3fd9cc63d20d46f1a9ce1d9f620"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"7a4a79608eed9ca1b4374c18364da120d45818a0","unresolved":false,"context_lines":[{"line_number":450,"context_line":"            \u0027--enable-delete-on-termination\u0027,"},{"line_number":451,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":452,"context_line":"            help\u003d_(\"Specify if the attached volume is deleted when the \""},{"line_number":453,"context_line":"                   \"server is destroyed. (Supported by API versions \u00272.79\u0027 \""},{"line_number":454,"context_line":"                   \"- \u00272.latest\u0027)\"),"},{"line_number":455,"context_line":"        )"},{"line_number":456,"context_line":"        parser.add_argument("},{"line_number":457,"context_line":"            \u0027--disable-delete-on-termination\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"5faad753_d85e4611","line":454,"range":{"start_line":453,"start_character":41,"end_line":454,"end_character":33},"in_reply_to":"5faad753_dd5e3811","updated":"2019-09-11 03:14:29.000000000","message":"Done","commit_id":"71534b4af145b3fd9cc63d20d46f1a9ce1d9f620"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4195f43c1d2cb09a10d95630f77041b68e83d2fc","unresolved":false,"context_lines":[{"line_number":453,"context_line":"                   \"server is destroyed. (Supported by API versions \u00272.79\u0027 \""},{"line_number":454,"context_line":"                   \"- \u00272.latest\u0027)\"),"},{"line_number":455,"context_line":"        )"},{"line_number":456,"context_line":"        parser.add_argument("},{"line_number":457,"context_line":"            \u0027--disable-delete-on-termination\u0027,"},{"line_number":458,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":459,"context_line":"            help\u003d_(\"Specify if the attached volume is not deleted when the \""}],"source_content_type":"text/x-python","patch_set":11,"id":"5faad753_5d44881b","line":456,"updated":"2019-09-11 01:19:45.000000000","message":"Shouldn\u0027t these options be in a mutex group? What happens if a user specifies both? It should break. You should have a test for that.","commit_id":"71534b4af145b3fd9cc63d20d46f1a9ce1d9f620"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"7a4a79608eed9ca1b4374c18364da120d45818a0","unresolved":false,"context_lines":[{"line_number":453,"context_line":"                   \"server is destroyed. (Supported by API versions \u00272.79\u0027 \""},{"line_number":454,"context_line":"                   \"- \u00272.latest\u0027)\"),"},{"line_number":455,"context_line":"        )"},{"line_number":456,"context_line":"        parser.add_argument("},{"line_number":457,"context_line":"            \u0027--disable-delete-on-termination\u0027,"},{"line_number":458,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":459,"context_line":"            help\u003d_(\"Specify if the attached volume is not deleted when the \""}],"source_content_type":"text/x-python","patch_set":11,"id":"5faad753_58a2564d","line":456,"in_reply_to":"5faad753_5d44881b","updated":"2019-09-11 03:14:29.000000000","message":"Added the test case:\nopenstackclient.tests.unit.compute.v2.test_server.TestServerVolumeV279.test_server_add_volume_with_disable_and_enable_delete_on_termination","commit_id":"71534b4af145b3fd9cc63d20d46f1a9ce1d9f620"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4195f43c1d2cb09a10d95630f77041b68e83d2fc","unresolved":false,"context_lines":[{"line_number":456,"context_line":"        parser.add_argument("},{"line_number":457,"context_line":"            \u0027--disable-delete-on-termination\u0027,"},{"line_number":458,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":459,"context_line":"            help\u003d_(\"Specify if the attached volume is not deleted when the \""},{"line_number":460,"context_line":"                   \"server is destroyed. (Supported by API versions \u00272.79\u0027 \""},{"line_number":461,"context_line":"                   \"- \u00272.latest\u0027)\"),"},{"line_number":462,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":11,"id":"5faad753_1d65b0e1","line":459,"range":{"start_line":459,"start_character":51,"end_line":459,"end_character":53},"updated":"2019-09-11 01:19:45.000000000","message":"should not be deleted when...","commit_id":"71534b4af145b3fd9cc63d20d46f1a9ce1d9f620"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"7a4a79608eed9ca1b4374c18364da120d45818a0","unresolved":false,"context_lines":[{"line_number":456,"context_line":"        parser.add_argument("},{"line_number":457,"context_line":"            \u0027--disable-delete-on-termination\u0027,"},{"line_number":458,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":459,"context_line":"            help\u003d_(\"Specify if the attached volume is not deleted when the \""},{"line_number":460,"context_line":"                   \"server is destroyed. (Supported by API versions \u00272.79\u0027 \""},{"line_number":461,"context_line":"                   \"- \u00272.latest\u0027)\"),"},{"line_number":462,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":11,"id":"5faad753_18aa9ed1","line":459,"range":{"start_line":459,"start_character":51,"end_line":459,"end_character":53},"in_reply_to":"5faad753_1d65b0e1","updated":"2019-09-11 03:14:29.000000000","message":"Done","commit_id":"71534b4af145b3fd9cc63d20d46f1a9ce1d9f620"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4195f43c1d2cb09a10d95630f77041b68e83d2fc","unresolved":false,"context_lines":[{"line_number":457,"context_line":"            \u0027--disable-delete-on-termination\u0027,"},{"line_number":458,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":459,"context_line":"            help\u003d_(\"Specify if the attached volume is not deleted when the \""},{"line_number":460,"context_line":"                   \"server is destroyed. (Supported by API versions \u00272.79\u0027 \""},{"line_number":461,"context_line":"                   \"- \u00272.latest\u0027)\"),"},{"line_number":462,"context_line":"        )"},{"line_number":463,"context_line":"        return parser"},{"line_number":464,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"5faad753_9d9e80b6","line":461,"range":{"start_line":460,"start_character":41,"end_line":461,"end_character":33},"updated":"2019-09-11 01:19:45.000000000","message":"same","commit_id":"71534b4af145b3fd9cc63d20d46f1a9ce1d9f620"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"7a4a79608eed9ca1b4374c18364da120d45818a0","unresolved":false,"context_lines":[{"line_number":457,"context_line":"            \u0027--disable-delete-on-termination\u0027,"},{"line_number":458,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":459,"context_line":"            help\u003d_(\"Specify if the attached volume is not deleted when the \""},{"line_number":460,"context_line":"                   \"server is destroyed. (Supported by API versions \u00272.79\u0027 \""},{"line_number":461,"context_line":"                   \"- \u00272.latest\u0027)\"),"},{"line_number":462,"context_line":"        )"},{"line_number":463,"context_line":"        return parser"},{"line_number":464,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"5faad753_b8b82a2a","line":461,"range":{"start_line":460,"start_character":41,"end_line":461,"end_character":33},"in_reply_to":"5faad753_9d9e80b6","updated":"2019-09-11 03:14:29.000000000","message":"Done","commit_id":"71534b4af145b3fd9cc63d20d46f1a9ce1d9f620"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4195f43c1d2cb09a10d95630f77041b68e83d2fc","unresolved":false,"context_lines":[{"line_number":482,"context_line":"                (parsed_args.enable_delete_on_termination or"},{"line_number":483,"context_line":"                 parsed_args.disable_delete_on_termination)):"},{"line_number":484,"context_line":"            msg \u003d _(\u0027--os-compute-api-version 2.79 or greater is required \u0027"},{"line_number":485,"context_line":"                    \u0027to support the delete_on_termination option.\u0027)"},{"line_number":486,"context_line":"            raise exceptions.CommandError(msg)"},{"line_number":487,"context_line":""},{"line_number":488,"context_line":"        kwargs \u003d {"}],"source_content_type":"text/x-python","patch_set":11,"id":"5faad753_5d81e849","line":485,"range":{"start_line":485,"start_character":36,"end_line":485,"end_character":57},"updated":"2019-09-11 01:19:45.000000000","message":"This is a variable, not the name of the actual option. So I\u0027d probably break this down like:\n\nif not support_set_delete_on_termination:\n    if parsed_args.enable_delete_on_termination:\n        msg \u003d _(\u0027--os-compute-api-version 2.79 or greater \u0027\n                \u0027is required to support the \u0027\n                \u0027--enable-delete-on-termination option.\u0027)\n        raise exceptions.CommandError(msg)\n    if parsed_args.disable_delete_on_termination:\n        msg \u003d _(\u0027--os-compute-api-version 2.79 or greater \u0027\n                \u0027is required to support the \u0027\n                \u0027--disable-delete-on-termination option.\u0027)\n        raise exceptions.CommandError(msg)","commit_id":"71534b4af145b3fd9cc63d20d46f1a9ce1d9f620"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"7a4a79608eed9ca1b4374c18364da120d45818a0","unresolved":false,"context_lines":[{"line_number":482,"context_line":"                (parsed_args.enable_delete_on_termination or"},{"line_number":483,"context_line":"                 parsed_args.disable_delete_on_termination)):"},{"line_number":484,"context_line":"            msg \u003d _(\u0027--os-compute-api-version 2.79 or greater is required \u0027"},{"line_number":485,"context_line":"                    \u0027to support the delete_on_termination option.\u0027)"},{"line_number":486,"context_line":"            raise exceptions.CommandError(msg)"},{"line_number":487,"context_line":""},{"line_number":488,"context_line":"        kwargs \u003d {"}],"source_content_type":"text/x-python","patch_set":11,"id":"5faad753_38f3da0c","line":485,"range":{"start_line":485,"start_character":36,"end_line":485,"end_character":57},"in_reply_to":"5faad753_5d81e849","updated":"2019-09-11 03:14:29.000000000","message":"Done","commit_id":"71534b4af145b3fd9cc63d20d46f1a9ce1d9f620"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4195f43c1d2cb09a10d95630f77041b68e83d2fc","unresolved":false,"context_lines":[{"line_number":489,"context_line":"            \"device\": parsed_args.device"},{"line_number":490,"context_line":"        }"},{"line_number":491,"context_line":""},{"line_number":492,"context_line":"        if support_set_delete_on_termination:"},{"line_number":493,"context_line":"            if parsed_args.enable_delete_on_termination:"},{"line_number":494,"context_line":"                kwargs[\u0027delete_on_termination\u0027] \u003d True"},{"line_number":495,"context_line":"            if parsed_args.disable_delete_on_termination:"}],"source_content_type":"text/x-python","patch_set":11,"id":"5faad753_1dd8507d","line":492,"updated":"2019-09-11 01:19:45.000000000","message":"This is redundant isn\u0027t it? If this is True, and one of these was specified above, we\u0027d have already raised an error.","commit_id":"71534b4af145b3fd9cc63d20d46f1a9ce1d9f620"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"7a4a79608eed9ca1b4374c18364da120d45818a0","unresolved":false,"context_lines":[{"line_number":489,"context_line":"            \"device\": parsed_args.device"},{"line_number":490,"context_line":"        }"},{"line_number":491,"context_line":""},{"line_number":492,"context_line":"        if support_set_delete_on_termination:"},{"line_number":493,"context_line":"            if parsed_args.enable_delete_on_termination:"},{"line_number":494,"context_line":"                kwargs[\u0027delete_on_termination\u0027] \u003d True"},{"line_number":495,"context_line":"            if parsed_args.disable_delete_on_termination:"}],"source_content_type":"text/x-python","patch_set":11,"id":"5faad753_b8026ab3","line":492,"in_reply_to":"5faad753_1dd8507d","updated":"2019-09-11 03:14:29.000000000","message":"Yeah, removed.","commit_id":"71534b4af145b3fd9cc63d20d46f1a9ce1d9f620"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d2492e6ba91ffe4bf0ecad5ab8d9eaa37be18943","unresolved":false,"context_lines":[{"line_number":446,"context_line":"            metavar\u003d\u0027\u003cdevice\u003e\u0027,"},{"line_number":447,"context_line":"            help\u003d_(\u0027Server internal device name for volume\u0027),"},{"line_number":448,"context_line":"        )"},{"line_number":449,"context_line":"        parser.add_argument("},{"line_number":450,"context_line":"            \u0027--enable-delete-on-termination\u0027,"},{"line_number":451,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":452,"context_line":"            help\u003d_(\"Specify if the attached volume should be deleted when\""}],"source_content_type":"text/x-python","patch_set":12,"id":"5faad753_3351af0f","line":449,"updated":"2019-09-11 14:40:08.000000000","message":"This...","commit_id":"68c2242fa916fc5687f4df74df43e0cfede62703"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"3f7f40a988a2e1f6773785ff8dd8f03c0d4a2fee","unresolved":false,"context_lines":[{"line_number":446,"context_line":"            metavar\u003d\u0027\u003cdevice\u003e\u0027,"},{"line_number":447,"context_line":"            help\u003d_(\u0027Server internal device name for volume\u0027),"},{"line_number":448,"context_line":"        )"},{"line_number":449,"context_line":"        parser.add_argument("},{"line_number":450,"context_line":"            \u0027--enable-delete-on-termination\u0027,"},{"line_number":451,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":452,"context_line":"            help\u003d_(\"Specify if the attached volume should be deleted when\""}],"source_content_type":"text/x-python","patch_set":12,"id":"5faad753_0866b052","line":449,"in_reply_to":"5faad753_3351af0f","updated":"2019-09-12 02:54:50.000000000","message":"Done","commit_id":"68c2242fa916fc5687f4df74df43e0cfede62703"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d2492e6ba91ffe4bf0ecad5ab8d9eaa37be18943","unresolved":false,"context_lines":[{"line_number":449,"context_line":"        parser.add_argument("},{"line_number":450,"context_line":"            \u0027--enable-delete-on-termination\u0027,"},{"line_number":451,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":452,"context_line":"            help\u003d_(\"Specify if the attached volume should be deleted when\""},{"line_number":453,"context_line":"                   \"the server is destroyed. (Supported with \""},{"line_number":454,"context_line":"                   \"``--os-compute-api-version`` 2.79 or greater.)\"),"},{"line_number":455,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":12,"id":"5faad753_332c4f98","line":452,"range":{"start_line":452,"start_character":73,"end_line":452,"end_character":74},"updated":"2019-09-11 14:40:08.000000000","message":"need a space here","commit_id":"68c2242fa916fc5687f4df74df43e0cfede62703"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"3f7f40a988a2e1f6773785ff8dd8f03c0d4a2fee","unresolved":false,"context_lines":[{"line_number":449,"context_line":"        parser.add_argument("},{"line_number":450,"context_line":"            \u0027--enable-delete-on-termination\u0027,"},{"line_number":451,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":452,"context_line":"            help\u003d_(\"Specify if the attached volume should be deleted when\""},{"line_number":453,"context_line":"                   \"the server is destroyed. (Supported with \""},{"line_number":454,"context_line":"                   \"``--os-compute-api-version`` 2.79 or greater.)\"),"},{"line_number":455,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":12,"id":"5faad753_c85f3870","line":452,"range":{"start_line":452,"start_character":73,"end_line":452,"end_character":74},"in_reply_to":"5faad753_332c4f98","updated":"2019-09-12 02:54:50.000000000","message":"Done","commit_id":"68c2242fa916fc5687f4df74df43e0cfede62703"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d2492e6ba91ffe4bf0ecad5ab8d9eaa37be18943","unresolved":false,"context_lines":[{"line_number":453,"context_line":"                   \"the server is destroyed. (Supported with \""},{"line_number":454,"context_line":"                   \"``--os-compute-api-version`` 2.79 or greater.)\"),"},{"line_number":455,"context_line":"        )"},{"line_number":456,"context_line":"        parser.add_argument("},{"line_number":457,"context_line":"            \u0027--disable-delete-on-termination\u0027,"},{"line_number":458,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":459,"context_line":"            help\u003d_(\"Specify if the attached volume should  not be deleted \""}],"source_content_type":"text/x-python","patch_set":12,"id":"5faad753_534b0b58","line":456,"updated":"2019-09-11 14:40:08.000000000","message":"...and this need to be part of a mutex group so you can\u0027t specify both.","commit_id":"68c2242fa916fc5687f4df74df43e0cfede62703"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"3f7f40a988a2e1f6773785ff8dd8f03c0d4a2fee","unresolved":false,"context_lines":[{"line_number":453,"context_line":"                   \"the server is destroyed. (Supported with \""},{"line_number":454,"context_line":"                   \"``--os-compute-api-version`` 2.79 or greater.)\"),"},{"line_number":455,"context_line":"        )"},{"line_number":456,"context_line":"        parser.add_argument("},{"line_number":457,"context_line":"            \u0027--disable-delete-on-termination\u0027,"},{"line_number":458,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":459,"context_line":"            help\u003d_(\"Specify if the attached volume should  not be deleted \""}],"source_content_type":"text/x-python","patch_set":12,"id":"5faad753_6856445f","line":456,"in_reply_to":"5faad753_534b0b58","updated":"2019-09-12 02:54:50.000000000","message":"Done","commit_id":"68c2242fa916fc5687f4df74df43e0cfede62703"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d2492e6ba91ffe4bf0ecad5ab8d9eaa37be18943","unresolved":false,"context_lines":[{"line_number":456,"context_line":"        parser.add_argument("},{"line_number":457,"context_line":"            \u0027--disable-delete-on-termination\u0027,"},{"line_number":458,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":459,"context_line":"            help\u003d_(\"Specify if the attached volume should  not be deleted \""},{"line_number":460,"context_line":"                   \"when the server is destroyed. (Supported with \""},{"line_number":461,"context_line":"                   \"``--os-compute-api-version`` 2.79 or greater.)\"),"},{"line_number":462,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":12,"id":"5faad753_5336abe8","line":459,"range":{"start_line":459,"start_character":57,"end_line":459,"end_character":59},"updated":"2019-09-11 14:40:08.000000000","message":"one too many spaces","commit_id":"68c2242fa916fc5687f4df74df43e0cfede62703"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"3f7f40a988a2e1f6773785ff8dd8f03c0d4a2fee","unresolved":false,"context_lines":[{"line_number":456,"context_line":"        parser.add_argument("},{"line_number":457,"context_line":"            \u0027--disable-delete-on-termination\u0027,"},{"line_number":458,"context_line":"            action\u003d\u0027store_true\u0027,"},{"line_number":459,"context_line":"            help\u003d_(\"Specify if the attached volume should  not be deleted \""},{"line_number":460,"context_line":"                   \"when the server is destroyed. (Supported with \""},{"line_number":461,"context_line":"                   \"``--os-compute-api-version`` 2.79 or greater.)\"),"},{"line_number":462,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":12,"id":"5faad753_88514065","line":459,"range":{"start_line":459,"start_character":57,"end_line":459,"end_character":59},"in_reply_to":"5faad753_5336abe8","updated":"2019-09-12 02:54:50.000000000","message":"Done","commit_id":"68c2242fa916fc5687f4df74df43e0cfede62703"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d2492e6ba91ffe4bf0ecad5ab8d9eaa37be18943","unresolved":false,"context_lines":[{"line_number":1276,"context_line":"                   \" The provided time should be an ISO 8061 formatted time\""},{"line_number":1277,"context_line":"                   \" (e.g., 2016-03-04T06:27:59Z).\")"},{"line_number":1278,"context_line":"        )"},{"line_number":1279,"context_line":"        lock_group \u003d parser.add_mutually_exclusive_group()"},{"line_number":1280,"context_line":"        lock_group.add_argument("},{"line_number":1281,"context_line":"            \u0027--locked\u0027,"},{"line_number":1282,"context_line":"            action\u003d\u0027store_true\u0027,"}],"source_content_type":"text/x-python","patch_set":12,"id":"5faad753_53646be4","line":1279,"updated":"2019-09-11 14:40:08.000000000","message":"Here is an example of a mutex group that you can copy. Both --locked and --unlocked are optional but you can\u0027t specify both.","commit_id":"68c2242fa916fc5687f4df74df43e0cfede62703"}],"openstackclient/tests/unit/compute/v2/test_server.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4195f43c1d2cb09a10d95630f77041b68e83d2fc","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        self.servers_mock \u003d self.app.client_manager.compute.servers"},{"line_number":44,"context_line":"        self.servers_mock.reset_mock()"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        # Get a shortcut to the compute client voumeManager Mpck"},{"line_number":47,"context_line":"        self.servers_volumes_mock \u003d self.app.client_manager.compute.volumes"},{"line_number":48,"context_line":"        self.servers_volumes_mock.reset_mock()"},{"line_number":49,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"5faad753_9dd52046","line":46,"range":{"start_line":46,"start_character":47,"end_line":46,"end_character":64},"updated":"2019-09-11 01:19:45.000000000","message":"VolumeManager Mock","commit_id":"71534b4af145b3fd9cc63d20d46f1a9ce1d9f620"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"7a4a79608eed9ca1b4374c18364da120d45818a0","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        self.servers_mock \u003d self.app.client_manager.compute.servers"},{"line_number":44,"context_line":"        self.servers_mock.reset_mock()"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        # Get a shortcut to the compute client voumeManager Mpck"},{"line_number":47,"context_line":"        self.servers_volumes_mock \u003d self.app.client_manager.compute.volumes"},{"line_number":48,"context_line":"        self.servers_volumes_mock.reset_mock()"},{"line_number":49,"context_line":""}],"source_content_type":"text/x-python","patch_set":11,"id":"5faad753_582b362f","line":46,"range":{"start_line":46,"start_character":47,"end_line":46,"end_character":64},"in_reply_to":"5faad753_9dd52046","updated":"2019-09-11 03:14:29.000000000","message":"Done","commit_id":"71534b4af145b3fd9cc63d20d46f1a9ce1d9f620"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4195f43c1d2cb09a10d95630f77041b68e83d2fc","unresolved":false,"context_lines":[{"line_number":461,"context_line":"        self.find_port.assert_not_called()"},{"line_number":462,"context_line":""},{"line_number":463,"context_line":""},{"line_number":464,"context_line":"class TestServerAddVolume(TestServer):"},{"line_number":465,"context_line":""},{"line_number":466,"context_line":"    def setUp(self):"},{"line_number":467,"context_line":"        super(TestServerAddVolume, self).setUp()"}],"source_content_type":"text/x-python","patch_set":11,"id":"5faad753_3dcc2cbb","line":464,"range":{"start_line":464,"start_character":6,"end_line":464,"end_character":25},"updated":"2019-09-11 01:19:45.000000000","message":"There was no previous testing for AddServerVolume? That\u0027s surprising.","commit_id":"71534b4af145b3fd9cc63d20d46f1a9ce1d9f620"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"7a4a79608eed9ca1b4374c18364da120d45818a0","unresolved":false,"context_lines":[{"line_number":461,"context_line":"        self.find_port.assert_not_called()"},{"line_number":462,"context_line":""},{"line_number":463,"context_line":""},{"line_number":464,"context_line":"class TestServerAddVolume(TestServer):"},{"line_number":465,"context_line":""},{"line_number":466,"context_line":"    def setUp(self):"},{"line_number":467,"context_line":"        super(TestServerAddVolume, self).setUp()"}],"source_content_type":"text/x-python","patch_set":11,"id":"5faad753_f821c24e","line":464,"range":{"start_line":464,"start_character":6,"end_line":464,"end_character":25},"in_reply_to":"5faad753_3dcc2cbb","updated":"2019-09-11 03:14:29.000000000","message":"Done","commit_id":"71534b4af145b3fd9cc63d20d46f1a9ce1d9f620"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4195f43c1d2cb09a10d95630f77041b68e83d2fc","unresolved":false,"context_lines":[{"line_number":565,"context_line":"        verifylist \u003d ["},{"line_number":566,"context_line":"            (\u0027enable_delete_on_termination\u0027, True),"},{"line_number":567,"context_line":"        ]"},{"line_number":568,"context_line":"        ex \u003d self.assertRaises(utils.ParserException,"},{"line_number":569,"context_line":"                               self.check_parser,"},{"line_number":570,"context_line":"                               self.cmd, arglist, verifylist)"},{"line_number":571,"context_line":"        self.assertIn(\u0027Argument parse failed\u0027, str(ex))"}],"source_content_type":"text/x-python","patch_set":11,"id":"5faad753_dd4f1832","line":568,"range":{"start_line":568,"start_character":37,"end_line":568,"end_character":52},"updated":"2019-09-11 01:19:45.000000000","message":"Why would this be a ParserException rather than a CommandError? You\u0027re getting a ParserException because you didn\u0027t specify a server or volume which are required.","commit_id":"71534b4af145b3fd9cc63d20d46f1a9ce1d9f620"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"7a4a79608eed9ca1b4374c18364da120d45818a0","unresolved":false,"context_lines":[{"line_number":565,"context_line":"        verifylist \u003d ["},{"line_number":566,"context_line":"            (\u0027enable_delete_on_termination\u0027, True),"},{"line_number":567,"context_line":"        ]"},{"line_number":568,"context_line":"        ex \u003d self.assertRaises(utils.ParserException,"},{"line_number":569,"context_line":"                               self.check_parser,"},{"line_number":570,"context_line":"                               self.cmd, arglist, verifylist)"},{"line_number":571,"context_line":"        self.assertIn(\u0027Argument parse failed\u0027, str(ex))"}],"source_content_type":"text/x-python","patch_set":11,"id":"5faad753_98bf6ecf","line":568,"range":{"start_line":568,"start_character":37,"end_line":568,"end_character":52},"in_reply_to":"5faad753_dd4f1832","updated":"2019-09-11 03:14:29.000000000","message":"Yeah, right, it shuold be CommandError.","commit_id":"71534b4af145b3fd9cc63d20d46f1a9ce1d9f620"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4195f43c1d2cb09a10d95630f77041b68e83d2fc","unresolved":false,"context_lines":[{"line_number":581,"context_line":"        verifylist \u003d ["},{"line_number":582,"context_line":"            (\u0027disable_delete_on_termination\u0027, True),"},{"line_number":583,"context_line":"        ]"},{"line_number":584,"context_line":"        ex \u003d self.assertRaises(utils.ParserException,"},{"line_number":585,"context_line":"                               self.check_parser,"},{"line_number":586,"context_line":"                               self.cmd, arglist, verifylist)"},{"line_number":587,"context_line":"        self.assertIn(\u0027Argument parse failed\u0027, str(ex))"}],"source_content_type":"text/x-python","patch_set":11,"id":"5faad753_3d5aecf2","line":584,"range":{"start_line":584,"start_character":37,"end_line":584,"end_character":52},"updated":"2019-09-11 01:19:45.000000000","message":"same","commit_id":"71534b4af145b3fd9cc63d20d46f1a9ce1d9f620"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"7a4a79608eed9ca1b4374c18364da120d45818a0","unresolved":false,"context_lines":[{"line_number":581,"context_line":"        verifylist \u003d ["},{"line_number":582,"context_line":"            (\u0027disable_delete_on_termination\u0027, True),"},{"line_number":583,"context_line":"        ]"},{"line_number":584,"context_line":"        ex \u003d self.assertRaises(utils.ParserException,"},{"line_number":585,"context_line":"                               self.check_parser,"},{"line_number":586,"context_line":"                               self.cmd, arglist, verifylist)"},{"line_number":587,"context_line":"        self.assertIn(\u0027Argument parse failed\u0027, str(ex))"}],"source_content_type":"text/x-python","patch_set":11,"id":"5faad753_38b67afc","line":584,"range":{"start_line":584,"start_character":37,"end_line":584,"end_character":52},"in_reply_to":"5faad753_3d5aecf2","updated":"2019-09-11 03:14:29.000000000","message":"Done","commit_id":"71534b4af145b3fd9cc63d20d46f1a9ce1d9f620"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d2492e6ba91ffe4bf0ecad5ab8d9eaa37be18943","unresolved":false,"context_lines":[{"line_number":602,"context_line":"        self.assertIn(\u0027--os-compute-api-version 2.79 or greater is required\u0027,"},{"line_number":603,"context_line":"                      str(ex))"},{"line_number":604,"context_line":""},{"line_number":605,"context_line":"    def test_server_add_volume_with_disable_and_enable_delete_on_termination("},{"line_number":606,"context_line":"            self):"},{"line_number":607,"context_line":"        self.app.client_manager.compute.api_version \u003d api_versions.APIVersion("},{"line_number":608,"context_line":"            \u00272.79\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"5faad753_1385935a","line":605,"range":{"start_line":605,"start_character":8,"end_line":605,"end_character":76},"updated":"2019-09-11 14:40:08.000000000","message":"How is this failing without using a mutex group?","commit_id":"68c2242fa916fc5687f4df74df43e0cfede62703"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"3f7f40a988a2e1f6773785ff8dd8f03c0d4a2fee","unresolved":false,"context_lines":[{"line_number":602,"context_line":"        self.assertIn(\u0027--os-compute-api-version 2.79 or greater is required\u0027,"},{"line_number":603,"context_line":"                      str(ex))"},{"line_number":604,"context_line":""},{"line_number":605,"context_line":"    def test_server_add_volume_with_disable_and_enable_delete_on_termination("},{"line_number":606,"context_line":"            self):"},{"line_number":607,"context_line":"        self.app.client_manager.compute.api_version \u003d api_versions.APIVersion("},{"line_number":608,"context_line":"            \u00272.79\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"5faad753_eb4d4e72","line":605,"range":{"start_line":605,"start_character":8,"end_line":605,"end_character":76},"in_reply_to":"5faad753_1385935a","updated":"2019-09-12 02:54:50.000000000","message":"Emm...yeah, even if I don\u0027t use mutex group, this is also thrown \"utils.ParserException: Argument parse failed\", the error comes from arglist[\u0027--disble-delete-on-termination\u0027], the second parameter, it\u0027s wired.","commit_id":"68c2242fa916fc5687f4df74df43e0cfede62703"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"63cd6338028f5ae47186ba78e388cec6de2d09e5","unresolved":false,"context_lines":[{"line_number":602,"context_line":"        self.assertIn(\u0027--os-compute-api-version 2.79 or greater is required\u0027,"},{"line_number":603,"context_line":"                      str(ex))"},{"line_number":604,"context_line":""},{"line_number":605,"context_line":"    def test_server_add_volume_with_disable_and_enable_delete_on_termination("},{"line_number":606,"context_line":"            self):"},{"line_number":607,"context_line":"        self.app.client_manager.compute.api_version \u003d api_versions.APIVersion("},{"line_number":608,"context_line":"            \u00272.79\u0027)"}],"source_content_type":"text/x-python","patch_set":12,"id":"5faad753_ab5c367e","line":605,"range":{"start_line":605,"start_character":8,"end_line":605,"end_character":76},"in_reply_to":"5faad753_eb4d4e72","updated":"2019-09-12 03:39:33.000000000","message":"In line613 and line 624 caused this issue, done of this.","commit_id":"68c2242fa916fc5687f4df74df43e0cfede62703"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"63cd6338028f5ae47186ba78e388cec6de2d09e5","unresolved":false,"context_lines":[{"line_number":610,"context_line":"        servers \u003d self.setup_servers_mock(count\u003d1)"},{"line_number":611,"context_line":"        arglist \u003d ["},{"line_number":612,"context_line":"            \u0027--enable-delete-on-termination\u0027,"},{"line_number":613,"context_line":"            \u0027--disble-delete-on-termination\u0027,"},{"line_number":614,"context_line":"            \u0027--device\u0027, \u0027/dev/sdb\u0027,"},{"line_number":615,"context_line":"            servers[0].id,"},{"line_number":616,"context_line":"            self.volume.id,"}],"source_content_type":"text/x-python","patch_set":12,"id":"5faad753_4b726213","line":613,"range":{"start_line":613,"start_character":13,"end_line":613,"end_character":43},"updated":"2019-09-12 03:39:33.000000000","message":"s/--disble-delete-on-termination/--disable-delete-on-termination","commit_id":"68c2242fa916fc5687f4df74df43e0cfede62703"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"63cd6338028f5ae47186ba78e388cec6de2d09e5","unresolved":false,"context_lines":[{"line_number":621,"context_line":"            (\u0027volume\u0027, self.volume.id),"},{"line_number":622,"context_line":"            (\u0027device\u0027, \u0027/dev/sdb\u0027),"},{"line_number":623,"context_line":"            (\u0027enable_delete_on_termination\u0027, True),"},{"line_number":624,"context_line":"            (\u0027disble-delete-on-termination\u0027, True),"},{"line_number":625,"context_line":"        ]"},{"line_number":626,"context_line":"        ex \u003d self.assertRaises(utils.ParserException,"},{"line_number":627,"context_line":"                               self.check_parser,"}],"source_content_type":"text/x-python","patch_set":12,"id":"5faad753_2b77e604","line":624,"range":{"start_line":624,"start_character":14,"end_line":624,"end_character":42},"updated":"2019-09-12 03:39:33.000000000","message":"s/disble-delete-on-termination/disable_delete_on_termination","commit_id":"68c2242fa916fc5687f4df74df43e0cfede62703"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"659971f615e92e6d241dea35a91dab173f5431d4","unresolved":false,"context_lines":[{"line_number":626,"context_line":"        ex \u003d self.assertRaises(utils.ParserException,"},{"line_number":627,"context_line":"                               self.check_parser,"},{"line_number":628,"context_line":"                               self.cmd, arglist, verifylist)"},{"line_number":629,"context_line":"        self.assertIn(\u0027Argument parse failed\u0027, str(ex))"},{"line_number":630,"context_line":""},{"line_number":631,"context_line":""},{"line_number":632,"context_line":"class TestServerAddNetwork(TestServer):"}],"source_content_type":"text/x-python","patch_set":14,"id":"3fa7e38b_232e7da5","line":629,"range":{"start_line":629,"start_character":23,"end_line":629,"end_character":44},"updated":"2019-09-18 15:00:12.000000000","message":"This is a bit generic and we can tell from PS12 that this didn\u0027t expose correctly why we got the error - is there something in the error message specific to the mutex group that we can use?\n\nI pulled this down and made it fail and this is in the stderr stream:\n\nCaptured stderr:\n~~~~~~~~~~~~~~~~\n    b\u0027usage: check_parser [-h] [--device \u003cdevice\u003e]\u0027\n    b\u0027                    [--enable-delete-on-termination | --disable-delete-on-termination]\u0027\n    b\u0027                    \u003cserver\u003e \u003cvolume\u003e\u0027\n    b\u0027check_parser: error: argument --disable-delete-on-termination: not allowed with argument --enable-delete-on-termination\u0027\n    b\u0027\u0027\n\n\nCan we get a handle to the stderr and assert that message?","commit_id":"f7ebabc74558f06e3ec75f1916617f4021d853d1"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e7652763c68900771a1e415ceb240349d64e2455","unresolved":false,"context_lines":[{"line_number":626,"context_line":"        ex \u003d self.assertRaises(utils.ParserException,"},{"line_number":627,"context_line":"                               self.check_parser,"},{"line_number":628,"context_line":"                               self.cmd, arglist, verifylist)"},{"line_number":629,"context_line":"        self.assertIn(\u0027Argument parse failed\u0027, str(ex))"},{"line_number":630,"context_line":""},{"line_number":631,"context_line":""},{"line_number":632,"context_line":"class TestServerAddNetwork(TestServer):"}],"source_content_type":"text/x-python","patch_set":14,"id":"3fa7e38b_d9dc381a","line":629,"range":{"start_line":629,"start_character":23,"end_line":629,"end_character":44},"in_reply_to":"3fa7e38b_232e7da5","updated":"2019-09-18 15:56:18.000000000","message":"OK I have a better way to assert this, here is the diff:\n\nhttp://paste.openstack.org/show/777428/\n\nI\u0027ll ask Dean if he\u0027d prefer that is done in a follow up change.","commit_id":"f7ebabc74558f06e3ec75f1916617f4021d853d1"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"405de76fbcaff964142a32501c2bfc407176dbe4","unresolved":false,"context_lines":[{"line_number":626,"context_line":"        ex \u003d self.assertRaises(utils.ParserException,"},{"line_number":627,"context_line":"                               self.check_parser,"},{"line_number":628,"context_line":"                               self.cmd, arglist, verifylist)"},{"line_number":629,"context_line":"        self.assertIn(\u0027Argument parse failed\u0027, str(ex))"},{"line_number":630,"context_line":""},{"line_number":631,"context_line":""},{"line_number":632,"context_line":"class TestServerAddNetwork(TestServer):"}],"source_content_type":"text/x-python","patch_set":14,"id":"3fa7e38b_f49cf6c0","line":629,"range":{"start_line":629,"start_character":23,"end_line":629,"end_character":44},"in_reply_to":"3fa7e38b_b987fcd7","updated":"2019-10-15 00:45:30.000000000","message":"Thanks Matt.","commit_id":"f7ebabc74558f06e3ec75f1916617f4021d853d1"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"de5ceba11c4c96b819346e4891e1d610abce26a0","unresolved":false,"context_lines":[{"line_number":626,"context_line":"        ex \u003d self.assertRaises(utils.ParserException,"},{"line_number":627,"context_line":"                               self.check_parser,"},{"line_number":628,"context_line":"                               self.cmd, arglist, verifylist)"},{"line_number":629,"context_line":"        self.assertIn(\u0027Argument parse failed\u0027, str(ex))"},{"line_number":630,"context_line":""},{"line_number":631,"context_line":""},{"line_number":632,"context_line":"class TestServerAddNetwork(TestServer):"}],"source_content_type":"text/x-python","patch_set":14,"id":"3fa7e38b_b987fcd7","line":629,"range":{"start_line":629,"start_character":23,"end_line":629,"end_character":44},"in_reply_to":"3fa7e38b_d9dc381a","updated":"2019-09-18 16:01:31.000000000","message":"Done in a follow up: https://review.opendev.org/682939","commit_id":"f7ebabc74558f06e3ec75f1916617f4021d853d1"}],"releasenotes/notes/bp-support-specifying-az-when-restore-shelved-server-9179045f04815bbb.yaml":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4195f43c1d2cb09a10d95630f77041b68e83d2fc","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added a ``--delete-on-termination`` option to"},{"line_number":5,"context_line":"    ``openstack server add volume`` command that enables users to marked"},{"line_number":6,"context_line":"    the attachd volume whether to delete the data volume when the instance"},{"line_number":7,"context_line":"    is destroyed. Note that it requires ``--os-compute-api-version 2.79``"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"5faad753_bd6d7c99","line":4,"range":{"start_line":4,"start_character":12,"end_line":4,"end_character":39},"updated":"2019-09-11 01:19:45.000000000","message":"This is not correct. It\u0027s true for novaclient but not OSC.","commit_id":"71534b4af145b3fd9cc63d20d46f1a9ce1d9f620"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"7a4a79608eed9ca1b4374c18364da120d45818a0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added a ``--delete-on-termination`` option to"},{"line_number":5,"context_line":"    ``openstack server add volume`` command that enables users to marked"},{"line_number":6,"context_line":"    the attachd volume whether to delete the data volume when the instance"},{"line_number":7,"context_line":"    is destroyed. Note that it requires ``--os-compute-api-version 2.79``"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"5faad753_9809ae96","line":4,"range":{"start_line":4,"start_character":12,"end_line":4,"end_character":39},"in_reply_to":"5faad753_bd6d7c99","updated":"2019-09-11 03:14:29.000000000","message":"Done","commit_id":"71534b4af145b3fd9cc63d20d46f1a9ce1d9f620"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4195f43c1d2cb09a10d95630f77041b68e83d2fc","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added a ``--delete-on-termination`` option to"},{"line_number":5,"context_line":"    ``openstack server add volume`` command that enables users to marked"},{"line_number":6,"context_line":"    the attachd volume whether to delete the data volume when the instance"},{"line_number":7,"context_line":"    is destroyed. Note that it requires ``--os-compute-api-version 2.79``"},{"line_number":8,"context_line":"    or greater."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"5faad753_dd687888","line":5,"range":{"start_line":5,"start_character":66,"end_line":5,"end_character":72},"updated":"2019-09-11 01:19:45.000000000","message":"mark","commit_id":"71534b4af145b3fd9cc63d20d46f1a9ce1d9f620"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"7a4a79608eed9ca1b4374c18364da120d45818a0","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added a ``--delete-on-termination`` option to"},{"line_number":5,"context_line":"    ``openstack server add volume`` command that enables users to marked"},{"line_number":6,"context_line":"    the attachd volume whether to delete the data volume when the instance"},{"line_number":7,"context_line":"    is destroyed. Note that it requires ``--os-compute-api-version 2.79``"},{"line_number":8,"context_line":"    or greater."}],"source_content_type":"text/x-yaml","patch_set":11,"id":"5faad753_3800ba67","line":5,"range":{"start_line":5,"start_character":66,"end_line":5,"end_character":72},"in_reply_to":"5faad753_dd687888","updated":"2019-09-11 03:14:29.000000000","message":"Done","commit_id":"71534b4af145b3fd9cc63d20d46f1a9ce1d9f620"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"4195f43c1d2cb09a10d95630f77041b68e83d2fc","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added a ``--delete-on-termination`` option to"},{"line_number":5,"context_line":"    ``openstack server add volume`` command that enables users to marked"},{"line_number":6,"context_line":"    the attachd volume whether to delete the data volume when the instance"},{"line_number":7,"context_line":"    is destroyed. Note that it requires ``--os-compute-api-version 2.79``"},{"line_number":8,"context_line":"    or greater."},{"line_number":9,"context_line":"    [Blueprint support-specifying-az-when-restore-shelved-server `\u003chttps://blueprints.launchpad.net/nova/+spec/support-delete-on-termination-in-server-attach-volume\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"5faad753_fdf8d4c4","line":6,"range":{"start_line":6,"start_character":4,"end_line":6,"end_character":56},"updated":"2019-09-11 01:19:45.000000000","message":"whether to delete the attached volume when the server is destroyed","commit_id":"71534b4af145b3fd9cc63d20d46f1a9ce1d9f620"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"7a4a79608eed9ca1b4374c18364da120d45818a0","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added a ``--delete-on-termination`` option to"},{"line_number":5,"context_line":"    ``openstack server add volume`` command that enables users to marked"},{"line_number":6,"context_line":"    the attachd volume whether to delete the data volume when the instance"},{"line_number":7,"context_line":"    is destroyed. Note that it requires ``--os-compute-api-version 2.79``"},{"line_number":8,"context_line":"    or greater."},{"line_number":9,"context_line":"    [Blueprint support-specifying-az-when-restore-shelved-server `\u003chttps://blueprints.launchpad.net/nova/+spec/support-delete-on-termination-in-server-attach-volume\u003e`_]"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"5faad753_58033674","line":6,"range":{"start_line":6,"start_character":4,"end_line":6,"end_character":56},"in_reply_to":"5faad753_fdf8d4c4","updated":"2019-09-11 03:14:29.000000000","message":"Done","commit_id":"71534b4af145b3fd9cc63d20d46f1a9ce1d9f620"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d2492e6ba91ffe4bf0ecad5ab8d9eaa37be18943","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added a ``--disable-delete-on-termination`` and"},{"line_number":5,"context_line":"    ``--enable-delete-on-termination`` options to"},{"line_number":6,"context_line":"    ``openstack server add volume`` command that enables users to mark"},{"line_number":7,"context_line":"    whether to delete the attached volume when the server is destroyed."}],"source_content_type":"text/x-yaml","patch_set":12,"id":"5faad753_13d35362","line":4,"range":{"start_line":4,"start_character":10,"end_line":4,"end_character":11},"updated":"2019-09-11 14:40:08.000000000","message":"remove this","commit_id":"68c2242fa916fc5687f4df74df43e0cfede62703"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"3f7f40a988a2e1f6773785ff8dd8f03c0d4a2fee","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added a ``--disable-delete-on-termination`` and"},{"line_number":5,"context_line":"    ``--enable-delete-on-termination`` options to"},{"line_number":6,"context_line":"    ``openstack server add volume`` command that enables users to mark"},{"line_number":7,"context_line":"    whether to delete the attached volume when the server is destroyed."}],"source_content_type":"text/x-yaml","patch_set":12,"id":"5faad753_8b3cdabf","line":4,"range":{"start_line":4,"start_character":10,"end_line":4,"end_character":11},"in_reply_to":"5faad753_13d35362","updated":"2019-09-12 02:54:50.000000000","message":"Done","commit_id":"68c2242fa916fc5687f4df74df43e0cfede62703"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d2492e6ba91ffe4bf0ecad5ab8d9eaa37be18943","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added a ``--disable-delete-on-termination`` and"},{"line_number":5,"context_line":"    ``--enable-delete-on-termination`` options to"},{"line_number":6,"context_line":"    ``openstack server add volume`` command that enables users to mark"},{"line_number":7,"context_line":"    whether to delete the attached volume when the server is destroyed."},{"line_number":8,"context_line":"    Note that it requires ``--os-compute-api-version 2.79`` or greater."}],"source_content_type":"text/x-yaml","patch_set":12,"id":"5faad753_33d68f51","line":5,"range":{"start_line":5,"start_character":47,"end_line":5,"end_character":49},"updated":"2019-09-11 14:40:08.000000000","message":"to the","commit_id":"68c2242fa916fc5687f4df74df43e0cfede62703"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"3f7f40a988a2e1f6773785ff8dd8f03c0d4a2fee","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added a ``--disable-delete-on-termination`` and"},{"line_number":5,"context_line":"    ``--enable-delete-on-termination`` options to"},{"line_number":6,"context_line":"    ``openstack server add volume`` command that enables users to mark"},{"line_number":7,"context_line":"    whether to delete the attached volume when the server is destroyed."},{"line_number":8,"context_line":"    Note that it requires ``--os-compute-api-version 2.79`` or greater."}],"source_content_type":"text/x-yaml","patch_set":12,"id":"5faad753_2b4b6659","line":5,"range":{"start_line":5,"start_character":47,"end_line":5,"end_character":49},"in_reply_to":"5faad753_33d68f51","updated":"2019-09-12 02:54:50.000000000","message":"Done","commit_id":"68c2242fa916fc5687f4df74df43e0cfede62703"}]}
