)]}'
{"octavia_tempest_plugin/tests/act-stdby-scenario/v2/test_active_standby.py":[{"author":{"_account_id":18746,"name":"Alex Stafeyev","email":"alexo101087@gmail.com","username":"AlexSTafeyev"},"change_message_id":"b59a5c7385353e5f58b6a1672c0691d3f2d0c4d0","unresolved":false,"context_lines":[{"line_number":186,"context_line":"            query_params\u003d\u0027{loadbalancer_id}\u003d{lb_id}\u0027.format("},{"line_number":187,"context_line":"                loadbalancer_id\u003dconst.LOADBALANCER_ID,"},{"line_number":188,"context_line":"                lb_id\u003dself.lb_id))"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"        # Generate traffic on the LB so we can identify the current Master"},{"line_number":191,"context_line":"        r \u003d session.get(\u0027http://{0}\u0027.format(self.lb_vip_address), timeout\u003d2)"},{"line_number":192,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_e701c604","line":189,"updated":"2018-07-31 14:51:21.000000000","message":"May be we should test that the amphora is not STANDALONE? We should add this api call here IMHO and add proper error message that indicates this is no act-stb configured environment.","commit_id":"4f818d79158d52bd207ca267de0cdcdeb77a9dc0"},{"author":{"_account_id":18746,"name":"Alex Stafeyev","email":"alexo101087@gmail.com","username":"AlexSTafeyev"},"change_message_id":"b59a5c7385353e5f58b6a1672c0691d3f2d0c4d0","unresolved":false,"context_lines":[{"line_number":196,"context_line":"        start \u003d int(time.time())"},{"line_number":197,"context_line":"        while True:"},{"line_number":198,"context_line":"            for amp in amphorae:"},{"line_number":199,"context_line":"                amphora_stats \u003d self.os_admin.amphora_client.get_amphora_stats("},{"line_number":200,"context_line":"                    amp[const.ID])"},{"line_number":201,"context_line":"                for listener in amphora_stats:"},{"line_number":202,"context_line":"                    if listener[const.TOTAL_CONNECTIONS] \u003e 0:"},{"line_number":203,"context_line":"                        master_amp \u003d amp"}],"source_content_type":"text/x-python","patch_set":9,"id":"5f7c97a3_5995fee1","line":200,"range":{"start_line":199,"start_character":16,"end_line":200,"end_character":34},"updated":"2018-07-31 14:51:21.000000000","message":"--\u003e 199                 amphora_stats \u003d self.os_admin.amphora_client.get_amphora_stats(\n    200                     amp[const.ID])\n\nipdb\u003e self.os_admin.amphora_client.get_amphora_stats(amp[const.ID])\n\n2018-07-31 14:40:18.164 3150 INFO tempest.lib.common.rest_client [req-6fd5bb0b-f94a-485d-b02a-63a202d5736c ] Request (ActiveStandbyScenarioTest:test_active_standby_vrrp_failover): 200 GET http://10.0.0.106:9876/v2.0/octavia/amphorae/757458d7-e90b-41d9-994b-730182d3eb83/stats 0.771s\n2018-07-31 14:40:18.165 3150 DEBUG tempest.lib.common.rest_client [req-6fd5bb0b-f94a-485d-b02a-63a202d5736c ] Request - Headers: {\u0027Content-Type\u0027: \u0027application/json\u0027, \u0027Accept\u0027: \u0027application/json\u0027, \u0027X-Auth-Token\u0027: \u0027\u003comitted\u003e\u0027}\n        Body: None\n    Response - Headers: {\u0027status\u0027: \u0027200\u0027, u\u0027content-length\u0027: \u002715\u0027, \u0027content-location\u0027: \u0027http://10.0.0.106:9876/v2.0/octavia/amphorae/757458d7-e90b-41d9-994b-730182d3eb83/stats\u0027, u\u0027date\u0027: \u0027Tue, 31 Jul 2018 14:39:36 GMT\u0027, u\u0027content-type\u0027: \u0027application/json\u0027, u\u0027x-openstack-request-id\u0027: \u0027req-6fd5bb0b-f94a-485d-b02a-63a202d5736c\u0027, u\u0027server\u0027: \u0027WSGIServer/0.1 Python/2.7.5\u0027}\n        Body: {\"amphora\": {}} _log_request_full tempest/lib/common/rest_client.py:436\n*** KeyError: \u0027amphora_stats\u0027","commit_id":"4f818d79158d52bd207ca267de0cdcdeb77a9dc0"}],"octavia_tempest_plugin/tests/act_stdby_scenario/v2/test_active_standby.py":[{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"8b4d7f553f856eccf8a146ee43137a702ff1d6d0","unresolved":false,"context_lines":[{"line_number":194,"context_line":"                          \u0027topology for the VRRP failover test.\u0027)"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"        # Generate traffic on the LB so we can identify the current Master"},{"line_number":197,"context_line":"        r \u003d session.get(\u0027http://{0}\u0027.format(self.lb_vip_address), timeout\u003d2)"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"        # Cycle through the amps to find the master"},{"line_number":200,"context_line":"        master_amp \u003d None"}],"source_content_type":"text/x-python","patch_set":17,"id":"9fdfeff1_24fea86b","line":197,"updated":"2019-02-04 18:08:55.000000000","message":"Why do we need this? Isn\u0027t check_members_balanced in L183 enough?","commit_id":"973edd6c34600480b7fb6d32d8f91b54c307c7d4"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"8b4d7f553f856eccf8a146ee43137a702ff1d6d0","unresolved":false,"context_lines":[{"line_number":205,"context_line":"                amphora_stats \u003d self.os_admin.amphora_client.get_amphora_stats("},{"line_number":206,"context_line":"                    amp[const.ID])"},{"line_number":207,"context_line":"                for listener in amphora_stats:"},{"line_number":208,"context_line":"                    if listener[const.TOTAL_CONNECTIONS] \u003e 0:"},{"line_number":209,"context_line":"                        master_amp \u003d amp"},{"line_number":210,"context_line":"                        break"},{"line_number":211,"context_line":"                # check if we left the listener for loop by finding the master"}],"source_content_type":"text/x-python","patch_set":17,"id":"9fdfeff1_a99cb16a","line":208,"updated":"2019-02-04 18:08:55.000000000","message":"Should we also check other amps did not serve any traffic? In case they did, they should have not and test should fail.","commit_id":"973edd6c34600480b7fb6d32d8f91b54c307c7d4"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"8b4d7f553f856eccf8a146ee43137a702ff1d6d0","unresolved":false,"context_lines":[{"line_number":270,"context_line":"            self.mem_lb_client.show_loadbalancer,"},{"line_number":271,"context_line":"            self.lb_id, const.PROVISIONING_STATUS,"},{"line_number":272,"context_line":"            const.ACTIVE, CONF.load_balancer.lb_build_interval,"},{"line_number":273,"context_line":"            CONF.load_balancer.lb_build_timeout)"}],"source_content_type":"text/x-python","patch_set":17,"id":"9fdfeff1_84667429","line":273,"updated":"2019-02-04 18:08:55.000000000","message":"Better confirm also that:\n\n1. LB has (at least) 2 amps associated to it\n2. traffic still flows after failover is completed and members are balanced.","commit_id":"973edd6c34600480b7fb6d32d8f91b54c307c7d4"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"72c729173d59307bc33284f7e0eb3f0f78d655b2","unresolved":false,"context_lines":[{"line_number":31,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"@testtools.skipUnless("},{"line_number":35,"context_line":"    CONF.validation.run_validation,"},{"line_number":36,"context_line":"    \u0027Active-Standby tests will not work without run_validation enabled.\u0027)"},{"line_number":37,"context_line":"class ActiveStandbyScenarioTest(test_base.LoadBalancerBaseTestWithCompute):"}],"source_content_type":"text/x-python","patch_set":19,"id":"dfbec78f_b28d067d","line":34,"updated":"2019-05-02 17:44:33.000000000","message":"Need to add skips based on API version.","commit_id":"e6b4df9ec3d3a21ee2da19675686eec0b8248074"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"17683442f9f16b15f627b8d7b53192d4f417185f","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        \"\"\""},{"line_number":186,"context_line":"        # We have to do this here as the api_version and clients are not"},{"line_number":187,"context_line":"        # setup in time to use a decorator or the skip_checks mixin"},{"line_number":188,"context_line":"        if not self.lb_admin_flavor_client.is_version_supported("},{"line_number":189,"context_line":"                self.api_version, \u00272.3\u0027):"},{"line_number":190,"context_line":"            raise self.skipException("},{"line_number":191,"context_line":"                \u0027Active/Standby VRRP failover tests require \u0027"}],"source_content_type":"text/x-python","patch_set":25,"id":"7faddb67_5daf4d29","line":188,"updated":"2019-08-01 22:05:22.000000000","message":"Use a different client than flavor.","commit_id":"104abe816d1149294ffc797b3919626ece65c8f2"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"17683442f9f16b15f627b8d7b53192d4f417185f","unresolved":false,"context_lines":[{"line_number":186,"context_line":"        # We have to do this here as the api_version and clients are not"},{"line_number":187,"context_line":"        # setup in time to use a decorator or the skip_checks mixin"},{"line_number":188,"context_line":"        if not self.lb_admin_flavor_client.is_version_supported("},{"line_number":189,"context_line":"                self.api_version, \u00272.3\u0027):"},{"line_number":190,"context_line":"            raise self.skipException("},{"line_number":191,"context_line":"                \u0027Active/Standby VRRP failover tests require \u0027"},{"line_number":192,"context_line":"                \u0027Octavia API version 2.3 or newer.\u0027)"}],"source_content_type":"text/x-python","patch_set":25,"id":"7faddb67_3db29195","line":189,"updated":"2019-08-01 22:05:22.000000000","message":"This should be 2.4","commit_id":"104abe816d1149294ffc797b3919626ece65c8f2"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"fb146009662b013261896337bc0d16e370d3d9f6","unresolved":false,"context_lines":[{"line_number":52,"context_line":"                     const.NAME: lb_name}"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        # TODO(rm_work): Make this work with ipv6 and split this test for both"},{"line_number":55,"context_line":"        ip_version \u003d 4"},{"line_number":56,"context_line":"        cls._setup_lb_network_kwargs(lb_kwargs, ip_version)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        lb \u003d cls.mem_lb_client.create_loadbalancer(**lb_kwargs)"}],"source_content_type":"text/x-python","patch_set":26,"id":"3fa7e38b_f501173b","line":55,"updated":"2019-10-02 02:01:13.000000000","message":"guess this could be a class variable, then you could just have a sub-class that sets ip_version\u003d6, but it\u0027s something that can be done in the TODO follow-on","commit_id":"6d99fc65b61f81a95771daba3c0b808185df5fc7"}],"zuul.d/jobs.yaml":[{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"c8db3ac93958b8b2f35291490bafad0b2d5c13fb","unresolved":false,"context_lines":[{"line_number":505,"context_line":"    parent: octavia-v2-act-stdby-iptables-dsvm-py2-scenario"},{"line_number":506,"context_line":"    override-checkout: stable/queens"},{"line_number":507,"context_line":""},{"line_number":508,"context_line":"- job:"},{"line_number":509,"context_line":"    name: octavia-v2-act-stdby-dsvm-scenario"},{"line_number":510,"context_line":"    parent: octavia-dsvm-live-base"},{"line_number":511,"context_line":"    vars:"}],"source_content_type":"text/x-yaml","patch_set":23,"id":"7faddb67_0bd8b31b","line":508,"updated":"2019-07-16 06:48:44.000000000","message":"Please create child jobs for stable branches.","commit_id":"36dd221cb771bc735207974069c72ffb6c4b0e41"}],"zuul.d/projects.yaml":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"f03e11fed3fee9bd95477785e7ec3f5ce7b05ecf","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Note: Some official OpenStack wide jobs are still defined in the"},{"line_number":2,"context_line":"#       project-config repository"},{"line_number":3,"context_line":"- project:"},{"line_number":4,"context_line":"    templates:"},{"line_number":5,"context_line":"      - check-requirements"},{"line_number":6,"context_line":"      - publish-openstack-docs-pti"},{"line_number":7,"context_line":"      - tempest-plugin-jobs"},{"line_number":8,"context_line":"      - release-notes-jobs-python3"},{"line_number":9,"context_line":"    check:"},{"line_number":10,"context_line":"      jobs:"},{"line_number":11,"context_line":"        - octavia-v2-dsvm-noop-api"},{"line_number":12,"context_line":"        - octavia-v2-dsvm-noop-py2-api"},{"line_number":13,"context_line":"        - octavia-v2-dsvm-noop-api-stable-stein"},{"line_number":14,"context_line":"        - octavia-v2-dsvm-noop-py2-api-stable-rocky"},{"line_number":15,"context_line":"        - octavia-v2-dsvm-noop-py2-api-stable-queens"},{"line_number":16,"context_line":"        - octavia-v2-dsvm-scenario"},{"line_number":17,"context_line":"        - octavia-v2-dsvm-py2-scenario"},{"line_number":18,"context_line":"        - octavia-v2-dsvm-scenario-stable-stein"},{"line_number":19,"context_line":"        - octavia-v2-dsvm-py2-scenario-stable-rocky"},{"line_number":20,"context_line":"        - octavia-v2-dsvm-py2-scenario-stable-queens"},{"line_number":21,"context_line":"        - octavia-v2-dsvm-scenario-centos-7:"},{"line_number":22,"context_line":"            voting: false"},{"line_number":23,"context_line":"        - octavia-v2-dsvm-scenario-ubuntu-bionic:"},{"line_number":24,"context_line":"            voting: false"},{"line_number":25,"context_line":"        - octavia-v2-dsvm-scenario-two-node:"},{"line_number":26,"context_line":"            voting: false"},{"line_number":27,"context_line":"        - octavia-v2-dsvm-py2-scenario-two-node:"},{"line_number":28,"context_line":"            voting: false"},{"line_number":29,"context_line":"        - octavia-v2-act-stdby-iptables-dsvm-scenario:"},{"line_number":30,"context_line":"            voting: false"},{"line_number":31,"context_line":"        - octavia-v2-act-stdby-iptables-dsvm-py2-scenario:"},{"line_number":32,"context_line":"            voting: false"},{"line_number":33,"context_line":"        - octavia-v2-act-stdby-iptables-dsvm-py2-scenario-centos-7:"},{"line_number":34,"context_line":"            voting: false"},{"line_number":35,"context_line":"        - octavia-v2-act-stdby-iptables-dsvm-scenario-stable-stein:"},{"line_number":36,"context_line":"            voting: false"},{"line_number":37,"context_line":"        - octavia-v2-act-stdby-iptables-dsvm-py2-scenario-stable-rocky:"},{"line_number":38,"context_line":"            voting: false"},{"line_number":39,"context_line":"        - octavia-v2-act-stdby-iptables-dsvm-py2-scenario-stable-queens:"},{"line_number":40,"context_line":"            voting: false"},{"line_number":41,"context_line":"        - octavia-v2-act-stdby-dsvm-scenario:"},{"line_number":42,"context_line":"            voting: false"},{"line_number":43,"context_line":"        - octavia-v2-act-stdby-dsvm-py2-scenario:"},{"line_number":44,"context_line":"            voting: false"},{"line_number":45,"context_line":"        - octavia-v2-dsvm-tls-barbican:"},{"line_number":46,"context_line":"            voting: false"},{"line_number":47,"context_line":"        - octavia-v2-dsvm-tls-barbican-stable-stein:"},{"line_number":48,"context_line":"            voting: false"},{"line_number":49,"context_line":"        - octavia-v2-dsvm-tls-barbican-stable-rocky:"},{"line_number":50,"context_line":"            voting: false"},{"line_number":51,"context_line":"        - octavia-v2-dsvm-tls-barbican-stable-queens:"},{"line_number":52,"context_line":"            voting: false"},{"line_number":53,"context_line":"    gate:"},{"line_number":54,"context_line":"      queue: octavia"},{"line_number":55,"context_line":"      jobs:"},{"line_number":56,"context_line":"        - octavia-v2-dsvm-noop-api"},{"line_number":57,"context_line":"        - octavia-v2-dsvm-noop-py2-api"},{"line_number":58,"context_line":"        - octavia-v2-dsvm-noop-api-stable-stein"},{"line_number":59,"context_line":"        - octavia-v2-dsvm-noop-py2-api-stable-rocky"},{"line_number":60,"context_line":"        - octavia-v2-dsvm-noop-py2-api-stable-queens"},{"line_number":61,"context_line":"        - octavia-v2-dsvm-scenario"},{"line_number":62,"context_line":"        - octavia-v2-dsvm-py2-scenario"},{"line_number":63,"context_line":"        - octavia-v2-dsvm-scenario-stable-stein"},{"line_number":64,"context_line":"        - octavia-v2-dsvm-py2-scenario-stable-rocky"},{"line_number":65,"context_line":"        - octavia-v2-dsvm-py2-scenario-stable-queens"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"7faddb67_a885e5d0","line":65,"range":{"start_line":3,"start_character":2,"end_line":65,"end_character":0},"updated":"2019-07-16 04:38:17.000000000","message":"Job octavia-v2-dsvm-noop-api not defined","commit_id":"2ab5d133cc59fbdb3e946c666f5e031344bdc81f"}]}
