)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1303f9e1757673713f583b00549445bf5182d07f","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Disable NUMATopologyFilter on rebuild"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This change leverages the new numa constraint checking"},{"line_number":10,"context_line":"in I0322d872bdff68936033a6f5a54e8296a6fb3434 to allow"},{"line_number":11,"context_line":"the NUMATopologyFilter to be skipped on rebuild."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"3fa7e38b_fbb6b325","line":9,"range":{"start_line":9,"start_character":30,"end_line":9,"end_character":34},"updated":"2019-12-02 11:12:31.000000000","message":"NUMA","commit_id":"16da025c24a1be135ca628310c1579d86fd6af4d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1303f9e1757673713f583b00549445bf5182d07f","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Disable NUMATopologyFilter on rebuild"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This change leverages the new numa constraint checking"},{"line_number":10,"context_line":"in I0322d872bdff68936033a6f5a54e8296a6fb3434 to allow"},{"line_number":11,"context_line":"the NUMATopologyFilter to be skipped on rebuild."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"3fa7e38b_9b33ffc4","line":9,"range":{"start_line":9,"start_character":53,"end_line":9,"end_character":54},"updated":"2019-12-02 11:12:31.000000000","message":"added in","commit_id":"16da025c24a1be135ca628310c1579d86fd6af4d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1303f9e1757673713f583b00549445bf5182d07f","unresolved":false,"context_lines":[{"line_number":11,"context_line":"the NUMATopologyFilter to be skipped on rebuild."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"As the new behavior of rebuild enfroces that no changes"},{"line_number":14,"context_line":"to the numa constratis are allow on rebuild we nolonger"},{"line_number":15,"context_line":"need to execute the NUMATopologyFilter. Previously"},{"line_number":16,"context_line":"the NUMATopologyFilter would process the rebuild request"},{"line_number":17,"context_line":"as if it was a request to spawn a new instnace as the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"3fa7e38b_bb36fbb2","line":14,"range":{"start_line":14,"start_character":12,"end_line":14,"end_character":22},"updated":"2019-12-02 11:12:31.000000000","message":"constraints","commit_id":"16da025c24a1be135ca628310c1579d86fd6af4d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1303f9e1757673713f583b00549445bf5182d07f","unresolved":false,"context_lines":[{"line_number":11,"context_line":"the NUMATopologyFilter to be skipped on rebuild."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"As the new behavior of rebuild enfroces that no changes"},{"line_number":14,"context_line":"to the numa constratis are allow on rebuild we nolonger"},{"line_number":15,"context_line":"need to execute the NUMATopologyFilter. Previously"},{"line_number":16,"context_line":"the NUMATopologyFilter would process the rebuild request"},{"line_number":17,"context_line":"as if it was a request to spawn a new instnace as the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"3fa7e38b_5b3d878c","line":14,"range":{"start_line":14,"start_character":47,"end_line":14,"end_character":55},"updated":"2019-12-02 11:12:31.000000000","message":"no longer","commit_id":"16da025c24a1be135ca628310c1579d86fd6af4d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1303f9e1757673713f583b00549445bf5182d07f","unresolved":false,"context_lines":[{"line_number":18,"context_line":"numa_fit_instance_to_host function is not rebuild aware."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"As such prior to this change a rebuild would only succeed"},{"line_number":21,"context_line":"if a host had enough addtional capasity to a second instance"},{"line_number":22,"context_line":"on the same host meeting the requirement of the new image and"},{"line_number":23,"context_line":"existing flavor. This behavior was incorrect on two counts as"},{"line_number":24,"context_line":"a rebuild uses a noop claim. First the resouce usage cannont"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"3fa7e38b_fb4b1325","line":21,"range":{"start_line":21,"start_character":21,"end_line":21,"end_character":42},"updated":"2019-12-02 11:12:31.000000000","message":"additional capacity for","commit_id":"16da025c24a1be135ca628310c1579d86fd6af4d"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d3839f032fa3158366be26d448f34d99f5fa11e9","unresolved":false,"context_lines":[{"line_number":18,"context_line":"numa_fit_instance_to_host function is not rebuild aware."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"As such prior to this change a rebuild would only succeed"},{"line_number":21,"context_line":"if a host had enough addtional capasity to a second instance"},{"line_number":22,"context_line":"on the same host meeting the requirement of the new image and"},{"line_number":23,"context_line":"existing flavor. This behavior was incorrect on two counts as"},{"line_number":24,"context_line":"a rebuild uses a noop claim. First the resouce usage cannont"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"3fa7e38b_ea80ff9e","line":21,"range":{"start_line":21,"start_character":21,"end_line":21,"end_character":42},"in_reply_to":"3fa7e38b_fb4b1325","updated":"2019-12-03 23:53:36.000000000","message":"ya i ment to type to spawn but for works","commit_id":"16da025c24a1be135ca628310c1579d86fd6af4d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1303f9e1757673713f583b00549445bf5182d07f","unresolved":false,"context_lines":[{"line_number":21,"context_line":"if a host had enough addtional capasity to a second instance"},{"line_number":22,"context_line":"on the same host meeting the requirement of the new image and"},{"line_number":23,"context_line":"existing flavor. This behavior was incorrect on two counts as"},{"line_number":24,"context_line":"a rebuild uses a noop claim. First the resouce usage cannont"},{"line_number":25,"context_line":"change so it was incorrect to require the addtional capasity"},{"line_number":26,"context_line":"to rebuild an instance. it was incorrect not to assert the"},{"line_number":27,"context_line":"resouce usage remained the same."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"3fa7e38b_9b5c5ff1","line":24,"range":{"start_line":24,"start_character":53,"end_line":24,"end_character":60},"updated":"2019-12-02 11:12:31.000000000","message":"cannot","commit_id":"16da025c24a1be135ca628310c1579d86fd6af4d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1303f9e1757673713f583b00549445bf5182d07f","unresolved":false,"context_lines":[{"line_number":22,"context_line":"on the same host meeting the requirement of the new image and"},{"line_number":23,"context_line":"existing flavor. This behavior was incorrect on two counts as"},{"line_number":24,"context_line":"a rebuild uses a noop claim. First the resouce usage cannont"},{"line_number":25,"context_line":"change so it was incorrect to require the addtional capasity"},{"line_number":26,"context_line":"to rebuild an instance. it was incorrect not to assert the"},{"line_number":27,"context_line":"resouce usage remained the same."},{"line_number":28,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"3fa7e38b_bb5fdbe2","line":25,"range":{"start_line":25,"start_character":52,"end_line":25,"end_character":60},"updated":"2019-12-02 11:12:31.000000000","message":"capacity","commit_id":"16da025c24a1be135ca628310c1579d86fd6af4d"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1303f9e1757673713f583b00549445bf5182d07f","unresolved":false,"context_lines":[{"line_number":23,"context_line":"existing flavor. This behavior was incorrect on two counts as"},{"line_number":24,"context_line":"a rebuild uses a noop claim. First the resouce usage cannont"},{"line_number":25,"context_line":"change so it was incorrect to require the addtional capasity"},{"line_number":26,"context_line":"to rebuild an instance. it was incorrect not to assert the"},{"line_number":27,"context_line":"resouce usage remained the same."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"I0322d872bdff68936033a6f5a54e8296a6fb3434 adressed guarding the"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"3fa7e38b_7b5963fb","line":26,"range":{"start_line":26,"start_character":24,"end_line":26,"end_character":26},"updated":"2019-12-02 11:12:31.000000000","message":"Secondly, it","commit_id":"16da025c24a1be135ca628310c1579d86fd6af4d"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"7c3d14528b47006c4ebd3e5b72c9553f088bc058","unresolved":false,"context_lines":[{"line_number":10,"context_line":"in I0322d872bdff68936033a6f5a54e8296a6fb3434 to allow the"},{"line_number":11,"context_line":"NUMATopologyFilter to be skipped on rebuild."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"As the new behavior of rebuild enfroces that no changes"},{"line_number":14,"context_line":"to the numa constraints are allowed on rebuild we no longer"},{"line_number":15,"context_line":"need to execute the NUMATopologyFilter. Previously"},{"line_number":16,"context_line":"the NUMATopologyFilter would process the rebuild request"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"3fa7e38b_c4c4c810","line":13,"range":{"start_line":13,"start_character":31,"end_line":13,"end_character":39},"updated":"2019-12-09 22:01:04.000000000","message":"enforces","commit_id":"3f9411071d4c1a04ab0b68fd635597bf6959c0ca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"7c3d14528b47006c4ebd3e5b72c9553f088bc058","unresolved":false,"context_lines":[{"line_number":21,"context_line":"if a host had enough additional capacity for a second instance"},{"line_number":22,"context_line":"on the same host meeting the requirement of the new image and"},{"line_number":23,"context_line":"existing flavor. This behavior was incorrect on two counts as"},{"line_number":24,"context_line":"a rebuild uses a noop claim. First the resouce usage cannot"},{"line_number":25,"context_line":"change so it was incorrect to require the addtional capacity"},{"line_number":26,"context_line":"to rebuild an instance. Secondly it was incorrect not to assert"},{"line_number":27,"context_line":"the resouce usage remained the same."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"3fa7e38b_84ca5016","line":24,"range":{"start_line":24,"start_character":39,"end_line":24,"end_character":46},"updated":"2019-12-09 22:01:04.000000000","message":"resource","commit_id":"3f9411071d4c1a04ab0b68fd635597bf6959c0ca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"7c3d14528b47006c4ebd3e5b72c9553f088bc058","unresolved":false,"context_lines":[{"line_number":22,"context_line":"on the same host meeting the requirement of the new image and"},{"line_number":23,"context_line":"existing flavor. This behavior was incorrect on two counts as"},{"line_number":24,"context_line":"a rebuild uses a noop claim. First the resouce usage cannot"},{"line_number":25,"context_line":"change so it was incorrect to require the addtional capacity"},{"line_number":26,"context_line":"to rebuild an instance. Secondly it was incorrect not to assert"},{"line_number":27,"context_line":"the resouce usage remained the same."},{"line_number":28,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"3fa7e38b_a4cf4c26","line":25,"range":{"start_line":25,"start_character":42,"end_line":25,"end_character":51},"updated":"2019-12-09 22:01:04.000000000","message":"additional","commit_id":"3f9411071d4c1a04ab0b68fd635597bf6959c0ca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"7c3d14528b47006c4ebd3e5b72c9553f088bc058","unresolved":false,"context_lines":[{"line_number":24,"context_line":"a rebuild uses a noop claim. First the resouce usage cannot"},{"line_number":25,"context_line":"change so it was incorrect to require the addtional capacity"},{"line_number":26,"context_line":"to rebuild an instance. Secondly it was incorrect not to assert"},{"line_number":27,"context_line":"the resouce usage remained the same."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"I0322d872bdff68936033a6f5a54e8296a6fb3434 adressed guarding the"},{"line_number":30,"context_line":"rebuild against altering the resouce usage and this change"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"3fa7e38b_64d5d4b6","line":27,"range":{"start_line":27,"start_character":4,"end_line":27,"end_character":11},"updated":"2019-12-09 22:01:04.000000000","message":"resource","commit_id":"3f9411071d4c1a04ab0b68fd635597bf6959c0ca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"7c3d14528b47006c4ebd3e5b72c9553f088bc058","unresolved":false,"context_lines":[{"line_number":27,"context_line":"the resouce usage remained the same."},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"I0322d872bdff68936033a6f5a54e8296a6fb3434 adressed guarding the"},{"line_number":30,"context_line":"rebuild against altering the resouce usage and this change"},{"line_number":31,"context_line":"allows in place rebuild."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"This change found a latent bug that will be adressed in a follow"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"3fa7e38b_c4eda88e","line":30,"range":{"start_line":30,"start_character":29,"end_line":30,"end_character":36},"updated":"2019-12-09 22:01:04.000000000","message":"resource","commit_id":"3f9411071d4c1a04ab0b68fd635597bf6959c0ca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"7c3d14528b47006c4ebd3e5b72c9553f088bc058","unresolved":false,"context_lines":[{"line_number":30,"context_line":"rebuild against altering the resouce usage and this change"},{"line_number":31,"context_line":"allows in place rebuild."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"This change found a latent bug that will be adressed in a follow"},{"line_number":34,"context_line":"up change and updated the functional tests to note the incorrect"},{"line_number":35,"context_line":"behavior."},{"line_number":36,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"3fa7e38b_84e330a0","line":33,"range":{"start_line":33,"start_character":44,"end_line":33,"end_character":52},"updated":"2019-12-09 22:01:04.000000000","message":"addressed","commit_id":"3f9411071d4c1a04ab0b68fd635597bf6959c0ca"}],"nova/scheduler/filters/num_instances_filter.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1303f9e1757673713f583b00549445bf5182d07f","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    # NOTE(sean-k-mooney): In change I0322d872bdff68936033a6f5a54e8296a6fb343"},{"line_number":31,"context_line":"    # we validate that the NUMA topology does not change in the api. If the"},{"line_number":32,"context_line":"    # requested image would alter the NUMA constrains we reject the rebuild"},{"line_number":33,"context_line":"    # request and therefor do not need to run this filter on rebuild."},{"line_number":34,"context_line":"    RUN_ON_REBUILD \u003d False"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def _get_max_instances_per_host(self, host_state, spec_obj):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_fb6473b5","line":33,"range":{"start_line":33,"start_character":18,"end_line":33,"end_character":26},"updated":"2019-12-02 11:12:31.000000000","message":"therefore\n\nAlso, shouldn\u0027t this comment belong on the NUMATopologyFilter? :D","commit_id":"16da025c24a1be135ca628310c1579d86fd6af4d"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d3839f032fa3158366be26d448f34d99f5fa11e9","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    # NOTE(sean-k-mooney): In change I0322d872bdff68936033a6f5a54e8296a6fb343"},{"line_number":31,"context_line":"    # we validate that the NUMA topology does not change in the api. If the"},{"line_number":32,"context_line":"    # requested image would alter the NUMA constrains we reject the rebuild"},{"line_number":33,"context_line":"    # request and therefor do not need to run this filter on rebuild."},{"line_number":34,"context_line":"    RUN_ON_REBUILD \u003d False"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def _get_max_instances_per_host(self, host_state, spec_obj):"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_cad743c0","line":33,"range":{"start_line":33,"start_character":18,"end_line":33,"end_character":26},"in_reply_to":"3fa7e38b_fb6473b5","updated":"2019-12-03 23:53:36.000000000","message":"... maybe :)","commit_id":"16da025c24a1be135ca628310c1579d86fd6af4d"}],"nova/scheduler/filters/numa_topology_filter.py":[{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"350675c569981acfd8aad8ae97f634d4817618d3","unresolved":false,"context_lines":[{"line_number":23,"context_line":"class NUMATopologyFilter(filters.BaseHostFilter):"},{"line_number":24,"context_line":"    \"\"\"Filter on requested NUMA topology.\"\"\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    RUN_ON_REBUILD \u003d False"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def _satisfies_cpu_policy(self, host_state, extra_specs, image_props):"},{"line_number":29,"context_line":"        \"\"\"Check that the host_state provided satisfies any available"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_1b2d7d45","line":26,"updated":"2019-11-18 18:59:19.000000000","message":"We might want to have a note here explaining why this is False, since the \"other half\" of this logic in the compute API.","commit_id":"fd328af103811a479ec9addd101acc8695e5b508"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"500ff34f5d35d401d73405177e03336cbecc288a","unresolved":false,"context_lines":[{"line_number":23,"context_line":"class NUMATopologyFilter(filters.BaseHostFilter):"},{"line_number":24,"context_line":"    \"\"\"Filter on requested NUMA topology.\"\"\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    RUN_ON_REBUILD \u003d False"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    def _satisfies_cpu_policy(self, host_state, extra_specs, image_props):"},{"line_number":29,"context_line":"        \"\"\"Check that the host_state provided satisfies any available"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_07caf44d","line":26,"in_reply_to":"3fa7e38b_1b2d7d45","updated":"2019-11-19 15:25:55.000000000","message":"ok i can add one","commit_id":"fd328af103811a479ec9addd101acc8695e5b508"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"7c3d14528b47006c4ebd3e5b72c9553f088bc058","unresolved":false,"context_lines":[{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    # NOTE(sean-k-mooney): In change I0322d872bdff68936033a6f5a54e8296a6fb343"},{"line_number":27,"context_line":"    # we validate that the NUMA topology does not change in the api. If the"},{"line_number":28,"context_line":"    # requested image would alter the NUMA constrains we reject the rebuild"},{"line_number":29,"context_line":"    # request and therefore do not need to run this filter on rebuild."},{"line_number":30,"context_line":"    RUN_ON_REBUILD \u003d False"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_04f7405c","line":28,"range":{"start_line":28,"start_character":43,"end_line":28,"end_character":53},"updated":"2019-12-09 22:01:04.000000000","message":"constraints","commit_id":"3f9411071d4c1a04ab0b68fd635597bf6959c0ca"}],"nova/tests/functional/libvirt/test_numa_servers.py":[{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"350675c569981acfd8aad8ae97f634d4817618d3","unresolved":false,"context_lines":[{"line_number":1107,"context_line":"    # The test was written to assert that we failed to rebuild"},{"line_number":1108,"context_line":"    # because the NUMA constraints were violated due to the attachment"},{"line_number":1109,"context_line":"    # of an interface form a second host NUMA node to an instance with"},{"line_number":1110,"context_line":"    # a NUMA topology of 1 that is affiened to a different NUMA node."},{"line_number":1111,"context_line":"    # Nova should reject the interface attachment if the NUMA constraints"},{"line_number":1112,"context_line":"    # would be violated and it should fail at that point not when the"},{"line_number":1113,"context_line":"    # instance is rebuilt. This is a latent bug which will be addressed"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_5bf8d548","line":1110,"range":{"start_line":1110,"start_character":35,"end_line":1110,"end_character":43},"updated":"2019-11-18 18:59:19.000000000","message":"\"affined\"","commit_id":"fd328af103811a479ec9addd101acc8695e5b508"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"350675c569981acfd8aad8ae97f634d4817618d3","unresolved":false,"context_lines":[{"line_number":1103,"context_line":"        self.assertTrue(self.mock_filter.called)"},{"line_number":1104,"context_line":"        self.assertEqual(\u0027ACTIVE\u0027, status)"},{"line_number":1105,"context_line":""},{"line_number":1106,"context_line":"    # TODO(sean-k-mooney): The logic of this test is incorrect."},{"line_number":1107,"context_line":"    # The test was written to assert that we failed to rebuild"},{"line_number":1108,"context_line":"    # because the NUMA constraints were violated due to the attachment"},{"line_number":1109,"context_line":"    # of an interface form a second host NUMA node to an instance with"},{"line_number":1110,"context_line":"    # a NUMA topology of 1 that is affiened to a different NUMA node."},{"line_number":1111,"context_line":"    # Nova should reject the interface attachment if the NUMA constraints"},{"line_number":1112,"context_line":"    # would be violated and it should fail at that point not when the"},{"line_number":1113,"context_line":"    # instance is rebuilt. This is a latent bug which will be addressed"},{"line_number":1114,"context_line":"    # in a separate patch."},{"line_number":1115,"context_line":"    def test_rebuild_server_with_network_affinity(self):"},{"line_number":1116,"context_line":"        extra_spec \u003d {\u0027hw:numa_nodes\u0027: \u00271\u0027}"},{"line_number":1117,"context_line":"        flavor_id \u003d self._create_flavor(extra_spec\u003dextra_spec)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_ed46a821","line":1114,"range":{"start_line":1106,"start_character":0,"end_line":1114,"end_character":26},"updated":"2019-11-18 18:59:19.000000000","message":"I\u0027d put this comment in a tiny different patch.","commit_id":"fd328af103811a479ec9addd101acc8695e5b508"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"500ff34f5d35d401d73405177e03336cbecc288a","unresolved":false,"context_lines":[{"line_number":1103,"context_line":"        self.assertTrue(self.mock_filter.called)"},{"line_number":1104,"context_line":"        self.assertEqual(\u0027ACTIVE\u0027, status)"},{"line_number":1105,"context_line":""},{"line_number":1106,"context_line":"    # TODO(sean-k-mooney): The logic of this test is incorrect."},{"line_number":1107,"context_line":"    # The test was written to assert that we failed to rebuild"},{"line_number":1108,"context_line":"    # because the NUMA constraints were violated due to the attachment"},{"line_number":1109,"context_line":"    # of an interface form a second host NUMA node to an instance with"},{"line_number":1110,"context_line":"    # a NUMA topology of 1 that is affiened to a different NUMA node."},{"line_number":1111,"context_line":"    # Nova should reject the interface attachment if the NUMA constraints"},{"line_number":1112,"context_line":"    # would be violated and it should fail at that point not when the"},{"line_number":1113,"context_line":"    # instance is rebuilt. This is a latent bug which will be addressed"},{"line_number":1114,"context_line":"    # in a separate patch."},{"line_number":1115,"context_line":"    def test_rebuild_server_with_network_affinity(self):"},{"line_number":1116,"context_line":"        extra_spec \u003d {\u0027hw:numa_nodes\u0027: \u00271\u0027}"},{"line_number":1117,"context_line":"        flavor_id \u003d self._create_flavor(extra_spec\u003dextra_spec)"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_6783a804","line":1114,"range":{"start_line":1106,"start_character":0,"end_line":1114,"end_character":26},"in_reply_to":"3fa7e38b_ed46a821","updated":"2019-11-19 15:25:55.000000000","message":"i dont think that makes sense its dreclty related to the cahgne i made on lines 1156-1162","commit_id":"fd328af103811a479ec9addd101acc8695e5b508"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"350675c569981acfd8aad8ae97f634d4817618d3","unresolved":false,"context_lines":[{"line_number":1147,"context_line":"                \u0027net_id\u0027: base.LibvirtNeutronFixture.network_2[\u0027id\u0027],"},{"line_number":1148,"context_line":"            }"},{"line_number":1149,"context_line":"        }"},{"line_number":1150,"context_line":"        # Note(sean-k-mooney): This should raise an exception as this interface"},{"line_number":1151,"context_line":"        # attachment would violate the NUMA constraints."},{"line_number":1152,"context_line":"        self.api.attach_interface(server[\u0027id\u0027], post)"},{"line_number":1153,"context_line":"        post \u003d {\u0027rebuild\u0027: {"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_2d41200b","line":1150,"range":{"start_line":1150,"start_character":10,"end_line":1150,"end_character":14},"updated":"2019-11-18 18:59:19.000000000","message":"FIXME","commit_id":"fd328af103811a479ec9addd101acc8695e5b508"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"350675c569981acfd8aad8ae97f634d4817618d3","unresolved":false,"context_lines":[{"line_number":1147,"context_line":"                \u0027net_id\u0027: base.LibvirtNeutronFixture.network_2[\u0027id\u0027],"},{"line_number":1148,"context_line":"            }"},{"line_number":1149,"context_line":"        }"},{"line_number":1150,"context_line":"        # Note(sean-k-mooney): This should raise an exception as this interface"},{"line_number":1151,"context_line":"        # attachment would violate the NUMA constraints."},{"line_number":1152,"context_line":"        self.api.attach_interface(server[\u0027id\u0027], post)"},{"line_number":1153,"context_line":"        post \u003d {\u0027rebuild\u0027: {"},{"line_number":1154,"context_line":"            \u0027imageRef\u0027: \u0027a2459075-d96c-40d5-893e-577ff92e721c\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_ad4c303f","line":1151,"range":{"start_line":1150,"start_character":0,"end_line":1151,"end_character":56},"updated":"2019-11-18 18:59:19.000000000","message":"Ditto here into its own patch.","commit_id":"fd328af103811a479ec9addd101acc8695e5b508"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"500ff34f5d35d401d73405177e03336cbecc288a","unresolved":false,"context_lines":[{"line_number":1147,"context_line":"                \u0027net_id\u0027: base.LibvirtNeutronFixture.network_2[\u0027id\u0027],"},{"line_number":1148,"context_line":"            }"},{"line_number":1149,"context_line":"        }"},{"line_number":1150,"context_line":"        # Note(sean-k-mooney): This should raise an exception as this interface"},{"line_number":1151,"context_line":"        # attachment would violate the NUMA constraints."},{"line_number":1152,"context_line":"        self.api.attach_interface(server[\u0027id\u0027], post)"},{"line_number":1153,"context_line":"        post \u003d {\u0027rebuild\u0027: {"},{"line_number":1154,"context_line":"            \u0027imageRef\u0027: \u0027a2459075-d96c-40d5-893e-577ff92e721c\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa7e38b_2779302e","line":1151,"range":{"start_line":1150,"start_character":0,"end_line":1151,"end_character":56},"in_reply_to":"3fa7e38b_ad4c303f","updated":"2019-11-19 15:25:55.000000000","message":"no its direclty related to the change below.","commit_id":"fd328af103811a479ec9addd101acc8695e5b508"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1303f9e1757673713f583b00549445bf5182d07f","unresolved":false,"context_lines":[{"line_number":1109,"context_line":"    # FIXME(sean-k-mooney): The logic of this test is incorrect."},{"line_number":1110,"context_line":"    # The test was written to assert that we failed to rebuild"},{"line_number":1111,"context_line":"    # because the NUMA constraints were violated due to the attachment"},{"line_number":1112,"context_line":"    # of an interface form a second host NUMA node to an instance with"},{"line_number":1113,"context_line":"    # a NUMA topology of 1 that is affined to a different NUMA node."},{"line_number":1114,"context_line":"    # Nova should reject the interface attachment if the NUMA constraints"},{"line_number":1115,"context_line":"    # would be violated and it should fail at that point not when the"}],"source_content_type":"text/x-python","patch_set":5,"id":"3fa7e38b_7b0e43e5","line":1112,"range":{"start_line":1112,"start_character":22,"end_line":1112,"end_character":26},"updated":"2019-12-02 11:12:31.000000000","message":"from","commit_id":"16da025c24a1be135ca628310c1579d86fd6af4d"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"07c46422832cac688bf9e44bb2cf8635819fdef5","unresolved":false,"context_lines":[{"line_number":1161,"context_line":"        # affinity as numa constraint changes are blocked by"},{"line_number":1162,"context_line":"        # I0322d872bdff68936033a6f5a54e8296a6fb3434"},{"line_number":1163,"context_line":"        self.api.post_server_action(server[\u0027id\u0027], post)"},{"line_number":1164,"context_line":"        found_server \u003d self._wait_for_state_change(server, \u0027BUILD\u0027)"},{"line_number":1165,"context_line":"        self.assertEqual(\u0027ACTIVE\u0027, found_server[\u0027status\u0027])"},{"line_number":1166,"context_line":""},{"line_number":1167,"context_line":"    def test_cold_migrate_with_physnet(self):"},{"line_number":1168,"context_line":"        host_info \u003d fakelibvirt.HostInfo(cpu_nodes\u003d2, cpu_sockets\u003d1,"}],"source_content_type":"text/x-python","patch_set":6,"id":"3fa7e38b_427d70b0","line":1165,"range":{"start_line":1164,"start_character":8,"end_line":1165,"end_character":58},"updated":"2019-12-04 14:03:13.000000000","message":"this is now wrong since the refactor of _wait_for_state_chagne has merged","commit_id":"2c0d40785f419898c53ee923531f1cfef977c44a"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4a2be35d7439c48d269663a6c142bf18a99a9867","unresolved":false,"context_lines":[{"line_number":844,"context_line":"    # would be violated and it should fail at that point not when the"},{"line_number":845,"context_line":"    # instance is rebuilt. This is a latent bug which will be addressed"},{"line_number":846,"context_line":"    # in a separate patch."},{"line_number":847,"context_line":"    def test_rebuild_server_with_network_affinity(self):"},{"line_number":848,"context_line":"        extra_spec \u003d {\u0027hw:numa_nodes\u0027: \u00271\u0027}"},{"line_number":849,"context_line":"        flavor_id \u003d self._create_flavor(extra_spec\u003dextra_spec)"},{"line_number":850,"context_line":"        networks \u003d ["}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_7b2280bc","line":847,"updated":"2019-12-05 18:16:23.000000000","message":"Do we want to skip this currently useless test altogether?","commit_id":"8c6e25614398f8e6772086cb2588aff59a85259c"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"13b02ece133d49fc4f2ad2b6b99ba4f23565ac4d","unresolved":false,"context_lines":[{"line_number":844,"context_line":"    # would be violated and it should fail at that point not when the"},{"line_number":845,"context_line":"    # instance is rebuilt. This is a latent bug which will be addressed"},{"line_number":846,"context_line":"    # in a separate patch."},{"line_number":847,"context_line":"    def test_rebuild_server_with_network_affinity(self):"},{"line_number":848,"context_line":"        extra_spec \u003d {\u0027hw:numa_nodes\u0027: \u00271\u0027}"},{"line_number":849,"context_line":"        flavor_id \u003d self._create_flavor(extra_spec\u003dextra_spec)"},{"line_number":850,"context_line":"        networks \u003d ["}],"source_content_type":"text/x-python","patch_set":8,"id":"3fa7e38b_b4556554","line":847,"in_reply_to":"3fa7e38b_7b2280bc","updated":"2019-12-05 21:04:14.000000000","message":"ok i just filed \nhttps://bugs.launchpad.net/nova/+bug/1855332 to track this so ill rename this and add a skip","commit_id":"8c6e25614398f8e6772086cb2588aff59a85259c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"bfa9388e1627d9fc5ba60da536b7e19d3c5bbe70","unresolved":false,"context_lines":[{"line_number":844,"context_line":"    # instance is rebuilt. This is a latent bug which will be addressed"},{"line_number":845,"context_line":"    # in a separate patch."},{"line_number":846,"context_line":"    def test_attach_interface_with_network_affinity_violation(self):"},{"line_number":847,"context_line":"        self.skipTest(\u0027Skipped until bug 1855332 is fixed\u0027)"},{"line_number":848,"context_line":"        extra_spec \u003d {\u0027hw:numa_nodes\u0027: \u00271\u0027}"},{"line_number":849,"context_line":"        flavor_id \u003d self._create_flavor(extra_spec\u003dextra_spec)"},{"line_number":850,"context_line":"        networks \u003d ["}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_8da5b44a","line":847,"updated":"2019-12-06 16:33:43.000000000","message":"nit: Think this can be a decorator, though you may need to import unittest for that","commit_id":"fdc7fd30cd5af70f403d8a1af5cd007f9104b270"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"bfa9388e1627d9fc5ba60da536b7e19d3c5bbe70","unresolved":false,"context_lines":[{"line_number":878,"context_line":"        }"},{"line_number":879,"context_line":"        # FIXME(sean-k-mooney): This should raise an exception as this"},{"line_number":880,"context_line":"        # interface attachment would violate the NUMA constraints."},{"line_number":881,"context_line":"        self.api.attach_interface(server[\u0027id\u0027], post)"},{"line_number":882,"context_line":""},{"line_number":883,"context_line":"    def test_cold_migrate_with_physnet(self):"},{"line_number":884,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_6d66382c","line":881,"updated":"2019-12-06 16:33:43.000000000","message":"Can you keep the test the same so it actually fails because it\u0027s broken","commit_id":"fdc7fd30cd5af70f403d8a1af5cd007f9104b270"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"6132a8b3e4663ac825acd2c920c27fa8b7180632","unresolved":false,"context_lines":[{"line_number":878,"context_line":"        }"},{"line_number":879,"context_line":"        # FIXME(sean-k-mooney): This should raise an exception as this"},{"line_number":880,"context_line":"        # interface attachment would violate the NUMA constraints."},{"line_number":881,"context_line":"        self.api.attach_interface(server[\u0027id\u0027], post)"},{"line_number":882,"context_line":""},{"line_number":883,"context_line":"    def test_cold_migrate_with_physnet(self):"},{"line_number":884,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3fa7e38b_44821f01","line":881,"in_reply_to":"3fa7e38b_6d66382c","updated":"2019-12-09 15:22:25.000000000","message":"yes ill do that","commit_id":"fdc7fd30cd5af70f403d8a1af5cd007f9104b270"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"7c3d14528b47006c4ebd3e5b72c9553f088bc058","unresolved":false,"context_lines":[{"line_number":16,"context_line":"import mock"},{"line_number":17,"context_line":"import six"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from testtools import skip"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"from oslo_config import cfg"},{"line_number":22,"context_line":"from oslo_log import log as logging"}],"source_content_type":"text/x-python","patch_set":10,"id":"3fa7e38b_c49288fc","line":19,"range":{"start_line":19,"start_character":22,"end_line":19,"end_character":26},"updated":"2019-12-09 22:01:04.000000000","message":"prefer to import only modules","commit_id":"3f9411071d4c1a04ab0b68fd635597bf6959c0ca"}],"releasenotes/notes/numa-rebuild-b75f9a1966f576ea.yaml":[{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"350675c569981acfd8aad8ae97f634d4817618d3","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"features:"},{"line_number":16,"context_line":"  - |"},{"line_number":17,"context_line":"    With the changes introduced in I0322d872bdff68936033a6f5a54e8296a6fb3434,"},{"line_number":18,"context_line":"    Nova now guards against NUMA constraint changes on rebuild. As a result"},{"line_number":19,"context_line":"    the NUMATopologyFilter is no longer required to run on rebuild since"},{"line_number":20,"context_line":"    we already know the topology will not change and therefor the existing"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3fa7e38b_1befbd87","line":17,"range":{"start_line":17,"start_character":35,"end_line":17,"end_character":76},"updated":"2019-11-18 18:59:19.000000000","message":"Are change IDs in release notes appropriate? Actually, the fact that you have a release note in both places, and need to reference one from the other, would suggest they should just merge into a single patch...","commit_id":"fd328af103811a479ec9addd101acc8695e5b508"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"500ff34f5d35d401d73405177e03336cbecc288a","unresolved":false,"context_lines":[{"line_number":14,"context_line":""},{"line_number":15,"context_line":"features:"},{"line_number":16,"context_line":"  - |"},{"line_number":17,"context_line":"    With the changes introduced in I0322d872bdff68936033a6f5a54e8296a6fb3434,"},{"line_number":18,"context_line":"    Nova now guards against NUMA constraint changes on rebuild. As a result"},{"line_number":19,"context_line":"    the NUMATopologyFilter is no longer required to run on rebuild since"},{"line_number":20,"context_line":"    we already know the topology will not change and therefor the existing"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"3fa7e38b_47930c4f","line":17,"range":{"start_line":17,"start_character":35,"end_line":17,"end_character":76},"in_reply_to":"3fa7e38b_1befbd87","updated":"2019-11-19 15:25:55.000000000","message":"we likely cant backport this if we do that which is why this is intentionally two patches. if the stable team are fine backporting this behaviour change i can merge them but otherwise im going to keep them as two patches.","commit_id":"fd328af103811a479ec9addd101acc8695e5b508"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"1303f9e1757673713f583b00549445bf5182d07f","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"features:"},{"line_number":19,"context_line":"  - |"},{"line_number":20,"context_line":"    With the changes introduced in I0322d872bdff68936033a6f5a54e8296a6fb3434,"},{"line_number":21,"context_line":"    Nova now guards against NUMA constraint changes on rebuild. As a result"},{"line_number":22,"context_line":"    the NUMATopologyFilter is no longer required to run on rebuild since"},{"line_number":23,"context_line":"    we already know the topology will not change and therefor the existing"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3fa7e38b_5b24a760","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":77},"updated":"2019-12-02 11:12:31.000000000","message":"Don\u0027t reference change IDs in release notes as these are targeted at users, not devs. Instead, reference the bugfix.\n\n  With the resolution of `bug 1763766`__, nova now ...\n\n  __ https://bugs.launchpad.net/nova/+bug/1763766\n\nNote that I\u0027m using anonymous hyperlinks otherwise Sphinx will complain about duplicate references in the generated doc. The alternative is to use `bug 1763766`_ but don\u0027t define the footnote, instead using the one from the above note.","commit_id":"16da025c24a1be135ca628310c1579d86fd6af4d"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"d3839f032fa3158366be26d448f34d99f5fa11e9","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"features:"},{"line_number":19,"context_line":"  - |"},{"line_number":20,"context_line":"    With the changes introduced in I0322d872bdff68936033a6f5a54e8296a6fb3434,"},{"line_number":21,"context_line":"    Nova now guards against NUMA constraint changes on rebuild. As a result"},{"line_number":22,"context_line":"    the NUMATopologyFilter is no longer required to run on rebuild since"},{"line_number":23,"context_line":"    we already know the topology will not change and therefor the existing"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3fa7e38b_4a035377","line":20,"range":{"start_line":20,"start_character":0,"end_line":20,"end_character":77},"in_reply_to":"3fa7e38b_5b24a760","updated":"2019-12-03 23:53:36.000000000","message":"ya i was going to say it simpler to just reuse the one above\n\nill use `bug 1763766`_","commit_id":"16da025c24a1be135ca628310c1579d86fd6af4d"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"13b02ece133d49fc4f2ad2b6b99ba4f23565ac4d","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    An instance can be rebuilt in-place with the original image or a new"},{"line_number":5,"context_line":"    image. Instance resource usage cannot be altered during a rebuild."},{"line_number":6,"context_line":"    Previously Nova would have ignored the NUMA topology of the new image"},{"line_number":7,"context_line":"    continuing to use the NUMA topology of the existing instance until a move"},{"line_number":8,"context_line":"    operation was performed. As Nova did not explicitly guard against"},{"line_number":9,"context_line":"    inadvertent changes in resource request contained in a new image,"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"3fa7e38b_de6b62ed","line":6,"range":{"start_line":6,"start_character":15,"end_line":6,"end_character":19},"updated":"2019-12-05 21:04:14.000000000","message":"its capitalised here.","commit_id":"8c6e25614398f8e6772086cb2588aff59a85259c"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"13b02ece133d49fc4f2ad2b6b99ba4f23565ac4d","unresolved":false,"context_lines":[{"line_number":5,"context_line":"    image. Instance resource usage cannot be altered during a rebuild."},{"line_number":6,"context_line":"    Previously Nova would have ignored the NUMA topology of the new image"},{"line_number":7,"context_line":"    continuing to use the NUMA topology of the existing instance until a move"},{"line_number":8,"context_line":"    operation was performed. As Nova did not explicitly guard against"},{"line_number":9,"context_line":"    inadvertent changes in resource request contained in a new image,"},{"line_number":10,"context_line":"    it was possible to rebuild with an image that would violate this requirement"},{"line_number":11,"context_line":"    `bug #1763766`_. This resulted in an inconsistent state as the instance that"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"3fa7e38b_7e5d8e46","line":8,"range":{"start_line":8,"start_character":31,"end_line":8,"end_character":36},"updated":"2019-12-05 21:04:14.000000000","message":"and here","commit_id":"8c6e25614398f8e6772086cb2588aff59a85259c"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"13b02ece133d49fc4f2ad2b6b99ba4f23565ac4d","unresolved":false,"context_lines":[{"line_number":9,"context_line":"    inadvertent changes in resource request contained in a new image,"},{"line_number":10,"context_line":"    it was possible to rebuild with an image that would violate this requirement"},{"line_number":11,"context_line":"    `bug #1763766`_. This resulted in an inconsistent state as the instance that"},{"line_number":12,"context_line":"    was running did not match the instance that was requested. Nova now explicitly"},{"line_number":13,"context_line":"    checks if a rebuild would alter the requested NUMA topology of an instance"},{"line_number":14,"context_line":"    and rejects the rebuild."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"3fa7e38b_de44c275","line":12,"range":{"start_line":12,"start_character":63,"end_line":12,"end_character":67},"updated":"2019-12-05 21:04:14.000000000","message":"and here although this is also the start of a sentence so it would be anyway.","commit_id":"8c6e25614398f8e6772086cb2588aff59a85259c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4a2be35d7439c48d269663a6c142bf18a99a9867","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"features:"},{"line_number":19,"context_line":"  - |"},{"line_number":20,"context_line":"    With the changes introduced to address `bug #1763766`_, Nova now guards"},{"line_number":21,"context_line":"    against NUMA constraint changes on rebuild. As a result the"},{"line_number":22,"context_line":"    NUMATopologyFilter is no longer required to run on rebuild since"},{"line_number":23,"context_line":"    we already know the topology will not change and therefor the existing"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"3fa7e38b_9b1f3c6f","line":20,"range":{"start_line":20,"start_character":60,"end_line":20,"end_character":64},"updated":"2019-12-05 18:16:23.000000000","message":"nova","commit_id":"8c6e25614398f8e6772086cb2588aff59a85259c"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"13b02ece133d49fc4f2ad2b6b99ba4f23565ac4d","unresolved":false,"context_lines":[{"line_number":17,"context_line":""},{"line_number":18,"context_line":"features:"},{"line_number":19,"context_line":"  - |"},{"line_number":20,"context_line":"    With the changes introduced to address `bug #1763766`_, Nova now guards"},{"line_number":21,"context_line":"    against NUMA constraint changes on rebuild. As a result the"},{"line_number":22,"context_line":"    NUMATopologyFilter is no longer required to run on rebuild since"},{"line_number":23,"context_line":"    we already know the topology will not change and therefor the existing"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"3fa7e38b_5e7772d2","line":20,"range":{"start_line":20,"start_character":60,"end_line":20,"end_character":64},"in_reply_to":"3fa7e38b_9b1f3c6f","updated":"2019-12-05 21:04:14.000000000","message":"im always confused if we should capitalise the project names or not i think this is should be capatlised but im fine either way as long as we are consitent. for now im going to leave this as it is but if you really want i can change it.","commit_id":"8c6e25614398f8e6772086cb2588aff59a85259c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4a2be35d7439c48d269663a6c142bf18a99a9867","unresolved":false,"context_lines":[{"line_number":19,"context_line":"  - |"},{"line_number":20,"context_line":"    With the changes introduced to address `bug #1763766`_, Nova now guards"},{"line_number":21,"context_line":"    against NUMA constraint changes on rebuild. As a result the"},{"line_number":22,"context_line":"    NUMATopologyFilter is no longer required to run on rebuild since"},{"line_number":23,"context_line":"    we already know the topology will not change and therefor the existing"},{"line_number":24,"context_line":"    resource claim is still valid. As such it is now possible to do an in place"},{"line_number":25,"context_line":"    rebuild of a instance with a NUMA topology even if the image changes"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"3fa7e38b_3b288896","line":22,"range":{"start_line":22,"start_character":4,"end_line":22,"end_character":22},"updated":"2019-12-05 18:16:23.000000000","message":"``NUMATopologyFilter``","commit_id":"8c6e25614398f8e6772086cb2588aff59a85259c"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4a2be35d7439c48d269663a6c142bf18a99a9867","unresolved":false,"context_lines":[{"line_number":21,"context_line":"    against NUMA constraint changes on rebuild. As a result the"},{"line_number":22,"context_line":"    NUMATopologyFilter is no longer required to run on rebuild since"},{"line_number":23,"context_line":"    we already know the topology will not change and therefor the existing"},{"line_number":24,"context_line":"    resource claim is still valid. As such it is now possible to do an in place"},{"line_number":25,"context_line":"    rebuild of a instance with a NUMA topology even if the image changes"},{"line_number":26,"context_line":"    provided the new image does not alter the topology."},{"line_number":27,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"3fa7e38b_5b2544be","line":24,"range":{"start_line":24,"start_character":71,"end_line":24,"end_character":79},"updated":"2019-12-05 18:16:23.000000000","message":"in-place","commit_id":"8c6e25614398f8e6772086cb2588aff59a85259c"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"7c3d14528b47006c4ebd3e5b72c9553f088bc058","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"    ..  _`bug #1763766`: https://bugs.launchpad.net/nova/+bug/1763766"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"features:"},{"line_number":19,"context_line":"  - |"},{"line_number":20,"context_line":"    With the changes introduced to address `bug #1763766`_, Nova now guards"},{"line_number":21,"context_line":"    against NUMA constraint changes on rebuild. As a result the"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"3fa7e38b_04a50048","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":8},"updated":"2019-12-09 22:01:04.000000000","message":"IMO this is a `fixes`, not a `feature`.","commit_id":"3f9411071d4c1a04ab0b68fd635597bf6959c0ca"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a0c7c20c09e07126938bd31d6206002c2a833e80","unresolved":false,"context_lines":[{"line_number":15,"context_line":""},{"line_number":16,"context_line":"    ..  _`bug #1763766`: https://bugs.launchpad.net/nova/+bug/1763766"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"features:"},{"line_number":19,"context_line":"  - |"},{"line_number":20,"context_line":"    With the changes introduced to address `bug #1763766`_, Nova now guards"},{"line_number":21,"context_line":"    against NUMA constraint changes on rebuild. As a result the"}],"source_content_type":"text/x-yaml","patch_set":10,"id":"3fa7e38b_2086e1bb","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":8},"in_reply_to":"3fa7e38b_04a50048","updated":"2019-12-10 10:50:07.000000000","message":"agreed","commit_id":"3f9411071d4c1a04ab0b68fd635597bf6959c0ca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"7c3d14528b47006c4ebd3e5b72c9553f088bc058","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    With the changes introduced to address `bug #1763766`_, Nova now guards"},{"line_number":21,"context_line":"    against NUMA constraint changes on rebuild. As a result the"},{"line_number":22,"context_line":"    ``NUMATopologyFilter`` is no longer required to run on rebuild since"},{"line_number":23,"context_line":"    we already know the topology will not change and therefor the existing"},{"line_number":24,"context_line":"    resource claim is still valid. As such it is now possible to do an in-place"},{"line_number":25,"context_line":"    rebuild of a instance with a NUMA topology even if the image changes"},{"line_number":26,"context_line":"    provided the new image does not alter the topology."}],"source_content_type":"text/x-yaml","patch_set":10,"id":"3fa7e38b_a4b66c88","line":23,"range":{"start_line":23,"start_character":53,"end_line":23,"end_character":61},"updated":"2019-12-09 22:01:04.000000000","message":"therefore","commit_id":"3f9411071d4c1a04ab0b68fd635597bf6959c0ca"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"7c3d14528b47006c4ebd3e5b72c9553f088bc058","unresolved":false,"context_lines":[{"line_number":23,"context_line":"    we already know the topology will not change and therefor the existing"},{"line_number":24,"context_line":"    resource claim is still valid. As such it is now possible to do an in-place"},{"line_number":25,"context_line":"    rebuild of a instance with a NUMA topology even if the image changes"},{"line_number":26,"context_line":"    provided the new image does not alter the topology."},{"line_number":27,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":10,"id":"3fa7e38b_e4330412","line":26,"updated":"2019-12-09 22:01:04.000000000","message":"this should mention bug 1804502","commit_id":"3f9411071d4c1a04ab0b68fd635597bf6959c0ca"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"a0c7c20c09e07126938bd31d6206002c2a833e80","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    resource claim is still valid. As such it is now possible to do an in-place"},{"line_number":25,"context_line":"    rebuild of a instance with a NUMA topology even if the image changes"},{"line_number":26,"context_line":"    provided the new image does not alter the topology."},{"line_number":27,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":10,"id":"3fa7e38b_008965c5","line":27,"updated":"2019-12-10 10:50:07.000000000","message":"nit: extra newline","commit_id":"3f9411071d4c1a04ab0b68fd635597bf6959c0ca"}]}
