)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d13498d8dea53c958946878cd00b9749e26a981b","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Add create tags for server"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add API of creating tags for one server by"},{"line_number":10,"context_line":"\u0027openstack server tag create --os-compute-api-version \u003cserver\u003e \u003ctag\u003e\u0027."},{"line_number":11,"context_line":"This command requires ``--os-compute-api-version`` 2.26 or greater."},{"line_number":12,"context_line":"The \u003cserver\u003e is name or ID of one server."},{"line_number":13,"context_line":"The \u003ctag\u003e is tag(s) to add."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"9f560f44_e4292889","line":10,"updated":"2020-10-12 10:20:24.000000000","message":"We have a couple of \u0027server add X\u0027 commands plus a couple of \u0027server X create\u0027 commands:\n\n  server add fixed ip\n  server add floating ip\n  server add network\n  server add port\n  server add security group\n  server add volume\n\n  server backup create\n  server dump create\n  server group create\n  server image create\n\nThe former seem to attach existing, non-server resources to an existing server. The latter seem to creating new non-server resources and would maybe make more sense with hyphens:\n\n  server-backup create\n  server-dump create\n  server-group create\n  server-image create\n\nI don\u0027t think either \u0027server add tag\u0027 or \u0027server tag create\u0027 really makes sense. Tags are not a resource. Rather, they\u0027re an attribute of the server. What do you think about using the \u0027server set\u0027 command, e.g. \u0027server set [--tag TAG [--tag TAG ...]]\u0027? You could remove tags with \u0027server unset --tag TAG\u0027","commit_id":"e6576444871822976259e70186183ec828c5bd70"}],"openstackclient/compute/v2/server_tag.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e8c6ab385989fb7ed110263660aef551c853e07a","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"class CreateServerTag(command.Lister):"},{"line_number":32,"context_line":"    \"\"\""},{"line_number":33,"context_line":"    Create tag for one server."},{"line_number":34,"context_line":"    This command requires ``--os-compute-api-version`` 2.26 or greater."},{"line_number":35,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_65c6e39e","line":32,"updated":"2020-10-08 12:54:45.000000000","message":"pep8: H404: multi line docstring should start without a leading new line","commit_id":"18ae555f4cbf3b4507a1002622cda74bdae33ef2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e8c6ab385989fb7ed110263660aef551c853e07a","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"class CreateServerTag(command.Lister):"},{"line_number":32,"context_line":"    \"\"\""},{"line_number":33,"context_line":"    Create tag for one server."},{"line_number":34,"context_line":"    This command requires ``--os-compute-api-version`` 2.26 or greater."},{"line_number":35,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_45cbdfa2","line":32,"updated":"2020-10-08 12:54:45.000000000","message":"pep8: H405: multi line docstring summary not separated with an empty line","commit_id":"18ae555f4cbf3b4507a1002622cda74bdae33ef2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e8c6ab385989fb7ed110263660aef551c853e07a","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"class CreateServerTag(command.Lister):"},{"line_number":32,"context_line":"    \"\"\""},{"line_number":33,"context_line":"    Create tag for one server."},{"line_number":34,"context_line":"    This command requires ``--os-compute-api-version`` 2.26 or greater."},{"line_number":35,"context_line":"    \"\"\""},{"line_number":36,"context_line":"    _description \u003d _(\"Create tag for one server. This command requires \""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_a5c3db89","line":33,"updated":"2020-10-08 12:54:45.000000000","message":"pep8: H404: multi line docstring should start without a leading new line","commit_id":"18ae555f4cbf3b4507a1002622cda74bdae33ef2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e8c6ab385989fb7ed110263660aef551c853e07a","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":"class CreateServerTag(command.Lister):"},{"line_number":32,"context_line":"    \"\"\""},{"line_number":33,"context_line":"    Create tag for one server."},{"line_number":34,"context_line":"    This command requires ``--os-compute-api-version`` 2.26 or greater."},{"line_number":35,"context_line":"    \"\"\""},{"line_number":36,"context_line":"    _description \u003d _(\"Create tag for one server. This command requires \""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_85c0577e","line":33,"updated":"2020-10-08 12:54:45.000000000","message":"pep8: H405: multi line docstring summary not separated with an empty line","commit_id":"18ae555f4cbf3b4507a1002622cda74bdae33ef2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e8c6ab385989fb7ed110263660aef551c853e07a","unresolved":false,"context_lines":[{"line_number":31,"context_line":"class CreateServerTag(command.Lister):"},{"line_number":32,"context_line":"    \"\"\""},{"line_number":33,"context_line":"    Create tag for one server."},{"line_number":34,"context_line":"    This command requires ``--os-compute-api-version`` 2.26 or greater."},{"line_number":35,"context_line":"    \"\"\""},{"line_number":36,"context_line":"    _description \u003d _(\"Create tag for one server. This command requires \""},{"line_number":37,"context_line":"                     \"``--os-compute-api-version`` 2.26 or greater.\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_e5b95316","line":34,"updated":"2020-10-08 12:54:45.000000000","message":"pep8: H404: multi line docstring should start without a leading new line","commit_id":"18ae555f4cbf3b4507a1002622cda74bdae33ef2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e8c6ab385989fb7ed110263660aef551c853e07a","unresolved":false,"context_lines":[{"line_number":31,"context_line":"class CreateServerTag(command.Lister):"},{"line_number":32,"context_line":"    \"\"\""},{"line_number":33,"context_line":"    Create tag for one server."},{"line_number":34,"context_line":"    This command requires ``--os-compute-api-version`` 2.26 or greater."},{"line_number":35,"context_line":"    \"\"\""},{"line_number":36,"context_line":"    _description \u003d _(\"Create tag for one server. This command requires \""},{"line_number":37,"context_line":"                     \"``--os-compute-api-version`` 2.26 or greater.\")"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_c5b6cf25","line":34,"updated":"2020-10-08 12:54:45.000000000","message":"pep8: H405: multi line docstring summary not separated with an empty line","commit_id":"18ae555f4cbf3b4507a1002622cda74bdae33ef2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e8c6ab385989fb7ed110263660aef551c853e07a","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    \"\"\""},{"line_number":33,"context_line":"    Create tag for one server."},{"line_number":34,"context_line":"    This command requires ``--os-compute-api-version`` 2.26 or greater."},{"line_number":35,"context_line":"    \"\"\""},{"line_number":36,"context_line":"    _description \u003d _(\"Create tag for one server. This command requires \""},{"line_number":37,"context_line":"                     \"``--os-compute-api-version`` 2.26 or greater.\")"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_25350ba9","line":35,"updated":"2020-10-08 12:54:45.000000000","message":"pep8: H404: multi line docstring should start without a leading new line","commit_id":"18ae555f4cbf3b4507a1002622cda74bdae33ef2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e8c6ab385989fb7ed110263660aef551c853e07a","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    \"\"\""},{"line_number":33,"context_line":"    Create tag for one server."},{"line_number":34,"context_line":"    This command requires ``--os-compute-api-version`` 2.26 or greater."},{"line_number":35,"context_line":"    \"\"\""},{"line_number":36,"context_line":"    _description \u003d _(\"Create tag for one server. This command requires \""},{"line_number":37,"context_line":"                     \"``--os-compute-api-version`` 2.26 or greater.\")"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_053a8796","line":35,"updated":"2020-10-08 12:54:45.000000000","message":"pep8: H405: multi line docstring summary not separated with an empty line","commit_id":"18ae555f4cbf3b4507a1002622cda74bdae33ef2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e8c6ab385989fb7ed110263660aef551c853e07a","unresolved":false,"context_lines":[{"line_number":47,"context_line":"            \u0027tag\u0027,"},{"line_number":48,"context_line":"            metavar\u003d\u0027\u003ctag\u003e\u0027,"},{"line_number":49,"context_line":"            nargs\u003d\u0027+\u0027"},{"line_number":50,"context_line":"            help\u003d_(\"Tag(s) to add.\")"},{"line_number":51,"context_line":"        )"},{"line_number":52,"context_line":"        return parser"},{"line_number":53,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_653b839a","line":50,"updated":"2020-10-08 12:54:45.000000000","message":"pep8: E999 SyntaxError: invalid syntax","commit_id":"18ae555f4cbf3b4507a1002622cda74bdae33ef2"}],"openstackclient/tests/functional/compute/v2/test_server_tag.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e8c6ab385989fb7ed110263660aef551c853e07a","unresolved":false,"context_lines":[{"line_number":11,"context_line":"#    under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"import json"},{"line_number":14,"context_line":"import uuid"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from openstackclient.tests.functional import base"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_05d56743","line":14,"updated":"2020-10-08 12:54:45.000000000","message":"pep8: F401 \u0027uuid\u0027 imported but unused","commit_id":"18ae555f4cbf3b4507a1002622cda74bdae33ef2"}],"openstackclient/tests/unit/compute/v2/test_server_tag.py":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e8c6ab385989fb7ed110263660aef551c853e07a","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#   under the License."},{"line_number":14,"context_line":"#"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from unittest import mock"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from osc_lib import exceptions"},{"line_number":19,"context_line":"from osc_lib import utils"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_a5dabb75","line":16,"updated":"2020-10-08 12:54:45.000000000","message":"pep8: F401 \u0027unittest.mock\u0027 imported but unused","commit_id":"18ae555f4cbf3b4507a1002622cda74bdae33ef2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e8c6ab385989fb7ed110263660aef551c853e07a","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from unittest import mock"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from osc_lib import exceptions"},{"line_number":19,"context_line":"from osc_lib import utils"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from openstackclient.compute.v2 import server_tag"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_85d7b74f","line":18,"updated":"2020-10-08 12:54:45.000000000","message":"pep8: F401 \u0027osc_lib.exceptions\u0027 imported but unused","commit_id":"18ae555f4cbf3b4507a1002622cda74bdae33ef2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e8c6ab385989fb7ed110263660aef551c853e07a","unresolved":false,"context_lines":[{"line_number":16,"context_line":"from unittest import mock"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"from osc_lib import exceptions"},{"line_number":19,"context_line":"from osc_lib import utils"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from openstackclient.compute.v2 import server_tag"},{"line_number":22,"context_line":"from openstackclient.tests.unit.compute.v2 import fakes as compute_fakes"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_e5e0332a","line":19,"updated":"2020-10-08 12:54:45.000000000","message":"pep8: F401 \u0027osc_lib.utils\u0027 imported but unused","commit_id":"18ae555f4cbf3b4507a1002622cda74bdae33ef2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e8c6ab385989fb7ed110263660aef551c853e07a","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from openstackclient.compute.v2 import server_tag"},{"line_number":22,"context_line":"from openstackclient.tests.unit.compute.v2 import fakes as compute_fakes"},{"line_number":23,"context_line":"from openstackclient.tests.unit import utils as tests_utils"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"class TestServerTag(compute_fakes.TestComputev2):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_c5dd2f6e","line":23,"updated":"2020-10-08 12:54:45.000000000","message":"pep8: F401 \u0027openstackclient.tests.unit.utils as tests_utils\u0027 imported but unused","commit_id":"18ae555f4cbf3b4507a1002622cda74bdae33ef2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"tag":"autogenerated:zuul:check","change_message_id":"e8c6ab385989fb7ed110263660aef551c853e07a","unresolved":false,"context_lines":[{"line_number":42,"context_line":"        self.server_tags_mock \u003d self.app.client_manager.compute.server_tags"},{"line_number":43,"context_line":"        self.server_tags_mock.reset_mock()"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"class TestServerTagCreate(TestServerTag):"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    def setUp(self):"},{"line_number":48,"context_line":"        super(TestServerTagCreate, self).setUp()"}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_25d06b53","line":45,"updated":"2020-10-08 12:54:45.000000000","message":"pep8: E302 expected 2 blank lines, found 1","commit_id":"18ae555f4cbf3b4507a1002622cda74bdae33ef2"}],"releasenotes/notes/create_server_tags-9ebcb0a812c908e7.yaml":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d13498d8dea53c958946878cd00b9749e26a981b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"    Create tags for server."},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    An user can create server tag by using"},{"line_number":7,"context_line":"    ``opeenstack sever tag create \u003cserver\u003e \u003ctag\u003e``"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9f560f44_a42bb079","line":7,"range":{"start_line":7,"start_character":17,"end_line":7,"end_character":22},"updated":"2020-10-12 10:20:24.000000000","message":"server","commit_id":"e6576444871822976259e70186183ec828c5bd70"}]}
