)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"0e9072c62156f209fd3652f3f709d3e18a1d060d","unresolved":false,"context_lines":[{"line_number":33,"context_line":"   successful by comparing with vpn_service object returned by"},{"line_number":34,"context_line":"   show API call."},{"line_number":35,"context_line":"   Also now checks whether delete was succesful by asserting"},{"line_number":36,"context_line":"   that is the ikepolicy is no longer returned by list_ikepolies."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"Minor edits to base.py and network_client_base.py to support"},{"line_number":39,"context_line":"ipsecpolicy resources."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"AAAAUH%2F%2FXd8%3D","line":36,"updated":"2014-01-14 15:54:07.000000000","message":"list_ikepolies -\u003e list_ikepolicies","commit_id":"b0f1836b92268f5a279d6c8371a91453c9c287a1"}],"tempest/api/network/test_vpnaas_extensions.py":[{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"00830d37bda3a94afbafb80fefcf76d8f35df96f","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from tempest import test"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class VPNaaSJSON(base.BaseNetworkTest):"},{"line_number":25,"context_line":"    _interface \u003d \u0027json\u0027"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2Fwaw%3D","line":24,"updated":"2014-01-08 20:23:36.000000000","message":"Wouldn\u0027t it be better to subclass from base.BaseAdminNetworkTest, which in turn is a subclass of base.BaseNetworkTest? If you do this, you get the same setUpClass as with base.BaseNetworkTest plus what you do below in lines 56 and 57.","commit_id":"939c8471c45d3b124f4c04c69f4fb3bf3a2b1408"},{"author":{"_account_id":8861,"name":"Joris Roovers","email":"jroovers@cisco.com","username":"joris.roovers"},"change_message_id":"3d32ac1e480a996c55d61f6d73b837dcc0db6025","unresolved":false,"context_lines":[{"line_number":21,"context_line":"from tempest import test"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"class VPNaaSJSON(base.BaseNetworkTest):"},{"line_number":25,"context_line":"    _interface \u003d \u0027json\u0027"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    \"\"\""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2FwV4%3D","line":24,"in_reply_to":"AAAAUH%2F%2Fwaw%3D","updated":"2014-01-08 21:10:25.000000000","message":"Done","commit_id":"939c8471c45d3b124f4c04c69f4fb3bf3a2b1408"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"373f8b77d8ee637048de04e9a4ad9277cabe9b3f","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        Show VPN Services"},{"line_number":33,"context_line":"        Create VPN Services"},{"line_number":34,"context_line":"        Update VPN Services"},{"line_number":35,"context_line":"        Delete VPN Services"},{"line_number":36,"context_line":"        List, Show, Create, Delete, and Update IKE policy"},{"line_number":37,"context_line":"    \"\"\""},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2FyiE%3D","line":35,"updated":"2014-01-08 13:03:01.000000000","message":"Is intent to eventually add IPSec policy and connection CRUD test cases?","commit_id":"939c8471c45d3b124f4c04c69f4fb3bf3a2b1408"},{"author":{"_account_id":8861,"name":"Joris Roovers","email":"jroovers@cisco.com","username":"joris.roovers"},"change_message_id":"3d32ac1e480a996c55d61f6d73b837dcc0db6025","unresolved":false,"context_lines":[{"line_number":32,"context_line":"        Show VPN Services"},{"line_number":33,"context_line":"        Create VPN Services"},{"line_number":34,"context_line":"        Update VPN Services"},{"line_number":35,"context_line":"        Delete VPN Services"},{"line_number":36,"context_line":"        List, Show, Create, Delete, and Update IKE policy"},{"line_number":37,"context_line":"    \"\"\""},{"line_number":38,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2FwTs%3D","line":35,"in_reply_to":"AAAAUH%2F%2FyiE%3D","updated":"2014-01-08 21:10:25.000000000","message":"I just focused on the gaps that were identified in https://etherpad.openstack.org/p/icehouse-summit-qa-neutron. I do agree that IPSec policy and connection probably require proper tests. Not sure why they were not identified in the gap analysis. That being said, fully testing ipsec-site-connections  (in particular, testing the relevant update API call) requires an ACTIVE VPN connection which requires creating a fully functional VPN setup - similar to the comment in line 158. I\u0027m currently having the discussion whether the API test would be the right location for this or whether this belongs in a scenario test. Please also look at the comment I left Miguel in this review.","commit_id":"939c8471c45d3b124f4c04c69f4fb3bf3a2b1408"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"00830d37bda3a94afbafb80fefcf76d8f35df96f","unresolved":false,"context_lines":[{"line_number":54,"context_line":"            data_utils.rand_name(\"ike-policy-\"))"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        admin_manager \u003d clients.AdminManager()"},{"line_number":57,"context_line":"        cls.admin_client \u003d admin_manager.network_client"},{"line_number":58,"context_line":"        cls.identity_admin_client \u003d admin_manager.identity_client"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def _delete_ike_policy(self, ike_policy_id):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2FwaI%3D","line":57,"updated":"2014-01-08 20:23:36.000000000","message":"Lines 56 and 57 will get us in trouble when, in the near future, tenant isolation is enabled. It\u0027s better to let the base class take care of this. Please see my comment above in line 24","commit_id":"939c8471c45d3b124f4c04c69f4fb3bf3a2b1408"},{"author":{"_account_id":8861,"name":"Joris Roovers","email":"jroovers@cisco.com","username":"joris.roovers"},"change_message_id":"3d32ac1e480a996c55d61f6d73b837dcc0db6025","unresolved":false,"context_lines":[{"line_number":54,"context_line":"            data_utils.rand_name(\"ike-policy-\"))"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        admin_manager \u003d clients.AdminManager()"},{"line_number":57,"context_line":"        cls.admin_client \u003d admin_manager.network_client"},{"line_number":58,"context_line":"        cls.identity_admin_client \u003d admin_manager.identity_client"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def _delete_ike_policy(self, ike_policy_id):"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2FwVw%3D","line":57,"in_reply_to":"AAAAUH%2F%2FwaI%3D","updated":"2014-01-08 21:10:25.000000000","message":"Done","commit_id":"939c8471c45d3b124f4c04c69f4fb3bf3a2b1408"},{"author":{"_account_id":4694,"name":"Miguel Lavalle","email":"miguel@mlavalle.com","username":"minsel"},"change_message_id":"00830d37bda3a94afbafb80fefcf76d8f35df96f","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        admin_manager \u003d clients.AdminManager()"},{"line_number":57,"context_line":"        cls.admin_client \u003d admin_manager.network_client"},{"line_number":58,"context_line":"        cls.identity_admin_client \u003d admin_manager.identity_client"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def _delete_ike_policy(self, ike_policy_id):"},{"line_number":61,"context_line":"        # Deletes a ike policy and verifies if it is deleted or not"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2FwaE%3D","line":58,"updated":"2014-01-08 20:23:36.000000000","message":"If you follow my recommendations for lines 24, 56, and 57, you will need to fix this line accordingly","commit_id":"939c8471c45d3b124f4c04c69f4fb3bf3a2b1408"},{"author":{"_account_id":8861,"name":"Joris Roovers","email":"jroovers@cisco.com","username":"joris.roovers"},"change_message_id":"3d32ac1e480a996c55d61f6d73b837dcc0db6025","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"        admin_manager \u003d clients.AdminManager()"},{"line_number":57,"context_line":"        cls.admin_client \u003d admin_manager.network_client"},{"line_number":58,"context_line":"        cls.identity_admin_client \u003d admin_manager.identity_client"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"    def _delete_ike_policy(self, ike_policy_id):"},{"line_number":61,"context_line":"        # Deletes a ike policy and verifies if it is deleted or not"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2FwVs%3D","line":58,"in_reply_to":"AAAAUH%2F%2FwaE%3D","updated":"2014-01-08 21:10:25.000000000","message":"Done","commit_id":"939c8471c45d3b124f4c04c69f4fb3bf3a2b1408"},{"author":{"_account_id":8861,"name":"Joris Roovers","email":"jroovers@cisco.com","username":"joris.roovers"},"change_message_id":"3d32ac1e480a996c55d61f6d73b837dcc0db6025","unresolved":false,"context_lines":[{"line_number":154,"context_line":"        vpn_services \u003d [vs[\u0027id\u0027] for vs in body[\u0027vpnservices\u0027]]"},{"line_number":155,"context_line":"        self.assertIsNotNone(vpnservice[\u0027id\u0027])"},{"line_number":156,"context_line":"        self.assertIn(vpnservice[\u0027id\u0027], vpn_services)"},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"        # TODO(raies): implement logic to update  vpnservice"},{"line_number":159,"context_line":"        # VPNaaS client function to update is implemented."},{"line_number":160,"context_line":"        # But precondition is that current state of vpnservice"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2FwSw%3D","line":157,"updated":"2014-01-08 21:10:25.000000000","message":"Miguel, this comment explains why we cannot add test 12.1.3 easily.\n\nPaul, the issue with the update tests for ipsec-site-connections is essentially the same as this.","commit_id":"939c8471c45d3b124f4c04c69f4fb3bf3a2b1408"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"0e9072c62156f209fd3652f3f709d3e18a1d060d","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        # Assert that created ipsec policy is found in API list call"},{"line_number":97,"context_line":"        resp, body \u003d self.admin_client.list_ipsecpolicies()"},{"line_number":98,"context_line":"        ipsecpolicies \u003d [policy[\u0027id\u0027] for policy in body[\u0027ipsecpolicies\u0027]]"},{"line_number":99,"context_line":"        self.assertIsNotNone(ipsecpolicy[\u0027id\u0027])"},{"line_number":100,"context_line":"        self.assertIn(ipsecpolicy[\u0027id\u0027], ipsecpolicies)"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FXbw%3D","line":99,"updated":"2014-01-14 15:54:07.000000000","message":"Should this be moved to before L93?","commit_id":"b0f1836b92268f5a279d6c8371a91453c9c287a1"},{"author":{"_account_id":8861,"name":"Joris Roovers","email":"jroovers@cisco.com","username":"joris.roovers"},"change_message_id":"7999d158d466aceaa36ebfb25db483e035b6cccb","unresolved":false,"context_lines":[{"line_number":96,"context_line":"        # Assert that created ipsec policy is found in API list call"},{"line_number":97,"context_line":"        resp, body \u003d self.admin_client.list_ipsecpolicies()"},{"line_number":98,"context_line":"        ipsecpolicies \u003d [policy[\u0027id\u0027] for policy in body[\u0027ipsecpolicies\u0027]]"},{"line_number":99,"context_line":"        self.assertIsNotNone(ipsecpolicy[\u0027id\u0027])"},{"line_number":100,"context_line":"        self.assertIn(ipsecpolicy[\u0027id\u0027], ipsecpolicies)"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FXXo%3D","line":99,"in_reply_to":"AAAAUH%2F%2FXbw%3D","updated":"2014-01-14 16:02:00.000000000","message":"It should. For future reference: In case create() has failed to actually create the policy - and the newly added policy is thus not returned by list() - the cleanup on L93 will always fail. Therefore, we should do this check first.\n\nGood catch, thank Paul.","commit_id":"b0f1836b92268f5a279d6c8371a91453c9c287a1"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"0e9072c62156f209fd3652f3f709d3e18a1d060d","unresolved":false,"context_lines":[{"line_number":230,"context_line":"            auth_algorithm\u003d\"sha1\"))"},{"line_number":231,"context_line":"        self.assertEqual(\u0027201\u0027, resp[\u0027status\u0027])"},{"line_number":232,"context_line":"        ikepolicy \u003d body[\u0027ikepolicy\u0027]"},{"line_number":233,"context_line":"        self.addCleanup(self._delete_ike_policy, ikepolicy[\u0027id\u0027])"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        # Update IKE Policy"},{"line_number":236,"context_line":"        name \u003d data_utils.rand_name(\"New-IKE-\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FXas%3D","line":233,"updated":"2014-01-14 15:54:07.000000000","message":"Should there be a check here for ikepolicy[\u0027id\u0027] existing, before used later on?","commit_id":"b0f1836b92268f5a279d6c8371a91453c9c287a1"},{"author":{"_account_id":8861,"name":"Joris Roovers","email":"jroovers@cisco.com","username":"joris.roovers"},"change_message_id":"7999d158d466aceaa36ebfb25db483e035b6cccb","unresolved":false,"context_lines":[{"line_number":230,"context_line":"            auth_algorithm\u003d\"sha1\"))"},{"line_number":231,"context_line":"        self.assertEqual(\u0027201\u0027, resp[\u0027status\u0027])"},{"line_number":232,"context_line":"        ikepolicy \u003d body[\u0027ikepolicy\u0027]"},{"line_number":233,"context_line":"        self.addCleanup(self._delete_ike_policy, ikepolicy[\u0027id\u0027])"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"        # Update IKE Policy"},{"line_number":236,"context_line":"        name \u003d data_utils.rand_name(\"New-IKE-\")"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FXXU%3D","line":233,"in_reply_to":"AAAAUH%2F%2FXas%3D","updated":"2014-01-14 16:02:00.000000000","message":"Agreed.","commit_id":"b0f1836b92268f5a279d6c8371a91453c9c287a1"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"0e9072c62156f209fd3652f3f709d3e18a1d060d","unresolved":false,"context_lines":[{"line_number":304,"context_line":"        resp, body \u003d self.client.create_ipsecpolicy(name\u003dname,"},{"line_number":305,"context_line":"                                                    description\u003ddescription)"},{"line_number":306,"context_line":"        self.assertEqual(\u0027201\u0027, resp[\u0027status\u0027])"},{"line_number":307,"context_line":"        ipsecpolicy \u003d body[\u0027ipsecpolicy\u0027]"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"        # Update IPSec Policy and verify updated values using show"},{"line_number":310,"context_line":"        name \u003d data_utils.rand_name(\u0027ipsec-policy-\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FXaU%3D","line":307,"updated":"2014-01-14 15:54:07.000000000","message":"Assert after this line that \u0027id\u0027 exists?","commit_id":"b0f1836b92268f5a279d6c8371a91453c9c287a1"},{"author":{"_account_id":8861,"name":"Joris Roovers","email":"jroovers@cisco.com","username":"joris.roovers"},"change_message_id":"7999d158d466aceaa36ebfb25db483e035b6cccb","unresolved":false,"context_lines":[{"line_number":304,"context_line":"        resp, body \u003d self.client.create_ipsecpolicy(name\u003dname,"},{"line_number":305,"context_line":"                                                    description\u003ddescription)"},{"line_number":306,"context_line":"        self.assertEqual(\u0027201\u0027, resp[\u0027status\u0027])"},{"line_number":307,"context_line":"        ipsecpolicy \u003d body[\u0027ipsecpolicy\u0027]"},{"line_number":308,"context_line":""},{"line_number":309,"context_line":"        # Update IPSec Policy and verify updated values using show"},{"line_number":310,"context_line":"        name \u003d data_utils.rand_name(\u0027ipsec-policy-\u0027)"}],"source_content_type":"text/x-python","patch_set":4,"id":"AAAAUH%2F%2FXXQ%3D","line":307,"in_reply_to":"AAAAUH%2F%2FXaU%3D","updated":"2014-01-14 16:02:00.000000000","message":"Agreed.","commit_id":"b0f1836b92268f5a279d6c8371a91453c9c287a1"},{"author":{"_account_id":8861,"name":"Joris Roovers","email":"jroovers@cisco.com","username":"joris.roovers"},"change_message_id":"0674a651b0aab2daa2dc1d41e989c66dafcffee2","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        ipsecpolicy \u003d body[\u0027ipsecpolicy\u0027]"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"        # Assert that created ipsec policy is found in API list call"},{"line_number":95,"context_line":"        resp, body \u003d self.admin_client.list_ipsecpolicies()"},{"line_number":96,"context_line":"        ipsecpolicies \u003d [policy[\u0027id\u0027] for policy in body[\u0027ipsecpolicies\u0027]]"},{"line_number":97,"context_line":"        self.assertIsNotNone(ipsecpolicy[\u0027id\u0027])"},{"line_number":98,"context_line":"        self.assertIn(ipsecpolicy[\u0027id\u0027], ipsecpolicies)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F%2FLBw%3D","line":95,"updated":"2014-01-16 19:01:03.000000000","message":"This needs to be checked with the regular client instead of the admin client.","commit_id":"0dbc93c7720be2711ec8e0d309c8d87dfae27b98"},{"author":{"_account_id":8861,"name":"Joris Roovers","email":"jroovers@cisco.com","username":"joris.roovers"},"change_message_id":"0674a651b0aab2daa2dc1d41e989c66dafcffee2","unresolved":false,"context_lines":[{"line_number":124,"context_line":"        self.addCleanup(self.admin_client.delete_vpnservice, vpnservice[\u0027id\u0027])"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"        # Assert that created vpnservice is found in API list call"},{"line_number":127,"context_line":"        resp, body \u003d self.admin_client.list_vpnservices()"},{"line_number":128,"context_line":"        vpn_services \u003d [vs[\u0027id\u0027] for vs in body[\u0027vpnservices\u0027]]"},{"line_number":129,"context_line":"        self.assertIsNotNone(vpnservice[\u0027id\u0027])"},{"line_number":130,"context_line":"        self.assertIn(vpnservice[\u0027id\u0027], vpn_services)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F%2FLBg%3D","line":127,"updated":"2014-01-16 19:01:03.000000000","message":"Idem","commit_id":"0dbc93c7720be2711ec8e0d309c8d87dfae27b98"},{"author":{"_account_id":8861,"name":"Joris Roovers","email":"jroovers@cisco.com","username":"joris.roovers"},"change_message_id":"0674a651b0aab2daa2dc1d41e989c66dafcffee2","unresolved":false,"context_lines":[{"line_number":153,"context_line":"        self.addCleanup(self.admin_client.delete_ikepolicy, ikepolicy[\u0027id\u0027])"},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"        # Assert that created ike policy is found in API list call"},{"line_number":156,"context_line":"        resp, body \u003d self.admin_client.list_ikepolicies()"},{"line_number":157,"context_line":"        ikepolicies \u003d [ikp[\u0027id\u0027] for ikp in body[\u0027ikepolicies\u0027]]"},{"line_number":158,"context_line":"        self.assertIsNotNone(ikepolicy[\u0027id\u0027])"},{"line_number":159,"context_line":"        self.assertIn(ikepolicy[\u0027id\u0027], ikepolicies)"}],"source_content_type":"text/x-python","patch_set":5,"id":"AAAAUH%2F%2FLBc%3D","line":156,"updated":"2014-01-16 19:01:03.000000000","message":"Idem","commit_id":"0dbc93c7720be2711ec8e0d309c8d87dfae27b98"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"fa3c78ebf15b9081f6f557fb9c817b41d8dfedc8","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        self.assertIsNotNone(ipsecpolicy[\u0027id\u0027])"},{"line_number":99,"context_line":"        self.assertIn(ipsecpolicy[\u0027id\u0027], ipsecpolicies)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        self.addCleanup(self.admin_client.delete_ipsecpolicy,"},{"line_number":102,"context_line":"                        ipsecpolicy[\u0027id\u0027])"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F%2BpoQ%3D","line":101,"updated":"2014-01-23 14:59:07.000000000","message":"Does not makes sense to use  addCleanUp at the end of the test case.\nPlease use it after creation as soon as possible.","commit_id":"e55b1a30679fa9a6142bb1c1d80a24aa82d37c60"},{"author":{"_account_id":8861,"name":"Joris Roovers","email":"jroovers@cisco.com","username":"joris.roovers"},"change_message_id":"d003af85371949024eca8ce9259383f1380ab7d6","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        self.assertIsNotNone(ipsecpolicy[\u0027id\u0027])"},{"line_number":99,"context_line":"        self.assertIn(ipsecpolicy[\u0027id\u0027], ipsecpolicies)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"        self.addCleanup(self.admin_client.delete_ipsecpolicy,"},{"line_number":102,"context_line":"                        ipsecpolicy[\u0027id\u0027])"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"    @test.attr(type\u003d\u0027smoke\u0027)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAUH%2F%2BpnI%3D","line":101,"in_reply_to":"AAAAUH%2F%2BpoQ%3D","updated":"2014-01-23 15:01:31.000000000","message":"Good catch, will fix, thanks.","commit_id":"e55b1a30679fa9a6142bb1c1d80a24aa82d37c60"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"07bf4e35d5bc45cf73c830c617803d9fe8a158ab","unresolved":false,"context_lines":[{"line_number":87,"context_line":"        resp, body \u003d (self.admin_client."},{"line_number":88,"context_line":"                      create_ipsecpolicy(name\u003dname, tenant_id\u003dtenant_id))"},{"line_number":89,"context_line":"        ipsecpolicy \u003d body[\u0027ipsecpolicy\u0027]"},{"line_number":90,"context_line":"        self.addCleanup(self.admin_client.delete_ipsecpolicy,"},{"line_number":91,"context_line":"                        ipsecpolicy[\u0027id\u0027])"},{"line_number":92,"context_line":"        self.assertEqual(\u0027201\u0027, resp[\u0027status\u0027])"},{"line_number":93,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUX%2F%2F2dc%3D","line":90,"updated":"2014-02-10 12:30:08.000000000","message":"Does it make sense to add cleanup, after checking that it was created successfully - L92 (instead of before)?","commit_id":"dc056b1f63b072b12c288005f5c8e0e3bf6ab328"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"07bf4e35d5bc45cf73c830c617803d9fe8a158ab","unresolved":false,"context_lines":[{"line_number":155,"context_line":"                                                   self.router[\u0027id\u0027],"},{"line_number":156,"context_line":"                                                   name\u003dname,"},{"line_number":157,"context_line":"                                                   admin_state_up\u003dTrue)"},{"line_number":158,"context_line":"        self.assertEqual(\u0027201\u0027, resp[\u0027status\u0027])"},{"line_number":159,"context_line":"        vpnservice \u003d body[\u0027vpnservice\u0027]"},{"line_number":160,"context_line":"        # Assert if created vpnservices are not found in vpnservices list"},{"line_number":161,"context_line":"        resp, body \u003d self.client.list_vpnservices()"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUX%2F%2F2cc%3D","line":158,"updated":"2014-02-10 12:30:08.000000000","message":"(Outside of changeset)\nJust curious, is there a teardown that will clean up this service creation?","commit_id":"dc056b1f63b072b12c288005f5c8e0e3bf6ab328"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"07bf4e35d5bc45cf73c830c617803d9fe8a158ab","unresolved":false,"context_lines":[{"line_number":287,"context_line":"        resp, body \u003d self.client.create_ipsecpolicy(name\u003dname,"},{"line_number":288,"context_line":"                                                    description\u003ddescription)"},{"line_number":289,"context_line":"        self.assertEqual(\u0027201\u0027, resp[\u0027status\u0027])"},{"line_number":290,"context_line":"        ipsecpolicy \u003d body[\u0027ipsecpolicy\u0027]"},{"line_number":291,"context_line":"        self.assertIsNotNone(ipsecpolicy[\u0027id\u0027])"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"        # Update IPSec Policy and verify updated values using show"}],"source_content_type":"text/x-python","patch_set":7,"id":"AAAAUX%2F%2F2a4%3D","line":290,"updated":"2014-02-10 12:30:08.000000000","message":"Is there a cleanup for the ipsec policy?","commit_id":"dc056b1f63b072b12c288005f5c8e0e3bf6ab328"}]}
