)]}'
{"doc/source/main/Anchor.rst":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"249684212ad64ebedbf2b6e8d9ffcfe834c42f3b","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Anchor (see https://wiki.openstack.org/wiki/Security/Projects/Anchor) is"},{"line_number":5,"context_line":"an ephemeral PKI system built to enable cryptographic trust in OpenStack"},{"line_number":6,"context_line":"services. In the context of Octavia it can be used to sign the certificates"},{"line_number":7,"context_line":"which secure the amphora - controller communication"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Basic Setup"},{"line_number":10,"context_line":"-----------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"da85f559_f38f51ca","line":7,"updated":"2015-11-13 22:11:54.000000000","message":"nit: communication -\u003e communication.\nJust because I can think of another reviewer that would love to -1 for that.","commit_id":"bcd3cc73cff8ae68007d0f027881fc207b607e0c"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"fa42f58de5c2967f163612a55fc1e8700e0ad3f1","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Anchor (see https://wiki.openstack.org/wiki/Security/Projects/Anchor) is"},{"line_number":5,"context_line":"an ephemeral PKI system built to enable cryptographic trust in OpenStack"},{"line_number":6,"context_line":"services. In the context of Octavia it can be used to sign the certificates"},{"line_number":7,"context_line":"which secure the amphora - controller communication"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Basic Setup"},{"line_number":10,"context_line":"-----------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba8a016a_0550525d","line":7,"in_reply_to":"da85f559_f38f51ca","updated":"2015-11-24 01:02:59.000000000","message":"Done","commit_id":"bcd3cc73cff8ae68007d0f027881fc207b607e0c"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"249684212ad64ebedbf2b6e8d9ffcfe834c42f3b","unresolved":false,"context_lines":[{"line_number":10,"context_line":"-----------"},{"line_number":11,"context_line":"# Download/Install/Start Anchor from  https://github.com/openstack/anchor"},{"line_number":12,"context_line":"# Change the listening port in config.py to 9999"},{"line_number":13,"context_line":"# I found it usefult ot run anchor in an additional devstack screen"},{"line_number":14,"context_line":"# Set in octavia.conf"},{"line_number":15,"context_line":"## [controller_worker] cert_generator to anchor"},{"line_number":16,"context_line":"## [haproxy_amphora] server_ca \u003d /opt/stack/anchor/CA/root-ca.crt (Anchor CA)"}],"source_content_type":"text/x-rst","patch_set":5,"id":"da85f559_d3a9ed25","line":13,"updated":"2015-11-13 22:11:54.000000000","message":"usefult -\u003e useful","commit_id":"bcd3cc73cff8ae68007d0f027881fc207b607e0c"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"fa42f58de5c2967f163612a55fc1e8700e0ad3f1","unresolved":false,"context_lines":[{"line_number":10,"context_line":"-----------"},{"line_number":11,"context_line":"# Download/Install/Start Anchor from  https://github.com/openstack/anchor"},{"line_number":12,"context_line":"# Change the listening port in config.py to 9999"},{"line_number":13,"context_line":"# I found it usefult ot run anchor in an additional devstack screen"},{"line_number":14,"context_line":"# Set in octavia.conf"},{"line_number":15,"context_line":"## [controller_worker] cert_generator to anchor"},{"line_number":16,"context_line":"## [haproxy_amphora] server_ca \u003d /opt/stack/anchor/CA/root-ca.crt (Anchor CA)"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba8a016a_c549eab8","line":13,"in_reply_to":"da85f559_d3a9ed25","updated":"2015-11-24 01:02:59.000000000","message":"Done","commit_id":"bcd3cc73cff8ae68007d0f027881fc207b607e0c"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"249684212ad64ebedbf2b6e8d9ffcfe834c42f3b","unresolved":false,"context_lines":[{"line_number":14,"context_line":"# Set in octavia.conf"},{"line_number":15,"context_line":"## [controller_worker] cert_generator to anchor"},{"line_number":16,"context_line":"## [haproxy_amphora] server_ca \u003d /opt/stack/anchor/CA/root-ca.crt (Anchor CA)"},{"line_number":17,"context_line":"# Restart o-cw et. al."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Benefit"},{"line_number":20,"context_line":"-------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"da85f559_533adde8","line":17,"updated":"2015-11-13 22:11:54.000000000","message":"et. al. should be listed out to be clear.","commit_id":"bcd3cc73cff8ae68007d0f027881fc207b607e0c"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"fa42f58de5c2967f163612a55fc1e8700e0ad3f1","unresolved":false,"context_lines":[{"line_number":14,"context_line":"# Set in octavia.conf"},{"line_number":15,"context_line":"## [controller_worker] cert_generator to anchor"},{"line_number":16,"context_line":"## [haproxy_amphora] server_ca \u003d /opt/stack/anchor/CA/root-ca.crt (Anchor CA)"},{"line_number":17,"context_line":"# Restart o-cw et. al."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Benefit"},{"line_number":20,"context_line":"-------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba8a016a_65c7de12","line":17,"in_reply_to":"da85f559_533adde8","updated":"2015-11-24 01:02:59.000000000","message":"Done","commit_id":"bcd3cc73cff8ae68007d0f027881fc207b607e0c"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"249684212ad64ebedbf2b6e8d9ffcfe834c42f3b","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Benefit"},{"line_number":20,"context_line":"-------"},{"line_number":21,"context_line":"In bigger cloud installations Anchor can be a gateway to a more secure"},{"line_number":22,"context_line":"certificate management then our default local signing."}],"source_content_type":"text/x-rst","patch_set":5,"id":"da85f559_3322b9ba","line":22,"updated":"2015-11-13 22:11:54.000000000","message":"management-\u003e management system?","commit_id":"bcd3cc73cff8ae68007d0f027881fc207b607e0c"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"fa42f58de5c2967f163612a55fc1e8700e0ad3f1","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Benefit"},{"line_number":20,"context_line":"-------"},{"line_number":21,"context_line":"In bigger cloud installations Anchor can be a gateway to a more secure"},{"line_number":22,"context_line":"certificate management then our default local signing."}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba8a016a_25d1d6cd","line":22,"in_reply_to":"da85f559_3322b9ba","updated":"2015-11-24 01:02:59.000000000","message":"Done","commit_id":"bcd3cc73cff8ae68007d0f027881fc207b607e0c"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"929b8e28b51ae6c89950b8b1d328ae69df77a11d","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Benefit"},{"line_number":20,"context_line":"-------"},{"line_number":21,"context_line":"In bigger cloud installations Anchor can be a gateway to a more secure"},{"line_number":22,"context_line":"certificate management system then our default local signing."}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba8a016a_42888522","line":22,"updated":"2015-11-24 07:31:39.000000000","message":"Nit: s/then/than/","commit_id":"35671490094b4f5c0aa94d915b97b2c2d1a26750"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"8a4ab588be917446e0e2811b68a1f57d2e75ce30","unresolved":false,"context_lines":[{"line_number":19,"context_line":"Benefit"},{"line_number":20,"context_line":"-------"},{"line_number":21,"context_line":"In bigger cloud installations Anchor can be a gateway to a more secure"},{"line_number":22,"context_line":"certificate management system then our default local signing."}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a8ffd7b_57889b22","line":22,"in_reply_to":"ba8a016a_42888522","updated":"2015-11-24 22:50:50.000000000","message":"Done","commit_id":"35671490094b4f5c0aa94d915b97b2c2d1a26750"}],"doc/source/main/glossary.rst":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"249684212ad64ebedbf2b6e8d9ffcfe834c42f3b","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    Anchor"},{"line_number":32,"context_line":"       Is an OpenStack project for an ephemeral PKI system (see"},{"line_number":33,"context_line":"       https://wiki.openstack.org/wiki/Security/Projects/Anchor). In Octavia"},{"line_number":34,"context_line":"       we can use Anchor to sign the certufucates we use to authenticate/secure"},{"line_number":35,"context_line":"       controller - amphora communication."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    Apolocation"}],"source_content_type":"text/x-rst","patch_set":5,"id":"da85f559_539e5d08","line":34,"updated":"2015-11-13 22:11:54.000000000","message":"certufucates -\u003e certificates","commit_id":"bcd3cc73cff8ae68007d0f027881fc207b607e0c"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"fa42f58de5c2967f163612a55fc1e8700e0ad3f1","unresolved":false,"context_lines":[{"line_number":31,"context_line":"    Anchor"},{"line_number":32,"context_line":"       Is an OpenStack project for an ephemeral PKI system (see"},{"line_number":33,"context_line":"       https://wiki.openstack.org/wiki/Security/Projects/Anchor). In Octavia"},{"line_number":34,"context_line":"       we can use Anchor to sign the certufucates we use to authenticate/secure"},{"line_number":35,"context_line":"       controller - amphora communication."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    Apolocation"}],"source_content_type":"text/x-rst","patch_set":5,"id":"ba8a016a_e5dbceeb","line":34,"in_reply_to":"da85f559_539e5d08","updated":"2015-11-24 01:02:59.000000000","message":"Done","commit_id":"bcd3cc73cff8ae68007d0f027881fc207b607e0c"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"929b8e28b51ae6c89950b8b1d328ae69df77a11d","unresolved":false,"context_lines":[{"line_number":32,"context_line":"       Is an OpenStack project for an ephemeral PKI system (see"},{"line_number":33,"context_line":"       https://wiki.openstack.org/wiki/Security/Projects/Anchor). In Octavia"},{"line_number":34,"context_line":"       we can use Anchor to sign the certificates we use to authenticate/secure"},{"line_number":35,"context_line":"       controller - amphora communication."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    Apolocation"},{"line_number":38,"context_line":"        Term used to describe when two or more amphorae are not colocated on"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ba8a016a_02991d6e","line":35,"updated":"2015-11-24 07:31:39.000000000","message":"Nit:  \"controller \u003c-\u003e amphora\" or just use \"controller to amphora\"","commit_id":"35671490094b4f5c0aa94d915b97b2c2d1a26750"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"8a4ab588be917446e0e2811b68a1f57d2e75ce30","unresolved":false,"context_lines":[{"line_number":32,"context_line":"       Is an OpenStack project for an ephemeral PKI system (see"},{"line_number":33,"context_line":"       https://wiki.openstack.org/wiki/Security/Projects/Anchor). In Octavia"},{"line_number":34,"context_line":"       we can use Anchor to sign the certificates we use to authenticate/secure"},{"line_number":35,"context_line":"       controller - amphora communication."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    Apolocation"},{"line_number":38,"context_line":"        Term used to describe when two or more amphorae are not colocated on"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9a8ffd7b_778d9f30","line":35,"in_reply_to":"ba8a016a_02991d6e","updated":"2015-11-24 22:50:50.000000000","message":"Done","commit_id":"35671490094b4f5c0aa94d915b97b2c2d1a26750"}],"etc/octavia.conf":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"249684212ad64ebedbf2b6e8d9ffcfe834c42f3b","unresolved":false,"context_lines":[{"line_number":74,"context_line":"# cert_manager\u003dlocal_cert_manager"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"[anchor]"},{"line_number":77,"context_line":"# Use OpenStack anchor to sign the amphora certificates"},{"line_number":78,"context_line":"# url \u003d http://localhost:9999/v1/sign/default"},{"line_number":79,"context_line":"# username \u003d myusername"},{"line_number":80,"context_line":"# password \u003d simplepassword"}],"source_content_type":"text/plain","patch_set":5,"id":"da85f559_130c5541","line":77,"updated":"2015-11-13 22:11:54.000000000","message":"\"amphora rest API certificates\" might be more clear.\nI worry that since we have certificates for TLS offload this could get confusing.","commit_id":"bcd3cc73cff8ae68007d0f027881fc207b607e0c"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"fa42f58de5c2967f163612a55fc1e8700e0ad3f1","unresolved":false,"context_lines":[{"line_number":74,"context_line":"# cert_manager\u003dlocal_cert_manager"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"[anchor]"},{"line_number":77,"context_line":"# Use OpenStack anchor to sign the amphora certificates"},{"line_number":78,"context_line":"# url \u003d http://localhost:9999/v1/sign/default"},{"line_number":79,"context_line":"# username \u003d myusername"},{"line_number":80,"context_line":"# password \u003d simplepassword"}],"source_content_type":"text/plain","patch_set":5,"id":"ba8a016a_e56d0e33","line":77,"in_reply_to":"da85f559_130c5541","updated":"2015-11-24 01:02:59.000000000","message":"Done","commit_id":"bcd3cc73cff8ae68007d0f027881fc207b607e0c"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"249684212ad64ebedbf2b6e8d9ffcfe834c42f3b","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"[anchor]"},{"line_number":77,"context_line":"# Use OpenStack anchor to sign the amphora certificates"},{"line_number":78,"context_line":"# url \u003d http://localhost:9999/v1/sign/default"},{"line_number":79,"context_line":"# username \u003d myusername"},{"line_number":80,"context_line":"# password \u003d simplepassword"},{"line_number":81,"context_line":""}],"source_content_type":"text/plain","patch_set":5,"id":"da85f559_cebdc003","line":78,"updated":"2015-11-13 22:11:54.000000000","message":"Since the code just passes the username and password in the request it seems like this example, at a minimum, should be https.","commit_id":"bcd3cc73cff8ae68007d0f027881fc207b607e0c"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"fa42f58de5c2967f163612a55fc1e8700e0ad3f1","unresolved":false,"context_lines":[{"line_number":75,"context_line":""},{"line_number":76,"context_line":"[anchor]"},{"line_number":77,"context_line":"# Use OpenStack anchor to sign the amphora certificates"},{"line_number":78,"context_line":"# url \u003d http://localhost:9999/v1/sign/default"},{"line_number":79,"context_line":"# username \u003d myusername"},{"line_number":80,"context_line":"# password \u003d simplepassword"},{"line_number":81,"context_line":""}],"source_content_type":"text/plain","patch_set":5,"id":"ba8a016a_455dfa77","line":78,"in_reply_to":"da85f559_cebdc003","updated":"2015-11-24 01:02:59.000000000","message":"I am using the anchor default example. There probably are additional steps required to harden that. I think we will address that in future iterations once we have more experience.","commit_id":"bcd3cc73cff8ae68007d0f027881fc207b607e0c"}],"octavia/certificates/generator/anchor.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"249684212ad64ebedbf2b6e8d9ffcfe834c42f3b","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        \"\"\"Signs a certificate using Anchor based on the specified CSR"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"        :param csr: A Certificate Signing Request"},{"line_number":43,"context_line":"        :param validity: Will be ignored fore now"},{"line_number":44,"context_line":"        :param kwargs: Will be ignored fore now"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        :return: Signed certificate"}],"source_content_type":"text/x-python","patch_set":5,"id":"da85f559_ce8f0074","line":43,"updated":"2015-11-13 22:11:54.000000000","message":"What?  You are just ignoring the validity period passed in?\nThis does not seem like the right thing to do.","commit_id":"bcd3cc73cff8ae68007d0f027881fc207b607e0c"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"fa42f58de5c2967f163612a55fc1e8700e0ad3f1","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        \"\"\"Signs a certificate using Anchor based on the specified CSR"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"        :param csr: A Certificate Signing Request"},{"line_number":43,"context_line":"        :param validity: Will be ignored fore now"},{"line_number":44,"context_line":"        :param kwargs: Will be ignored fore now"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        :return: Signed certificate"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba8a016a_65959ee2","line":43,"in_reply_to":"da85f559_ce8f0074","updated":"2015-11-24 01:02:59.000000000","message":"Validity is set directly in Anchor. This is the idea of Anchor that you can control the validity of certs for your whole system in one central place.","commit_id":"bcd3cc73cff8ae68007d0f027881fc207b607e0c"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"249684212ad64ebedbf2b6e8d9ffcfe834c42f3b","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        :return: Signed certificate"},{"line_number":47,"context_line":"        :raises Exception: if certificate signing fails"},{"line_number":48,"context_line":"        \"\"\""},{"line_number":49,"context_line":"        LOG.info(_LI("},{"line_number":50,"context_line":"            \"Signing a certificate request using Anchor.\""},{"line_number":51,"context_line":"        ))"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"da85f559_aeeddc26","line":49,"updated":"2015-11-13 22:11:54.000000000","message":"I think this should be debug.  Is there value in this message at the info level?","commit_id":"bcd3cc73cff8ae68007d0f027881fc207b607e0c"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"fa42f58de5c2967f163612a55fc1e8700e0ad3f1","unresolved":false,"context_lines":[{"line_number":46,"context_line":"        :return: Signed certificate"},{"line_number":47,"context_line":"        :raises Exception: if certificate signing fails"},{"line_number":48,"context_line":"        \"\"\""},{"line_number":49,"context_line":"        LOG.info(_LI("},{"line_number":50,"context_line":"            \"Signing a certificate request using Anchor.\""},{"line_number":51,"context_line":"        ))"},{"line_number":52,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"ba8a016a_0585b2ab","line":49,"in_reply_to":"da85f559_aeeddc26","updated":"2015-11-24 01:02:59.000000000","message":"Done","commit_id":"bcd3cc73cff8ae68007d0f027881fc207b607e0c"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"929b8e28b51ae6c89950b8b1d328ae69df77a11d","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"        :param csr: A Certificate Signing Request"},{"line_number":43,"context_line":"        :param validity: Will be ignored fore now"},{"line_number":44,"context_line":"        :param kwargs: Will be ignored fore now"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        :return: Signed certificate"},{"line_number":47,"context_line":"        :raises Exception: if certificate signing fails"}],"source_content_type":"text/x-python","patch_set":6,"id":"ba8a016a_02b03ddc","line":44,"updated":"2015-11-24 07:31:39.000000000","message":"Nit: s/fore/for/","commit_id":"35671490094b4f5c0aa94d915b97b2c2d1a26750"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"8a4ab588be917446e0e2811b68a1f57d2e75ce30","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"        :param csr: A Certificate Signing Request"},{"line_number":43,"context_line":"        :param validity: Will be ignored fore now"},{"line_number":44,"context_line":"        :param kwargs: Will be ignored fore now"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        :return: Signed certificate"},{"line_number":47,"context_line":"        :raises Exception: if certificate signing fails"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a8ffd7b_f792ef56","line":44,"in_reply_to":"ba8a016a_02b03ddc","updated":"2015-11-24 22:50:50.000000000","message":"Done","commit_id":"35671490094b4f5c0aa94d915b97b2c2d1a26750"},{"author":{"_account_id":11685,"name":"Stephen Balukoff","email":"stephen@balukoff.com","username":"sbalukoff"},"change_message_id":"7f2041626bb41a0b68c116ec72e4625ac7136388","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"        :param csr: A Certificate Signing Request"},{"line_number":43,"context_line":"        :param validity: Will be ignored for now"},{"line_number":44,"context_line":"        :param kwargs: Will be ignored fore now"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        :return: Signed certificate"},{"line_number":47,"context_line":"        :raises Exception: if certificate signing fails"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a8ffd7b_bb788e90","line":44,"updated":"2015-11-26 00:14:29.000000000","message":"Looks like there\u0027s a \"fore\" on this line as well. Sorry I missed that last time.","commit_id":"f97f5f34719a92c2a3b64966a52b054a8410db29"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"263f70687e8d026c2dbb09cfb6bb3a007e75fd40","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    pass"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"class AnchorCertGenerator(local.LocalCertGenerator):"},{"line_number":36,"context_line":"    \"\"\"Cert Generator Interface that signs certs with Anchor.\"\"\""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a740942_b5823fc7","line":35,"updated":"2015-12-03 16:46:03.000000000","message":"Why is this based on LocalCertGenerator and not the actual high level interface? If it\u0027s to use the \"_generate_csr\" function, I think the answer might be to move that to a common place for both instead.","commit_id":"3927992ccf8192871011ccd10c37af084b5bb7b9"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"89e9f43d4b87444e4129607d818ce4729a473b6b","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    pass"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"class AnchorCertGenerator(local.LocalCertGenerator):"},{"line_number":36,"context_line":"    \"\"\"Cert Generator Interface that signs certs with Anchor.\"\"\""},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"    @classmethod"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a740942_5873124e","line":35,"in_reply_to":"7a740942_b5823fc7","updated":"2015-12-03 16:54:43.000000000","message":"We generate the CSR locally and can reuse a lot of stuff from that class. Now since there seem to be implementations which don\u0027t generate the csr locally (e.g https://github.com/openstack/octavia/blob/master/octavia/certificates/generator/barbican.py) I think doing it that way is fine for now.\n\nOf course we could imagine a world where the cert generation is decoupled from the cert signing (hello mixins:-) but I really don\u0027t like to cross that bridge now.","commit_id":"3927992ccf8192871011ccd10c37af084b5bb7b9"}],"octavia/common/config.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"249684212ad64ebedbf2b6e8d9ffcfe834c42f3b","unresolved":false,"context_lines":[{"line_number":271,"context_line":""},{"line_number":272,"context_line":"anchor_opts \u003d ["},{"line_number":273,"context_line":"    cfg.StrOpt(\u0027url\u0027,"},{"line_number":274,"context_line":"               default\u003d\u0027http://localhost:9999/v1/sign/default\u0027,"},{"line_number":275,"context_line":"               help\u003d_(\u0027Anchor URL\u0027)),"},{"line_number":276,"context_line":"    cfg.StrOpt(\u0027username\u0027,"},{"line_number":277,"context_line":"               default\u003d\u0027myusername\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"da85f559_0ef988c8","line":274,"updated":"2015-11-13 22:11:54.000000000","message":"This should probably be https given the username and password are passed in the request.","commit_id":"bcd3cc73cff8ae68007d0f027881fc207b607e0c"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"fa42f58de5c2967f163612a55fc1e8700e0ad3f1","unresolved":false,"context_lines":[{"line_number":271,"context_line":""},{"line_number":272,"context_line":"anchor_opts \u003d ["},{"line_number":273,"context_line":"    cfg.StrOpt(\u0027url\u0027,"},{"line_number":274,"context_line":"               default\u003d\u0027http://localhost:9999/v1/sign/default\u0027,"},{"line_number":275,"context_line":"               help\u003d_(\u0027Anchor URL\u0027)),"},{"line_number":276,"context_line":"    cfg.StrOpt(\u0027username\u0027,"},{"line_number":277,"context_line":"               default\u003d\u0027myusername\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"ba8a016a_85668227","line":274,"in_reply_to":"da85f559_0ef988c8","updated":"2015-11-24 01:02:59.000000000","message":"The default anchor example doesn\u0027t run https... so to use that for experimenting out of the box. Also since it runs on localhost in devstack http is probably ok...","commit_id":"bcd3cc73cff8ae68007d0f027881fc207b607e0c"}],"octavia/tests/unit/certificates/generator/test_anchor.py":[{"author":{"_account_id":10477,"name":"min wang","email":"swiftwangster@gmail.com","username":"minwang"},"change_message_id":"4a94f74c03c9ec01fd43229556afa07b1a2dead7","unresolved":false,"context_lines":[{"line_number":32,"context_line":""},{"line_number":33,"context_line":"        m.post(CONF.anchor.url, content\u003dsix.b(\u0027test\u0027))"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"        # Attempt sign a cert"},{"line_number":36,"context_line":"        signed_cert \u003d anchor.AnchorCertGenerator.sign_cert("},{"line_number":37,"context_line":"            csr\u003dself.certificate_signing_request"},{"line_number":38,"context_line":"        )"}],"source_content_type":"text/x-python","patch_set":7,"id":"9a8ffd7b_2c3558d9","line":35,"updated":"2015-11-25 17:47:27.000000000","message":"Attempt  to sign a cert","commit_id":"f97f5f34719a92c2a3b64966a52b054a8410db29"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"263f70687e8d026c2dbb09cfb6bb3a007e75fd40","unresolved":false,"context_lines":[{"line_number":25,"context_line":"CONF.import_group(\u0027anchor\u0027, \u0027octavia.common.config\u0027)"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class TestAnchorGenerator(test_local.TestLocalGenerator):"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    @requests_mock.mock()"},{"line_number":31,"context_line":"    def test_sign_cert(self, m):"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a740942_35816f90","line":28,"updated":"2015-12-03 16:46:03.000000000","message":"Why is this based on LocalGenerator too? I think I understand that you were trying to save some effort, but it\u0027s a bit scary since changes to that that are unrelated could then break this... Does anyone else agree? If that\u0027s just me then I guess it\u0027s fine.","commit_id":"3927992ccf8192871011ccd10c37af084b5bb7b9"}]}
