)]}'
{"nova/compute/api.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"5f8f6ee63e7087372c28f998c391975bf726a1cd","unresolved":false,"context_lines":[{"line_number":424,"context_line":"        for secgroup in secgroups:"},{"line_number":425,"context_line":"            # NOTE(sdague): default is handled special"},{"line_number":426,"context_line":"            if secgroup \u003d\u003d \"default\":"},{"line_number":427,"context_line":"                continue"},{"line_number":428,"context_line":"            secgroup_obj \u003d self.security_group_api.get(context, secgroup)"},{"line_number":429,"context_line":"            if not secgroup_obj:"},{"line_number":430,"context_line":"                raise exception.SecurityGroupNotFoundForProject("}],"source_content_type":"text/x-python","patch_set":1,"id":"9a629dbe_d0955d87","line":427,"updated":"2016-11-09 18:10:40.000000000","message":"crap this would be lost, need to add it in","commit_id":"69504483c92b059b20cadc5f939c43d77651709e"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a887c1ec6e1269feec95cfd79f55a3ef0d2ed2ac","unresolved":false,"context_lines":[{"line_number":418,"context_line":"        :returns: list of requested security group names unmodified if using"},{"line_number":419,"context_line":"            nova-network. If using Neutron, the list returned is all uuids."},{"line_number":420,"context_line":"            Note that \u0027default\u0027 is a special case and will be unmodified if"},{"line_number":421,"context_line":"            it\u0027s requested."},{"line_number":422,"context_line":"        \"\"\""},{"line_number":423,"context_line":"        security_groups \u003d []"},{"line_number":424,"context_line":"        for secgroup in secgroups:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a629dbe_9015a54a","line":421,"updated":"2016-11-09 18:29:45.000000000","message":"Hmm, so for n-net we will persist only names and for neutron only uuids? I mean, I guess that\u0027s okay, but it seems like for neutron it would be good to persist the name and uuid, just in case it matters later.","commit_id":"47246bf75123012e74c53b5fc032e22da110eb7c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"88509fec32dbae9eb178371bed1720edb46c9f07","unresolved":false,"context_lines":[{"line_number":418,"context_line":"        :returns: list of requested security group names unmodified if using"},{"line_number":419,"context_line":"            nova-network. If using Neutron, the list returned is all uuids."},{"line_number":420,"context_line":"            Note that \u0027default\u0027 is a special case and will be unmodified if"},{"line_number":421,"context_line":"            it\u0027s requested."},{"line_number":422,"context_line":"        \"\"\""},{"line_number":423,"context_line":"        security_groups \u003d []"},{"line_number":424,"context_line":"        for secgroup in secgroups:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a629dbe_f37fcba8","line":421,"in_reply_to":"9a629dbe_9015a54a","updated":"2016-11-09 18:54:53.000000000","message":"I thought we agreed that we didn\u0027t care about the security group name for neutron b/c it\u0027s mutable and not unique.","commit_id":"47246bf75123012e74c53b5fc032e22da110eb7c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"2bf282b674ffb44bed15d172dcb62e91bb4ced9c","unresolved":false,"context_lines":[{"line_number":418,"context_line":"        :returns: list of requested security group names unmodified if using"},{"line_number":419,"context_line":"            nova-network. If using Neutron, the list returned is all uuids."},{"line_number":420,"context_line":"            Note that \u0027default\u0027 is a special case and will be unmodified if"},{"line_number":421,"context_line":"            it\u0027s requested."},{"line_number":422,"context_line":"        \"\"\""},{"line_number":423,"context_line":"        security_groups \u003d []"},{"line_number":424,"context_line":"        for secgroup in secgroups:"}],"source_content_type":"text/x-python","patch_set":2,"id":"9a629dbe_84a3a7ff","line":421,"in_reply_to":"9a629dbe_f37fcba8","updated":"2016-11-09 19:44:38.000000000","message":"I was saying/thinking that we\u0027d store both.. we can still only honor/favor uuid if it\u0027s present, but .. whatever.","commit_id":"47246bf75123012e74c53b5fc032e22da110eb7c"},{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"a887c1ec6e1269feec95cfd79f55a3ef0d2ed2ac","unresolved":false,"context_lines":[{"line_number":435,"context_line":"            if isinstance(secgroup_obj[\u0027id\u0027], int):"},{"line_number":436,"context_line":"                # This is nova-network so just return the requested name."},{"line_number":437,"context_line":"                security_groups.append(secgroup)"},{"line_number":438,"context_line":"            else:"},{"line_number":439,"context_line":"                # The id for neutron is a uuid, so we return the id (uuid)."},{"line_number":440,"context_line":"                security_groups.append(secgroup_obj[\u0027id\u0027])"},{"line_number":441,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a629dbe_506a2def","line":438,"updated":"2016-11-09 18:29:45.000000000","message":"We might want to check for uuid-ness instead of int-ness, right? just to be more strict if we\u0027re going to make secgroup have a UUIDfield. On the other hand, we could make it a string, not enforce uuidness (for teh futurez) and then just check string-ness here.","commit_id":"47246bf75123012e74c53b5fc032e22da110eb7c"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"88509fec32dbae9eb178371bed1720edb46c9f07","unresolved":false,"context_lines":[{"line_number":435,"context_line":"            if isinstance(secgroup_obj[\u0027id\u0027], int):"},{"line_number":436,"context_line":"                # This is nova-network so just return the requested name."},{"line_number":437,"context_line":"                security_groups.append(secgroup)"},{"line_number":438,"context_line":"            else:"},{"line_number":439,"context_line":"                # The id for neutron is a uuid, so we return the id (uuid)."},{"line_number":440,"context_line":"                security_groups.append(secgroup_obj[\u0027id\u0027])"},{"line_number":441,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"9a629dbe_531f976b","line":438,"in_reply_to":"9a629dbe_506a2def","updated":"2016-11-09 18:54:53.000000000","message":"If SecurityGroup has a uuid field, it would only be set by the neutron security_group_api.get() since nova-net doesn\u0027t have that concept. The SecurityGroup.id in neutron will never be an int, so that\u0027s why I checked int.\n\nNow if we handled the NeutronSecurityGroup object like this:\n\nhttps://github.com/openstack/nova/blob/569e463f02b0a631d341b06849217657a22c4569/nova/objects/floating_ip.py#L236\n\nThen the id field could be a uuid and we\u0027d need to check that yeah.\n\nHowever, secgroup_obj is just a dict, it\u0027s not actually an object, so that name is a bit confusing.\n\nhttps://github.com/openstack/nova/blob/569e463f02b0a631d341b06849217657a22c4569/nova/network/security_group/neutron_driver.py#L102\n\nSo I think what I\u0027m saying is we could do either but right here in this code it doesn\u0027t matter really.","commit_id":"47246bf75123012e74c53b5fc032e22da110eb7c"}],"nova/network/neutronv2/api.py":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"a4d5f64759ce19bda132bf9a7dff4cbfa3cf9784","unresolved":false,"context_lines":[{"line_number":1423,"context_line":"        Create a PCI request object for each SR-IOV port, and add it to the"},{"line_number":1424,"context_line":"        pci_requests object that contains a list of PCI request object."},{"line_number":1425,"context_line":"        \"\"\""},{"line_number":1426,"context_line":"        if not requested_networks or requested_networks.no_allocate:"},{"line_number":1427,"context_line":"            return"},{"line_number":1428,"context_line":""},{"line_number":1429,"context_line":"        neutron \u003d get_client(context, admin\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a629dbe_cf2905e8","line":1426,"updated":"2016-11-10 18:42:13.000000000","message":"The compute API unit tests are no longer using neutron so I think I can drop this.","commit_id":"d5e34cd7fa5419962efa8a0d8ad528aea2eddff6"}]}
