)]}'
{"nova/api/metadata/base.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"99c09dbc0b7215ba460d404255f25e051ce51857","unresolved":false,"context_lines":[{"line_number":63,"context_line":"# hidden from the listing, but can still be requested explicitly, which is"},{"line_number":64,"context_line":"# required for testing purposes. We know this isn\u0027t great, but its inherited"},{"line_number":65,"context_line":"# from EC2, which this needs to be compatible with."},{"line_number":66,"context_line":"# NOTE(jichen): please update doc/source/user/metadata-service.rst on the"},{"line_number":67,"context_line":"# metadata output when new version is created in order to make doc up-to-date."},{"line_number":68,"context_line":"FOLSOM \u003d \u00272012-08-10\u0027"},{"line_number":69,"context_line":"GRIZZLY \u003d \u00272013-04-04\u0027"},{"line_number":70,"context_line":"HAVANA \u003d \u00272013-10-17\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_9f247f0f","line":67,"range":{"start_line":66,"start_character":0,"end_line":67,"end_character":78},"updated":"2018-05-04 15:34:23.000000000","message":"You also need to update the doc.","commit_id":"1f2fb618ce193c719ddaddaf063d22d60d33c928"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"3c5255e70feeb61f5c63e9c85d725c9b87ef9f9a","unresolved":false,"context_lines":[{"line_number":441,"context_line":"                    device_metadata[\u0027mac\u0027] \u003d device.mac"},{"line_number":442,"context_line":"                    if vlan:"},{"line_number":443,"context_line":"                        device_metadata[\u0027vlan\u0027] \u003d vlan"},{"line_number":444,"context_line":"                    if vf_trusted is not None:"},{"line_number":445,"context_line":"                        device_metadata[\u0027vf_trusted\u0027] \u003d vf_trusted"},{"line_number":446,"context_line":"                elif isinstance(device, metadata_obj.DiskMetadata):"},{"line_number":447,"context_line":"                    device_metadata[\u0027type\u0027] \u003d \u0027disk\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_df399741","line":444,"updated":"2018-05-04 15:34:04.000000000","message":"We should just combine this with the condition above to do:\n\nif vif_vfs_trusted_supported:\n    vf_trusted \u003d device.vf_trusted if \u0027vf_trusted\u0027 in device else None\n    device_metadata[\u0027vf_trusted\u0027] \u003d vf_trusted\n\nBecause if the client is asking for the Rocky version, they can expect to get a \"vf_trusted\" field in the response, but it might be None if the device isn\u0027t trusted.","commit_id":"1f2fb618ce193c719ddaddaf063d22d60d33c928"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"f23bd34f7a2927ebb434c41e2777b5e27da04959","unresolved":false,"context_lines":[{"line_number":441,"context_line":"                    device_metadata[\u0027mac\u0027] \u003d device.mac"},{"line_number":442,"context_line":"                    if vlan:"},{"line_number":443,"context_line":"                        device_metadata[\u0027vlan\u0027] \u003d vlan"},{"line_number":444,"context_line":"                    if vf_trusted is not None:"},{"line_number":445,"context_line":"                        device_metadata[\u0027vf_trusted\u0027] \u003d vf_trusted"},{"line_number":446,"context_line":"                elif isinstance(device, metadata_obj.DiskMetadata):"},{"line_number":447,"context_line":"                    device_metadata[\u0027type\u0027] \u003d \u0027disk\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"5f7c97a3_f3a28c4b","line":444,"in_reply_to":"5f7c97a3_df399741","updated":"2018-05-18 08:21:53.000000000","message":"Yes right. In that case I would prefer to set it to False except None. Is that OK for you too?","commit_id":"1f2fb618ce193c719ddaddaf063d22d60d33c928"},{"author":{"_account_id":6062,"name":"jichenjc","email":"jichenjc@cn.ibm.com","username":"jichenjc"},"change_message_id":"09441175ace6b807cdc2ab1bed50c3e8da735327","unresolved":false,"context_lines":[{"line_number":435,"context_line":""},{"line_number":436,"context_line":"                    if vif_vfs_trusted_supported:"},{"line_number":437,"context_line":"                        vf_trusted \u003d (device.vf_trusted if"},{"line_number":438,"context_line":"                                      \u0027vf_trusted\u0027 in device else False)"},{"line_number":439,"context_line":"                        device_metadata[\u0027vf_trusted\u0027] \u003d vf_trusted"},{"line_number":440,"context_line":""},{"line_number":441,"context_line":"                    device_metadata[\u0027type\u0027] \u003d \u0027nic\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_a9ca136b","line":438,"range":{"start_line":438,"start_character":38,"end_line":438,"end_character":60},"updated":"2018-05-24 06:33:46.000000000","message":"I think usually we use \nhasattr(xxx, xx) \nif it\u0027s an ojbect? \n\nand use \nyyy in device\nif device variable is an array?","commit_id":"9c54fedffc3088e25696975f3e2c52d8b6b72460"},{"author":{"_account_id":7730,"name":"Sahid Orentino Ferdjaoui","email":"sahid.ferdjaoui@industrialdiscipline.com","username":"sahid"},"change_message_id":"349cfefccb64aa29b599a0ba49917d076d41835a","unresolved":false,"context_lines":[{"line_number":435,"context_line":""},{"line_number":436,"context_line":"                    if vif_vfs_trusted_supported:"},{"line_number":437,"context_line":"                        vf_trusted \u003d (device.vf_trusted if"},{"line_number":438,"context_line":"                                      \u0027vf_trusted\u0027 in device else False)"},{"line_number":439,"context_line":"                        device_metadata[\u0027vf_trusted\u0027] \u003d vf_trusted"},{"line_number":440,"context_line":""},{"line_number":441,"context_line":"                    device_metadata[\u0027type\u0027] \u003d \u0027nic\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_69a63b56","line":438,"range":{"start_line":438,"start_character":38,"end_line":438,"end_character":60},"in_reply_to":"5f7c97a3_a9ca136b","updated":"2018-05-24 07:40:44.000000000","message":"I think using \u0027in\u0027 is the recommended way, I will keep it like that until I get more comment. Thanks for your comment Jichenjc.","commit_id":"9c54fedffc3088e25696975f3e2c52d8b6b72460"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a184cb02ca32e2de5c759758f41615d2f4e4f01e","unresolved":false,"context_lines":[{"line_number":428,"context_line":"                    if vif_vlans_supported and \u0027vlan\u0027 in device:"},{"line_number":429,"context_line":"                        vlan \u003d device.vlan"},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"                    # Skip devices without tags on versions that"},{"line_number":432,"context_line":"                    # don\u0027t support vlans"},{"line_number":433,"context_line":"                    if not (vlan or \u0027tags\u0027 in device):"},{"line_number":434,"context_line":"                        continue"},{"line_number":435,"context_line":""},{"line_number":436,"context_line":"                    if vif_vfs_trusted_supported:"},{"line_number":437,"context_line":"                        vf_trusted \u003d (device.vf_trusted if"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_d6731de6","line":434,"range":{"start_line":431,"start_character":20,"end_line":434,"end_character":32},"updated":"2018-05-30 19:46:30.000000000","message":"You need to add the vf_trusted check before this, otherwise if the port has tags or doesn\u0027t have a vlan set, we\u0027ll skip adding the vf_trusted value - obviously need a test for this case.","commit_id":"bf968f58b8f609c3c9a7eb2f4578c61d725d9388"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"283b1406e3915cabb5d17d788b463ede01c5016d","unresolved":false,"context_lines":[{"line_number":428,"context_line":"                    if vif_vlans_supported and \u0027vlan\u0027 in device:"},{"line_number":429,"context_line":"                        vlan \u003d device.vlan"},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"                    # Skip devices without tags on versions that"},{"line_number":432,"context_line":"                    # don\u0027t support vlans"},{"line_number":433,"context_line":"                    if not (vlan or \u0027tags\u0027 in device):"},{"line_number":434,"context_line":"                        continue"},{"line_number":435,"context_line":""},{"line_number":436,"context_line":"                    if vif_vfs_trusted_supported:"},{"line_number":437,"context_line":"                        vf_trusted \u003d (device.vf_trusted if"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_998ab661","line":434,"range":{"start_line":431,"start_character":20,"end_line":434,"end_character":32},"in_reply_to":"5f7c97a3_d6731de6","updated":"2018-05-31 02:16:58.000000000","message":"Yeah, so I ended up refactoring this entirely, because the possible combination of vlan/tags/trusted is a mess, so I just add everything, then remove whatever\u0027s not supported by our version.","commit_id":"bf968f58b8f609c3c9a7eb2f4578c61d725d9388"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"228f796f1ba6645f8146e0ad85a16f482a2ae4d7","unresolved":false,"context_lines":[{"line_number":431,"context_line":"                    device_metadata[\u0027vf_trusted\u0027] \u003d vf_trusted"},{"line_number":432,"context_line":"                    device_metadata[\u0027type\u0027] \u003d \u0027nic\u0027"},{"line_number":433,"context_line":"                    device_metadata[\u0027mac\u0027] \u003d device.mac"},{"line_number":434,"context_line":"                    if not vif_vlans_supported or vlan is None:"},{"line_number":435,"context_line":"                        del(device_metadata[\u0027vlan\u0027])"},{"line_number":436,"context_line":"                    if not vif_vfs_trusted_supported:"},{"line_number":437,"context_line":"                        del(device_metadata[\u0027vf_trusted\u0027])"},{"line_number":438,"context_line":"                    # NOTE(artom) If a device has neither tags, vlan or"},{"line_number":439,"context_line":"                    # vf_trusted, don\u0027t expose it"},{"line_number":440,"context_line":"                    if not (\u0027tags\u0027 in device or \u0027vlan\u0027 in device_metadata"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_3d7edcae","line":437,"range":{"start_line":434,"start_character":20,"end_line":437,"end_character":58},"updated":"2018-05-31 17:11:11.000000000","message":"This does look weird. I\u0027d prefer we just don\u0027t set the fields if the *_supported flag is False.","commit_id":"2649c265ff95d5b9599ac122aa24445bac90de53"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9f1360b1086abaadad1fbacae5f80b731da7b612","unresolved":false,"context_lines":[{"line_number":431,"context_line":"                    device_metadata[\u0027vf_trusted\u0027] \u003d vf_trusted"},{"line_number":432,"context_line":"                    device_metadata[\u0027type\u0027] \u003d \u0027nic\u0027"},{"line_number":433,"context_line":"                    device_metadata[\u0027mac\u0027] \u003d device.mac"},{"line_number":434,"context_line":"                    if not vif_vlans_supported or vlan is None:"},{"line_number":435,"context_line":"                        del(device_metadata[\u0027vlan\u0027])"},{"line_number":436,"context_line":"                    if not vif_vfs_trusted_supported:"},{"line_number":437,"context_line":"                        del(device_metadata[\u0027vf_trusted\u0027])"},{"line_number":438,"context_line":"                    # NOTE(artom) If a device has neither tags, vlan or"},{"line_number":439,"context_line":"                    # vf_trusted, don\u0027t expose it"},{"line_number":440,"context_line":"                    if not (\u0027tags\u0027 in device or \u0027vlan\u0027 in device_metadata"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_98c85e55","line":437,"range":{"start_line":434,"start_character":20,"end_line":437,"end_character":58},"in_reply_to":"5f7c97a3_3d7edcae","updated":"2018-05-31 17:56:03.000000000","message":"Done","commit_id":"2649c265ff95d5b9599ac122aa24445bac90de53"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"dc7e84ba1fa2a8b9f73d9b94417dcc50a8d5abc7","unresolved":false,"context_lines":[{"line_number":431,"context_line":"                    device_metadata[\u0027vf_trusted\u0027] \u003d vf_trusted"},{"line_number":432,"context_line":"                    device_metadata[\u0027type\u0027] \u003d \u0027nic\u0027"},{"line_number":433,"context_line":"                    device_metadata[\u0027mac\u0027] \u003d device.mac"},{"line_number":434,"context_line":"                    if not vif_vlans_supported or vlan is None:"},{"line_number":435,"context_line":"                        del(device_metadata[\u0027vlan\u0027])"},{"line_number":436,"context_line":"                    if not vif_vfs_trusted_supported:"},{"line_number":437,"context_line":"                        del(device_metadata[\u0027vf_trusted\u0027])"},{"line_number":438,"context_line":"                    # NOTE(artom) If a device has neither tags, vlan or"},{"line_number":439,"context_line":"                    # vf_trusted, don\u0027t expose it"},{"line_number":440,"context_line":"                    if not (\u0027tags\u0027 in device or \u0027vlan\u0027 in device_metadata"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_b80c3aec","line":437,"range":{"start_line":434,"start_character":20,"end_line":437,"end_character":58},"in_reply_to":"5f7c97a3_3d7edcae","updated":"2018-05-31 17:40:43.000000000","message":"If we do keep this, we should probably add a comment about why we\u0027re doing it this way.","commit_id":"2649c265ff95d5b9599ac122aa24445bac90de53"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"b81a2b08d325f2a72d329dbb9440c2edfeacfd3a","unresolved":false,"context_lines":[{"line_number":431,"context_line":"                    device_metadata[\u0027vf_trusted\u0027] \u003d vf_trusted"},{"line_number":432,"context_line":"                    device_metadata[\u0027type\u0027] \u003d \u0027nic\u0027"},{"line_number":433,"context_line":"                    device_metadata[\u0027mac\u0027] \u003d device.mac"},{"line_number":434,"context_line":"                    if not vif_vlans_supported or vlan is None:"},{"line_number":435,"context_line":"                        del(device_metadata[\u0027vlan\u0027])"},{"line_number":436,"context_line":"                    if not vif_vfs_trusted_supported:"},{"line_number":437,"context_line":"                        del(device_metadata[\u0027vf_trusted\u0027])"},{"line_number":438,"context_line":"                    # NOTE(artom) If a device has neither tags, vlan or"},{"line_number":439,"context_line":"                    # vf_trusted, don\u0027t expose it"},{"line_number":440,"context_line":"                    if not (\u0027tags\u0027 in device or \u0027vlan\u0027 in device_metadata"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_b8251a5e","line":437,"range":{"start_line":434,"start_character":20,"end_line":437,"end_character":58},"in_reply_to":"5f7c97a3_b80c3aec","updated":"2018-05-31 17:49:40.000000000","message":"Should probably also mention the refactor in the commit message so it\u0027s not a surprise to others, could just say something simple like, \"Note the logic when dealing with NetworkInterfaceMetadata devices was refactored slightly in order to handle the existing cases where these types of devices are skipped.\"","commit_id":"2649c265ff95d5b9599ac122aa24445bac90de53"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9f1360b1086abaadad1fbacae5f80b731da7b612","unresolved":false,"context_lines":[{"line_number":431,"context_line":"                    device_metadata[\u0027vf_trusted\u0027] \u003d vf_trusted"},{"line_number":432,"context_line":"                    device_metadata[\u0027type\u0027] \u003d \u0027nic\u0027"},{"line_number":433,"context_line":"                    device_metadata[\u0027mac\u0027] \u003d device.mac"},{"line_number":434,"context_line":"                    if not vif_vlans_supported or vlan is None:"},{"line_number":435,"context_line":"                        del(device_metadata[\u0027vlan\u0027])"},{"line_number":436,"context_line":"                    if not vif_vfs_trusted_supported:"},{"line_number":437,"context_line":"                        del(device_metadata[\u0027vf_trusted\u0027])"},{"line_number":438,"context_line":"                    # NOTE(artom) If a device has neither tags, vlan or"},{"line_number":439,"context_line":"                    # vf_trusted, don\u0027t expose it"},{"line_number":440,"context_line":"                    if not (\u0027tags\u0027 in device or \u0027vlan\u0027 in device_metadata"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_78cd4264","line":437,"range":{"start_line":434,"start_character":20,"end_line":437,"end_character":58},"in_reply_to":"5f7c97a3_b8251a5e","updated":"2018-05-31 17:56:03.000000000","message":"Done","commit_id":"2649c265ff95d5b9599ac122aa24445bac90de53"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"228f796f1ba6645f8146e0ad85a16f482a2ae4d7","unresolved":false,"context_lines":[{"line_number":435,"context_line":"                        del(device_metadata[\u0027vlan\u0027])"},{"line_number":436,"context_line":"                    if not vif_vfs_trusted_supported:"},{"line_number":437,"context_line":"                        del(device_metadata[\u0027vf_trusted\u0027])"},{"line_number":438,"context_line":"                    # NOTE(artom) If a device has neither tags, vlan or"},{"line_number":439,"context_line":"                    # vf_trusted, don\u0027t expose it"},{"line_number":440,"context_line":"                    if not (\u0027tags\u0027 in device or \u0027vlan\u0027 in device_metadata"},{"line_number":441,"context_line":"                            or \u0027vf_trusted\u0027 in device_metadata):"},{"line_number":442,"context_line":"                        continue"},{"line_number":443,"context_line":"                elif isinstance(device, metadata_obj.DiskMetadata):"},{"line_number":444,"context_line":"                    device_metadata[\u0027type\u0027] \u003d \u0027disk\u0027"},{"line_number":445,"context_line":"                    # serial and path are optional parameters"}],"source_content_type":"text/x-python","patch_set":10,"id":"5f7c97a3_1d51a036","line":442,"range":{"start_line":438,"start_character":20,"end_line":442,"end_character":32},"updated":"2018-05-31 17:11:11.000000000","message":"OK so this is maintaining this pattern yes?\n\n# Skip devices without tags on versions that\n# don\u0027t support vlans\nif not (vlan or \u0027tags\u0027 in device):\n    continue\n\nI\u0027m not entirely sure why we ever did that, but we shouldn\u0027t change the behavior for the vlan/tags case anyway.","commit_id":"2649c265ff95d5b9599ac122aa24445bac90de53"}],"nova/tests/unit/test_metadata.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a184cb02ca32e2de5c759758f41615d2f4e4f01e","unresolved":false,"context_lines":[{"line_number":168,"context_line":"        mac\u003d\u002700:00:00:00:00:00\u0027,"},{"line_number":169,"context_line":"        tags\u003d[\u0027foo\u0027]"},{"line_number":170,"context_line":"    )"},{"line_number":171,"context_line":"    nic_vlans_obj \u003d metadata_obj.NetworkInterfaceMetadata("},{"line_number":172,"context_line":"        bus\u003dmetadata_obj.PCIDeviceBus(address\u003d\u00270000:80:01.0\u0027),"},{"line_number":173,"context_line":"        mac\u003d\u0027e3:a0:d0:12:c5:10\u0027,"},{"line_number":174,"context_line":"        vlan\u003d1000,"},{"line_number":175,"context_line":"        vf_trusted\u003dTrue,"},{"line_number":176,"context_line":"    )"},{"line_number":177,"context_line":"    ide_disk_obj \u003d metadata_obj.DiskMetadata("},{"line_number":178,"context_line":"        bus\u003dmetadata_obj.IDEDeviceBus(address\u003d\u00270:0\u0027),"},{"line_number":179,"context_line":"        serial\u003d\u0027disk-vol-2352423\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_364e1197","line":176,"range":{"start_line":171,"start_character":4,"end_line":176,"end_character":5},"updated":"2018-05-30 19:46:30.000000000","message":"Add a new metadata object to the list which doesn\u0027t have a vlan, because of the logic error pointed out in the code (and put tags on it).","commit_id":"bf968f58b8f609c3c9a7eb2f4578c61d725d9388"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"283b1406e3915cabb5d17d788b463ede01c5016d","unresolved":false,"context_lines":[{"line_number":168,"context_line":"        mac\u003d\u002700:00:00:00:00:00\u0027,"},{"line_number":169,"context_line":"        tags\u003d[\u0027foo\u0027]"},{"line_number":170,"context_line":"    )"},{"line_number":171,"context_line":"    nic_vlans_obj \u003d metadata_obj.NetworkInterfaceMetadata("},{"line_number":172,"context_line":"        bus\u003dmetadata_obj.PCIDeviceBus(address\u003d\u00270000:80:01.0\u0027),"},{"line_number":173,"context_line":"        mac\u003d\u0027e3:a0:d0:12:c5:10\u0027,"},{"line_number":174,"context_line":"        vlan\u003d1000,"},{"line_number":175,"context_line":"        vf_trusted\u003dTrue,"},{"line_number":176,"context_line":"    )"},{"line_number":177,"context_line":"    ide_disk_obj \u003d metadata_obj.DiskMetadata("},{"line_number":178,"context_line":"        bus\u003dmetadata_obj.IDEDeviceBus(address\u003d\u00270:0\u0027),"},{"line_number":179,"context_line":"        serial\u003d\u0027disk-vol-2352423\u0027,"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_b9b3f297","line":176,"range":{"start_line":171,"start_character":4,"end_line":176,"end_character":5},"in_reply_to":"5f7c97a3_364e1197","updated":"2018-05-31 02:16:58.000000000","message":"Done","commit_id":"bf968f58b8f609c3c9a7eb2f4578c61d725d9388"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a184cb02ca32e2de5c759758f41615d2f4e4f01e","unresolved":false,"context_lines":[{"line_number":241,"context_line":"    if include_vlan:"},{"line_number":242,"context_line":"        dicts +\u003d [vlan_nic_meta]"},{"line_number":243,"context_line":"    if include_vf_trusted:"},{"line_number":244,"context_line":"        nic_meta[\u0027vf_trusted\u0027] \u003d False"},{"line_number":245,"context_line":"        vlan_nic_meta[\u0027vf_trusted\u0027] \u003d True"},{"line_number":246,"context_line":"    return dicts"},{"line_number":247,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_7657a927","line":244,"updated":"2018-05-30 19:46:30.000000000","message":"Don\u0027t set this explicitly to make sure the code handles the default.","commit_id":"bf968f58b8f609c3c9a7eb2f4578c61d725d9388"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"47158508da54338f914136186064a5e6b3e9de79","unresolved":false,"context_lines":[{"line_number":241,"context_line":"    if include_vlan:"},{"line_number":242,"context_line":"        dicts +\u003d [vlan_nic_meta]"},{"line_number":243,"context_line":"    if include_vf_trusted:"},{"line_number":244,"context_line":"        nic_meta[\u0027vf_trusted\u0027] \u003d False"},{"line_number":245,"context_line":"        vlan_nic_meta[\u0027vf_trusted\u0027] \u003d True"},{"line_number":246,"context_line":"    return dicts"},{"line_number":247,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_fd9624f0","line":244,"in_reply_to":"5f7c97a3_39084290","updated":"2018-05-31 17:05:11.000000000","message":"OK, I didn\u0027t realize this method was generating the expected results.","commit_id":"bf968f58b8f609c3c9a7eb2f4578c61d725d9388"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"283b1406e3915cabb5d17d788b463ede01c5016d","unresolved":false,"context_lines":[{"line_number":241,"context_line":"    if include_vlan:"},{"line_number":242,"context_line":"        dicts +\u003d [vlan_nic_meta]"},{"line_number":243,"context_line":"    if include_vf_trusted:"},{"line_number":244,"context_line":"        nic_meta[\u0027vf_trusted\u0027] \u003d False"},{"line_number":245,"context_line":"        vlan_nic_meta[\u0027vf_trusted\u0027] \u003d True"},{"line_number":246,"context_line":"    return dicts"},{"line_number":247,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_39084290","line":244,"in_reply_to":"5f7c97a3_7657a927","updated":"2018-05-31 02:16:58.000000000","message":"I think we do need to set it since we\u0027re asserting the metadata generated from our fake_metadata_objects() will be equal to this.","commit_id":"bf968f58b8f609c3c9a7eb2f4578c61d725d9388"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a184cb02ca32e2de5c759758f41615d2f4e4f01e","unresolved":false,"context_lines":[{"line_number":242,"context_line":"        dicts +\u003d [vlan_nic_meta]"},{"line_number":243,"context_line":"    if include_vf_trusted:"},{"line_number":244,"context_line":"        nic_meta[\u0027vf_trusted\u0027] \u003d False"},{"line_number":245,"context_line":"        vlan_nic_meta[\u0027vf_trusted\u0027] \u003d True"},{"line_number":246,"context_line":"    return dicts"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_36337116","line":245,"range":{"start_line":245,"start_character":8,"end_line":245,"end_character":21},"updated":"2018-05-30 19:46:30.000000000","message":"Don\u0027t re-use the vlan one, see above.","commit_id":"bf968f58b8f609c3c9a7eb2f4578c61d725d9388"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"283b1406e3915cabb5d17d788b463ede01c5016d","unresolved":false,"context_lines":[{"line_number":242,"context_line":"        dicts +\u003d [vlan_nic_meta]"},{"line_number":243,"context_line":"    if include_vf_trusted:"},{"line_number":244,"context_line":"        nic_meta[\u0027vf_trusted\u0027] \u003d False"},{"line_number":245,"context_line":"        vlan_nic_meta[\u0027vf_trusted\u0027] \u003d True"},{"line_number":246,"context_line":"    return dicts"},{"line_number":247,"context_line":""},{"line_number":248,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_796b1a84","line":245,"range":{"start_line":245,"start_character":8,"end_line":245,"end_character":21},"in_reply_to":"5f7c97a3_36337116","updated":"2018-05-31 02:16:58.000000000","message":"Done","commit_id":"bf968f58b8f609c3c9a7eb2f4578c61d725d9388"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a184cb02ca32e2de5c759758f41615d2f4e4f01e","unresolved":false,"context_lines":[{"line_number":576,"context_line":"        if md._check_os_version(base.NEWTON_ONE, os_version):"},{"line_number":577,"context_line":"            expose_vlan \u003d md._check_os_version(base.OCATA, os_version)"},{"line_number":578,"context_line":"            expected_metadata[\u0027devices\u0027] \u003d fake_metadata_dicts(expose_vlan)"},{"line_number":579,"context_line":"        if md._check_os_version(base.OCATA, os_version):"},{"line_number":580,"context_line":"            expose_trusted \u003d md._check_os_version(base.ROCKY, os_version)"},{"line_number":581,"context_line":"            expected_metadata[\u0027devices\u0027] \u003d fake_metadata_dicts("},{"line_number":582,"context_line":"                True, expose_trusted)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_f63899ee","line":579,"range":{"start_line":579,"start_character":37,"end_line":579,"end_character":42},"updated":"2018-05-30 19:46:30.000000000","message":"Why isn\u0027t this just ROCKY?","commit_id":"bf968f58b8f609c3c9a7eb2f4578c61d725d9388"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"47158508da54338f914136186064a5e6b3e9de79","unresolved":false,"context_lines":[{"line_number":576,"context_line":"        if md._check_os_version(base.NEWTON_ONE, os_version):"},{"line_number":577,"context_line":"            expose_vlan \u003d md._check_os_version(base.OCATA, os_version)"},{"line_number":578,"context_line":"            expected_metadata[\u0027devices\u0027] \u003d fake_metadata_dicts(expose_vlan)"},{"line_number":579,"context_line":"        if md._check_os_version(base.OCATA, os_version):"},{"line_number":580,"context_line":"            expose_trusted \u003d md._check_os_version(base.ROCKY, os_version)"},{"line_number":581,"context_line":"            expected_metadata[\u0027devices\u0027] \u003d fake_metadata_dicts("},{"line_number":582,"context_line":"                True, expose_trusted)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_9d85b0af","line":579,"range":{"start_line":579,"start_character":37,"end_line":579,"end_character":42},"in_reply_to":"5f7c97a3_1910e6ff","updated":"2018-05-31 17:05:11.000000000","message":"OK, and I noticed the pattern above, it just looks a bit weird.","commit_id":"bf968f58b8f609c3c9a7eb2f4578c61d725d9388"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"283b1406e3915cabb5d17d788b463ede01c5016d","unresolved":false,"context_lines":[{"line_number":576,"context_line":"        if md._check_os_version(base.NEWTON_ONE, os_version):"},{"line_number":577,"context_line":"            expose_vlan \u003d md._check_os_version(base.OCATA, os_version)"},{"line_number":578,"context_line":"            expected_metadata[\u0027devices\u0027] \u003d fake_metadata_dicts(expose_vlan)"},{"line_number":579,"context_line":"        if md._check_os_version(base.OCATA, os_version):"},{"line_number":580,"context_line":"            expose_trusted \u003d md._check_os_version(base.ROCKY, os_version)"},{"line_number":581,"context_line":"            expected_metadata[\u0027devices\u0027] \u003d fake_metadata_dicts("},{"line_number":582,"context_line":"                True, expose_trusted)"}],"source_content_type":"text/x-python","patch_set":7,"id":"5f7c97a3_1910e6ff","line":579,"range":{"start_line":579,"start_character":37,"end_line":579,"end_character":42},"in_reply_to":"5f7c97a3_f63899ee","updated":"2018-05-31 02:16:58.000000000","message":"I think the idea is that, if we\u0027re in ocata or higher, we\u0027re either in ocata itself, in which case expose_trusted will be False and we test that code path, or we\u0027re in rocky, and expose_trusted will be true, and we\u0027ll test that code path.","commit_id":"bf968f58b8f609c3c9a7eb2f4578c61d725d9388"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"6bfab8c45e134c93edcdd6dacf2455266e872924","unresolved":false,"context_lines":[{"line_number":251,"context_line":"    usb_disk_meta[\u0027address\u0027] \u003d \u002705c8:021e\u0027"},{"line_number":252,"context_line":""},{"line_number":253,"context_line":"    dicts \u003d [nic_meta, ide_disk_meta, scsi_disk_meta, usb_disk_meta,"},{"line_number":254,"context_line":"             vf_trusted_nic_meta]"},{"line_number":255,"context_line":"    if include_vlan:"},{"line_number":256,"context_line":"        # NOTE(artom) Yeah, the order is important."},{"line_number":257,"context_line":"        dicts.insert(len(dicts) - 1, vlan_nic_meta)"},{"line_number":258,"context_line":"    if include_vf_trusted:"},{"line_number":259,"context_line":"        nic_meta[\u0027vf_trusted\u0027] \u003d False"},{"line_number":260,"context_line":"        vlan_nic_meta[\u0027vf_trusted\u0027] \u003d False"}],"source_content_type":"text/x-python","patch_set":11,"id":"5f7c97a3_70a54d02","line":257,"range":{"start_line":254,"start_character":0,"end_line":257,"end_character":51},"updated":"2018-06-01 10:25:51.000000000","message":"nit: This seems more complicated than necessary\n\n   dicts \u003d [nic_meta, ide_disk_meta, scsi_disk_meta, usb_disk_meta]\n   if include_vlan:\n       dicts +\u003d [vlan_nic_meta]\n   dicts +\u003d [vf_trusted_nic_meta]\n\n...is more to the point","commit_id":"f9ddddc3586193f4edd5f7bb2a05e91b7d15b494"}],"releasenotes/notes/trusted-metatada-b999f1417f678c44.yaml":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"3fc10e7bd507038183902658862c81ecbfaf85a5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    A trusted tag which indicates trusted status for VFs associated of"},{"line_number":5,"context_line":"    network interfaces are now exposed via the metadata API and"},{"line_number":6,"context_line":"    instance config drives."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"5f7c97a3_957df21d","line":4,"range":{"start_line":4,"start_character":68,"end_line":4,"end_character":70},"updated":"2018-05-23 22:52:12.000000000","message":"with","commit_id":"9c54fedffc3088e25696975f3e2c52d8b6b72460"},{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"3fc10e7bd507038183902658862c81ecbfaf85a5","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    A trusted tag which indicates trusted status for VFs associated of"},{"line_number":5,"context_line":"    network interfaces are now exposed via the metadata API and"},{"line_number":6,"context_line":"    instance config drives."}],"source_content_type":"text/x-yaml","patch_set":3,"id":"5f7c97a3_b5782e2b","line":5,"range":{"start_line":5,"start_character":23,"end_line":5,"end_character":26},"updated":"2018-05-23 22:52:12.000000000","message":"is","commit_id":"9c54fedffc3088e25696975f3e2c52d8b6b72460"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a184cb02ca32e2de5c759758f41615d2f4e4f01e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    A trusted tag which indicates trusted status for VFs associated with"},{"line_number":5,"context_line":"    network interfaces is now exposed via the metadata API and"},{"line_number":6,"context_line":"    instance config drives."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"5f7c97a3_762c89ab","line":4,"range":{"start_line":4,"start_character":6,"end_line":4,"end_character":13},"updated":"2018-05-30 19:46:30.000000000","message":"``vf_trusted``","commit_id":"bf968f58b8f609c3c9a7eb2f4578c61d725d9388"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a184cb02ca32e2de5c759758f41615d2f4e4f01e","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    A trusted tag which indicates trusted status for VFs associated with"},{"line_number":5,"context_line":"    network interfaces is now exposed via the metadata API and"},{"line_number":6,"context_line":"    instance config drives."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"5f7c97a3_f611795e","line":6,"updated":"2018-05-30 19:46:30.000000000","message":"nit: we could also mention it shows up in the list of ``devices`` in ``meta_data.json`` but only for version ``2018-08-27`` or later.","commit_id":"bf968f58b8f609c3c9a7eb2f4578c61d725d9388"},{"author":{"_account_id":8864,"name":"Artom Lifshitz","email":"notartom@gmail.com","username":"artom"},"change_message_id":"283b1406e3915cabb5d17d788b463ede01c5016d","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    A trusted tag which indicates trusted status for VFs associated with"},{"line_number":5,"context_line":"    network interfaces is now exposed via the metadata API and"},{"line_number":6,"context_line":"    instance config drives."}],"source_content_type":"text/x-yaml","patch_set":7,"id":"5f7c97a3_59689ef3","line":6,"in_reply_to":"5f7c97a3_f611795e","updated":"2018-05-31 02:16:58.000000000","message":"Rewrote the note, hope it won\u0027t cause more nits and that Sahid won\u0027t mind.","commit_id":"bf968f58b8f609c3c9a7eb2f4578c61d725d9388"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"228f796f1ba6645f8146e0ad85a16f482a2ae4d7","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    As of the ``2018-08-27`` metadata version, a boolean ``vf_trusted`` key"},{"line_number":5,"context_line":"    appears for all network interface ``devices`` in ``meta_data.json``,"},{"line_number":6,"context_line":"    indicating whether the device is a trusted virtual function or not."}],"source_content_type":"text/x-yaml","patch_set":10,"id":"5f7c97a3_fd64e423","line":4,"range":{"start_line":4,"start_character":29,"end_line":4,"end_character":37},"updated":"2018-05-31 17:11:11.000000000","message":"nit: metadata API version","commit_id":"2649c265ff95d5b9599ac122aa24445bac90de53"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9f1360b1086abaadad1fbacae5f80b731da7b612","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    As of the ``2018-08-27`` metadata version, a boolean ``vf_trusted`` key"},{"line_number":5,"context_line":"    appears for all network interface ``devices`` in ``meta_data.json``,"},{"line_number":6,"context_line":"    indicating whether the device is a trusted virtual function or not."}],"source_content_type":"text/x-yaml","patch_set":10,"id":"5f7c97a3_38c34a3a","line":4,"range":{"start_line":4,"start_character":29,"end_line":4,"end_character":37},"in_reply_to":"5f7c97a3_fd64e423","updated":"2018-05-31 17:56:03.000000000","message":"Done","commit_id":"2649c265ff95d5b9599ac122aa24445bac90de53"}]}
