)]}'
{"octavia/amphorae/drivers/haproxy/rest_api_driver.py":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"dedbcaa9d9e9167b7376e5a3df14e119e92b9fa3","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        # Process listener certificate info"},{"line_number":68,"context_line":"        certs \u003d self._process_tls_certificates(listener)"},{"line_number":69,"context_line":"        # Generate HaProxy configuration from listener object"},{"line_number":70,"context_line":"        config \u003d self.jinja.build_config(listener, certs[\u0027tls_cert\u0027])"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        for amp in listener.load_balancer.amphorae:"},{"line_number":73,"context_line":"            if amp.status !\u003d constants.DELETED:"}],"source_content_type":"text/x-python","patch_set":1,"id":"da0c15f0_73e7cde4","line":70,"updated":"2016-03-25 06:16:08.000000000","message":"So, I think this still needs the sni data passed, or else if the jinja builder is able to pull the data from the listener object, then it should do it for the tls_cert data as well to be consistent. I feel like it should be the former though...","commit_id":"9c1bbf686f92123d00ec2362ddf6d663fde58976"},{"author":{"_account_id":15226,"name":"Bharath M","email":"bharath.stacker@gmail.com","username":"bharath"},"change_message_id":"7f372edaa35394d69b6f161aa9dd5d0c138b27f5","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        # Process listener certificate info"},{"line_number":68,"context_line":"        certs \u003d self._process_tls_certificates(listener)"},{"line_number":69,"context_line":"        # Generate HaProxy configuration from listener object"},{"line_number":70,"context_line":"        config \u003d self.jinja.build_config(listener, certs[\u0027tls_cert\u0027])"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        for amp in listener.load_balancer.amphorae:"},{"line_number":73,"context_line":"            if amp.status !\u003d constants.DELETED:"}],"source_content_type":"text/x-python","patch_set":1,"id":"da0c15f0_c107ba1a","line":70,"in_reply_to":"da0c15f0_73e7cde4","updated":"2016-03-26 00:17:25.000000000","message":"Adam: We looked into this. If I am correct, the sni data though passed is not used by the jinja builder. However SNI works because this is what happens:\n\n1) Get the SNI certs from barbican\n2) Upload it to amphora\n3) Get the cirt directory absolute path on amphora\n4) Write this cirt directory path to the frontend section for the listener\n\nThus when the request with SNI comes, haproxy would lookup in the specified certs directory and routes according to the SNI.\n\nThus, to get the test cases to work, we can simply update the sample_config and add tls_container_id.\n\nRegarding passing the \"sni\" data as argument, we can just pass it for now and in the method definition we can add a positional argument to receive this information. This wouldn\u0027t break the current things and could be used in the future if we want to use SNI for anything else in the builder.\n\nEventually we would update the datamodel, but with the above fix, we can make things work for now.","commit_id":"9c1bbf686f92123d00ec2362ddf6d663fde58976"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"76e76f1e4e813473ac2fa5f7da0838e6c60d4c69","unresolved":false,"context_lines":[{"line_number":67,"context_line":"        # Process listener certificate info"},{"line_number":68,"context_line":"        certs \u003d self._process_tls_certificates(listener)"},{"line_number":69,"context_line":"        # Generate HaProxy configuration from listener object"},{"line_number":70,"context_line":"        config \u003d self.jinja.build_config(listener, certs[\u0027tls_cert\u0027])"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        for amp in listener.load_balancer.amphorae:"},{"line_number":73,"context_line":"            if amp.status !\u003d constants.DELETED:"}],"source_content_type":"text/x-python","patch_set":1,"id":"ba0121b8_db2a472c","line":70,"in_reply_to":"da0c15f0_c107ba1a","updated":"2016-03-28 15:44:55.000000000","message":"@Adam the design always asked for using the directory option for SNI. I think haproxy supports listing them explicitly as well but then we might run up against line limits --","commit_id":"9c1bbf686f92123d00ec2362ddf6d663fde58976"}],"octavia/common/tls_utils/cert_parser.py":[{"author":{"_account_id":17419,"name":"Banashankar k","email":"banveerad@gmail.com","username":"banveerad"},"change_message_id":"f6db0233aea432c4cc83b5d8f8e5605555d8cff9","unresolved":false,"context_lines":[{"line_number":197,"context_line":"            for sni_cont in listener.sni_containers:"},{"line_number":198,"context_line":"                cert_container \u003d _map_cert_tls_container("},{"line_number":199,"context_line":"                    cert_mngr.get_cert(listener.project_id,"},{"line_number":200,"context_line":"                                       sni_cont.tls_container_id,"},{"line_number":201,"context_line":"                                       check_only\u003dTrue))"},{"line_number":202,"context_line":"                sni_certs.append(cert_container)"},{"line_number":203,"context_line":"        return {\u0027tls_cert\u0027: tls_cert, \u0027sni_certs\u0027: sni_certs}"}],"source_content_type":"text/x-python","patch_set":1,"id":"da0c15f0_3bb411f1","line":200,"range":{"start_line":200,"start_character":48,"end_line":200,"end_character":64},"updated":"2016-03-25 01:20:40.000000000","message":"looks like test case is complaining about this attribute.","commit_id":"9c1bbf686f92123d00ec2362ddf6d663fde58976"}]}
