)]}'
{"octavia/compute/drivers/nova_driver.py":[{"author":{"_account_id":10980,"name":"Doug Wiegley","email":"dougwig@parkside.io","username":"dougw"},"change_message_id":"9039cb4ddf7524afde26acd4ceb9a040e23c7648","unresolved":false,"context_lines":[{"line_number":86,"context_line":"        :returns: constant of amphora status"},{"line_number":87,"context_line":"        \u0027\u0027\u0027"},{"line_number":88,"context_line":"        try:"},{"line_number":89,"context_line":"            if self.get_amphora(amphora_id\u003damphora_id).status \u003d\u003d \u0027ACTIVE\u0027:"},{"line_number":90,"context_line":"                return constants.AMPHORA_UP"},{"line_number":91,"context_line":"        except Exception:"},{"line_number":92,"context_line":"            LOG.exception(_LE(\"Error retrieving nova virtual machine status.\"))"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_f7b9b2cb","line":89,"updated":"2015-01-15 22:09:34.000000000","message":"get_amphora never returns None?","commit_id":"f1953870b27f09e669b6b025748202cf35984739"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"d1455640c0beea1f876c84074014c269aacb70ed","unresolved":false,"context_lines":[{"line_number":90,"context_line":"                return constants.AMPHORA_UP"},{"line_number":91,"context_line":"        except Exception:"},{"line_number":92,"context_line":"            LOG.exception(_LE(\"Error retrieving nova virtual machine status.\"))"},{"line_number":93,"context_line":"            raise exceptions.ComputeStatusException()"},{"line_number":94,"context_line":"        return constants.AMPHORA_DOWN"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    def get_amphora(self, amphora_id):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_7a0e8933","line":93,"updated":"2015-01-15 22:26:32.000000000","message":"Nit about consistent style, per Trevor below.","commit_id":"f1953870b27f09e669b6b025748202cf35984739"},{"author":{"_account_id":10806,"name":"Trevor Vardeman","email":"tvardema@redhat.com","username":"tvardeman"},"change_message_id":"f924cf10006322aaa0b0251853f71a66ca6958bf","unresolved":false,"context_lines":[{"line_number":105,"context_line":"        except Exception:"},{"line_number":106,"context_line":"            LOG.exception(_LE(\"Error retrieving nova virtual machine.\"))"},{"line_number":107,"context_line":"            raise exceptions.ComputeGetException()"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        return self._translate_amphora(amphora)"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    def _translate_amphora(self, nova_response):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_979b0e72","line":108,"updated":"2015-01-15 22:09:40.000000000","message":"nit:  why add a space here but not on like 94?","commit_id":"f1953870b27f09e669b6b025748202cf35984739"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"d1455640c0beea1f876c84074014c269aacb70ed","unresolved":false,"context_lines":[{"line_number":105,"context_line":"        except Exception:"},{"line_number":106,"context_line":"            LOG.exception(_LE(\"Error retrieving nova virtual machine.\"))"},{"line_number":107,"context_line":"            raise exceptions.ComputeGetException()"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"        return self._translate_amphora(amphora)"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    def _translate_amphora(self, nova_response):"}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_daff7dff","line":108,"in_reply_to":"3a961159_979b0e72","updated":"2015-01-15 22:26:32.000000000","message":"My reaction would be to add the space on 94 and keep it here. :P","commit_id":"f1953870b27f09e669b6b025748202cf35984739"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"d1455640c0beea1f876c84074014c269aacb70ed","unresolved":false,"context_lines":[{"line_number":124,"context_line":"        response \u003d models.Amphora("},{"line_number":125,"context_line":"            compute_id\u003dnova_response.id,"},{"line_number":126,"context_line":"            status\u003dnova_response.status,"},{"line_number":127,"context_line":"            lb_network_ip\u003dlb_network_ip"},{"line_number":128,"context_line":"        )"},{"line_number":129,"context_line":"        return response"},{"line_number":130,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"3a961159_5789a6c8","line":127,"updated":"2015-01-15 22:26:32.000000000","message":"As long as the Amphora model can handle lb_network_ip being a list (ipv4 and ipv6) then this should all work fine for us too.\n\n\u003e\u003e\u003e print(lb_network_id)\n\n[u\u0027198.37.153.21\u0027, u\u00272001::f6fb\u0027]","commit_id":"f1953870b27f09e669b6b025748202cf35984739"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"8724b55f82406c7c8d19dee39fa3eeddca37186b","unresolved":false,"context_lines":[{"line_number":62,"context_line":"            amphora \u003d self.manager.create("},{"line_number":63,"context_line":"                name\u003dname, image\u003dimage_id, flavor\u003damphora_flavor,"},{"line_number":64,"context_line":"                key_name\u003dkey_name, security_groups\u003dsec_groups,"},{"line_number":65,"context_line":"                nics\u003dnetwork_ids)"},{"line_number":66,"context_line":"            return amphora.id"},{"line_number":67,"context_line":"        except Exception:"},{"line_number":68,"context_line":"            LOG.exception(_LE(\"Error building nova virtual machine.\"))"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_89ecaa2a","line":65,"updated":"2015-01-17 07:38:53.000000000","message":"kwarg nics needs to be a list of dictionaries of the form [{\u0027net-id\u0027: \u0027NETWORK_ID\u0027},..].  We may as well fix it here.","commit_id":"b8089b9865d4f79c2b4120a3d78b041c3662be81"},{"author":{"_account_id":10806,"name":"Trevor Vardeman","email":"tvardema@redhat.com","username":"tvardeman"},"change_message_id":"bb634ea1722494a463baf04db37d83a1562cd9f1","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        \u0027\u0027\u0027"},{"line_number":88,"context_line":"        try:"},{"line_number":89,"context_line":"            amphora \u003d self.get_amphora(amphora_id\u003damphora_id)"},{"line_number":90,"context_line":"            if amphora and amphora .status \u003d\u003d \u0027ACTIVE\u0027:"},{"line_number":91,"context_line":"                return constants.AMPHORA_UP"},{"line_number":92,"context_line":"        except Exception:"},{"line_number":93,"context_line":"            LOG.exception(_LE(\"Error retrieving nova virtual machine status.\"))"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_8dee7d89","line":90,"updated":"2015-01-16 21:38:06.000000000","message":"Extra space here:  Should be \"amphora.status\"","commit_id":"b8089b9865d4f79c2b4120a3d78b041c3662be81"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"8724b55f82406c7c8d19dee39fa3eeddca37186b","unresolved":false,"context_lines":[{"line_number":118,"context_line":"        # fields"},{"line_number":119,"context_line":"        lb_network_ip \u003d None"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"        for interface in nova_response.networks:"},{"line_number":122,"context_line":"            if interface \u003d\u003d CONF.networking.lb_network_id:"},{"line_number":123,"context_line":"                lb_network_ip \u003d nova_response.networks[interface]"},{"line_number":124,"context_line":"        response \u003d models.Amphora("}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_29bad60a","line":121,"updated":"2015-01-17 07:38:53.000000000","message":"So after some playing around I remember why we chose the other way to do this, its because this is a dictionary with key of network name, not the unique id.  If this server is put on two networks with the same name, then the dictionary entry for that network will have a list containing two ips.\n\nFor Example if there are 2 networks, both with the name of \"public\", then nova_response.networks will look like:\n\n{\u0027public\u0027: [10.0.0.1\u0027, \u0027192.0.0.1\u0027]}\n\nAnyway, I think its okay to use this for now, and we can improve this later when have issues but for now we can just make sure we name the lb_network to something unique.","commit_id":"b8089b9865d4f79c2b4120a3d78b041c3662be81"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"8724b55f82406c7c8d19dee39fa3eeddca37186b","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        lb_network_ip \u003d None"},{"line_number":120,"context_line":""},{"line_number":121,"context_line":"        for interface in nova_response.networks:"},{"line_number":122,"context_line":"            if interface \u003d\u003d CONF.networking.lb_network_id:"},{"line_number":123,"context_line":"                lb_network_ip \u003d nova_response.networks[interface]"},{"line_number":124,"context_line":"        response \u003d models.Amphora("},{"line_number":125,"context_line":"            compute_id\u003dnova_response.id,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_0946fa20","line":122,"updated":"2015-01-17 07:38:53.000000000","message":"since the nova_response.networks dictionary is keyed of network names, this should probably be changed to lb_network_name in the config.","commit_id":"b8089b9865d4f79c2b4120a3d78b041c3662be81"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"8724b55f82406c7c8d19dee39fa3eeddca37186b","unresolved":false,"context_lines":[{"line_number":120,"context_line":""},{"line_number":121,"context_line":"        for interface in nova_response.networks:"},{"line_number":122,"context_line":"            if interface \u003d\u003d CONF.networking.lb_network_id:"},{"line_number":123,"context_line":"                lb_network_ip \u003d nova_response.networks[interface]"},{"line_number":124,"context_line":"        response \u003d models.Amphora("},{"line_number":125,"context_line":"            compute_id\u003dnova_response.id,"},{"line_number":126,"context_line":"            status\u003dnova_response.status,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_49b56217","line":123,"updated":"2015-01-17 07:38:53.000000000","message":"I believe this should be nova_response.networks[interface][0]","commit_id":"b8089b9865d4f79c2b4120a3d78b041c3662be81"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"11951987cb176230b909f961def871e517e60d1f","unresolved":false,"context_lines":[{"line_number":120,"context_line":""},{"line_number":121,"context_line":"        for interface in nova_response.networks:"},{"line_number":122,"context_line":"            if interface \u003d\u003d CONF.networking.lb_network_id:"},{"line_number":123,"context_line":"                lb_network_ip \u003d nova_response.networks[interface]"},{"line_number":124,"context_line":"        response \u003d models.Amphora("},{"line_number":125,"context_line":"            compute_id\u003dnova_response.id,"},{"line_number":126,"context_line":"            status\u003dnova_response.status,"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_a5a23fab","line":123,"in_reply_to":"3a961159_49b56217","updated":"2015-01-19 22:36:22.000000000","message":"Yeah. So, I have another question about this too:\n\nIn [92]: nova_response.networks\nOut[92]:\n{u\u0027private\u0027: [u\u002710.180.4.253\u0027],\n u\u0027public\u0027: [u\u0027198.61.193.201\u0027, u\u00272001:4800:780e:0510:c334:575d:ff01:f6fb\u0027]}\n\nIn [93]: nova_response.addresses\nOut[93]:\n{u\u0027private\u0027: [{u\u0027addr\u0027: u\u002710.180.4.253\u0027, u\u0027version\u0027: 4}],\n u\u0027public\u0027: [{u\u0027addr\u0027: u\u0027198.61.193.201\u0027, u\u0027version\u0027: 4},\n  {u\u0027addr\u0027: u\u00272001:4800:780e:0510:c334:575d:ff01:f6fb\u0027, u\u0027version\u0027: 6}]}\n\n\nMight we want to use the \u0027addresses\u0027 structure so we have it automatically showing us the IP Version? We really should be accounting for IP Version (the current code does not), and even doing a straight replacement it\u0027d just be as below (and we could do something with the version later):\n\nnova_response.networks[lb_network_name][0][\u0027addr\u0027]","commit_id":"b8089b9865d4f79c2b4120a3d78b041c3662be81"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"8724b55f82406c7c8d19dee39fa3eeddca37186b","unresolved":false,"context_lines":[{"line_number":153,"context_line":"            except Exception:"},{"line_number":154,"context_line":"                with excutils.save_and_reraise_exception():"},{"line_number":155,"context_line":"                    LOG.exception(_LE(\"Error creating Keystone session.\"))"},{"line_number":156,"context_line":"                    LOG.info()"},{"line_number":157,"context_line":"        return cls._keystone_session"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_c96dd2cc","line":156,"updated":"2015-01-17 07:38:53.000000000","message":"This probably causes an error.  Whats the point of it? I know it came from the first commit, so maybe Trevor can answer this.","commit_id":"b8089b9865d4f79c2b4120a3d78b041c3662be81"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"8724b55f82406c7c8d19dee39fa3eeddca37186b","unresolved":false,"context_lines":[{"line_number":159,"context_line":"    @classmethod"},{"line_number":160,"context_line":"    def get_nova_client(cls, region):"},{"line_number":161,"context_line":"        \"\"\"Create nova client object."},{"line_number":162,"context_line":""},{"line_number":163,"context_line":"        :return: a Nova Client object."},{"line_number":164,"context_line":"        :raises Exception: if the client cannot be created"},{"line_number":165,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_e9128e56","line":162,"updated":"2015-01-17 07:38:53.000000000","message":"Need a region docstring here.","commit_id":"b8089b9865d4f79c2b4120a3d78b041c3662be81"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"2696c496ddab231b370b295b42f8518cfaa00975","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        lb_network_ip \u003d None"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        for network_name in nova_response.addresses:"},{"line_number":126,"context_line":"            if network_name \u003d\u003d CONF.networking.lb_network_name:"},{"line_number":127,"context_line":"                lb_network_ip \u003d ("},{"line_number":128,"context_line":"                    nova_response.addresses[network_name][0][\u0027addr\u0027])"},{"line_number":129,"context_line":"        response \u003d models.Amphora("}],"source_content_type":"text/x-python","patch_set":3,"id":"1a930d6b_1abc616c","line":126,"updated":"2015-01-20 23:10:02.000000000","message":"So, I am still concerned about naming collisions, since network names are not guaranteed to be unique -- are we really planning to just kick this can down the road to v1 or v2?","commit_id":"a54f88498d9a3145271c79c5094d0191a9fc6dde"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"c59561e78b99130e2721e915c9cb4aafe7f0886a","unresolved":false,"context_lines":[{"line_number":123,"context_line":"        lb_network_ip \u003d None"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        for network_name in nova_response.addresses:"},{"line_number":126,"context_line":"            if network_name \u003d\u003d CONF.networking.lb_network_name:"},{"line_number":127,"context_line":"                lb_network_ip \u003d ("},{"line_number":128,"context_line":"                    nova_response.addresses[network_name][0][\u0027addr\u0027])"},{"line_number":129,"context_line":"        response \u003d models.Amphora("}],"source_content_type":"text/x-python","patch_set":3,"id":"1a930d6b_c38f3a22","line":126,"in_reply_to":"1a930d6b_1abc616c","updated":"2015-01-21 17:18:34.000000000","message":"Agreed. I am checking with my people if we can have the interfaces extension. My suggestion is (a bit modeled after Doug\u0027s) that we make two drivers: One with addresses and one using interfaces and we encourage people to install the interface extension? Since I can\u0027t test the interfaces easily I would leave it to you to submit a patch...","commit_id":"a54f88498d9a3145271c79c5094d0191a9fc6dde"}],"octavia/tests/unit/amphorae/drivers/test_nova_driver.py":[{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"dd38bb961d46af0859f7d992704b603b270e7e5f","unresolved":false,"context_lines":[{"line_number":9,"context_line":"#    Unless required by applicable law or agreed to in writing, software"},{"line_number":10,"context_line":"#    distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT"},{"line_number":11,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":12,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":"from keystoneclient import session"},{"line_number":15,"context_line":"import mock"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_29ff36ac","line":12,"updated":"2015-01-17 07:48:58.000000000","message":"Would you mind changing the location of this file to octava/tests/unit/compute/drivers? pretty please?","commit_id":"b8089b9865d4f79c2b4120a3d78b041c3662be81"},{"author":{"_account_id":6951,"name":"Brandon Logan","email":"brandon.logan@rackspace.com","username":"brandon-logan"},"change_message_id":"dd38bb961d46af0859f7d992704b603b270e7e5f","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        self.nova_response \u003d mock.Mock()"},{"line_number":44,"context_line":"        self.nova_response.id \u003d self.amphora.compute_id"},{"line_number":45,"context_line":"        self.nova_response.status \u003d \u0027ACTIVE\u0027"},{"line_number":46,"context_line":"        self.nova_response.networks \u003d {net_id: \u002710.0.0.1\u0027}"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        self.manager \u003d nova_common.VirtualMachineManager()"},{"line_number":49,"context_line":"        self.manager.manager \u003d mock.MagicMock()"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_69d3fe37","line":46,"updated":"2015-01-17 07:48:58.000000000","message":"I think this should actually be \u003d {net_id: [\u002710.0.0.1\u0027]}\n\nI suppose net_id should be renamed to net_name but that\u0027s quite a nitpick.","commit_id":"b8089b9865d4f79c2b4120a3d78b041c3662be81"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"8ff8d75c137a8ce61a8a22bafe45bb38314f695e","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        self.nova_response \u003d mock.Mock()"},{"line_number":44,"context_line":"        self.nova_response.id \u003d self.amphora.compute_id"},{"line_number":45,"context_line":"        self.nova_response.status \u003d \u0027ACTIVE\u0027"},{"line_number":46,"context_line":"        self.nova_response.networks \u003d {net_id: \u002710.0.0.1\u0027}"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        self.manager \u003d nova_common.VirtualMachineManager()"},{"line_number":49,"context_line":"        self.manager.manager \u003d mock.MagicMock()"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_323fab26","line":46,"updated":"2015-01-16 17:17:40.000000000","message":"Is this correct? net_id is an IP address and not a UUID?","commit_id":"b8089b9865d4f79c2b4120a3d78b041c3662be81"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"367961b3f2d22e1778f78789fbb40d7b6a0871c4","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        self.nova_response \u003d mock.Mock()"},{"line_number":44,"context_line":"        self.nova_response.id \u003d self.amphora.compute_id"},{"line_number":45,"context_line":"        self.nova_response.status \u003d \u0027ACTIVE\u0027"},{"line_number":46,"context_line":"        self.nova_response.networks \u003d {net_id: \u002710.0.0.1\u0027}"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        self.manager \u003d nova_common.VirtualMachineManager()"},{"line_number":49,"context_line":"        self.manager.manager \u003d mock.MagicMock()"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_9bbddbd9","line":46,"in_reply_to":"3a961159_18f491cd","updated":"2015-01-16 18:02:32.000000000","message":"Right-- I missed that there were no quotes around net_id in the above line (as there were in the previous revision).","commit_id":"b8089b9865d4f79c2b4120a3d78b041c3662be81"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"78b7632dcce11b43257295e8ee8e48b77c822328","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        self.nova_response \u003d mock.Mock()"},{"line_number":44,"context_line":"        self.nova_response.id \u003d self.amphora.compute_id"},{"line_number":45,"context_line":"        self.nova_response.status \u003d \u0027ACTIVE\u0027"},{"line_number":46,"context_line":"        self.nova_response.networks \u003d {net_id: \u002710.0.0.1\u0027}"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        self.manager \u003d nova_common.VirtualMachineManager()"},{"line_number":49,"context_line":"        self.manager.manager \u003d mock.MagicMock()"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_f8950588","line":46,"in_reply_to":"3a961159_323fab26","updated":"2015-01-16 17:31:40.000000000","message":"this is a dict, e.g. {\u0027xgerman-network\u0027:\u002710.0.0.10\u0027} (at least on HP\u0027s Cloud). So net_id is a uuid -- hope that clears it up","commit_id":"b8089b9865d4f79c2b4120a3d78b041c3662be81"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"11951987cb176230b909f961def871e517e60d1f","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        self.nova_response \u003d mock.Mock()"},{"line_number":44,"context_line":"        self.nova_response.id \u003d self.amphora.compute_id"},{"line_number":45,"context_line":"        self.nova_response.status \u003d \u0027ACTIVE\u0027"},{"line_number":46,"context_line":"        self.nova_response.networks \u003d {net_id: \u002710.0.0.1\u0027}"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        self.manager \u003d nova_common.VirtualMachineManager()"},{"line_number":49,"context_line":"        self.manager.manager \u003d mock.MagicMock()"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_8500e36a","line":46,"in_reply_to":"3a961159_69d3fe37","updated":"2015-01-19 22:36:22.000000000","message":"+1 Brandon on both counts.\n\nnet_id is actually the wrong term (and this matters -- see below), it would be net_name.\nAlso, the value of net_id/net_name should be a list, not a single IP, as per his example, or this:\n\nIn [92]: a.networks\nOut[92]:\n{u\u0027private\u0027: [u\u002710.180.4.253\u0027],\n u\u0027public\u0027: [u\u0027198.61.193.201\u0027, u\u00272001:4800:780e:0510:c334:575d:ff01:f6fb\u0027]}\n\nNote that it just lists \u0027private\u0027 and \u0027public\u0027 as the net_names -- this is problematic, because we have no way to guarantee the user doesn\u0027t name one of their networks similarly, which could get us in trouble.","commit_id":"b8089b9865d4f79c2b4120a3d78b041c3662be81"},{"author":{"_account_id":10806,"name":"Trevor Vardeman","email":"tvardema@redhat.com","username":"tvardeman"},"change_message_id":"aa3e7ee18f5fb0155109966ed3791c89b4a53590","unresolved":false,"context_lines":[{"line_number":43,"context_line":"        self.nova_response \u003d mock.Mock()"},{"line_number":44,"context_line":"        self.nova_response.id \u003d self.amphora.compute_id"},{"line_number":45,"context_line":"        self.nova_response.status \u003d \u0027ACTIVE\u0027"},{"line_number":46,"context_line":"        self.nova_response.networks \u003d {net_id: \u002710.0.0.1\u0027}"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"        self.manager \u003d nova_common.VirtualMachineManager()"},{"line_number":49,"context_line":"        self.manager.manager \u003d mock.MagicMock()"}],"source_content_type":"text/x-python","patch_set":2,"id":"3a961159_18f491cd","line":46,"in_reply_to":"3a961159_f8950588","updated":"2015-01-16 17:34:47.000000000","message":"Just in case what german said is as confusing to others as it was for me for a moment: in the above line net_id is a variable listed above.  The dictionary is in the format:  {\"uuid\": \"ip_address\"}","commit_id":"b8089b9865d4f79c2b4120a3d78b041c3662be81"}],"octavia/tests/unit/compute/__init__.py":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"2696c496ddab231b370b295b42f8518cfaa00975","unresolved":false,"context_lines":[{"line_number":1,"context_line":"__author__ \u003d \u0027german\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a930d6b_faa6b552","line":1,"updated":"2015-01-20 23:10:02.000000000","message":"I don\u0027t think we generally leave these in. I wonder if there\u0027s a way to tell PyCharm not to do this...","commit_id":"a54f88498d9a3145271c79c5094d0191a9fc6dde"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"c59561e78b99130e2721e915c9cb4aafe7f0886a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"__author__ \u003d \u0027german\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a930d6b_e31d1675","line":1,"in_reply_to":"1a930d6b_d8c1e5e5","updated":"2015-01-21 17:18:34.000000000","message":"Thanks - that worked. I also put in our HP copyright language while there. Thanks for the tip!!","commit_id":"a54f88498d9a3145271c79c5094d0191a9fc6dde"},{"author":{"_account_id":10806,"name":"Trevor Vardeman","email":"tvardema@redhat.com","username":"tvardeman"},"change_message_id":"7e1e34e1d1cc302894e19b7740946cfadbd7c651","unresolved":false,"context_lines":[{"line_number":1,"context_line":"__author__ \u003d \u0027german\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a930d6b_d8c1e5e5","line":1,"in_reply_to":"1a930d6b_faa6b552","updated":"2015-01-21 16:56:45.000000000","message":"Yep.  In File Template settings in Pycharm.  Just remove the line.  Easy peasy lemon squeezy","commit_id":"a54f88498d9a3145271c79c5094d0191a9fc6dde"}],"octavia/tests/unit/compute/drivers/__init__.py":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"2696c496ddab231b370b295b42f8518cfaa00975","unresolved":false,"context_lines":[{"line_number":1,"context_line":"__author__ \u003d \u0027german\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"1a930d6b_5a6d0904","line":1,"updated":"2015-01-20 23:10:02.000000000","message":"I don\u0027t think we generally leave these in. I wonder if there\u0027s a way to tell PyCharm not to do this...","commit_id":"a54f88498d9a3145271c79c5094d0191a9fc6dde"}]}
