)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b5c48f8e06a4f11b7199f0b4b17db8aa99f20c61","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This commit defines the CPUFeature enumeration and the CPUFeaturesField,"},{"line_number":14,"context_line":"and adds the \u0027hw_cpu_features\u0027 field to the ImageMetaProps object."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: Id118764d77684d3387ac7c90150b8ad571d7a8f0"},{"line_number":17,"context_line":"Partially-Implements: blueprint hyper-v-nested-virtualization"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7a3c09a3_f83e9a89","line":15,"updated":"2017-01-17 16:04:13.000000000","message":"Let\u0027s throw a DocImpact tag in here to document hw_cpu_features in this doc:\n\nhttp://docs.openstack.org/cli-reference/glance-property-keys.html","commit_id":"64a88822ea7b66311a78c13a3fc09a79fcf82606"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"10446d386861713d5d906ec71eb7450f2009cc74","unresolved":false,"context_lines":[{"line_number":12,"context_line":""},{"line_number":13,"context_line":"This commit defines the CPUFeature enumeration and the CPUFeaturesField,"},{"line_number":14,"context_line":"and adds the \u0027hw_cpu_features\u0027 field to the ImageMetaProps object."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"Change-Id: Id118764d77684d3387ac7c90150b8ad571d7a8f0"},{"line_number":17,"context_line":"Partially-Implements: blueprint hyper-v-nested-virtualization"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"7a3c09a3_2d80d4f6","line":15,"in_reply_to":"7a3c09a3_f83e9a89","updated":"2017-01-17 18:05:37.000000000","message":"Done","commit_id":"64a88822ea7b66311a78c13a3fc09a79fcf82606"}],"nova/objects/fields.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b5c48f8e06a4f11b7199f0b4b17db8aa99f20c61","unresolved":false,"context_lines":[{"line_number":315,"context_line":"    ALL \u003d (FORCE, REQUIRE, OPTIONAL, DISABLE, FORBID)"},{"line_number":316,"context_line":""},{"line_number":317,"context_line":""},{"line_number":318,"context_line":"class CPUFeature(BaseNovaEnum):"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"    # ref: https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions"},{"line_number":321,"context_line":"    AVX \u003d \u0027avx\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a3c09a3_f0530e37","line":318,"updated":"2017-01-17 16:04:13.000000000","message":"The enum scares me a bit in case we miss something. I guess we can always add in more features later, and we\u0027re starting from a place where we don\u0027t even support this at all right now, so an initial set is probably OK. I\u0027m going to add the ppc and s390 guys to this review as well.","commit_id":"64a88822ea7b66311a78c13a3fc09a79fcf82606"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"10446d386861713d5d906ec71eb7450f2009cc74","unresolved":false,"context_lines":[{"line_number":315,"context_line":"    ALL \u003d (FORCE, REQUIRE, OPTIONAL, DISABLE, FORBID)"},{"line_number":316,"context_line":""},{"line_number":317,"context_line":""},{"line_number":318,"context_line":"class CPUFeature(BaseNovaEnum):"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"    # ref: https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions"},{"line_number":321,"context_line":"    AVX \u003d \u0027avx\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a3c09a3_4d01a069","line":318,"in_reply_to":"7a3c09a3_daa54847","updated":"2017-01-17 18:05:37.000000000","message":"will add those as well.","commit_id":"64a88822ea7b66311a78c13a3fc09a79fcf82606"},{"author":{"_account_id":8175,"name":"Rafael Folco","email":"rfolco@redhat.com","username":"rfolco"},"change_message_id":"8a2eca40078eb61325a1a8e1f05d0ba02718a37c","unresolved":false,"context_lines":[{"line_number":315,"context_line":"    ALL \u003d (FORCE, REQUIRE, OPTIONAL, DISABLE, FORBID)"},{"line_number":316,"context_line":""},{"line_number":317,"context_line":""},{"line_number":318,"context_line":"class CPUFeature(BaseNovaEnum):"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"    # ref: https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions"},{"line_number":321,"context_line":"    AVX \u003d \u0027avx\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"7a3c09a3_daa54847","line":318,"in_reply_to":"7a3c09a3_f0530e37","updated":"2017-01-17 17:56:46.000000000","message":"This is what I got for CPU features on a Power system:\n\n# LD_SHOW_AUXV\u003d1 /bin/true |grep HWCAP\nAT_HWCAP:        archpmu vsx arch_2_06 dfp ic_snoop smt mmu fpu altivec ppc64 ppc32\nAT_HWCAP2:       htm-nosc vcrypto tar isel ebb dscr htm arch_2_07","commit_id":"64a88822ea7b66311a78c13a3fc09a79fcf82606"},{"author":{"_account_id":8175,"name":"Rafael Folco","email":"rfolco@redhat.com","username":"rfolco"},"change_message_id":"494b74bee1913952996c26e52b7b3066de8af365","unresolved":false,"context_lines":[{"line_number":374,"context_line":"    # https://en.wikipedia.org/wiki/AMD-V"},{"line_number":375,"context_line":"    SVM \u003d \u0027svm\u0027"},{"line_number":376,"context_line":""},{"line_number":377,"context_line":"    # Power System CPU features"},{"line_number":378,"context_line":"    ARCHPMU \u003d \u0027archpmu\u0027"},{"line_number":379,"context_line":"    VSX \u003d \u0027vsx\u0027"},{"line_number":380,"context_line":"    ARCH_206 \u003d \u0027arch_2_06\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"7a3c09a3_403a1ee8","line":377,"updated":"2017-01-18 11:32:48.000000000","message":"# ref: https://openpowerfoundation.org/?resource_lib\u003dibm-power-isa-version-2-07-b\n\narch_2_07, smt, fpu, altivec, vsx, dfp, htm, vcrypto, htm-nosc, ic_snoop, tar, ebb, dscr","commit_id":"1ecb6829ceb1195d4b3be50f379f916f285aaac9"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8047debf5cad8248801682ee4525a4dc6a7dee16","unresolved":false,"context_lines":[{"line_number":314,"context_line":""},{"line_number":315,"context_line":"    ALL \u003d (FORCE, REQUIRE, OPTIONAL, DISABLE, FORBID)"},{"line_number":316,"context_line":""},{"line_number":317,"context_line":""},{"line_number":318,"context_line":"class CPUFeature(BaseNovaEnum):"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"    # https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions"},{"line_number":321,"context_line":"    AVX \u003d \u0027avx\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_ae819a4c","line":318,"range":{"start_line":317,"start_character":0,"end_line":318,"end_character":31},"updated":"2017-01-26 17:08:23.000000000","message":"The fact that this is unversioned also scares me, but I don\u0027t see any way around this without waiting for a very long time for everyone to chime in","commit_id":"cd790622fe7685c1de01056fbfcd2061a5bb954b"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"48f7635e0490fde55ffb3bb7f565b5d0c009bee8","unresolved":false,"context_lines":[{"line_number":314,"context_line":""},{"line_number":315,"context_line":"    ALL \u003d (FORCE, REQUIRE, OPTIONAL, DISABLE, FORBID)"},{"line_number":316,"context_line":""},{"line_number":317,"context_line":""},{"line_number":318,"context_line":"class CPUFeature(BaseNovaEnum):"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"    # https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions"},{"line_number":321,"context_line":"    AVX \u003d \u0027avx\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_39108ba8","line":318,"range":{"start_line":317,"start_character":0,"end_line":318,"end_character":31},"in_reply_to":"3a461143_ae819a4c","updated":"2017-01-26 17:45:20.000000000","message":"it is just an enumeration. the (nova) objects are the ones that are versioned. Plus, this is the same as all the enumerations / fields here. If this is a concern, this could be addressed in another patch, on a much larger scale.","commit_id":"cd790622fe7685c1de01056fbfcd2061a5bb954b"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8047debf5cad8248801682ee4525a4dc6a7dee16","unresolved":false,"context_lines":[{"line_number":316,"context_line":""},{"line_number":317,"context_line":""},{"line_number":318,"context_line":"class CPUFeature(BaseNovaEnum):"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"    # https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions"},{"line_number":321,"context_line":"    AVX \u003d \u0027avx\u0027"},{"line_number":322,"context_line":"    AVX2 \u003d \u0027avx2\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_f307027f","line":319,"updated":"2017-01-26 17:08:23.000000000","message":"Could we use the names defined by libvirt? This will make it easier to eventually use these in the libvirt driver. You can find those in \u0027/usr/share/libvirt/cpu_map.xml\u0027. I copied the version from my device here [1]\n\n[1] http://paste.openstack.org/show/596619/","commit_id":"cd790622fe7685c1de01056fbfcd2061a5bb954b"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"48f7635e0490fde55ffb3bb7f565b5d0c009bee8","unresolved":false,"context_lines":[{"line_number":316,"context_line":""},{"line_number":317,"context_line":""},{"line_number":318,"context_line":"class CPUFeature(BaseNovaEnum):"},{"line_number":319,"context_line":""},{"line_number":320,"context_line":"    # https://en.wikipedia.org/wiki/Streaming_SIMD_Extensions"},{"line_number":321,"context_line":"    AVX \u003d \u0027avx\u0027"},{"line_number":322,"context_line":"    AVX2 \u003d \u0027avx2\u0027"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_195bcf88","line":319,"in_reply_to":"3a461143_f307027f","updated":"2017-01-26 17:45:20.000000000","message":"sure, I\u0027ll add them, but it looks like I\u0027ll have to add quite a large number of them. It\u0027s hard to tell, as they are not all unique.","commit_id":"cd790622fe7685c1de01056fbfcd2061a5bb954b"}],"nova/objects/image_meta.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"8047debf5cad8248801682ee4525a4dc6a7dee16","unresolved":false,"context_lines":[{"line_number":528,"context_line":"    def _set_cpu_features(self, image_props):"},{"line_number":529,"context_line":"        hw_cpu_features \u003d image_props.get(\u0027hw_cpu_features\u0027)"},{"line_number":530,"context_line":"        if hw_cpu_features:"},{"line_number":531,"context_line":"            # expected format: cpu_feat1,cpu_feat2"},{"line_number":532,"context_line":"            self.hw_cpu_features \u003d hw_cpu_features.split(\u0027,\u0027)"},{"line_number":533,"context_line":""},{"line_number":534,"context_line":"    def _set_attr_from_current_names(self, image_props):"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_0ee8ee0f","line":531,"range":{"start_line":531,"start_character":12,"end_line":531,"end_character":50},"updated":"2017-01-26 17:08:23.000000000","message":"Don\u0027t forget to add this to the docs","commit_id":"cd790622fe7685c1de01056fbfcd2061a5bb954b"},{"author":{"_account_id":8213,"name":"Claudiu Belu","email":"cbelu@cloudbasesolutions.com","username":"claudiub"},"change_message_id":"48f7635e0490fde55ffb3bb7f565b5d0c009bee8","unresolved":false,"context_lines":[{"line_number":528,"context_line":"    def _set_cpu_features(self, image_props):"},{"line_number":529,"context_line":"        hw_cpu_features \u003d image_props.get(\u0027hw_cpu_features\u0027)"},{"line_number":530,"context_line":"        if hw_cpu_features:"},{"line_number":531,"context_line":"            # expected format: cpu_feat1,cpu_feat2"},{"line_number":532,"context_line":"            self.hw_cpu_features \u003d hw_cpu_features.split(\u0027,\u0027)"},{"line_number":533,"context_line":""},{"line_number":534,"context_line":"    def _set_attr_from_current_names(self, image_props):"}],"source_content_type":"text/x-python","patch_set":6,"id":"3a461143_99917f9c","line":531,"range":{"start_line":531,"start_character":12,"end_line":531,"end_character":50},"in_reply_to":"3a461143_0ee8ee0f","updated":"2017-01-26 17:45:20.000000000","message":"yep. I\u0027ve mentioned in the commit message that I\u0027ll have to update the docs.","commit_id":"cd790622fe7685c1de01056fbfcd2061a5bb954b"}]}
