)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"6ad9fe1763a56af4e20a6e83375a3eaa642dd7e7","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Add host and hypervisor_hostname to create servers."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: If16d00b75f4d5f2b96aa6e3f32a973108049d928"},{"line_number":12,"context_line":"Blueprint: add-host-and-hypervisor-hostname-flag-to-create-server"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"ffb9cba7_be1e236e","line":12,"updated":"2019-04-22 13:12:58.000000000","message":"Add \"Depends-On: https://review.opendev.org/#/c/645520/\"","commit_id":"94ac1153186db4a09085a34b440f50f097c872ec"},{"author":{"_account_id":28706,"name":"Boxiang Zhu","email":"bxzhu_5355@163.com","username":"ZhuBoxiang"},"change_message_id":"c493dc6d5fc2bd94e4877200feea830ea5fa82f5","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Add host and hypervisor_hostname to create servers."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: If16d00b75f4d5f2b96aa6e3f32a973108049d928"},{"line_number":12,"context_line":"Blueprint: add-host-and-hypervisor-hostname-flag-to-create-server"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"ffb9cba7_5bd7e3ee","line":12,"in_reply_to":"ffb9cba7_be1e236e","updated":"2019-04-23 07:38:12.000000000","message":"Done","commit_id":"94ac1153186db4a09085a34b440f50f097c872ec"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"f4823bb4c1cb04a92a55cc5dbcea025f78bab8f4","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add host and hypervisor_hostname to create servers"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add host and hypervisor_hostname to create servers."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Depends-On: https://review.opendev.org/#/c/645520/"},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":6,"id":"bfb3d3c7_ea61273b","line":9,"range":{"start_line":9,"start_character":0,"end_line":9,"end_character":51},"updated":"2019-05-20 08:14:23.000000000","message":"nit: for someone who is looking at this patch for the first time, it would be good to have more info in the commit message rather than copy/paste of the title.\n\nPlease mention something along the lines you \"adding new flags called .. to the sever create command\".","commit_id":"a06954848bac884ae54feea2a63df15b695efbc7"}],"doc/source/cli/nova.rst":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d7e1366afdf7824d24f7ba91da6625241a624e08","unresolved":false,"context_lines":[{"line_number":1120,"context_line":"  certificate IDs. (Supported by API versions \u00272.63\u0027 - \u00272.latest\u0027)"},{"line_number":1121,"context_line":""},{"line_number":1122,"context_line":"``--host \u003chost\u003e``"},{"line_number":1123,"context_line":"  Requested host to create servers."},{"line_number":1124,"context_line":"  (Supported by API versions \u00272.73\u0027 - \u00272.latest\u0027)"},{"line_number":1125,"context_line":""},{"line_number":1126,"context_line":"``--hypervisor-hostname \u003chypervisor-hostname\u003e``"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9fb8cfa7_30853cd0","line":1123,"updated":"2019-06-20 19:28:56.000000000","message":"I would also add something like, \"Admin only by default.\"","commit_id":"a06954848bac884ae54feea2a63df15b695efbc7"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"4475edbaae376e56886eda642a319372f58094e8","unresolved":false,"context_lines":[{"line_number":1121,"context_line":""},{"line_number":1122,"context_line":"``--host \u003chost\u003e``"},{"line_number":1123,"context_line":"  Requested host to create servers."},{"line_number":1124,"context_line":"  (Supported by API versions \u00272.73\u0027 - \u00272.latest\u0027)"},{"line_number":1125,"context_line":""},{"line_number":1126,"context_line":"``--hypervisor-hostname \u003chypervisor-hostname\u003e``"},{"line_number":1127,"context_line":"  Requested hypervisor hostname to create servers."}],"source_content_type":"text/x-rst","patch_set":6,"id":"dfbec78f_a40be0d3","line":1124,"range":{"start_line":1124,"start_character":33,"end_line":1124,"end_character":34},"updated":"2019-05-13 18:56:18.000000000","message":"4","commit_id":"a06954848bac884ae54feea2a63df15b695efbc7"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d7e1366afdf7824d24f7ba91da6625241a624e08","unresolved":false,"context_lines":[{"line_number":1124,"context_line":"  (Supported by API versions \u00272.73\u0027 - \u00272.latest\u0027)"},{"line_number":1125,"context_line":""},{"line_number":1126,"context_line":"``--hypervisor-hostname \u003chypervisor-hostname\u003e``"},{"line_number":1127,"context_line":"  Requested hypervisor hostname to create servers."},{"line_number":1128,"context_line":"  (Supported by API versions \u00272.73\u0027 - \u00272.latest\u0027)"},{"line_number":1129,"context_line":""},{"line_number":1130,"context_line":".. _nova_cell-capacities:"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9fb8cfa7_d06b801c","line":1127,"updated":"2019-06-20 19:28:56.000000000","message":"same - add \"Admin only by default.\"","commit_id":"a06954848bac884ae54feea2a63df15b695efbc7"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"4475edbaae376e56886eda642a319372f58094e8","unresolved":false,"context_lines":[{"line_number":1125,"context_line":""},{"line_number":1126,"context_line":"``--hypervisor-hostname \u003chypervisor-hostname\u003e``"},{"line_number":1127,"context_line":"  Requested hypervisor hostname to create servers."},{"line_number":1128,"context_line":"  (Supported by API versions \u00272.73\u0027 - \u00272.latest\u0027)"},{"line_number":1129,"context_line":""},{"line_number":1130,"context_line":".. _nova_cell-capacities:"},{"line_number":1131,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"dfbec78f_440c64eb","line":1128,"range":{"start_line":1128,"start_character":33,"end_line":1128,"end_character":34},"updated":"2019-05-13 18:56:18.000000000","message":"4","commit_id":"a06954848bac884ae54feea2a63df15b695efbc7"}],"novaclient/__init__.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"4475edbaae376e56886eda642a319372f58094e8","unresolved":false,"context_lines":[{"line_number":25,"context_line":"# when client supported the max version, and bumped sequentially, otherwise"},{"line_number":26,"context_line":"# the client may break due to server side new version may include some"},{"line_number":27,"context_line":"# backward incompatible change."},{"line_number":28,"context_line":"API_MAX_VERSION \u003d api_versions.APIVersion(\"2.73\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"dfbec78f_64116804","line":28,"range":{"start_line":28,"start_character":46,"end_line":28,"end_character":47},"updated":"2019-05-13 18:56:18.000000000","message":"4","commit_id":"a06954848bac884ae54feea2a63df15b695efbc7"}],"novaclient/tests/unit/v2/test_servers.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"6ad9fe1763a56af4e20a6e83375a3eaa642dd7e7","unresolved":false,"context_lines":[{"line_number":1704,"context_line":"                               host\u003d\u0027hostname\u0027, force\u003dTrue)"},{"line_number":1705,"context_line":"        self.assertIn(\u0027force\u0027, six.text_type(ex))"},{"line_number":1706,"context_line":""},{"line_number":1707,"context_line":""},{"line_number":1708,"context_line":"class ServersV273Test(ServersV268Test):"},{"line_number":1709,"context_line":""},{"line_number":1710,"context_line":"    api_version \u003d \"2.73\""}],"source_content_type":"text/x-python","patch_set":4,"id":"ffb9cba7_a127e2b6","line":1707,"updated":"2019-04-22 13:12:58.000000000","message":"Test cases for raising UnsupportedAttribute should be added.","commit_id":"94ac1153186db4a09085a34b440f50f097c872ec"},{"author":{"_account_id":28706,"name":"Boxiang Zhu","email":"bxzhu_5355@163.com","username":"ZhuBoxiang"},"change_message_id":"c493dc6d5fc2bd94e4877200feea830ea5fa82f5","unresolved":false,"context_lines":[{"line_number":1704,"context_line":"                               host\u003d\u0027hostname\u0027, force\u003dTrue)"},{"line_number":1705,"context_line":"        self.assertIn(\u0027force\u0027, six.text_type(ex))"},{"line_number":1706,"context_line":""},{"line_number":1707,"context_line":""},{"line_number":1708,"context_line":"class ServersV273Test(ServersV268Test):"},{"line_number":1709,"context_line":""},{"line_number":1710,"context_line":"    api_version \u003d \"2.73\""}],"source_content_type":"text/x-python","patch_set":4,"id":"ffb9cba7_fb05777b","line":1707,"in_reply_to":"ffb9cba7_a127e2b6","updated":"2019-04-23 07:38:12.000000000","message":"Done","commit_id":"94ac1153186db4a09085a34b440f50f097c872ec"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"4475edbaae376e56886eda642a319372f58094e8","unresolved":false,"context_lines":[{"line_number":1705,"context_line":"        self.assertIn(\u0027force\u0027, six.text_type(ex))"},{"line_number":1706,"context_line":""},{"line_number":1707,"context_line":""},{"line_number":1708,"context_line":"class ServersV273Test(ServersV268Test):"},{"line_number":1709,"context_line":""},{"line_number":1710,"context_line":"    api_version \u003d \"2.73\""},{"line_number":1711,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"dfbec78f_24f7f0d5","line":1708,"range":{"start_line":1708,"start_character":16,"end_line":1708,"end_character":17},"updated":"2019-05-13 18:56:18.000000000","message":"4","commit_id":"a06954848bac884ae54feea2a63df15b695efbc7"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"4475edbaae376e56886eda642a319372f58094e8","unresolved":false,"context_lines":[{"line_number":1707,"context_line":""},{"line_number":1708,"context_line":"class ServersV273Test(ServersV268Test):"},{"line_number":1709,"context_line":""},{"line_number":1710,"context_line":"    api_version \u003d \"2.73\""},{"line_number":1711,"context_line":""},{"line_number":1712,"context_line":"    def test_create_server_with_host(self):"},{"line_number":1713,"context_line":"        self.cs.servers.create("}],"source_content_type":"text/x-python","patch_set":6,"id":"dfbec78f_c4fff4a8","line":1710,"range":{"start_line":1710,"start_character":22,"end_line":1710,"end_character":23},"updated":"2019-05-13 18:56:18.000000000","message":"4","commit_id":"a06954848bac884ae54feea2a63df15b695efbc7"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"4475edbaae376e56886eda642a319372f58094e8","unresolved":false,"context_lines":[{"line_number":1771,"context_line":"                           }}"},{"line_number":1772,"context_line":"                           )"},{"line_number":1773,"context_line":""},{"line_number":1774,"context_line":"    def test_create_server_with_host_pre_273_fails(self):"},{"line_number":1775,"context_line":"        self.cs.api_version \u003d api_versions.APIVersion(\u00272.72\u0027)"},{"line_number":1776,"context_line":"        ex \u003d self.assertRaises(exceptions.UnsupportedAttribute,"},{"line_number":1777,"context_line":"                               self.cs.servers.create,"}],"source_content_type":"text/x-python","patch_set":6,"id":"dfbec78f_842fbc3d","line":1774,"range":{"start_line":1774,"start_character":43,"end_line":1774,"end_character":44},"updated":"2019-05-13 18:56:18.000000000","message":"4","commit_id":"a06954848bac884ae54feea2a63df15b695efbc7"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"4475edbaae376e56886eda642a319372f58094e8","unresolved":false,"context_lines":[{"line_number":1772,"context_line":"                           )"},{"line_number":1773,"context_line":""},{"line_number":1774,"context_line":"    def test_create_server_with_host_pre_273_fails(self):"},{"line_number":1775,"context_line":"        self.cs.api_version \u003d api_versions.APIVersion(\u00272.72\u0027)"},{"line_number":1776,"context_line":"        ex \u003d self.assertRaises(exceptions.UnsupportedAttribute,"},{"line_number":1777,"context_line":"                               self.cs.servers.create,"},{"line_number":1778,"context_line":"                               name\u003d\"My server\", image\u003d1, flavor\u003d1,"}],"source_content_type":"text/x-python","patch_set":6,"id":"dfbec78f_642ac82c","line":1775,"range":{"start_line":1775,"start_character":58,"end_line":1775,"end_character":59},"updated":"2019-05-13 18:56:18.000000000","message":"3","commit_id":"a06954848bac884ae54feea2a63df15b695efbc7"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"4475edbaae376e56886eda642a319372f58094e8","unresolved":false,"context_lines":[{"line_number":1778,"context_line":"                               name\u003d\"My server\", image\u003d1, flavor\u003d1,"},{"line_number":1779,"context_line":"                               nics\u003d\u0027auto\u0027, host\u003d\"new-host\")"},{"line_number":1780,"context_line":"        self.assertIn(\"\u0027host\u0027 argument is only allowed since microversion \""},{"line_number":1781,"context_line":"                      \"2.73\", six.text_type(ex))"},{"line_number":1782,"context_line":""},{"line_number":1783,"context_line":"    def test_create_server_with_hypervisor_hostname_pre_273_fails(self):"},{"line_number":1784,"context_line":"        self.cs.api_version \u003d api_versions.APIVersion(\u00272.72\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"dfbec78f_24205048","line":1781,"range":{"start_line":1781,"start_character":26,"end_line":1781,"end_character":27},"updated":"2019-05-13 18:56:18.000000000","message":"4\n\n...etc.","commit_id":"a06954848bac884ae54feea2a63df15b695efbc7"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"ae102d8e6fe1b251acc689af4048181817f19e9c","unresolved":false,"context_lines":[{"line_number":1745,"context_line":"            self.assertIsInstance(s, servers.Server)"},{"line_number":1746,"context_line":""},{"line_number":1747,"context_line":""},{"line_number":1748,"context_line":"class ServersV274Test(ServersV268Test):"},{"line_number":1749,"context_line":""},{"line_number":1750,"context_line":"    api_version \u003d \"2.74\""},{"line_number":1751,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"9fb8cfa7_9b6209d8","line":1748,"range":{"start_line":1748,"start_character":31,"end_line":1748,"end_character":33},"updated":"2019-06-20 19:50:17.000000000","message":"should be 73","commit_id":"558e24ae9616fc06bbc7a5b633082450b3cf15c2"}],"novaclient/tests/unit/v2/test_shell.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"6ad9fe1763a56af4e20a6e83375a3eaa642dd7e7","unresolved":false,"context_lines":[{"line_number":1407,"context_line":"                \u0027hypervisor_hostname\u0027: \u0027new-host\u0027,"},{"line_number":1408,"context_line":"            }},"},{"line_number":1409,"context_line":"        )"},{"line_number":1410,"context_line":""},{"line_number":1411,"context_line":"    def test_flavor_list(self):"},{"line_number":1412,"context_line":"        out, _ \u003d self.run_command(\u0027flavor-list\u0027)"},{"line_number":1413,"context_line":"        self.assert_called_anytime(\u0027GET\u0027, \u0027/flavors/detail\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"ffb9cba7_41694623","line":1410,"updated":"2019-04-22 13:12:58.000000000","message":"Add test cases for specifying --hypervisor-hostname or --host in microversion 2.72 or earlier.","commit_id":"94ac1153186db4a09085a34b440f50f097c872ec"},{"author":{"_account_id":28706,"name":"Boxiang Zhu","email":"bxzhu_5355@163.com","username":"ZhuBoxiang"},"change_message_id":"c493dc6d5fc2bd94e4877200feea830ea5fa82f5","unresolved":false,"context_lines":[{"line_number":1407,"context_line":"                \u0027hypervisor_hostname\u0027: \u0027new-host\u0027,"},{"line_number":1408,"context_line":"            }},"},{"line_number":1409,"context_line":"        )"},{"line_number":1410,"context_line":""},{"line_number":1411,"context_line":"    def test_flavor_list(self):"},{"line_number":1412,"context_line":"        out, _ \u003d self.run_command(\u0027flavor-list\u0027)"},{"line_number":1413,"context_line":"        self.assert_called_anytime(\u0027GET\u0027, \u0027/flavors/detail\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"ffb9cba7_bbffff65","line":1410,"in_reply_to":"ffb9cba7_41694623","updated":"2019-04-23 07:38:12.000000000","message":"Done","commit_id":"94ac1153186db4a09085a34b440f50f097c872ec"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"22c3889962d8166f680c0f7a89b74e48bdc54d4c","unresolved":false,"context_lines":[{"line_number":4262,"context_line":"            70,  # There are no version-wrapped shell method changes for this."},{"line_number":4263,"context_line":"            71,  # There are no version-wrapped shell method changes for this."},{"line_number":4264,"context_line":"            72,  # There are no version-wrapped shell method changes for this."},{"line_number":4265,"context_line":"            73,  # There are no version-wrapped shell method changes for this."},{"line_number":4266,"context_line":"            74,  # There are no version-wrapped shell method changes for this."},{"line_number":4267,"context_line":"        ])"},{"line_number":4268,"context_line":"        versions_supported \u003d set(range(0,"}],"source_content_type":"text/x-python","patch_set":7,"id":"9fb8cfa7_db964195","line":4265,"updated":"2019-06-20 19:53:20.000000000","message":"Remove this line.","commit_id":"558e24ae9616fc06bbc7a5b633082450b3cf15c2"}],"novaclient/v2/servers.py":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"01619967ef9521181690f2e236ebbcdc5c233223","unresolved":false,"context_lines":[{"line_number":1346,"context_line":"            raise exceptions.UnsupportedAttribute(\u0027files\u0027, \u00272.0\u0027, \u00272.56\u0027)"},{"line_number":1347,"context_line":""},{"line_number":1348,"context_line":"        trusted_certs_microversion \u003d api_versions.APIVersion(\"2.63\")"},{"line_number":1349,"context_line":"        if (trusted_image_certificates and"},{"line_number":1350,"context_line":"                self.api_version \u003c trusted_certs_microversion):"},{"line_number":1351,"context_line":"            raise exceptions.UnsupportedAttribute(\"trusted_image_certificates\","},{"line_number":1352,"context_line":"                                                  \"2.63\")"},{"line_number":1353,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_aa237b55","line":1350,"range":{"start_line":1349,"start_character":0,"end_line":1350,"end_character":63},"updated":"2019-03-27 04:41:43.000000000","message":"Here","commit_id":"d7a03e61768e78f3423b77e6ab0d18c3ca8c2751"},{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"01619967ef9521181690f2e236ebbcdc5c233223","unresolved":false,"context_lines":[{"line_number":1360,"context_line":"                        \"microversion 2.67\")"},{"line_number":1361,"context_line":""},{"line_number":1362,"context_line":"        force_scheduler_microversion \u003d api_versions.APIVersion(\"2.73\")"},{"line_number":1363,"context_line":"        if self.api_version \u003c force_scheduler_microversion:"},{"line_number":1364,"context_line":"            raise exceptions.UnsupportedAttribute(\"force_scheduler\", \"2.73\")"},{"line_number":1365,"context_line":""},{"line_number":1366,"context_line":"        boot_kwargs \u003d dict("}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_aa75bb65","line":1363,"range":{"start_line":1363,"start_character":8,"end_line":1363,"end_character":59},"updated":"2019-03-27 04:41:43.000000000","message":"if (force_scheduler and self.api_version \u003c force_scheduler_microversion):\n\nSee an example in line 1349-1350.","commit_id":"d7a03e61768e78f3423b77e6ab0d18c3ca8c2751"},{"author":{"_account_id":28706,"name":"Boxiang Zhu","email":"bxzhu_5355@163.com","username":"ZhuBoxiang"},"change_message_id":"ab4dab64927118b0724ca7f2c79499680e8289a1","unresolved":false,"context_lines":[{"line_number":1360,"context_line":"                        \"microversion 2.67\")"},{"line_number":1361,"context_line":""},{"line_number":1362,"context_line":"        force_scheduler_microversion \u003d api_versions.APIVersion(\"2.73\")"},{"line_number":1363,"context_line":"        if self.api_version \u003c force_scheduler_microversion:"},{"line_number":1364,"context_line":"            raise exceptions.UnsupportedAttribute(\"force_scheduler\", \"2.73\")"},{"line_number":1365,"context_line":""},{"line_number":1366,"context_line":"        boot_kwargs \u003d dict("}],"source_content_type":"text/x-python","patch_set":1,"id":"5fc1f717_8119c522","line":1363,"range":{"start_line":1363,"start_character":8,"end_line":1363,"end_character":59},"in_reply_to":"5fc1f717_aa75bb65","updated":"2019-03-27 07:27:59.000000000","message":"Done","commit_id":"d7a03e61768e78f3423b77e6ab0d18c3ca8c2751"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d7e1366afdf7824d24f7ba91da6625241a624e08","unresolved":false,"context_lines":[{"line_number":1306,"context_line":"                     server as tags (allowed since microversion 2.52)"},{"line_number":1307,"context_line":"        :param trusted_image_certificates: A list of trusted certificate IDs"},{"line_number":1308,"context_line":"                                           (allowed since microversion 2.63)"},{"line_number":1309,"context_line":"        :param host: (optional extension) requested host to create servers"},{"line_number":1310,"context_line":"                      (allowed since microversion 2.73)"},{"line_number":1311,"context_line":"        :param hypervisor_hostname: (optional extension) requested hypervisor"},{"line_number":1312,"context_line":"                                    hostname to create servers (allowed since"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_907508fd","line":1309,"range":{"start_line":1309,"start_character":21,"end_line":1309,"end_character":41},"updated":"2019-06-20 19:28:56.000000000","message":"Remove this optional extension thing here and below. It\u0027s obviously optional since it defaults to None and extensions aren\u0027t something we\u0027re really talking about in here anymore (I realize there are other options with that wording but those are old and could be cleaned up separately).","commit_id":"a06954848bac884ae54feea2a63df15b695efbc7"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"f4823bb4c1cb04a92a55cc5dbcea025f78bab8f4","unresolved":false,"context_lines":[{"line_number":1306,"context_line":"                     server as tags (allowed since microversion 2.52)"},{"line_number":1307,"context_line":"        :param trusted_image_certificates: A list of trusted certificate IDs"},{"line_number":1308,"context_line":"                                           (allowed since microversion 2.63)"},{"line_number":1309,"context_line":"        :param host: (optional extension) requested host to create servers"},{"line_number":1310,"context_line":"                      (allowed since microversion 2.73)"},{"line_number":1311,"context_line":"        :param hypervisor_hostname: (optional extension) requested hypervisor"},{"line_number":1312,"context_line":"                                    hostname to create servers (allowed since"}],"source_content_type":"text/x-python","patch_set":6,"id":"bfb3d3c7_ed04e1c8","line":1309,"range":{"start_line":1309,"start_character":42,"end_line":1309,"end_character":51},"updated":"2019-05-20 08:14:23.000000000","message":"target?","commit_id":"a06954848bac884ae54feea2a63df15b695efbc7"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"f4823bb4c1cb04a92a55cc5dbcea025f78bab8f4","unresolved":false,"context_lines":[{"line_number":1308,"context_line":"                                           (allowed since microversion 2.63)"},{"line_number":1309,"context_line":"        :param host: (optional extension) requested host to create servers"},{"line_number":1310,"context_line":"                      (allowed since microversion 2.73)"},{"line_number":1311,"context_line":"        :param hypervisor_hostname: (optional extension) requested hypervisor"},{"line_number":1312,"context_line":"                                    hostname to create servers (allowed since"},{"line_number":1313,"context_line":"                                    microversion 2.73)"},{"line_number":1314,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"bfb3d3c7_0d0a95d1","line":1311,"range":{"start_line":1311,"start_character":57,"end_line":1311,"end_character":66},"updated":"2019-05-20 08:14:23.000000000","message":"target?","commit_id":"a06954848bac884ae54feea2a63df15b695efbc7"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"f4823bb4c1cb04a92a55cc5dbcea025f78bab8f4","unresolved":false,"context_lines":[{"line_number":1368,"context_line":"        host_microversion \u003d api_versions.APIVersion(\"2.73\")"},{"line_number":1369,"context_line":"        if host and self.api_version \u003c host_microversion:"},{"line_number":1370,"context_line":"            raise exceptions.UnsupportedAttribute(\"host\", \"2.73\")"},{"line_number":1371,"context_line":"        hypervisor_hostname_microversion \u003d api_versions.APIVersion(\"2.73\")"},{"line_number":1372,"context_line":"        if (hypervisor_hostname and"},{"line_number":1373,"context_line":"                self.api_version \u003c hypervisor_hostname_microversion):"},{"line_number":1374,"context_line":"            raise exceptions.UnsupportedAttribute("}],"source_content_type":"text/x-python","patch_set":6,"id":"bfb3d3c7_cd455d19","line":1371,"updated":"2019-05-20 08:14:23.000000000","message":"we don\u0027t have to repeat this from L1368, just rename the variable to more generic one.","commit_id":"a06954848bac884ae54feea2a63df15b695efbc7"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"f4823bb4c1cb04a92a55cc5dbcea025f78bab8f4","unresolved":false,"context_lines":[{"line_number":1369,"context_line":"        if host and self.api_version \u003c host_microversion:"},{"line_number":1370,"context_line":"            raise exceptions.UnsupportedAttribute(\"host\", \"2.73\")"},{"line_number":1371,"context_line":"        hypervisor_hostname_microversion \u003d api_versions.APIVersion(\"2.73\")"},{"line_number":1372,"context_line":"        if (hypervisor_hostname and"},{"line_number":1373,"context_line":"                self.api_version \u003c hypervisor_hostname_microversion):"},{"line_number":1374,"context_line":"            raise exceptions.UnsupportedAttribute("},{"line_number":1375,"context_line":"                \"hypervisor_hostname\", \"2.73\")"}],"source_content_type":"text/x-python","patch_set":6,"id":"bfb3d3c7_4dff2daa","line":1372,"updated":"2019-05-20 08:14:23.000000000","message":"nit: you could just combine this check with the host one since both are from the same microversion.","commit_id":"a06954848bac884ae54feea2a63df15b695efbc7"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e204b839c051cf70f11541869dfb8cd0568ef631","unresolved":false,"context_lines":[{"line_number":1404,"context_line":"        host_microversion \u003d api_versions.APIVersion(\"2.74\")"},{"line_number":1405,"context_line":"        if host and self.api_version \u003c host_microversion:"},{"line_number":1406,"context_line":"            raise exceptions.UnsupportedAttribute(\"host\", \"2.74\")"},{"line_number":1407,"context_line":"        hypervisor_hostname_microversion \u003d api_versions.APIVersion(\"2.74\")"},{"line_number":1408,"context_line":"        if (hypervisor_hostname and"},{"line_number":1409,"context_line":"                self.api_version \u003c hypervisor_hostname_microversion):"},{"line_number":1410,"context_line":"            raise exceptions.UnsupportedAttribute("}],"source_content_type":"text/x-python","patch_set":10,"id":"7faddb67_c4b51df0","line":1407,"updated":"2019-07-08 19:24:47.000000000","message":"nit: could just re-use host_microversion rather than create another variable for hypervisor_hostname.","commit_id":"d8a9c0ce7c7327bf66b85b9da6f7bc33cd2c7fe7"}],"novaclient/v2/shell.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d7e1366afdf7824d24f7ba91da6625241a624e08","unresolved":false,"context_lines":[{"line_number":518,"context_line":"    if \u0027tags\u0027 in args and args.tags:"},{"line_number":519,"context_line":"        boot_kwargs[\"tags\"] \u003d args.tags.split(\u0027,\u0027)"},{"line_number":520,"context_line":""},{"line_number":521,"context_line":"    if \u0027host\u0027 in args:"},{"line_number":522,"context_line":"        boot_kwargs[\"host\"] \u003d args.host"},{"line_number":523,"context_line":""},{"line_number":524,"context_line":"    if \u0027hypervisor_hostname\u0027 in args:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_50c6b018","line":521,"updated":"2019-06-20 19:28:56.000000000","message":"Is this always True? If it is, things are working because the value defaults to None. If you wanted to shore this up, you\u0027d do:\n\n  if \u0027host\u0027 in args and args.host:\n\nsame for hypervisor_hostname","commit_id":"a06954848bac884ae54feea2a63df15b695efbc7"},{"author":{"_account_id":28706,"name":"Boxiang Zhu","email":"bxzhu_5355@163.com","username":"ZhuBoxiang"},"change_message_id":"69d86f75c82b959b8b75b4e2890e1c1fb28b3b59","unresolved":false,"context_lines":[{"line_number":518,"context_line":"    if \u0027tags\u0027 in args and args.tags:"},{"line_number":519,"context_line":"        boot_kwargs[\"tags\"] \u003d args.tags.split(\u0027,\u0027)"},{"line_number":520,"context_line":""},{"line_number":521,"context_line":"    if \u0027host\u0027 in args:"},{"line_number":522,"context_line":"        boot_kwargs[\"host\"] \u003d args.host"},{"line_number":523,"context_line":""},{"line_number":524,"context_line":"    if \u0027hypervisor_hostname\u0027 in args:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_6e0b7929","line":521,"in_reply_to":"9fb8cfa7_50c6b018","updated":"2019-06-27 04:58:44.000000000","message":"Done","commit_id":"a06954848bac884ae54feea2a63df15b695efbc7"},{"author":{"_account_id":28706,"name":"Boxiang Zhu","email":"bxzhu_5355@163.com","username":"ZhuBoxiang"},"change_message_id":"69d86f75c82b959b8b75b4e2890e1c1fb28b3b59","unresolved":false,"context_lines":[{"line_number":521,"context_line":"    if \u0027host\u0027 in args:"},{"line_number":522,"context_line":"        boot_kwargs[\"host\"] \u003d args.host"},{"line_number":523,"context_line":""},{"line_number":524,"context_line":"    if \u0027hypervisor_hostname\u0027 in args:"},{"line_number":525,"context_line":"        boot_kwargs[\"hypervisor_hostname\"] \u003d args.hypervisor_hostname"},{"line_number":526,"context_line":""},{"line_number":527,"context_line":"    if include_files:"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_0e043d17","line":524,"range":{"start_line":524,"start_character":4,"end_line":524,"end_character":37},"updated":"2019-06-27 04:58:44.000000000","message":"Done. Ditto.","commit_id":"a06954848bac884ae54feea2a63df15b695efbc7"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"f4823bb4c1cb04a92a55cc5dbcea025f78bab8f4","unresolved":false,"context_lines":[{"line_number":954,"context_line":"    metavar\u003d\u0027\u003chost\u003e\u0027,"},{"line_number":955,"context_line":"    dest\u003d\u0027host\u0027,"},{"line_number":956,"context_line":"    default\u003dNone,"},{"line_number":957,"context_line":"    help\u003d_(\u0027Requested host to create servers.\u0027),"},{"line_number":958,"context_line":"    start_version\u003d\"2.73\")"},{"line_number":959,"context_line":"@utils.arg("},{"line_number":960,"context_line":"    \u0027--hypervisor-hostname\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"bfb3d3c7_ad56e905","line":957,"range":{"start_line":957,"start_character":12,"end_line":957,"end_character":44},"updated":"2019-05-20 08:14:23.000000000","message":"Did you mean target host to create the server on?","commit_id":"a06954848bac884ae54feea2a63df15b695efbc7"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d7e1366afdf7824d24f7ba91da6625241a624e08","unresolved":false,"context_lines":[{"line_number":954,"context_line":"    metavar\u003d\u0027\u003chost\u003e\u0027,"},{"line_number":955,"context_line":"    dest\u003d\u0027host\u0027,"},{"line_number":956,"context_line":"    default\u003dNone,"},{"line_number":957,"context_line":"    help\u003d_(\u0027Requested host to create servers.\u0027),"},{"line_number":958,"context_line":"    start_version\u003d\"2.73\")"},{"line_number":959,"context_line":"@utils.arg("},{"line_number":960,"context_line":"    \u0027--hypervisor-hostname\u0027,"}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_30ec5c8e","line":957,"range":{"start_line":957,"start_character":12,"end_line":957,"end_character":44},"in_reply_to":"bfb3d3c7_ad56e905","updated":"2019-06-20 19:28:56.000000000","message":"We\u0027re likely splitting hairs on naming/wording here. You\u0027re requesting the server be created on the target host. We aren\u0027t forcing it (like with the az zone:host:node format) so it\u0027s really \"request but validate using the scheduler\" so it\u0027s not forced, but there isn\u0027t an option that the server will land on another host. It either goes on the one you specify or you get a NoValidHost.","commit_id":"a06954848bac884ae54feea2a63df15b695efbc7"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"f4823bb4c1cb04a92a55cc5dbcea025f78bab8f4","unresolved":false,"context_lines":[{"line_number":961,"context_line":"    metavar\u003d\u0027\u003chypervisor-hostname\u003e\u0027,"},{"line_number":962,"context_line":"    dest\u003d\u0027hypervisor_hostname\u0027,"},{"line_number":963,"context_line":"    default\u003dNone,"},{"line_number":964,"context_line":"    help\u003d_(\u0027Requested hypervisor hostname to create servers.\u0027),"},{"line_number":965,"context_line":"    start_version\u003d\"2.73\")"},{"line_number":966,"context_line":"def do_boot(cs, args):"},{"line_number":967,"context_line":"    \"\"\"Boot a new server.\"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"bfb3d3c7_ada4a909","line":964,"range":{"start_line":964,"start_character":12,"end_line":964,"end_character":59},"updated":"2019-05-20 08:14:23.000000000","message":"Did you mean target node to create the server on?","commit_id":"a06954848bac884ae54feea2a63df15b695efbc7"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d7e1366afdf7824d24f7ba91da6625241a624e08","unresolved":false,"context_lines":[{"line_number":961,"context_line":"    metavar\u003d\u0027\u003chypervisor-hostname\u003e\u0027,"},{"line_number":962,"context_line":"    dest\u003d\u0027hypervisor_hostname\u0027,"},{"line_number":963,"context_line":"    default\u003dNone,"},{"line_number":964,"context_line":"    help\u003d_(\u0027Requested hypervisor hostname to create servers.\u0027),"},{"line_number":965,"context_line":"    start_version\u003d\"2.73\")"},{"line_number":966,"context_line":"def do_boot(cs, args):"},{"line_number":967,"context_line":"    \"\"\"Boot a new server.\"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"9fb8cfa7_509470e8","line":964,"range":{"start_line":964,"start_character":12,"end_line":964,"end_character":59},"in_reply_to":"bfb3d3c7_ada4a909","updated":"2019-06-20 19:28:56.000000000","message":"I\u0027d avoid saying \"node\" in these user facing docs since we want to use the same parameter names as shows up in the API and CLI output when showing details about the server (which is going to be hypervisor_hostname rather than node or nodename).","commit_id":"a06954848bac884ae54feea2a63df15b695efbc7"}],"releasenotes/notes/microversion-v2_73-43b128fe6b84b630.yaml":[{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"f4823bb4c1cb04a92a55cc5dbcea025f78bab8f4","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Support is added for the `2.73 microversion`_ which allows specifying the"},{"line_number":5,"context_line":"    ``--host \u003chost\u003e`` and ``--hypervisor-hostname \u003chypervisor-hostname\u003e``"},{"line_number":6,"context_line":"    options on the ``nova boot`` command. The"},{"line_number":7,"context_line":"    ``novaclient.v2.servers.ServerManager.create()`` method now also supports"},{"line_number":8,"context_line":"    ``host`` and ``hypervisor_hostname`` parameters."},{"line_number":9,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"bfb3d3c7_ca3f83d4","line":6,"range":{"start_line":6,"start_character":12,"end_line":6,"end_character":14},"updated":"2019-05-20 08:14:23.000000000","message":"nit: with","commit_id":"a06954848bac884ae54feea2a63df15b695efbc7"},{"author":{"_account_id":26936,"name":"Surya Seetharaman","email":"suryaseetharaman.9@gmail.com","username":"tssurya"},"change_message_id":"f4823bb4c1cb04a92a55cc5dbcea025f78bab8f4","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Support is added for the `2.73 microversion`_ which allows specifying the"},{"line_number":5,"context_line":"    ``--host \u003chost\u003e`` and ``--hypervisor-hostname \u003chypervisor-hostname\u003e``"},{"line_number":6,"context_line":"    options on the ``nova boot`` command. The"},{"line_number":7,"context_line":"    ``novaclient.v2.servers.ServerManager.create()`` method now also supports"},{"line_number":8,"context_line":"    ``host`` and ``hypervisor_hostname`` parameters."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"    .. _2.73 microversion: https://docs.openstack.org/nova/latest/reference/api-microversion-history.html#id66"}],"source_content_type":"text/x-yaml","patch_set":6,"id":"bfb3d3c7_aab7af86","line":8,"range":{"start_line":6,"start_character":42,"end_line":8,"end_character":51},"updated":"2019-05-20 08:14:23.000000000","message":"I guess this is redundant. It could be more useful to say what the \"host\" and \"hypervisor-hostname\" allow the users to do (ex: These options allow users to request a specific destination host/node for the server).","commit_id":"a06954848bac884ae54feea2a63df15b695efbc7"}],"releasenotes/notes/microversion-v2_74-43b128fe6b84b630.yaml":[{"author":{"_account_id":7634,"name":"Takashi Natsume","email":"takanattie@gmail.com","username":"natsumet"},"change_message_id":"550b277f639e48c523f95fcf4e3e72c544636d24","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    ``novaclient.v2.servers.ServerManager.create()`` method now also supports"},{"line_number":8,"context_line":"    ``host`` and ``hypervisor_hostname`` parameters."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"    .. _2.74 microversion: https://docs.openstack.org/nova/latest/reference/api-microversion-history.html#id67"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"9fb8cfa7_14bf6caa","line":10,"range":{"start_line":10,"start_character":106,"end_line":10,"end_character":110},"updated":"2019-06-27 06:27:20.000000000","message":"id66\n\nhttp://logs.openstack.org/20/645520/30/check/openstack-tox-docs/fb2c2da/html/reference/api-microversion-history.html#id66","commit_id":"bf120420b886e9c7d71806361f6f7fac368148fa"},{"author":{"_account_id":28706,"name":"Boxiang Zhu","email":"bxzhu_5355@163.com","username":"ZhuBoxiang"},"change_message_id":"8a4ffb1a0a3e49f726123f3f73fbf341abd709ea","unresolved":false,"context_lines":[{"line_number":7,"context_line":"    ``novaclient.v2.servers.ServerManager.create()`` method now also supports"},{"line_number":8,"context_line":"    ``host`` and ``hypervisor_hostname`` parameters."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"    .. _2.74 microversion: https://docs.openstack.org/nova/latest/reference/api-microversion-history.html#id67"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"9fb8cfa7_54af2429","line":10,"range":{"start_line":10,"start_character":106,"end_line":10,"end_character":110},"in_reply_to":"9fb8cfa7_14bf6caa","updated":"2019-06-27 06:45:24.000000000","message":"Done","commit_id":"bf120420b886e9c7d71806361f6f7fac368148fa"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e204b839c051cf70f11541869dfb8cd0568ef631","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Support is added for the `2.74 microversion`_ which allows specifying the"},{"line_number":5,"context_line":"    ``--host \u003chost\u003e`` and ``--hypervisor-hostname \u003chypervisor-hostname\u003e``"},{"line_number":6,"context_line":"    options on the ``nova boot`` command. The"},{"line_number":7,"context_line":"    ``novaclient.v2.servers.ServerManager.create()`` method now also supports"},{"line_number":8,"context_line":"    ``host`` and ``hypervisor_hostname`` parameters."}],"source_content_type":"text/x-yaml","patch_set":10,"id":"7faddb67_a4cca189","line":5,"range":{"start_line":5,"start_character":13,"end_line":5,"end_character":19},"updated":"2019-07-08 19:24:47.000000000","message":"Don\u0027t need this.","commit_id":"d8a9c0ce7c7327bf66b85b9da6f7bc33cd2c7fe7"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"e204b839c051cf70f11541869dfb8cd0568ef631","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Support is added for the `2.74 microversion`_ which allows specifying the"},{"line_number":5,"context_line":"    ``--host \u003chost\u003e`` and ``--hypervisor-hostname \u003chypervisor-hostname\u003e``"},{"line_number":6,"context_line":"    options on the ``nova boot`` command. The"},{"line_number":7,"context_line":"    ``novaclient.v2.servers.ServerManager.create()`` method now also supports"},{"line_number":8,"context_line":"    ``host`` and ``hypervisor_hostname`` parameters."}],"source_content_type":"text/x-yaml","patch_set":10,"id":"7faddb67_44c92d76","line":5,"range":{"start_line":5,"start_character":50,"end_line":5,"end_character":70},"updated":"2019-07-08 19:24:47.000000000","message":"nor this","commit_id":"d8a9c0ce7c7327bf66b85b9da6f7bc33cd2c7fe7"}]}
