)]}'
{"nova/keymgr/conf_key_mgr.py":[{"author":{"_account_id":1007,"name":"Nathanael I Burton","email":"nathanael.i.burton.work@gmail.com","username":"mathrock"},"change_message_id":"505cf8b947e6544db3f9a946e337c1c3d0fd90fa","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        conf - file object for the configuration file"},{"line_number":55,"context_line":"        \"\"\""},{"line_number":56,"context_line":"        self.cfg \u003d ConfigParser.ConfigParser()"},{"line_number":57,"context_line":"        self.cfg.readfp(conf)"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"    def get_key(self, ctxt, vol_id):"},{"line_number":60,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FC3I%3D","line":57,"updated":"2013-02-09 06:52:02.000000000","message":"How is this conf file specified? Need to add cfg opt. Maybe default to CONF.config_file and look in the KEYS section?","commit_id":"ecd93c104014009f987a9d659fa16208227b67be"}],"nova/keymgr/db_key_mgr.py":[{"author":{"_account_id":1007,"name":"Nathanael I Burton","email":"nathanael.i.burton.work@gmail.com","username":"mathrock"},"change_message_id":"505cf8b947e6544db3f9a946e337c1c3d0fd90fa","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"        # look in database"},{"line_number":67,"context_line":"        key_ref \u003d None"},{"line_number":68,"context_line":"        keys \u003d db.encryption_key_get_by_volume_id(ctxt, str(vol_id))"},{"line_number":69,"context_line":"        if len(keys) \u003e 0:"},{"line_number":70,"context_line":"            # TODO(laura-glendenning) the database could return multiple keys"},{"line_number":71,"context_line":"            # for this volume; need to have a good selection strategy.  for"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FC3g%3D","line":68,"updated":"2013-02-09 06:52:02.000000000","message":"Should probably use conductor api","commit_id":"ecd93c104014009f987a9d659fa16208227b67be"},{"author":{"_account_id":1007,"name":"Nathanael I Burton","email":"nathanael.i.burton.work@gmail.com","username":"mathrock"},"change_message_id":"505cf8b947e6544db3f9a946e337c1c3d0fd90fa","unresolved":false,"context_lines":[{"line_number":85,"context_line":"                    \"format\": \"RAW\","},{"line_number":86,"context_line":"                    \"key\": volume_key,"},{"line_number":87,"context_line":"                }"},{"line_number":88,"context_line":"                key_ref \u003d db.encryption_key_create(ctxt, kwargs)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        # return key that we found or created"},{"line_number":91,"context_line":"        return key.SymmetricKey(key_ref[\u0027algorithm\u0027],"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FC3c%3D","line":88,"updated":"2013-02-09 06:52:02.000000000","message":"Should probably use conductor api","commit_id":"ecd93c104014009f987a9d659fa16208227b67be"}],"nova/keymgr/key_mgr.py":[{"author":{"_account_id":1007,"name":"Nathanael I Burton","email":"nathanael.i.burton.work@gmail.com","username":"mathrock"},"change_message_id":"505cf8b947e6544db3f9a946e337c1c3d0fd90fa","unresolved":false,"context_lines":[{"line_number":16,"context_line":"\"\"\""},{"line_number":17,"context_line":"Base Key Manager Class"},{"line_number":18,"context_line":"\"\"\""},{"line_number":19,"context_line":""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"class KeyManager:"},{"line_number":22,"context_line":"    \"\"\"Base Key Manager Class"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FC2U%3D","line":19,"updated":"2013-02-09 06:52:02.000000000","message":"Need to add a cfg opt for the keymgr_driver. Look at nova.network.driver, nova.network.linux_net, and nova.network.manager for examples of defining the drivers, importing the module, and loading the driver.","commit_id":"ecd93c104014009f987a9d659fa16208227b67be"}],"nova/virt/libvirt/volume.py":[{"author":{"_account_id":1007,"name":"Nathanael I Burton","email":"nathanael.i.burton.work@gmail.com","username":"mathrock"},"change_message_id":"505cf8b947e6544db3f9a946e337c1c3d0fd90fa","unresolved":false,"context_lines":[{"line_number":338,"context_line":""},{"line_number":339,"context_line":"    :param: the connection information used to attach the volume"},{"line_number":340,"context_line":"    \"\"\""},{"line_number":341,"context_line":"    keymgr \u003d db_key_mgr.DBKeyManager()"},{"line_number":342,"context_line":"    ctxt \u003d context.get_admin_context()"},{"line_number":343,"context_line":"    volume_id \u003d conf.serial"},{"line_number":344,"context_line":"    LOG.debug(\"getting key for context %s volume_id %s\" % (ctxt, volume_id))"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAM3%2F%2FC2s%3D","line":341,"updated":"2013-02-09 06:52:02.000000000","message":"This should use the key_mgr driver","commit_id":"ecd93c104014009f987a9d659fa16208227b67be"}]}
