)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"395873bc5e40016c83fd6fc448391497547bdf76","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"In order to avoid a circular import loop, the references to the"},{"line_number":30,"context_line":"architecture field have been moved to a seperate module so that"},{"line_number":31,"context_line":"they can be properly and cleaned imported inside configuration."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Change-Id: Ib52deb095028e93619b93ef9e5f70775df2a403a"},{"line_number":34,"context_line":"Closes-Bug: #1769283"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"5f7c97a3_c0c82ba7","line":31,"range":{"start_line":31,"start_character":25,"end_line":31,"end_character":32},"updated":"2018-05-14 21:14:10.000000000","message":"cleanly","commit_id":"aa5b1326c86c408ce9cc4546e1c7a310fbce3136"}],"nova/conf/scheduler.py":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"9abb7178bdc5dd54c150393a5d12c234b4aee827","unresolved":false,"context_lines":[{"line_number":574,"context_line":"less dense."},{"line_number":575,"context_line":"\"\"\"),"},{"line_number":576,"context_line":"    cfg.StrOpt("},{"line_number":577,"context_line":"        \"image_properties_default_architecture\","},{"line_number":578,"context_line":"        help\u003d\"\"\""},{"line_number":579,"context_line":"The default architecture to be used when using the image properties filter."},{"line_number":580,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_7990fa95","line":577,"updated":"2018-05-14 17:37:00.000000000","message":"We should probably make this a choice, as it looks to me like it\u0027ll be case-sensitive and putting something wrong here could make everything fail to boot. I think you could just do:\n\ncfg.StrOpt(\n \"image_...\",\n choices\u003dfields.Architecture.ALL,\n ...\n )\n\nRight?","commit_id":"a3e6fcae52c0f0f99eb8241863e3ca8412622a9b"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"5e9ebbdcdf3aeb2496f5a84eec7d6b4601674ab6","unresolved":false,"context_lines":[{"line_number":574,"context_line":"less dense."},{"line_number":575,"context_line":"\"\"\"),"},{"line_number":576,"context_line":"    cfg.StrOpt("},{"line_number":577,"context_line":"        \"image_properties_default_architecture\","},{"line_number":578,"context_line":"        help\u003d\"\"\""},{"line_number":579,"context_line":"The default architecture to be used when using the image properties filter."},{"line_number":580,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_f9caca9e","line":577,"in_reply_to":"5f7c97a3_7990fa95","updated":"2018-05-14 17:38:41.000000000","message":"++","commit_id":"a3e6fcae52c0f0f99eb8241863e3ca8412622a9b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c9435eb728c9333e714aa12979ef04a4bec42e63","unresolved":false,"context_lines":[{"line_number":574,"context_line":"less dense."},{"line_number":575,"context_line":"\"\"\"),"},{"line_number":576,"context_line":"    cfg.StrOpt("},{"line_number":577,"context_line":"        \"image_properties_default_architecture\","},{"line_number":578,"context_line":"        help\u003d\"\"\""},{"line_number":579,"context_line":"The default architecture to be used when using the image properties filter."},{"line_number":580,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_f9588afa","line":577,"in_reply_to":"5f7c97a3_f9caca9e","updated":"2018-05-14 17:40:21.000000000","message":"Need a short release note for this.","commit_id":"a3e6fcae52c0f0f99eb8241863e3ca8412622a9b"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"c9435eb728c9333e714aa12979ef04a4bec42e63","unresolved":false,"context_lines":[{"line_number":585,"context_line":""},{"line_number":586,"context_line":"Possible values:"},{"line_number":587,"context_line":""},{"line_number":588,"context_line":"* CPU Architectures such as x86_64, aarch64, s390x.  The full list can be"},{"line_number":589,"context_line":"  found inside nova/objects/fields.py inside the \u0027Architecture\u0027 object."},{"line_number":590,"context_line":"\"\"\"),"},{"line_number":591,"context_line":"    # TODO(mikal): replace this option with something involving host aggregates"},{"line_number":592,"context_line":"    cfg.ListOpt(\"isolated_images\","}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_99e07628","line":589,"range":{"start_line":588,"start_character":53,"end_line":589,"end_character":71},"updated":"2018-05-14 17:40:21.000000000","message":"We should use this to set the \"choices\" kwarg on the StrOpt then so a user can\u0027t specify \u0027foo\u0027 and wonder why it\u0027s allowed, so:\n\nchoices\u003dfields.ARCHITECTURE.ALL\n\nGranted, this will vary based on the version of that field and when the docs were built, but it doesn\u0027t change much.","commit_id":"a3e6fcae52c0f0f99eb8241863e3ca8412622a9b"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"2c219bb2f77a2f0a5fa18f914fe831468c93f331","unresolved":false,"context_lines":[{"line_number":588,"context_line":""},{"line_number":589,"context_line":"Possible values:"},{"line_number":590,"context_line":""},{"line_number":591,"context_line":"* CPU Architectures such as x86_64, aarch64, s390x.  The full list can be"},{"line_number":592,"context_line":"  found inside nova/objects/fields.py inside the \u0027Architecture\u0027 object."},{"line_number":593,"context_line":"\"\"\"),"},{"line_number":594,"context_line":"    # TODO(mikal): replace this option with something involving host aggregates"},{"line_number":595,"context_line":"    cfg.ListOpt(\"isolated_images\","}],"source_content_type":"text/x-python","patch_set":2,"id":"5f7c97a3_797f9aaa","line":592,"range":{"start_line":591,"start_character":53,"end_line":592,"end_character":71},"updated":"2018-05-14 18:11:22.000000000","message":"This is probably not necessary anymore, since the list of choices will be expanded in the doc base don L580.","commit_id":"cc4c68826f69232f3a86455bede2fb132fd12d30"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5e0756c5b5ec1995947cbe4d7a9de0e509b09242","unresolved":false,"context_lines":[{"line_number":586,"context_line":"something like x86_64 images landing on aarch64 compute nodes because the"},{"line_number":587,"context_line":"user did not specify the \u0027hw_architecture\u0027 property in Glance."},{"line_number":588,"context_line":""},{"line_number":589,"context_line":"Possible values:"},{"line_number":590,"context_line":""},{"line_number":591,"context_line":"* CPU Architectures such as x86_64, aarch64, s390x."},{"line_number":592,"context_line":"\"\"\"),"},{"line_number":593,"context_line":"    # TODO(mikal): replace this option with something involving host aggregates"},{"line_number":594,"context_line":"    cfg.ListOpt(\"isolated_images\","}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_6f9d8864","line":591,"range":{"start_line":589,"start_character":0,"end_line":591,"end_character":51},"updated":"2018-05-14 19:15:01.000000000","message":"You don\u0027t need to put this in here because the choices kwarg will be rendered in the help.","commit_id":"420048504c31a38b75688af9cedc3e942c0443e0"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"3544199e8153fcaeca4387d4d13a28fec40e8811","unresolved":false,"context_lines":[{"line_number":586,"context_line":"something like x86_64 images landing on aarch64 compute nodes because the"},{"line_number":587,"context_line":"user did not specify the \u0027hw_architecture\u0027 property in Glance."},{"line_number":588,"context_line":""},{"line_number":589,"context_line":"Possible values:"},{"line_number":590,"context_line":""},{"line_number":591,"context_line":"* CPU Architectures such as x86_64, aarch64, s390x."},{"line_number":592,"context_line":"\"\"\"),"},{"line_number":593,"context_line":"    # TODO(mikal): replace this option with something involving host aggregates"},{"line_number":594,"context_line":"    cfg.ListOpt(\"isolated_images\","}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_2adf7e3a","line":591,"range":{"start_line":589,"start_character":0,"end_line":591,"end_character":51},"in_reply_to":"5f7c97a3_6f9d8864","updated":"2018-05-14 19:52:20.000000000","message":"I mentioned that for the last sentence in PS2, but I still think this one is useful, because it lets you know they\u0027re \"CPU architectures\".  Otherwise you\u0027ve got this list of strings and you don\u0027t necessarily know what they mean (other than by context, I suppose).  So me, I\u0027m fine either way on this.","commit_id":"420048504c31a38b75688af9cedc3e942c0443e0"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"60808e089c661ed0d8c4c4b682ccebece5cb40af","unresolved":false,"context_lines":[{"line_number":577,"context_line":"\"\"\"),"},{"line_number":578,"context_line":"    cfg.StrOpt("},{"line_number":579,"context_line":"        \"image_properties_default_architecture\","},{"line_number":580,"context_line":"        choices\u003darch.ALL,"},{"line_number":581,"context_line":"        help\u003d\"\"\""},{"line_number":582,"context_line":"The default architecture to be used when using the image properties filter."},{"line_number":583,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_00b5c3ed","line":580,"updated":"2018-05-14 21:22:34.000000000","message":"FYI if you want to see what this looks like:\n\nhttp://logs.openstack.org/25/566425/4/check/build-openstack-sphinx-docs/8117d0a/html/configuration/config.html#filter_scheduler.image_properties_default_architecture","commit_id":"aa5b1326c86c408ce9cc4546e1c7a310fbce3136"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"f36fdf63601d7ec8778c2afcac4b3c34448ac32d","unresolved":false,"context_lines":[{"line_number":577,"context_line":"\"\"\"),"},{"line_number":578,"context_line":"    cfg.StrOpt("},{"line_number":579,"context_line":"        \"image_properties_default_architecture\","},{"line_number":580,"context_line":"        choices\u003darch.ALL,"},{"line_number":581,"context_line":"        help\u003d\"\"\""},{"line_number":582,"context_line":"The default architecture to be used when using the image properties filter."},{"line_number":583,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_60959732","line":580,"in_reply_to":"5f7c97a3_00b5c3ed","updated":"2018-05-14 21:29:43.000000000","message":"Looks nice to me.","commit_id":"aa5b1326c86c408ce9cc4546e1c7a310fbce3136"}],"nova/virt/arch.py":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"395873bc5e40016c83fd6fc448391497547bdf76","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2018 VEXXHOST, Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_20431f15","line":1,"updated":"2018-05-14 21:14:10.000000000","message":"nova.virt seems odd to me - is that where y\u0027all decided to put this?","commit_id":"aa5b1326c86c408ce9cc4546e1c7a310fbce3136"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"9722b19c1203442ddf4574390765956d9b646265","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2018 VEXXHOST, Inc."},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":4,"id":"5f7c97a3_e0f687d7","line":1,"in_reply_to":"5f7c97a3_20431f15","updated":"2018-05-14 21:19:32.000000000","message":"There\u0027s really nothing arch-specific in any part of nova other than in the virt drivers. Given that hardware.py is in here, this seems like the obvious place to me (and was my suggestion).","commit_id":"aa5b1326c86c408ce9cc4546e1c7a310fbce3136"}],"releasenotes/notes/fix-multiarch-image-props-filter-f2e885aa53d585ea.yaml":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"2c219bb2f77a2f0a5fa18f914fe831468c93f331","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - The behaviour of ImagePropertiesFilter when using multiple architectures"},{"line_number":4,"context_line":"    in a cloud can be unpredictable for a user if they forget to set the"},{"line_number":5,"context_line":"    architecture property in their image.  Nova now allows the deployer to"},{"line_number":6,"context_line":"    specify a fallback in filter_scheduler/image_properties_default_architecture"},{"line_number":7,"context_line":"    to use a default architecture if none is specified.  Without this, it"},{"line_number":8,"context_line":"    is possible that a VM would get scheduled on a compute node that does not"},{"line_number":9,"context_line":"    support the image."}],"source_content_type":"text/x-yaml","patch_set":2,"id":"5f7c97a3_f9440a76","line":6,"range":{"start_line":6,"start_character":26,"end_line":6,"end_character":80},"updated":"2018-05-14 18:11:22.000000000","message":"``[filter_scheduler]image_properties_default_architecture``","commit_id":"cc4c68826f69232f3a86455bede2fb132fd12d30"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"bf2f054d7dd67681e8c90051554f7daeead7b5c8","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - The behaviour of ImagePropertiesFilter when using multiple architectures"},{"line_number":4,"context_line":"    in a cloud can be unpredictable for a user if they forget to set the"},{"line_number":5,"context_line":"    architecture property in their image.  Nova now allows the deployer to"},{"line_number":6,"context_line":"    specify a fallback in ``[filter_scheduler]image_properties_default_architecture``"},{"line_number":7,"context_line":"    to use a default architecture if none is specified.  Without this, it"},{"line_number":8,"context_line":"    is possible that a VM would get scheduled on a compute node that does not"},{"line_number":9,"context_line":"    support the image."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"5f7c97a3_cf393cd7","line":6,"range":{"start_line":6,"start_character":79,"end_line":6,"end_character":85},"updated":"2018-05-14 18:57:22.000000000","message":"...assuming pep8 doesn\u0027t ding you here.","commit_id":"420048504c31a38b75688af9cedc3e942c0443e0"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5e0756c5b5ec1995947cbe4d7a9de0e509b09242","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - The behaviour of ImagePropertiesFilter when using multiple architectures"},{"line_number":4,"context_line":"    in a cloud can be unpredictable for a user if they forget to set the"},{"line_number":5,"context_line":"    architecture property in their image.  Nova now allows the deployer to"},{"line_number":6,"context_line":"    specify a fallback in ``[filter_scheduler]image_properties_default_architecture``"},{"line_number":7,"context_line":"    to use a default architecture if none is specified.  Without this, it"},{"line_number":8,"context_line":"    is possible that a VM would get scheduled on a compute node that does not"},{"line_number":9,"context_line":"    support the image."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"5f7c97a3_6fc82873","line":6,"range":{"start_line":6,"start_character":79,"end_line":6,"end_character":85},"in_reply_to":"5f7c97a3_cf393cd7","updated":"2018-05-14 19:15:01.000000000","message":"pep8 runs on code, not release notes. And we don\u0027t validate column width in release notes. We could if we cared, and used doc8 or something.","commit_id":"420048504c31a38b75688af9cedc3e942c0443e0"}]}
