)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11224,"name":"Swami Reddy","email":"swamireddy@gmail.com","username":"swamireddy"},"change_message_id":"76d804a2e7f8e918efa0385bb7337197317e9db8","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Henry Gessau \u003cgessau@cisco.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-02-28 14:43:24 -0500"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Allow time for ipv6 auto addresses to get assigned to guests"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"IPv6 SLAAC address assignment occurs asynchronously by the underlying"},{"line_number":10,"context_line":"protocol and may not be complete even though the guest is up. Poll"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"ba7be1f8_85018e6c","line":7,"updated":"2015-03-01 05:34:21.000000000","message":"Wrap fist line to \u003c\u003d 50 chars.","commit_id":"83d65b20906999bd1bffb4e84a1ce3e0ebb3cc5e"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"ee634725a9f3693e35c2ad62faa311955d3013db","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Henry Gessau \u003cgessau@cisco.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2015-02-28 14:43:24 -0500"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Allow time for ipv6 auto addresses to get assigned to guests"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"IPv6 SLAAC address assignment occurs asynchronously by the underlying"},{"line_number":10,"context_line":"protocol and may not be complete even though the guest is up. Poll"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"ba7be1f8_41a11893","line":7,"in_reply_to":"ba7be1f8_85018e6c","updated":"2015-03-02 20:45:28.000000000","message":"Done","commit_id":"83d65b20906999bd1bffb4e84a1ce3e0ebb3cc5e"}],"tempest/config.py":[{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"70a020ba83b5513e36cda941fbb8fe5dfba96aa7","unresolved":false,"context_lines":[{"line_number":216,"context_line":"                    \"succeed.\"),"},{"line_number":217,"context_line":"    cfg.IntOpt(\u0027v6_auto_addr_assign_timeout\u0027,"},{"line_number":218,"context_line":"               default\u003d5,"},{"line_number":219,"context_line":"               help\u003d\"Timeout in seconds to wait for ipv6 automatic address \""},{"line_number":220,"context_line":"                    \"assignment to complete.\"),"},{"line_number":221,"context_line":"    cfg.IntOpt(\u0027ssh_timeout\u0027,"},{"line_number":222,"context_line":"               default\u003d300,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_71f551ca","line":219,"updated":"2015-02-27 20:50:14.000000000","message":"I don\u0027t think we need yet another tunable timeout for this, let\u0027s just use one of the existing values (probably ping_timeout is fine) Yes it won\u0027t hyper optimized for failure, but I thnk that\u0027s fine give the alternative which is a bazillion config options. (technical term :) )","commit_id":"e597d319ba230e1deb97d8e78c86e0a563e49174"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"26d3012dbf1c48776afec4377a50fcb810913159","unresolved":false,"context_lines":[{"line_number":216,"context_line":"                    \"succeed.\"),"},{"line_number":217,"context_line":"    cfg.IntOpt(\u0027v6_auto_addr_assign_timeout\u0027,"},{"line_number":218,"context_line":"               default\u003d5,"},{"line_number":219,"context_line":"               help\u003d\"Timeout in seconds to wait for ipv6 automatic address \""},{"line_number":220,"context_line":"                    \"assignment to complete.\"),"},{"line_number":221,"context_line":"    cfg.IntOpt(\u0027ssh_timeout\u0027,"},{"line_number":222,"context_line":"               default\u003d300,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_2c81c24a","line":219,"in_reply_to":"ba7be1f8_71f551ca","updated":"2015-02-27 21:09:54.000000000","message":"Done","commit_id":"e597d319ba230e1deb97d8e78c86e0a563e49174"}],"tempest/scenario/test_network_v6.py":[{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"70a020ba83b5513e36cda941fbb8fe5dfba96aa7","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        self.assertIn(srv1[\u0027accessIPv4\u0027], result)"},{"line_number":132,"context_line":"        # v6 should be configured since the image supports it"},{"line_number":133,"context_line":"        # It can take time for ipv6 automatic address to get assigned"},{"line_number":134,"context_line":"        test.call_until_true("},{"line_number":135,"context_line":"            srv1_v6_addr_assigned, config.CONF.v6_auto_addr_assign_timeout, 1)"},{"line_number":136,"context_line":"        self.assertIn(srv1[\u0027accessIPv6\u0027], result)"},{"line_number":137,"context_line":"        result \u003d ssh2.get_ip_list()"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_9119e524","line":134,"updated":"2015-02-27 20:50:14.000000000","message":"I would assert these true too, because doesn\u0027t it just return false if the timeout is reached?","commit_id":"e597d319ba230e1deb97d8e78c86e0a563e49174"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"df42bfcff6cada79cb2bfec964a6ed193fe51b26","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        self.assertIn(srv1[\u0027accessIPv4\u0027], result)"},{"line_number":132,"context_line":"        # v6 should be configured since the image supports it"},{"line_number":133,"context_line":"        # It can take time for ipv6 automatic address to get assigned"},{"line_number":134,"context_line":"        test.call_until_true("},{"line_number":135,"context_line":"            srv1_v6_addr_assigned, config.CONF.v6_auto_addr_assign_timeout, 1)"},{"line_number":136,"context_line":"        self.assertIn(srv1[\u0027accessIPv6\u0027], result)"},{"line_number":137,"context_line":"        result \u003d ssh2.get_ip_list()"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_ec4eca95","line":134,"in_reply_to":"ba7be1f8_9119e524","updated":"2015-02-27 21:30:23.000000000","message":"Done","commit_id":"e597d319ba230e1deb97d8e78c86e0a563e49174"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"70a020ba83b5513e36cda941fbb8fe5dfba96aa7","unresolved":false,"context_lines":[{"line_number":139,"context_line":"        # v6 should be configured since the image supports it"},{"line_number":140,"context_line":"        # It can take time for ipv6 automatic address to get assigned"},{"line_number":141,"context_line":"        test.call_until_true("},{"line_number":142,"context_line":"            srv2_v6_addr_assigned, config.CONF.v6_auto_addr_assign_timeout, 1)"},{"line_number":143,"context_line":"        self.assertIn(srv2[\u0027accessIPv6\u0027], result)"},{"line_number":144,"context_line":"        result \u003d ssh1.ping_host(srv2[\u0027accessIPv4\u0027])"},{"line_number":145,"context_line":"        self.assertIn(\u00270% packet loss\u0027, result)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_71cab16f","line":142,"updated":"2015-02-27 20:50:14.000000000","message":"you don\u0027t need the config here, CONF is aliased to config.CONF on line 23.","commit_id":"e597d319ba230e1deb97d8e78c86e0a563e49174"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"df42bfcff6cada79cb2bfec964a6ed193fe51b26","unresolved":false,"context_lines":[{"line_number":139,"context_line":"        # v6 should be configured since the image supports it"},{"line_number":140,"context_line":"        # It can take time for ipv6 automatic address to get assigned"},{"line_number":141,"context_line":"        test.call_until_true("},{"line_number":142,"context_line":"            srv2_v6_addr_assigned, config.CONF.v6_auto_addr_assign_timeout, 1)"},{"line_number":143,"context_line":"        self.assertIn(srv2[\u0027accessIPv6\u0027], result)"},{"line_number":144,"context_line":"        result \u003d ssh1.ping_host(srv2[\u0027accessIPv4\u0027])"},{"line_number":145,"context_line":"        self.assertIn(\u00270% packet loss\u0027, result)"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba7be1f8_0c123e62","line":142,"in_reply_to":"ba7be1f8_71cab16f","updated":"2015-02-27 21:30:23.000000000","message":"Done","commit_id":"e597d319ba230e1deb97d8e78c86e0a563e49174"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"ff160b49c9782911f8d382e74b67c3c6f6726eb3","unresolved":false,"context_lines":[{"line_number":127,"context_line":"        srv2_v6_addr_assigned \u003d functools.partial("},{"line_number":128,"context_line":"            guest_has_v6_address, ssh2, srv2[\u0027accessIPv6\u0027])"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        result \u003d ssh1.get_ip_list()"},{"line_number":131,"context_line":"        self.assertIn(srv1[\u0027accessIPv4\u0027], result)"},{"line_number":132,"context_line":"        # v6 should be configured since the image supports it"},{"line_number":133,"context_line":"        # It can take time for ipv6 automatic address to get assigned"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba7be1f8_679f5351","line":130,"updated":"2015-02-27 21:48:51.000000000","message":"You probably can drop this since we\u0027re doing it inside the retry loop.","commit_id":"4321480cb62e1b3abe776cf28960791b01830925"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"81878fd91540fc2b9daaabf2abea5081eea90dbe","unresolved":false,"context_lines":[{"line_number":127,"context_line":"        srv2_v6_addr_assigned \u003d functools.partial("},{"line_number":128,"context_line":"            guest_has_v6_address, ssh2, srv2[\u0027accessIPv6\u0027])"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        result \u003d ssh1.get_ip_list()"},{"line_number":131,"context_line":"        self.assertIn(srv1[\u0027accessIPv4\u0027], result)"},{"line_number":132,"context_line":"        # v6 should be configured since the image supports it"},{"line_number":133,"context_line":"        # It can take time for ipv6 automatic address to get assigned"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba7be1f8_070cd793","line":130,"in_reply_to":"ba7be1f8_679f5351","updated":"2015-02-27 21:54:04.000000000","message":"nm, I forgot this is being used for the result is also being used for the v4 check. This looks a little weird to me, but I guess it\u0027s ok. If you wanted to you could add the v4 check inside the retry loop but that might increase the complexity too much. So not a requirement.","commit_id":"4321480cb62e1b3abe776cf28960791b01830925"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"ff160b49c9782911f8d382e74b67c3c6f6726eb3","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        # It can take time for ipv6 automatic address to get assigned"},{"line_number":134,"context_line":"        self.assertTrue("},{"line_number":135,"context_line":"            test.call_until_true(srv1_v6_addr_assigned, CONF.ping_timeout, 1))"},{"line_number":136,"context_line":"        result \u003d ssh2.get_ip_list()"},{"line_number":137,"context_line":"        self.assertIn(srv2[\u0027accessIPv4\u0027], result)"},{"line_number":138,"context_line":"        # v6 should be configured since the image supports it"},{"line_number":139,"context_line":"        # It can take time for ipv6 automatic address to get assigned"}],"source_content_type":"text/x-python","patch_set":4,"id":"ba7be1f8_87ac478e","line":136,"updated":"2015-02-27 21:48:51.000000000","message":"ditto","commit_id":"4321480cb62e1b3abe776cf28960791b01830925"},{"author":{"_account_id":6695,"name":"Dane LeBlanc","email":"leblancd@cisco.com","username":"leblancd"},"change_message_id":"fb7cdd0fed59821e826200e7e3a6f0f749f04902","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        ssh1, srv1 \u003d self.prepare_server()"},{"line_number":120,"context_line":"        ssh2, srv2 \u003d self.prepare_server()"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        def guest_has_v6_address(ssh, addr):"},{"line_number":123,"context_line":"            return addr in ssh.get_ip_list()"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        srv1_v6_addr_assigned \u003d functools.partial("}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_fea1c946","line":122,"updated":"2015-03-02 20:31:41.000000000","message":"Nit: Shouldn\u0027t the name of the method be more generic \u0027guest_has_address\u0027?","commit_id":"83d65b20906999bd1bffb4e84a1ce3e0ebb3cc5e"},{"author":{"_account_id":6524,"name":"Henry Gessau","email":"HenryG@gessau.net","username":"gessau"},"change_message_id":"ee634725a9f3693e35c2ad62faa311955d3013db","unresolved":false,"context_lines":[{"line_number":119,"context_line":"        ssh1, srv1 \u003d self.prepare_server()"},{"line_number":120,"context_line":"        ssh2, srv2 \u003d self.prepare_server()"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"        def guest_has_v6_address(ssh, addr):"},{"line_number":123,"context_line":"            return addr in ssh.get_ip_list()"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"        srv1_v6_addr_assigned \u003d functools.partial("}],"source_content_type":"text/x-python","patch_set":5,"id":"ba7be1f8_a1d1f458","line":122,"in_reply_to":"ba7be1f8_fea1c946","updated":"2015-03-02 20:45:28.000000000","message":"Yup. It should.","commit_id":"83d65b20906999bd1bffb4e84a1ce3e0ebb3cc5e"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"908ac2356f34bc73011717680126e567c8fd8bdb","unresolved":false,"context_lines":[{"line_number":128,"context_line":"            guest_has_address, ssh2, srv2[\u0027accessIPv6\u0027])"},{"line_number":129,"context_line":""},{"line_number":130,"context_line":"        result \u003d ssh1.get_ip_list()"},{"line_number":131,"context_line":"        self.assertIn(srv1[\u0027accessIPv4\u0027], result)"},{"line_number":132,"context_line":"        # v6 should be configured since the image supports it"},{"line_number":133,"context_line":"        # It can take time for ipv6 automatic address to get assigned"},{"line_number":134,"context_line":"        self.assertTrue("}],"source_content_type":"text/x-python","patch_set":6,"id":"ba7be1f8_c17fc8de","line":131,"updated":"2015-03-02 20:49:48.000000000","message":"Couldn\u0027t this call guest_has_address too? :)","commit_id":"0efcfb9baa6fbae4c74482e66ad7e3587bbdad78"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"efaca586308954e75a2d18432bc64a7cf7b23b96","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        # It can take time for ipv6 automatic address to get assigned"},{"line_number":134,"context_line":"        self.assertTrue("},{"line_number":135,"context_line":"            test.call_until_true(srv1_v6_addr_assigned,"},{"line_number":136,"context_line":"                                 CONF.compute.ping_timeout, 1))"},{"line_number":137,"context_line":"        result \u003d ssh2.get_ip_list()"},{"line_number":138,"context_line":"        self.assertIn(srv2[\u0027accessIPv4\u0027], result)"},{"line_number":139,"context_line":"        # v6 should be configured since the image supports it"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba7be1f8_c10a6889","line":136,"updated":"2015-03-02 20:46:17.000000000","message":"120 seconds is a little on the long side for SLAAC, but I guess I\u0027m OK with it.","commit_id":"0efcfb9baa6fbae4c74482e66ad7e3587bbdad78"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"908ac2356f34bc73011717680126e567c8fd8bdb","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        # It can take time for ipv6 automatic address to get assigned"},{"line_number":134,"context_line":"        self.assertTrue("},{"line_number":135,"context_line":"            test.call_until_true(srv1_v6_addr_assigned,"},{"line_number":136,"context_line":"                                 CONF.compute.ping_timeout, 1))"},{"line_number":137,"context_line":"        result \u003d ssh2.get_ip_list()"},{"line_number":138,"context_line":"        self.assertIn(srv2[\u0027accessIPv4\u0027], result)"},{"line_number":139,"context_line":"        # v6 should be configured since the image supports it"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba7be1f8_4124b80c","line":136,"in_reply_to":"ba7be1f8_c10a6889","updated":"2015-03-02 20:49:48.000000000","message":"This is a constant tradeoff between having a bazillion tempest config options for every single different timeout and sane config file.","commit_id":"0efcfb9baa6fbae4c74482e66ad7e3587bbdad78"}]}
