)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"1. Add new option \u0027use_barbican\u0027 in config file [vim_keys] section,"},{"line_number":10,"context_line":"   default value is False for Pike."},{"line_number":11,"context_line":"2. Use fernet to encrypt vim password, and save the fernet key into barbican"},{"line_number":12,"context_line":"   as a secret."},{"line_number":13,"context_line":"3. Add new fields \u0027key_type\u0027, \u0027secret_uuid\u0027 into VimAuth.auth_cred json string."},{"line_number":14,"context_line":"   secret_uuid is masked in vim-show or vim-list response."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"7f231b9d_c82aad2a","line":11,"range":{"start_line":11,"start_character":67,"end_line":11,"end_character":76},"updated":"2017-06-15 01:54:19.000000000","message":"please limit it to 80 chars","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":10,"context_line":"   default value is False for Pike."},{"line_number":11,"context_line":"2. Use fernet to encrypt vim password, and save the fernet key into barbican"},{"line_number":12,"context_line":"   as a secret."},{"line_number":13,"context_line":"3. Add new fields \u0027key_type\u0027, \u0027secret_uuid\u0027 into VimAuth.auth_cred json string."},{"line_number":14,"context_line":"   secret_uuid is masked in vim-show or vim-list response."},{"line_number":15,"context_line":"4. Set the vim\u0027s default \u0027shared\u0027 value to False,"},{"line_number":16,"context_line":"   vim can only be used by who created it."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":16,"id":"7f231b9d_a823f155","line":13,"range":{"start_line":13,"start_character":71,"end_line":13,"end_character":79},"updated":"2017-06-15 01:54:19.000000000","message":"here too","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"}],"devstack/lib/tacker":[{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"013b54b61ef30f7c17639facb3d083a5fb46db31","unresolved":false,"context_lines":[{"line_number":253,"context_line":"        echo \"Creating bridge\""},{"line_number":254,"context_line":"        sudo ovs-vsctl --may-exist add-br ${BR_MGMT}"},{"line_number":255,"context_line":"    fi"},{"line_number":256,"context_line":"    if [[ \"${USE_BARBICAN}\" \u003d\u003d \"True\" ]]; then"},{"line_number":257,"context_line":"         iniset $TACKER_CONF vim_keys use_barbican True"},{"line_number":258,"context_line":"    fi"},{"line_number":259,"context_line":"    _tacker_setup_rootwrap"}],"source_content_type":"application/x-shellscript","patch_set":11,"id":"df140735_c74fbd32","line":256,"range":{"start_line":256,"start_character":13,"end_line":256,"end_character":25},"updated":"2017-06-07 02:28:33.000000000","message":"set this to true in devstack CI","commit_id":"3d2ea5a394c0a6292670be3935dc60f3efc0008f"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"d12f4989802d8c32a4be7671c6ea7eccc69ef09f","unresolved":false,"context_lines":[{"line_number":253,"context_line":"        echo \"Creating bridge\""},{"line_number":254,"context_line":"        sudo ovs-vsctl --may-exist add-br ${BR_MGMT}"},{"line_number":255,"context_line":"    fi"},{"line_number":256,"context_line":"    if [[ \"${USE_BARBICAN}\" \u003d\u003d \"True\" ]]; then"},{"line_number":257,"context_line":"         iniset $TACKER_CONF vim_keys use_barbican True"},{"line_number":258,"context_line":"    fi"},{"line_number":259,"context_line":"    _tacker_setup_rootwrap"}],"source_content_type":"application/x-shellscript","patch_set":11,"id":"df140735_a763a8b1","line":256,"range":{"start_line":256,"start_character":13,"end_line":256,"end_character":25},"in_reply_to":"df140735_a750480c","updated":"2017-06-07 02:57:14.000000000","message":"no,\ndo it here:https://github.com/openstack/tacker/blob/master/devstack/settings","commit_id":"3d2ea5a394c0a6292670be3935dc60f3efc0008f"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"2502f523be85c78be92ab59b14ae58dae834808a","unresolved":false,"context_lines":[{"line_number":253,"context_line":"        echo \"Creating bridge\""},{"line_number":254,"context_line":"        sudo ovs-vsctl --may-exist add-br ${BR_MGMT}"},{"line_number":255,"context_line":"    fi"},{"line_number":256,"context_line":"    if [[ \"${USE_BARBICAN}\" \u003d\u003d \"True\" ]]; then"},{"line_number":257,"context_line":"         iniset $TACKER_CONF vim_keys use_barbican True"},{"line_number":258,"context_line":"    fi"},{"line_number":259,"context_line":"    _tacker_setup_rootwrap"}],"source_content_type":"application/x-shellscript","patch_set":11,"id":"df140735_07eff4e9","line":256,"range":{"start_line":256,"start_character":13,"end_line":256,"end_character":25},"in_reply_to":"df140735_a763a8b1","updated":"2017-06-07 03:02:55.000000000","message":"I think, setting USE_BARBICAN\u003dTrue here will affect ut.","commit_id":"3d2ea5a394c0a6292670be3935dc60f3efc0008f"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"bd253eaec959d728035c9ada409feaa80228986a","unresolved":false,"context_lines":[{"line_number":253,"context_line":"        echo \"Creating bridge\""},{"line_number":254,"context_line":"        sudo ovs-vsctl --may-exist add-br ${BR_MGMT}"},{"line_number":255,"context_line":"    fi"},{"line_number":256,"context_line":"    if [[ \"${USE_BARBICAN}\" \u003d\u003d \"True\" ]]; then"},{"line_number":257,"context_line":"         iniset $TACKER_CONF vim_keys use_barbican True"},{"line_number":258,"context_line":"    fi"},{"line_number":259,"context_line":"    _tacker_setup_rootwrap"}],"source_content_type":"application/x-shellscript","patch_set":11,"id":"df140735_a750480c","line":256,"range":{"start_line":256,"start_character":13,"end_line":256,"end_character":25},"in_reply_to":"df140735_c74fbd32","updated":"2017-06-07 02:47:57.000000000","message":"Set use_barbican\u003dTrue in the following file?\n\nhttps://github.com/openstack/tacker/blob/master/tacker/tests/etc/tacker.conf.test#L24","commit_id":"3d2ea5a394c0a6292670be3935dc60f3efc0008f"}],"devstack/local.conf.example":[{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"c8be4452e2c1307edac0b36e0e381629e65bdc1c","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"enable_plugin heat https://git.openstack.org/openstack/heat master"},{"line_number":53,"context_line":"enable_plugin networking-sfc git://git.openstack.org/openstack/networking-sfc master"},{"line_number":54,"context_line":"enable_plugin barbican https://git.openstack.org/openstack/barbican"},{"line_number":55,"context_line":"enable_plugin tacker https://git.openstack.org/openstack/tacker master"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"enable_service n-novnc"}],"source_content_type":"application/octet-stream","patch_set":9,"id":"df140735_fc8f2a27","line":54,"range":{"start_line":54,"start_character":1,"end_line":54,"end_character":67},"updated":"2017-06-05 18:45:30.000000000","message":"I think gongysh already covered this at https://review.openstack.org/#/c/470834/1/devstack/settings","commit_id":"1b37ec9f4587ba7b9f2411bc0bca63016baa8ac7"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"9db98f41e2e7a8599a4889d954fd5b9f21e9224f","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"enable_plugin heat https://git.openstack.org/openstack/heat master"},{"line_number":53,"context_line":"enable_plugin networking-sfc git://git.openstack.org/openstack/networking-sfc master"},{"line_number":54,"context_line":"enable_plugin barbican https://git.openstack.org/openstack/barbican"},{"line_number":55,"context_line":"enable_plugin tacker https://git.openstack.org/openstack/tacker master"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"enable_service n-novnc"}],"source_content_type":"application/octet-stream","patch_set":9,"id":"df140735_c7a6c6c1","line":54,"range":{"start_line":54,"start_character":1,"end_line":54,"end_character":67},"in_reply_to":"df140735_3c67d9eb","updated":"2017-06-06 02:24:10.000000000","message":"this is needed even with my https://review.openstack.org/#/c/470834/1/devstack/settings","commit_id":"1b37ec9f4587ba7b9f2411bc0bca63016baa8ac7"},{"author":{"_account_id":12455,"name":"bharaththiruveedula","email":"bharath_ves@hotmail.com","username":"bharaththiruveedula"},"change_message_id":"e8bbafae71048a63fcb800756bf7b78ffbe30e04","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"enable_plugin heat https://git.openstack.org/openstack/heat master"},{"line_number":53,"context_line":"enable_plugin networking-sfc git://git.openstack.org/openstack/networking-sfc master"},{"line_number":54,"context_line":"enable_plugin barbican https://git.openstack.org/openstack/barbican"},{"line_number":55,"context_line":"enable_plugin tacker https://git.openstack.org/openstack/tacker master"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"enable_service n-novnc"}],"source_content_type":"application/octet-stream","patch_set":9,"id":"bf091321_9b3fc8d5","line":54,"range":{"start_line":54,"start_character":1,"end_line":54,"end_character":67},"in_reply_to":"df140735_c7a6c6c1","updated":"2017-06-08 18:00:52.000000000","message":"oh okay","commit_id":"1b37ec9f4587ba7b9f2411bc0bca63016baa8ac7"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"0119d1849ed42035dd152891cd90fa15acdcb151","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"enable_plugin heat https://git.openstack.org/openstack/heat master"},{"line_number":53,"context_line":"enable_plugin networking-sfc git://git.openstack.org/openstack/networking-sfc master"},{"line_number":54,"context_line":"enable_plugin barbican https://git.openstack.org/openstack/barbican"},{"line_number":55,"context_line":"enable_plugin tacker https://git.openstack.org/openstack/tacker master"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"enable_service n-novnc"}],"source_content_type":"application/octet-stream","patch_set":9,"id":"df140735_3c67d9eb","line":54,"range":{"start_line":54,"start_character":1,"end_line":54,"end_character":67},"in_reply_to":"df140735_fc8f2a27","updated":"2017-06-06 01:04:34.000000000","message":"I think we need enable barbican here, and need place it before tacker.","commit_id":"1b37ec9f4587ba7b9f2411bc0bca63016baa8ac7"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"enable_plugin heat https://git.openstack.org/openstack/heat master"},{"line_number":53,"context_line":"enable_plugin networking-sfc git://git.openstack.org/openstack/networking-sfc master"},{"line_number":54,"context_line":"enable_plugin barbican https://git.openstack.org/openstack/barbican"},{"line_number":55,"context_line":"enable_plugin tacker https://git.openstack.org/openstack/tacker master"},{"line_number":56,"context_line":""},{"line_number":57,"context_line":"enable_service n-novnc"},{"line_number":58,"context_line":"enable_service n-cauth"}],"source_content_type":"application/octet-stream","patch_set":16,"id":"7f231b9d_28d5a11c","line":55,"range":{"start_line":54,"start_character":0,"end_line":55,"end_character":70},"updated":"2017-06-15 01:54:19.000000000","message":"does the order of plugins matter?","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"}],"devstack/settings":[{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"b7d926232eb494d72749fb27c7844b52cac79083","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    FIXED_RANGE1\u003d${FIXED_RANGE1:-10.10.1.0/24}"},{"line_number":42,"context_line":"    NETWORK_GATEWAY1\u003d${NETWORK_GATEWAY1:-10.10.1.1}"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    USE_BARBICAN\u003dTrue"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"elif [ \"${TACKER_MODE}\" \u003d\u003d \"standalone\" ]; then"},{"line_number":47,"context_line":"    ENABLED_SERVICES\u003dkey,horizon,tacker,mysql,dstat"}],"source_content_type":"application/octet-stream","patch_set":16,"id":"7f231b9d_713f8f87","line":44,"range":{"start_line":44,"start_character":4,"end_line":44,"end_character":21},"updated":"2017-06-20 02:21:05.000000000","message":"put this before line 2 so that it can be used be standalone and full stack","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"d689b091489d9d5624b6251fe05769a833efa3bf","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    FIXED_RANGE1\u003d${FIXED_RANGE1:-10.10.1.0/24}"},{"line_number":42,"context_line":"    NETWORK_GATEWAY1\u003d${NETWORK_GATEWAY1:-10.10.1.1}"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"    USE_BARBICAN\u003dTrue"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"elif [ \"${TACKER_MODE}\" \u003d\u003d \"standalone\" ]; then"},{"line_number":47,"context_line":"    ENABLED_SERVICES\u003dkey,horizon,tacker,mysql,dstat"}],"source_content_type":"application/octet-stream","patch_set":16,"id":"5f201791_6bf3d774","line":44,"range":{"start_line":44,"start_character":4,"end_line":44,"end_character":21},"in_reply_to":"7f231b9d_713f8f87","updated":"2017-06-22 16:59:49.000000000","message":"Done","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"}],"doc/source/devref/encrypt_vim_auth_with_barbican.rst":[{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Barbican Guide"},{"line_number":2,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":3,"context_line":"Overview"},{"line_number":4,"context_line":"--------"},{"line_number":5,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"7f231b9d_e8da0949","line":2,"range":{"start_line":2,"start_character":14,"end_line":2,"end_character":31},"updated":"2017-06-15 01:54:19.000000000","message":"remove this","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"56ac19fbace73afded8272d2f4909b254e159049","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Barbican Guide"},{"line_number":2,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":3,"context_line":"Overview"},{"line_number":4,"context_line":"--------"},{"line_number":5,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"5f201791_fb3a67cb","line":2,"range":{"start_line":2,"start_character":14,"end_line":2,"end_character":31},"in_reply_to":"7f231b9d_e8da0949","updated":"2017-06-20 16:01:17.000000000","message":"Done","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":6,"context_line":"This document shows how to operate vims which use barbican to save"},{"line_number":7,"context_line":"vim key in devstack environment."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The brief code workflow are described as following:"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"When creating a vim:"},{"line_number":12,"context_line":"We use fernet to encrypt vim password, save the fernet key into barbican"}],"source_content_type":"text/x-rst","patch_set":16,"id":"7f231b9d_68eef9ed","line":9,"range":{"start_line":9,"start_character":24,"end_line":9,"end_character":27},"updated":"2017-06-15 01:54:19.000000000","message":"*is?","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"56ac19fbace73afded8272d2f4909b254e159049","unresolved":false,"context_lines":[{"line_number":6,"context_line":"This document shows how to operate vims which use barbican to save"},{"line_number":7,"context_line":"vim key in devstack environment."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The brief code workflow are described as following:"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"When creating a vim:"},{"line_number":12,"context_line":"We use fernet to encrypt vim password, save the fernet key into barbican"}],"source_content_type":"text/x-rst","patch_set":16,"id":"5f201791_db37abe3","line":9,"range":{"start_line":9,"start_character":24,"end_line":9,"end_character":27},"in_reply_to":"7f231b9d_68eef9ed","updated":"2017-06-20 16:01:17.000000000","message":"Done","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"When creating a vim:"},{"line_number":12,"context_line":"We use fernet to encrypt vim password, save the fernet key into barbican"},{"line_number":13,"context_line":"as a secret, save encrypted into vim db\u0027s field \u0027password\u0027,"},{"line_number":14,"context_line":"and then save the secret uuid into vim db field \u0027secret_uuid\u0027."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"When retrieving vim password:"}],"source_content_type":"text/x-rst","patch_set":16,"id":"7f231b9d_08c3055f","line":13,"range":{"start_line":13,"start_character":57,"end_line":13,"end_character":58},"updated":"2017-06-15 01:54:19.000000000","message":"here too, and the rest of this file :D","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"When creating a vim:"},{"line_number":12,"context_line":"We use fernet to encrypt vim password, save the fernet key into barbican"},{"line_number":13,"context_line":"as a secret, save encrypted into vim db\u0027s field \u0027password\u0027,"},{"line_number":14,"context_line":"and then save the secret uuid into vim db field \u0027secret_uuid\u0027."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"When retrieving vim password:"}],"source_content_type":"text/x-rst","patch_set":16,"id":"7f231b9d_48eb3ddb","line":13,"range":{"start_line":13,"start_character":48,"end_line":13,"end_character":49},"updated":"2017-06-15 01:54:19.000000000","message":"please use back tick for this","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"56ac19fbace73afded8272d2f4909b254e159049","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"When creating a vim:"},{"line_number":12,"context_line":"We use fernet to encrypt vim password, save the fernet key into barbican"},{"line_number":13,"context_line":"as a secret, save encrypted into vim db\u0027s field \u0027password\u0027,"},{"line_number":14,"context_line":"and then save the secret uuid into vim db field \u0027secret_uuid\u0027."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"When retrieving vim password:"}],"source_content_type":"text/x-rst","patch_set":16,"id":"5f201791_9b3133f0","line":13,"range":{"start_line":13,"start_character":57,"end_line":13,"end_character":58},"in_reply_to":"7f231b9d_08c3055f","updated":"2017-06-20 16:01:17.000000000","message":"Done","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"56ac19fbace73afded8272d2f4909b254e159049","unresolved":false,"context_lines":[{"line_number":10,"context_line":""},{"line_number":11,"context_line":"When creating a vim:"},{"line_number":12,"context_line":"We use fernet to encrypt vim password, save the fernet key into barbican"},{"line_number":13,"context_line":"as a secret, save encrypted into vim db\u0027s field \u0027password\u0027,"},{"line_number":14,"context_line":"and then save the secret uuid into vim db field \u0027secret_uuid\u0027."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"When retrieving vim password:"}],"source_content_type":"text/x-rst","patch_set":16,"id":"5f201791_7b4c1776","line":13,"range":{"start_line":13,"start_character":48,"end_line":13,"end_character":49},"in_reply_to":"7f231b9d_48eb3ddb","updated":"2017-06-20 16:01:17.000000000","message":"Done","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"We need enable barbican in devstack localrc file:"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":".. code-block:: console"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    enable_plugin barbican https://git.openstack.org/openstack/barbican"},{"line_number":32,"context_line":"    enable_plugin tacker https://git.openstack.org/openstack/tacker"}],"source_content_type":"text/x-rst","patch_set":16,"id":"7f231b9d_0891c54e","line":29,"range":{"start_line":29,"start_character":16,"end_line":29,"end_character":23},"updated":"2017-06-15 01:54:19.000000000","message":"this should be bash\n\nRef: http://pygments.org/languages/","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"d689b091489d9d5624b6251fe05769a833efa3bf","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"We need enable barbican in devstack localrc file:"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":".. code-block:: console"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"    enable_plugin barbican https://git.openstack.org/openstack/barbican"},{"line_number":32,"context_line":"    enable_plugin tacker https://git.openstack.org/openstack/tacker"}],"source_content_type":"text/x-rst","patch_set":16,"id":"5f201791_ebfec736","line":29,"range":{"start_line":29,"start_character":16,"end_line":29,"end_character":23},"in_reply_to":"7f231b9d_0891c54e","updated":"2017-06-22 16:59:49.000000000","message":"Done","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    enable_plugin tacker https://git.openstack.org/openstack/tacker"},{"line_number":33,"context_line":"    USE_BARBICAN\u003dTrue"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":".. note ::"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    Please make sure the barbican plugin is enabled before tacker plugin."},{"line_number":38,"context_line":"    We set USE_BARBICAN\u003dTrue to use barbican ."}],"source_content_type":"text/x-rst","patch_set":16,"id":"7f231b9d_e881e9fc","line":35,"range":{"start_line":35,"start_character":7,"end_line":35,"end_character":8},"updated":"2017-06-15 01:54:19.000000000","message":"remove this","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"d689b091489d9d5624b6251fe05769a833efa3bf","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    enable_plugin tacker https://git.openstack.org/openstack/tacker"},{"line_number":33,"context_line":"    USE_BARBICAN\u003dTrue"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":".. note ::"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"    Please make sure the barbican plugin is enabled before tacker plugin."},{"line_number":38,"context_line":"    We set USE_BARBICAN\u003dTrue to use barbican ."}],"source_content_type":"text/x-rst","patch_set":16,"id":"5f201791_cbfd4b3b","line":35,"range":{"start_line":35,"start_character":7,"end_line":35,"end_character":8},"in_reply_to":"7f231b9d_e881e9fc","updated":"2017-06-22 16:59:49.000000000","message":"Done","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Create a vim and verify it works:"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":".. code-block:: console"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"   $ source openrc-admin.sh"},{"line_number":45,"context_line":"   $ openstack project create yanxingan"}],"source_content_type":"text/x-rst","patch_set":16,"id":"7f231b9d_c8862d14","line":42,"range":{"start_line":42,"start_character":16,"end_line":42,"end_character":23},"updated":"2017-06-15 01:54:19.000000000","message":"the same as above","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":42,"context_line":".. code-block:: console"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"   $ source openrc-admin.sh"},{"line_number":45,"context_line":"   $ openstack project create yanxingan"},{"line_number":46,"context_line":"   $ openstack user create --password a yanxingan"},{"line_number":47,"context_line":"   $ openstack role add --project yanxingan --user yanxingan admin"},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":16,"id":"7f231b9d_88cf1555","line":45,"range":{"start_line":45,"start_character":30,"end_line":45,"end_character":39},"updated":"2017-06-15 01:54:19.000000000","message":"please use a generic name, not you name :D","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":69,"context_line":""},{"line_number":70,"context_line":"   $ source openrc-yanxingan.sh"},{"line_number":71,"context_line":"   $ openstack secret list"},{"line_number":72,"context_line":"   $"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"   $ tacker vim-register --config-file vim-yanxingan.yaml vim-yanxa"},{"line_number":75,"context_line":"   Created a new vim:"}],"source_content_type":"text/x-rst","patch_set":16,"id":"7f231b9d_887cb51f","line":72,"range":{"start_line":72,"start_character":3,"end_line":72,"end_character":4},"updated":"2017-06-15 01:54:19.000000000","message":"remove this","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":76,"context_line":"   +----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+"},{"line_number":77,"context_line":"   | Field          | Value                                                                                                                                                                                        |"},{"line_number":78,"context_line":"   +----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+"},{"line_number":79,"context_line":"   | auth_cred      | {\"username\": \"yanxingan\", \"password\": \"***\", \"project_name\": \"yanxingan\", \"user_id\": \"\", \"user_domain_name\": \"Default\", \"key_type\": \"barbican_key\", \"secret_uuid\": \"***\", \"auth_url\":        |"},{"line_number":80,"context_line":"   |                | \"http://192.168.80.128:5000/v3\", \"project_id\": \"\", \"project_domain_name\": \"Default\"}                                                                                                         |"},{"line_number":81,"context_line":"   | auth_url       | http://192.168.80.128:5000/v3                                                                                                                                                                |"},{"line_number":82,"context_line":"   | created_at     | 2017-05-18 06:42:22.451835                                                                                                                                                                   |"}],"source_content_type":"text/x-rst","patch_set":16,"id":"7f231b9d_68aa7971","line":79,"range":{"start_line":79,"start_character":80,"end_line":79,"end_character":203},"updated":"2017-06-15 01:54:19.000000000","message":"you can crop this (and other lines) to make the table thinner","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":93,"context_line":"   +----------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"   $ openstack secret list"},{"line_number":96,"context_line":"  +-------------------------------------------+------+---------------------------+--------+-------------------------------------------+-----------+------------+-------------+------+------------+"},{"line_number":97,"context_line":"   | Secret href                               | Name | Created                   | Status | Content types                             | Algorithm | Bit length | Secret type | Mode | Expiration |"},{"line_number":98,"context_line":"   +-------------------------------------------+------+---------------------------+--------+-------------------------------------------+-----------+------------+-------------+------+------------+"},{"line_number":99,"context_line":"   | http://192.168.80.128:9311/v1/secrets/c31 | None | 2017-05-18T06:42:22+00:00 | ACTIVE | {u\u0027default\u0027: u\u0027application/octet-stream\u0027} | None      | None       | opaque      | None | None       |"}],"source_content_type":"text/x-rst","patch_set":16,"id":"7f231b9d_48a7bda8","line":96,"updated":"2017-06-15 01:54:19.000000000","message":"add one space","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":108,"context_line":""},{"line_number":109,"context_line":".. code-block:: console"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"   $ tacker vnf-create --vnfd-template vnfd-sample.yaml --vim-name vim-yanxa --vim-region-name RegionOne vnf-yanxa"},{"line_number":112,"context_line":"   Created a new vnf:"},{"line_number":113,"context_line":"   +----------------+-------------------------------------------------------+"},{"line_number":114,"context_line":"   | Field          | Value                                                 |"}],"source_content_type":"text/x-rst","patch_set":16,"id":"7f231b9d_c8e98db7","line":111,"range":{"start_line":111,"start_character":76,"end_line":111,"end_character":114},"updated":"2017-06-15 01:54:19.000000000","message":"you can crop this line using bash slash (\\) --\u003e this command will render better in documentation page, because you will not have to scroll horizontally to read the command","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":139,"context_line":"   $ tacker vim-delete vim-yanxa"},{"line_number":140,"context_line":"   All vim(s) deleted successfully"},{"line_number":141,"context_line":"   $ openstack secret list"},{"line_number":142,"context_line":"   $"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"We can found that the secret is deleted from barbican."}],"source_content_type":"text/x-rst","patch_set":16,"id":"7f231b9d_c8b4edd3","line":142,"range":{"start_line":142,"start_character":3,"end_line":142,"end_character":4},"updated":"2017-06-15 01:54:19.000000000","message":"remove this","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"}],"releasenotes/notes/encrypt_vim_auth_with_barbican-ad5f6ba9a6f94f0d.yaml":[{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Introduce barbican to save the fernet key of vim auth. Need to configure"},{"line_number":4,"context_line":"    [vim_keys] use_barbican \u003d True to enable this feature."},{"line_number":5,"context_line":"  - Vim\u0027s default \u0027shared\u0027 property is changed to False. Vim can only be"},{"line_number":6,"context_line":"    invoked by user who it."}],"source_content_type":"text/x-yaml","patch_set":16,"id":"7f231b9d_48ee9db4","line":3,"range":{"start_line":3,"start_character":3,"end_line":3,"end_character":4},"updated":"2017-06-15 01:54:19.000000000","message":"add a | to indicate multi-line","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Introduce barbican to save the fernet key of vim auth. Need to configure"},{"line_number":4,"context_line":"    [vim_keys] use_barbican \u003d True to enable this feature."},{"line_number":5,"context_line":"  - Vim\u0027s default \u0027shared\u0027 property is changed to False. Vim can only be"},{"line_number":6,"context_line":"    invoked by user who it."}],"source_content_type":"text/x-yaml","patch_set":16,"id":"7f231b9d_6846f9c2","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":34},"updated":"2017-06-15 01:54:19.000000000","message":"surround this with double back ticks","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Introduce barbican to save the fernet key of vim auth. Need to configure"},{"line_number":4,"context_line":"    [vim_keys] use_barbican \u003d True to enable this feature."},{"line_number":5,"context_line":"  - Vim\u0027s default \u0027shared\u0027 property is changed to False. Vim can only be"},{"line_number":6,"context_line":"    invoked by user who it."}],"source_content_type":"text/x-yaml","patch_set":16,"id":"7f231b9d_e832095e","line":5,"range":{"start_line":5,"start_character":3,"end_line":5,"end_character":4},"updated":"2017-06-15 01:54:19.000000000","message":"here too","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Introduce barbican to save the fernet key of vim auth. Need to configure"},{"line_number":4,"context_line":"    [vim_keys] use_barbican \u003d True to enable this feature."},{"line_number":5,"context_line":"  - Vim\u0027s default \u0027shared\u0027 property is changed to False. Vim can only be"},{"line_number":6,"context_line":"    invoked by user who it."}],"source_content_type":"text/x-yaml","patch_set":16,"id":"7f231b9d_0880a5bf","line":5,"range":{"start_line":5,"start_character":50,"end_line":5,"end_character":55},"updated":"2017-06-15 01:54:19.000000000","message":"surround with double back ticks","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Introduce barbican to save the fernet key of vim auth. Need to configure"},{"line_number":4,"context_line":"    [vim_keys] use_barbican \u003d True to enable this feature."},{"line_number":5,"context_line":"  - Vim\u0027s default \u0027shared\u0027 property is changed to False. Vim can only be"},{"line_number":6,"context_line":"    invoked by user who it."}],"source_content_type":"text/x-yaml","patch_set":16,"id":"7f231b9d_c8106dab","line":5,"range":{"start_line":5,"start_character":18,"end_line":5,"end_character":19},"updated":"2017-06-15 01:54:19.000000000","message":"use double quote or double back ticks","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"d689b091489d9d5624b6251fe05769a833efa3bf","unresolved":false,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - Introduce barbican to save the fernet key of vim auth. Need to configure"},{"line_number":4,"context_line":"    [vim_keys] use_barbican \u003d True to enable this feature."},{"line_number":5,"context_line":"  - Vim\u0027s default \u0027shared\u0027 property is changed to False. Vim can only be"},{"line_number":6,"context_line":"    invoked by user who it."}],"source_content_type":"text/x-yaml","patch_set":16,"id":"5f201791_8bbe3363","line":5,"range":{"start_line":5,"start_character":3,"end_line":5,"end_character":4},"in_reply_to":"7f231b9d_e832095e","updated":"2017-06-22 16:59:49.000000000","message":"Done","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":3,"context_line":"  - Introduce barbican to save the fernet key of vim auth. Need to configure"},{"line_number":4,"context_line":"    [vim_keys] use_barbican \u003d True to enable this feature."},{"line_number":5,"context_line":"  - Vim\u0027s default \u0027shared\u0027 property is changed to False. Vim can only be"},{"line_number":6,"context_line":"    invoked by user who it."}],"source_content_type":"text/x-yaml","patch_set":16,"id":"7f231b9d_8826f514","line":6,"range":{"start_line":6,"start_character":20,"end_line":6,"end_character":26},"updated":"2017-06-15 01:54:19.000000000","message":"who what?","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"}],"tacker/db/migration/alembic_migrations/versions/31acbaeb8299_change_vim_shared_property_to_false.py":[{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":18,"context_line":"Revision ID: 31acbaeb8299"},{"line_number":19,"context_line":"Revises: e7993093baf1"},{"line_number":20,"context_line":"Create Date: 2017-05-30 23:46:20.034085"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"\"\"\""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"# revision identifiers, used by Alembic."}],"source_content_type":"text/x-python","patch_set":16,"id":"7f231b9d_a86e512c","line":21,"updated":"2017-06-15 01:54:19.000000000","message":"remove this line","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"56ac19fbace73afded8272d2f4909b254e159049","unresolved":false,"context_lines":[{"line_number":18,"context_line":"Revision ID: 31acbaeb8299"},{"line_number":19,"context_line":"Revises: e7993093baf1"},{"line_number":20,"context_line":"Create Date: 2017-05-30 23:46:20.034085"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"\"\"\""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"# revision identifiers, used by Alembic."}],"source_content_type":"text/x-python","patch_set":16,"id":"5f201791_64d7d425","line":21,"in_reply_to":"7f231b9d_a86e512c","updated":"2017-06-20 16:01:17.000000000","message":"Done","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"def upgrade(active_plugins\u003dNone, options\u003dNone):"},{"line_number":33,"context_line":"    op.alter_column(u\u0027vims\u0027, \u0027shared\u0027,"},{"line_number":34,"context_line":"                    existing_type\u003dsa.Boolean(),"},{"line_number":35,"context_line":"                    server_default\u003dsa.text(u\u0027false\u0027),"},{"line_number":36,"context_line":"                    nullable\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":16,"id":"7f231b9d_28c92125","line":33,"range":{"start_line":33,"start_character":20,"end_line":33,"end_character":22},"updated":"2017-06-15 01:54:19.000000000","message":"why unicode string?","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"56ac19fbace73afded8272d2f4909b254e159049","unresolved":false,"context_lines":[{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"def upgrade(active_plugins\u003dNone, options\u003dNone):"},{"line_number":33,"context_line":"    op.alter_column(u\u0027vims\u0027, \u0027shared\u0027,"},{"line_number":34,"context_line":"                    existing_type\u003dsa.Boolean(),"},{"line_number":35,"context_line":"                    server_default\u003dsa.text(u\u0027false\u0027),"},{"line_number":36,"context_line":"                    nullable\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":16,"id":"5f201791_44dcd845","line":33,"range":{"start_line":33,"start_character":20,"end_line":33,"end_character":22},"in_reply_to":"7f231b9d_28c92125","updated":"2017-06-20 16:01:17.000000000","message":"Done","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":32,"context_line":"def upgrade(active_plugins\u003dNone, options\u003dNone):"},{"line_number":33,"context_line":"    op.alter_column(u\u0027vims\u0027, \u0027shared\u0027,"},{"line_number":34,"context_line":"                    existing_type\u003dsa.Boolean(),"},{"line_number":35,"context_line":"                    server_default\u003dsa.text(u\u0027false\u0027),"},{"line_number":36,"context_line":"                    nullable\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":16,"id":"7f231b9d_08ce652d","line":35,"range":{"start_line":35,"start_character":43,"end_line":35,"end_character":45},"updated":"2017-06-15 01:54:19.000000000","message":"why unicode string?","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"56ac19fbace73afded8272d2f4909b254e159049","unresolved":false,"context_lines":[{"line_number":32,"context_line":"def upgrade(active_plugins\u003dNone, options\u003dNone):"},{"line_number":33,"context_line":"    op.alter_column(u\u0027vims\u0027, \u0027shared\u0027,"},{"line_number":34,"context_line":"                    existing_type\u003dsa.Boolean(),"},{"line_number":35,"context_line":"                    server_default\u003dsa.text(u\u0027false\u0027),"},{"line_number":36,"context_line":"                    nullable\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":16,"id":"5f201791_04e6e017","line":35,"range":{"start_line":35,"start_character":43,"end_line":35,"end_character":45},"in_reply_to":"7f231b9d_08ce652d","updated":"2017-06-20 16:01:17.000000000","message":"Done","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"}],"tacker/db/nfvo/nfvo_db.py":[{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"fc335ba0b6bd2430ece21b9fedfae38625ce812d","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    name \u003d sa.Column(sa.String(255), nullable\u003dFalse)"},{"line_number":52,"context_line":"    description \u003d sa.Column(sa.Text, nullable\u003dTrue)"},{"line_number":53,"context_line":"    placement_attr \u003d sa.Column(types.Json, nullable\u003dTrue)"},{"line_number":54,"context_line":"    shared \u003d sa.Column(sa.Boolean, default\u003dFalse, server_default\u003dsql.false("},{"line_number":55,"context_line":"    ), nullable\u003dFalse)"},{"line_number":56,"context_line":"    is_default \u003d sa.Column(sa.Boolean, default\u003dFalse, server_default\u003dsql.false("},{"line_number":57,"context_line":"    ), nullable\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":6,"id":"ff0f0b1f_26cda630","line":54,"range":{"start_line":54,"start_character":4,"end_line":54,"end_character":75},"updated":"2017-05-24 02:47:51.000000000","message":"and also add a db migration script","commit_id":"e58e23050218b5797fc50cc9a731d972d070f393"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"98922b85b67dec68143eb8b3145ea29b8022c52c","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    name \u003d sa.Column(sa.String(255), nullable\u003dFalse)"},{"line_number":52,"context_line":"    description \u003d sa.Column(sa.Text, nullable\u003dTrue)"},{"line_number":53,"context_line":"    placement_attr \u003d sa.Column(types.Json, nullable\u003dTrue)"},{"line_number":54,"context_line":"    shared \u003d sa.Column(sa.Boolean, default\u003dFalse, server_default\u003dsql.false("},{"line_number":55,"context_line":"    ), nullable\u003dFalse)"},{"line_number":56,"context_line":"    is_default \u003d sa.Column(sa.Boolean, default\u003dFalse, server_default\u003dsql.false("},{"line_number":57,"context_line":"    ), nullable\u003dFalse)"}],"source_content_type":"text/x-python","patch_set":6,"id":"df140735_f04fe631","line":54,"range":{"start_line":54,"start_character":4,"end_line":54,"end_character":75},"in_reply_to":"ff0f0b1f_26cda630","updated":"2017-05-31 04:33:51.000000000","message":"done","commit_id":"e58e23050218b5797fc50cc9a731d972d070f393"}],"tacker/keymgr/barbican_key_manager.py":[{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"fc335ba0b6bd2430ece21b9fedfae38625ce812d","unresolved":false,"context_lines":[{"line_number":31,"context_line":"from six.moves import urllib"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"barbican_opts \u003d ["},{"line_number":35,"context_line":"    cfg.StrOpt(\u0027barbican_endpoint\u0027,"},{"line_number":36,"context_line":"               help\u003d\u0027Use this endpoint to connect to Barbican, for example: \u0027"},{"line_number":37,"context_line":"                    \u0027\"http://localhost:9311/\"\u0027),"},{"line_number":38,"context_line":"    cfg.StrOpt(\u0027barbican_api_version\u0027,"},{"line_number":39,"context_line":"               help\u003d\u0027Version of the Barbican API, for example: \"v1\"\u0027),"},{"line_number":40,"context_line":"    cfg.StrOpt(\u0027auth_endpoint\u0027,"},{"line_number":41,"context_line":"               default\u003d\u0027http://localhost:5000/v3\u0027,"},{"line_number":42,"context_line":"               help\u003d\u0027Use this endpoint to connect to Keystone\u0027),"},{"line_number":43,"context_line":"    cfg.BoolOpt(\u0027verify_ssl\u0027,"},{"line_number":44,"context_line":"                default\u003dTrue,"},{"line_number":45,"context_line":"                help\u003d\u0027Specifies if insecure TLS (https) requests. If False, \u0027"},{"line_number":46,"context_line":"                     \u0027the server\\\u0027s certificate will not be validated\u0027),"},{"line_number":47,"context_line":"]"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"BARBICAN_OPT_GROUP \u003d \u0027barbican\u0027"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"ff0f0b1f_066ce205","line":47,"range":{"start_line":34,"start_character":0,"end_line":47,"end_character":1},"updated":"2017-05-24 02:47:51.000000000","message":"please refer to our codes which looks for mistral service.\nbut we can keep verify ssl item.","commit_id":"e58e23050218b5797fc50cc9a731d972d070f393"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"7c8eb0f6abae7a99fe91bc2f4e55b67a26818385","unresolved":false,"context_lines":[{"line_number":31,"context_line":"from six.moves import urllib"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"barbican_opts \u003d ["},{"line_number":35,"context_line":"    cfg.StrOpt(\u0027barbican_endpoint\u0027,"},{"line_number":36,"context_line":"               help\u003d\u0027Use this endpoint to connect to Barbican, for example: \u0027"},{"line_number":37,"context_line":"                    \u0027\"http://localhost:9311/\"\u0027),"},{"line_number":38,"context_line":"    cfg.StrOpt(\u0027barbican_api_version\u0027,"},{"line_number":39,"context_line":"               help\u003d\u0027Version of the Barbican API, for example: \"v1\"\u0027),"},{"line_number":40,"context_line":"    cfg.StrOpt(\u0027auth_endpoint\u0027,"},{"line_number":41,"context_line":"               default\u003d\u0027http://localhost:5000/v3\u0027,"},{"line_number":42,"context_line":"               help\u003d\u0027Use this endpoint to connect to Keystone\u0027),"},{"line_number":43,"context_line":"    cfg.BoolOpt(\u0027verify_ssl\u0027,"},{"line_number":44,"context_line":"                default\u003dTrue,"},{"line_number":45,"context_line":"                help\u003d\u0027Specifies if insecure TLS (https) requests. If False, \u0027"},{"line_number":46,"context_line":"                     \u0027the server\\\u0027s certificate will not be validated\u0027),"},{"line_number":47,"context_line":"]"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"BARBICAN_OPT_GROUP \u003d \u0027barbican\u0027"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"df140735_1865cee1","line":47,"range":{"start_line":34,"start_character":0,"end_line":47,"end_character":1},"in_reply_to":"df140735_3eb9a82d","updated":"2017-05-31 15:43:10.000000000","message":"Done. will delete these opts.\nI saw other codes have not use this option, so delete it.","commit_id":"e58e23050218b5797fc50cc9a731d972d070f393"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"addb8a308c5888537f154ff64e698b7ee9776817","unresolved":false,"context_lines":[{"line_number":31,"context_line":"from six.moves import urllib"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"barbican_opts \u003d ["},{"line_number":35,"context_line":"    cfg.StrOpt(\u0027barbican_endpoint\u0027,"},{"line_number":36,"context_line":"               help\u003d\u0027Use this endpoint to connect to Barbican, for example: \u0027"},{"line_number":37,"context_line":"                    \u0027\"http://localhost:9311/\"\u0027),"},{"line_number":38,"context_line":"    cfg.StrOpt(\u0027barbican_api_version\u0027,"},{"line_number":39,"context_line":"               help\u003d\u0027Version of the Barbican API, for example: \"v1\"\u0027),"},{"line_number":40,"context_line":"    cfg.StrOpt(\u0027auth_endpoint\u0027,"},{"line_number":41,"context_line":"               default\u003d\u0027http://localhost:5000/v3\u0027,"},{"line_number":42,"context_line":"               help\u003d\u0027Use this endpoint to connect to Keystone\u0027),"},{"line_number":43,"context_line":"    cfg.BoolOpt(\u0027verify_ssl\u0027,"},{"line_number":44,"context_line":"                default\u003dTrue,"},{"line_number":45,"context_line":"                help\u003d\u0027Specifies if insecure TLS (https) requests. If False, \u0027"},{"line_number":46,"context_line":"                     \u0027the server\\\u0027s certificate will not be validated\u0027),"},{"line_number":47,"context_line":"]"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"BARBICAN_OPT_GROUP \u003d \u0027barbican\u0027"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"df140735_3eb9a82d","line":47,"range":{"start_line":34,"start_character":0,"end_line":47,"end_character":1},"in_reply_to":"df140735_d0bce2dd","updated":"2017-05-31 09:39:36.000000000","message":"Please look at the code which to access mistral service. We don\u0027t use writhe mistral endpoint in configuration file, just use keystone serivce catalog.","commit_id":"e58e23050218b5797fc50cc9a731d972d070f393"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"98922b85b67dec68143eb8b3145ea29b8022c52c","unresolved":false,"context_lines":[{"line_number":31,"context_line":"from six.moves import urllib"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"barbican_opts \u003d ["},{"line_number":35,"context_line":"    cfg.StrOpt(\u0027barbican_endpoint\u0027,"},{"line_number":36,"context_line":"               help\u003d\u0027Use this endpoint to connect to Barbican, for example: \u0027"},{"line_number":37,"context_line":"                    \u0027\"http://localhost:9311/\"\u0027),"},{"line_number":38,"context_line":"    cfg.StrOpt(\u0027barbican_api_version\u0027,"},{"line_number":39,"context_line":"               help\u003d\u0027Version of the Barbican API, for example: \"v1\"\u0027),"},{"line_number":40,"context_line":"    cfg.StrOpt(\u0027auth_endpoint\u0027,"},{"line_number":41,"context_line":"               default\u003d\u0027http://localhost:5000/v3\u0027,"},{"line_number":42,"context_line":"               help\u003d\u0027Use this endpoint to connect to Keystone\u0027),"},{"line_number":43,"context_line":"    cfg.BoolOpt(\u0027verify_ssl\u0027,"},{"line_number":44,"context_line":"                default\u003dTrue,"},{"line_number":45,"context_line":"                help\u003d\u0027Specifies if insecure TLS (https) requests. If False, \u0027"},{"line_number":46,"context_line":"                     \u0027the server\\\u0027s certificate will not be validated\u0027),"},{"line_number":47,"context_line":"]"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"BARBICAN_OPT_GROUP \u003d \u0027barbican\u0027"},{"line_number":50,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"df140735_d0bce2dd","line":47,"range":{"start_line":34,"start_character":0,"end_line":47,"end_character":1},"in_reply_to":"ff0f0b1f_066ce205","updated":"2017-05-31 04:33:51.000000000","message":"I can not found config opts for mistral in tacker codes.\nDo you mean the barbican_opts need be placed in barbican\u0027s config file?","commit_id":"e58e23050218b5797fc50cc9a731d972d070f393"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"fc335ba0b6bd2430ece21b9fedfae38625ce812d","unresolved":false,"context_lines":[{"line_number":226,"context_line":"        try:"},{"line_number":227,"context_line":"            secret \u003d barbican_client.secrets.create("},{"line_number":228,"context_line":"                payload\u003dsecret,"},{"line_number":229,"context_line":"                algorithm\u003dNone,"},{"line_number":230,"context_line":"                bit_length\u003dNone,"},{"line_number":231,"context_line":"                name\u003dNone,"},{"line_number":232,"context_line":"                secret_type\u003d\u0027opaque\u0027)"},{"line_number":233,"context_line":"            secret.expiration \u003d expiration"},{"line_number":234,"context_line":"            secret_ref \u003d secret.store()"},{"line_number":235,"context_line":"            return self._retrieve_secret_uuid(secret_ref)"}],"source_content_type":"text/x-python","patch_set":6,"id":"ff0f0b1f_8658f255","line":232,"range":{"start_line":229,"start_character":0,"end_line":232,"end_character":36},"updated":"2017-05-24 02:47:51.000000000","message":"add a comment to explain why we use fixed values here, thanks","commit_id":"e58e23050218b5797fc50cc9a731d972d070f393"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"98922b85b67dec68143eb8b3145ea29b8022c52c","unresolved":false,"context_lines":[{"line_number":226,"context_line":"        try:"},{"line_number":227,"context_line":"            secret \u003d barbican_client.secrets.create("},{"line_number":228,"context_line":"                payload\u003dsecret,"},{"line_number":229,"context_line":"                algorithm\u003dNone,"},{"line_number":230,"context_line":"                bit_length\u003dNone,"},{"line_number":231,"context_line":"                name\u003dNone,"},{"line_number":232,"context_line":"                secret_type\u003d\u0027opaque\u0027)"},{"line_number":233,"context_line":"            secret.expiration \u003d expiration"},{"line_number":234,"context_line":"            secret_ref \u003d secret.store()"},{"line_number":235,"context_line":"            return self._retrieve_secret_uuid(secret_ref)"}],"source_content_type":"text/x-python","patch_set":6,"id":"df140735_7044f61b","line":232,"range":{"start_line":229,"start_character":0,"end_line":232,"end_character":36},"in_reply_to":"ff0f0b1f_8658f255","updated":"2017-05-31 04:33:51.000000000","message":"Done","commit_id":"e58e23050218b5797fc50cc9a731d972d070f393"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"fc335ba0b6bd2430ece21b9fedfae38625ce812d","unresolved":false,"context_lines":[{"line_number":236,"context_line":"        except (barbican_exception.HTTPAuthError,"},{"line_number":237,"context_line":"                barbican_exception.HTTPClientError,"},{"line_number":238,"context_line":"                barbican_exception.HTTPServerError) as e:"},{"line_number":239,"context_line":"            LOG.error(_(\"Error storing object: %s\"), e)"},{"line_number":240,"context_line":"            raise exception.KeyManagerError(reason\u003de)"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"    def _create_secret_ref(self, object_id):"}],"source_content_type":"text/x-python","patch_set":6,"id":"ff0f0b1f_66539e3a","line":239,"range":{"start_line":239,"start_character":22,"end_line":239,"end_character":24},"updated":"2017-05-24 02:47:51.000000000","message":"no need for translation","commit_id":"e58e23050218b5797fc50cc9a731d972d070f393"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"98922b85b67dec68143eb8b3145ea29b8022c52c","unresolved":false,"context_lines":[{"line_number":236,"context_line":"        except (barbican_exception.HTTPAuthError,"},{"line_number":237,"context_line":"                barbican_exception.HTTPClientError,"},{"line_number":238,"context_line":"                barbican_exception.HTTPServerError) as e:"},{"line_number":239,"context_line":"            LOG.error(_(\"Error storing object: %s\"), e)"},{"line_number":240,"context_line":"            raise exception.KeyManagerError(reason\u003de)"},{"line_number":241,"context_line":""},{"line_number":242,"context_line":"    def _create_secret_ref(self, object_id):"}],"source_content_type":"text/x-python","patch_set":6,"id":"ff0f0b1f_8149fc60","line":239,"range":{"start_line":239,"start_character":22,"end_line":239,"end_character":24},"in_reply_to":"ff0f0b1f_66539e3a","updated":"2017-05-31 04:33:51.000000000","message":"Done. \nWhen do we need _?","commit_id":"e58e23050218b5797fc50cc9a731d972d070f393"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"013b54b61ef30f7c17639facb3d083a5fb46db31","unresolved":false,"context_lines":[{"line_number":126,"context_line":"    def _get_barbican_endpoint(self, auth, sess):"},{"line_number":127,"context_line":"        service_parameters \u003d {\u0027service_type\u0027: \u0027key-manager\u0027,"},{"line_number":128,"context_line":"                              \u0027service_name\u0027: \u0027barbican\u0027,"},{"line_number":129,"context_line":"                              \u0027interface\u0027: \u0027public\u0027}"},{"line_number":130,"context_line":"        return auth.get_endpoint(sess, **service_parameters)"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"    def _create_base_url(self, auth, sess, endpoint):"}],"source_content_type":"text/x-python","patch_set":11,"id":"df140735_2793195f","line":129,"range":{"start_line":129,"start_character":44,"end_line":129,"end_character":50},"updated":"2017-06-07 02:28:33.000000000","message":"use internal interface here.","commit_id":"3d2ea5a394c0a6292670be3935dc60f3efc0008f"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from keystoneauth1 import session"},{"line_number":21,"context_line":"from oslo_log import log as logging"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"from tacker._i18n import _"},{"line_number":24,"context_line":"from tacker.keymgr import exception"},{"line_number":25,"context_line":"from tacker.keymgr import key_manager"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from barbicanclient import client as barbican_client"},{"line_number":28,"context_line":"from barbicanclient import exceptions as barbican_exception"}],"source_content_type":"text/x-python","patch_set":16,"id":"7f231b9d_e8e7a9ab","line":25,"range":{"start_line":23,"start_character":0,"end_line":25,"end_character":37},"updated":"2017-06-15 01:54:19.000000000","message":"move this to the bottom of import section","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"d689b091489d9d5624b6251fe05769a833efa3bf","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from keystoneauth1 import session"},{"line_number":21,"context_line":"from oslo_log import log as logging"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"from tacker._i18n import _"},{"line_number":24,"context_line":"from tacker.keymgr import exception"},{"line_number":25,"context_line":"from tacker.keymgr import key_manager"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from barbicanclient import client as barbican_client"},{"line_number":28,"context_line":"from barbicanclient import exceptions as barbican_exception"}],"source_content_type":"text/x-python","patch_set":16,"id":"5f201791_0b77c3d6","line":25,"range":{"start_line":23,"start_character":0,"end_line":25,"end_character":37},"in_reply_to":"7f231b9d_e8e7a9ab","updated":"2017-06-22 16:59:49.000000000","message":"Done","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":24,"context_line":"from tacker.keymgr import exception"},{"line_number":25,"context_line":"from tacker.keymgr import key_manager"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from barbicanclient import client as barbican_client"},{"line_number":28,"context_line":"from barbicanclient import exceptions as barbican_exception"},{"line_number":29,"context_line":"from six.moves import urllib"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":16,"id":"7f231b9d_a8053148","line":29,"range":{"start_line":27,"start_character":0,"end_line":29,"end_character":28},"updated":"2017-06-15 01:54:19.000000000","message":"this should be placed at the same block with keystoneauth1 and oslo_log above","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"d689b091489d9d5624b6251fe05769a833efa3bf","unresolved":false,"context_lines":[{"line_number":24,"context_line":"from tacker.keymgr import exception"},{"line_number":25,"context_line":"from tacker.keymgr import key_manager"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"from barbicanclient import client as barbican_client"},{"line_number":28,"context_line":"from barbicanclient import exceptions as barbican_exception"},{"line_number":29,"context_line":"from six.moves import urllib"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"LOG \u003d logging.getLogger(__name__)"}],"source_content_type":"text/x-python","patch_set":16,"id":"5f201791_eb7127e0","line":29,"range":{"start_line":27,"start_character":0,"end_line":29,"end_character":28},"in_reply_to":"7f231b9d_a8053148","updated":"2017-06-22 16:59:49.000000000","message":"Done","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        :param context: the user context for authentication"},{"line_number":47,"context_line":"        :return: a Barbican Client object"},{"line_number":48,"context_line":"        :raises Forbidden: if the context is None"},{"line_number":49,"context_line":"        :raises KeyManagerError: if context is missing tenant or tenant is"},{"line_number":50,"context_line":"                                 None or error occurs while creating client"},{"line_number":51,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":16,"id":"7f231b9d_48545d21","line":48,"range":{"start_line":48,"start_character":42,"end_line":48,"end_character":49},"updated":"2017-06-15 01:54:19.000000000","message":"*is empty\n\nBecause user context is a dictionary (most of the time).\n\n`empty` means empty string, list, dictionary and others [1]\n\n[1] https://docs.python.org/2/library/stdtypes.html#truth-value-testing","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"d689b091489d9d5624b6251fe05769a833efa3bf","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"        :param context: the user context for authentication"},{"line_number":47,"context_line":"        :return: a Barbican Client object"},{"line_number":48,"context_line":"        :raises Forbidden: if the context is None"},{"line_number":49,"context_line":"        :raises KeyManagerError: if context is missing tenant or tenant is"},{"line_number":50,"context_line":"                                 None or error occurs while creating client"},{"line_number":51,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":16,"id":"5f201791_2b495f8a","line":48,"range":{"start_line":48,"start_character":42,"end_line":48,"end_character":49},"in_reply_to":"7f231b9d_48545d21","updated":"2017-06-22 16:59:49.000000000","message":"Done","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":69,"context_line":"                endpoint\u003dself._barbican_endpoint)"},{"line_number":70,"context_line":"            self._current_context \u003d context"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        except Exception as e:"},{"line_number":73,"context_line":"            LOG.error(\"Error creating Barbican client: %s\", e)"},{"line_number":74,"context_line":"            raise exception.KeyManagerError(reason\u003de)"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"7f231b9d_689039ee","line":72,"range":{"start_line":72,"start_character":15,"end_line":72,"end_character":24},"updated":"2017-06-15 01:54:19.000000000","message":"why do you not catch KeyManagerError at this point?","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"d689b091489d9d5624b6251fe05769a833efa3bf","unresolved":false,"context_lines":[{"line_number":69,"context_line":"                endpoint\u003dself._barbican_endpoint)"},{"line_number":70,"context_line":"            self._current_context \u003d context"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"        except Exception as e:"},{"line_number":73,"context_line":"            LOG.error(\"Error creating Barbican client: %s\", e)"},{"line_number":74,"context_line":"            raise exception.KeyManagerError(reason\u003de)"},{"line_number":75,"context_line":""}],"source_content_type":"text/x-python","patch_set":16,"id":"5f201791_4e2269a6","line":72,"range":{"start_line":72,"start_character":15,"end_line":72,"end_character":24},"in_reply_to":"7f231b9d_689039ee","updated":"2017-06-22 16:59:49.000000000","message":"We can not known what excepton will raise in these lines, so we convert the exception to KeyManagerError.","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":140,"context_line":"        latest_version \u003d raw_data[-1]"},{"line_number":141,"context_line":"        api_version \u003d latest_version.get(\u0027id\u0027)"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"        base_url \u003d urllib.parse.urljoin("},{"line_number":144,"context_line":"            endpoint, api_version)"},{"line_number":145,"context_line":"        return base_url"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    def store(self, context, secret, expiration\u003dNone):"}],"source_content_type":"text/x-python","patch_set":16,"id":"7f231b9d_c324ceb1","line":144,"range":{"start_line":143,"start_character":8,"end_line":144,"end_character":34},"updated":"2017-06-15 01:54:19.000000000","message":"this should be in one line","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"d689b091489d9d5624b6251fe05769a833efa3bf","unresolved":false,"context_lines":[{"line_number":140,"context_line":"        latest_version \u003d raw_data[-1]"},{"line_number":141,"context_line":"        api_version \u003d latest_version.get(\u0027id\u0027)"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"        base_url \u003d urllib.parse.urljoin("},{"line_number":144,"context_line":"            endpoint, api_version)"},{"line_number":145,"context_line":"        return base_url"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    def store(self, context, secret, expiration\u003dNone):"}],"source_content_type":"text/x-python","patch_set":16,"id":"5f201791_6e50850b","line":144,"range":{"start_line":143,"start_character":8,"end_line":144,"end_character":34},"in_reply_to":"7f231b9d_c324ceb1","updated":"2017-06-22 16:59:49.000000000","message":"Done","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":18955,"name":"dharmendra","email":"dharmendra.kushwaha@gmail.com","username":"dharmendra"},"change_message_id":"bc945c3a4587fe3cf4d8f29f87d201afc9884397","unresolved":false,"context_lines":[{"line_number":55,"context_line":"            LOG.error(msg)"},{"line_number":56,"context_line":"            raise exception.Forbidden(msg)"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"        if self._barbican_client and self._current_context \u003d\u003d context:"},{"line_number":59,"context_line":"            return self._barbican_client"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":22,"id":"3f1d235d_519fac02","line":58,"range":{"start_line":58,"start_character":37,"end_line":58,"end_character":58},"updated":"2017-07-03 01:01:59.000000000","message":"Where _current_context initialized ?","commit_id":"07428d498501c58fa8dc618fc6f4dd84643891db"},{"author":{"_account_id":18955,"name":"dharmendra","email":"dharmendra.kushwaha@gmail.com","username":"dharmendra"},"change_message_id":"bc945c3a4587fe3cf4d8f29f87d201afc9884397","unresolved":false,"context_lines":[{"line_number":154,"context_line":"        :returns: the UUID of the stored object"},{"line_number":155,"context_line":"        :raises KeyManagerError: if object store fails"},{"line_number":156,"context_line":"        \"\"\""},{"line_number":157,"context_line":"        barbican_client \u003d self._get_barbican_client(context)"},{"line_number":158,"context_line":""},{"line_number":159,"context_line":"        try:"},{"line_number":160,"context_line":"            secret \u003d barbican_client.secrets.create("}],"source_content_type":"text/x-python","patch_set":22,"id":"3f1d235d_f7c0e87e","line":157,"range":{"start_line":157,"start_character":26,"end_line":157,"end_character":51},"updated":"2017-07-03 01:01:59.000000000","message":"IMO, self._barbican_client should be defined as class variable(currently defined as instance variable in line#38), otherwise self._barbican_client should be initilized in __init__ and can be use directly evreywhere instead of calling self._get_barbican_client.","commit_id":"07428d498501c58fa8dc618fc6f4dd84643891db"}],"tacker/keymgr/exception.py":[{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"class InsufficientCredentialDataError(TackerException):"},{"line_number":41,"context_line":"    message \u003d _(\"Insufficient credential data was provided, either \""},{"line_number":42,"context_line":"                \"\\\"token\\\" must be set in the passed conf, or a context \""},{"line_number":43,"context_line":"                \"with an \\\"auth_token\\\" property must be passed.\")"}],"source_content_type":"text/x-python","patch_set":16,"id":"7f231b9d_43455e42","line":41,"range":{"start_line":41,"start_character":16,"end_line":41,"end_character":17},"updated":"2017-06-15 01:54:19.000000000","message":"you can use single quote to avoid back slash in content of this string","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"d689b091489d9d5624b6251fe05769a833efa3bf","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"class InsufficientCredentialDataError(TackerException):"},{"line_number":41,"context_line":"    message \u003d _(\"Insufficient credential data was provided, either \""},{"line_number":42,"context_line":"                \"\\\"token\\\" must be set in the passed conf, or a context \""},{"line_number":43,"context_line":"                \"with an \\\"auth_token\\\" property must be passed.\")"}],"source_content_type":"text/x-python","patch_set":16,"id":"5f201791_6e9e45b9","line":41,"range":{"start_line":41,"start_character":16,"end_line":41,"end_character":17},"in_reply_to":"7f231b9d_43455e42","updated":"2017-06-22 16:59:49.000000000","message":"Done","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":18955,"name":"dharmendra","email":"dharmendra.kushwaha@gmail.com","username":"dharmendra"},"change_message_id":"bc945c3a4587fe3cf4d8f29f87d201afc9884397","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2015 The Johns Hopkins University/Applied Physics Laboratory"},{"line_number":2,"context_line":"# All Rights Reserved."},{"line_number":3,"context_line":"#"},{"line_number":4,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"}],"source_content_type":"text/x-python","patch_set":22,"id":"3f1d235d_5741dc0a","line":1,"updated":"2017-07-03 01:01:59.000000000","message":"Can we merge this file with tacker/common/exceptions.py ?","commit_id":"07428d498501c58fa8dc618fc6f4dd84643891db"}],"tacker/nfvo/drivers/vim/openstack_driver.py":[{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"beae2db8b07fea2145d0675d90c0378d94091e7a","unresolved":false,"context_lines":[{"line_number":252,"context_line":"        auth[\u0027password\u0027] \u003d encoded_auth"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"        if CONF.vim_keys.use_barbican:"},{"line_number":255,"context_line":"            auth_url \u003d auth[\u0027auth_url\u0027]"},{"line_number":256,"context_line":"            secret_uuid \u003d keymgr_api(auth_url).store(context, fernet_key)"},{"line_number":257,"context_line":"            auth[\u0027key_type\u0027] \u003d \u0027barbican_key\u0027"},{"line_number":258,"context_line":"            auth[\u0027secret_uuid\u0027] \u003d secret_uuid"},{"line_number":259,"context_line":"            LOG.debug(\u0027VIM auth successfully stored for vim %s\u0027,"},{"line_number":260,"context_line":"                      vim_id)"},{"line_number":261,"context_line":"        else:"},{"line_number":262,"context_line":"            auth[\u0027key_type\u0027] \u003d \u0027fernet_key\u0027"},{"line_number":263,"context_line":"            key_file \u003d os.path.join(CONF.vim_keys.openstack, vim_id)"}],"source_content_type":"text/x-python","patch_set":8,"id":"df140735_fa15004a","line":260,"range":{"start_line":255,"start_character":0,"end_line":260,"end_character":29},"updated":"2017-06-05 07:13:48.000000000","message":"to make clear: context is the tacker keystone, and auth_url is for vim keystone. your code will fail if we separate tacker keystone and target vim.","commit_id":"c14cb2b846cc5f693bc609d2621a8b33e461d1f1"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"0a8baa329f1aac6b21d5786fd638a958e3b4a0a4","unresolved":false,"context_lines":[{"line_number":252,"context_line":"        auth[\u0027password\u0027] \u003d encoded_auth"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"        if CONF.vim_keys.use_barbican:"},{"line_number":255,"context_line":"            auth_url \u003d auth[\u0027auth_url\u0027]"},{"line_number":256,"context_line":"            secret_uuid \u003d keymgr_api(auth_url).store(context, fernet_key)"},{"line_number":257,"context_line":"            auth[\u0027key_type\u0027] \u003d \u0027barbican_key\u0027"},{"line_number":258,"context_line":"            auth[\u0027secret_uuid\u0027] \u003d secret_uuid"},{"line_number":259,"context_line":"            LOG.debug(\u0027VIM auth successfully stored for vim %s\u0027,"},{"line_number":260,"context_line":"                      vim_id)"},{"line_number":261,"context_line":"        else:"},{"line_number":262,"context_line":"            auth[\u0027key_type\u0027] \u003d \u0027fernet_key\u0027"},{"line_number":263,"context_line":"            key_file \u003d os.path.join(CONF.vim_keys.openstack, vim_id)"}],"source_content_type":"text/x-python","patch_set":8,"id":"df140735_cc2706c7","line":260,"range":{"start_line":255,"start_character":0,"end_line":260,"end_character":29},"in_reply_to":"df140735_fa15004a","updated":"2017-06-06 06:39:24.000000000","message":"Done","commit_id":"c14cb2b846cc5f693bc609d2621a8b33e461d1f1"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"d0e287468024d2750b1b94d2a6166ba3eb138178","unresolved":false,"context_lines":[{"line_number":222,"context_line":""},{"line_number":223,"context_line":"        if auth.get(\u0027key_type\u0027) \u003d\u003d \u0027barbican_key\u0027:"},{"line_number":224,"context_line":"            try:"},{"line_number":225,"context_line":"                auth_url \u003d CONF.keystone_authtoken"},{"line_number":226,"context_line":"                secret_uuid \u003d auth[\u0027secret_uuid\u0027]"},{"line_number":227,"context_line":"                keymgr_api(auth_url).delete(context, secret_uuid)"},{"line_number":228,"context_line":"                LOG.debug(\u0027VIM key deleted successfully for vim %s\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"df140735_40fbb7bf","line":225,"range":{"start_line":225,"start_character":16,"end_line":225,"end_character":24},"updated":"2017-06-06 09:06:17.000000000","message":"this is not auth_url. to name it as  keystone_conf is better.","commit_id":"8077cb36b20e20bb58a0397a422e28d0632bcf5b"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"5dc4bafe12252b40afb9039066070e823b6ae539","unresolved":false,"context_lines":[{"line_number":222,"context_line":""},{"line_number":223,"context_line":"        if auth.get(\u0027key_type\u0027) \u003d\u003d \u0027barbican_key\u0027:"},{"line_number":224,"context_line":"            try:"},{"line_number":225,"context_line":"                auth_url \u003d CONF.keystone_authtoken"},{"line_number":226,"context_line":"                secret_uuid \u003d auth[\u0027secret_uuid\u0027]"},{"line_number":227,"context_line":"                keymgr_api(auth_url).delete(context, secret_uuid)"},{"line_number":228,"context_line":"                LOG.debug(\u0027VIM key deleted successfully for vim %s\u0027,"}],"source_content_type":"text/x-python","patch_set":10,"id":"df140735_5a2dda92","line":225,"range":{"start_line":225,"start_character":16,"end_line":225,"end_character":24},"in_reply_to":"df140735_40fbb7bf","updated":"2017-06-06 15:30:35.000000000","message":"Done","commit_id":"8077cb36b20e20bb58a0397a422e28d0632bcf5b"},{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"d0e287468024d2750b1b94d2a6166ba3eb138178","unresolved":false,"context_lines":[{"line_number":252,"context_line":"        auth[\u0027password\u0027] \u003d encoded_auth"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"        if CONF.vim_keys.use_barbican:"},{"line_number":255,"context_line":"            auth_url \u003d CONF.keystone_authtoken"},{"line_number":256,"context_line":"            secret_uuid \u003d keymgr_api(auth_url).store(context, fernet_key)"},{"line_number":257,"context_line":"            auth[\u0027key_type\u0027] \u003d \u0027barbican_key\u0027"},{"line_number":258,"context_line":"            auth[\u0027secret_uuid\u0027] \u003d secret_uuid"}],"source_content_type":"text/x-python","patch_set":10,"id":"df140735_001a5f15","line":255,"range":{"start_line":255,"start_character":12,"end_line":255,"end_character":20},"updated":"2017-06-06 09:06:17.000000000","message":"ditto","commit_id":"8077cb36b20e20bb58a0397a422e28d0632bcf5b"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"5dc4bafe12252b40afb9039066070e823b6ae539","unresolved":false,"context_lines":[{"line_number":252,"context_line":"        auth[\u0027password\u0027] \u003d encoded_auth"},{"line_number":253,"context_line":""},{"line_number":254,"context_line":"        if CONF.vim_keys.use_barbican:"},{"line_number":255,"context_line":"            auth_url \u003d CONF.keystone_authtoken"},{"line_number":256,"context_line":"            secret_uuid \u003d keymgr_api(auth_url).store(context, fernet_key)"},{"line_number":257,"context_line":"            auth[\u0027key_type\u0027] \u003d \u0027barbican_key\u0027"},{"line_number":258,"context_line":"            auth[\u0027secret_uuid\u0027] \u003d secret_uuid"}],"source_content_type":"text/x-python","patch_set":10,"id":"df140735_3a20e69a","line":255,"range":{"start_line":255,"start_character":12,"end_line":255,"end_character":20},"in_reply_to":"df140735_001a5f15","updated":"2017-06-06 15:30:35.000000000","message":"Done","commit_id":"8077cb36b20e20bb58a0397a422e28d0632bcf5b"}],"tacker/nfvo/nfvo_plugin.py":[{"author":{"_account_id":2874,"name":"yong sheng gong","email":"gong.yongsheng@99cloud.net","username":"gongysh"},"change_message_id":"e633c753703b40eef9c934a6a1fa7461a85d6202","unresolved":false,"context_lines":[{"line_number":162,"context_line":""},{"line_number":163,"context_line":"            vim_obj \u003d super(NfvoPlugin, self).update_vim("},{"line_number":164,"context_line":"                context, vim_id, vim_obj)"},{"line_number":165,"context_line":"            if old_auth_need_delete:"},{"line_number":166,"context_line":"                try:"},{"line_number":167,"context_line":"                    self._vim_drivers.invoke(vim_type,"},{"line_number":168,"context_line":"                                             \u0027delete_vim_auth\u0027,"},{"line_number":169,"context_line":"                                             context\u003dcontext,"},{"line_number":170,"context_line":"                                             vim_id\u003dold_vim_obj[\u0027id\u0027],"},{"line_number":171,"context_line":"                                             auth\u003dold_vim_obj[\u0027auth_cred\u0027])"},{"line_number":172,"context_line":"                except Exception as ex:"},{"line_number":173,"context_line":"                    LOG.warning(\"Fail to delete old auth for vim %s due to %s\","},{"line_number":174,"context_line":"                                vim_id, ex)"}],"source_content_type":"text/x-python","patch_set":22,"id":"5f201791_5d140144","line":171,"range":{"start_line":165,"start_character":0,"end_line":171,"end_character":75},"updated":"2017-06-27 03:50:22.000000000","message":"why not do it in  driver\u0027s \u0027register_vim\u0027  method?\npleas add a follow patch to do it.","commit_id":"07428d498501c58fa8dc618fc6f4dd84643891db"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"446e8a692b955ca17e2bc4b6f7744f7acc9c0e74","unresolved":false,"context_lines":[{"line_number":430,"context_line":"        self._build_vim_auth(context, vim_obj)"},{"line_number":431,"context_line":"        return vim_obj"},{"line_number":432,"context_line":""},{"line_number":433,"context_line":"    def _build_vim_auth(self, context, vim_info):"},{"line_number":434,"context_line":"        LOG.debug(\u0027VIM id is %s\u0027, vim_info[\u0027id\u0027])"},{"line_number":435,"context_line":"        vim_auth \u003d vim_info[\u0027auth_cred\u0027]"},{"line_number":436,"context_line":"        vim_auth[\u0027password\u0027] \u003d self._decode_vim_auth(context,"}],"source_content_type":"text/x-python","patch_set":22,"id":"3f1d235d_95876962","line":433,"range":{"start_line":433,"start_character":0,"end_line":433,"end_character":49},"updated":"2017-07-03 07:11:20.000000000","message":"Looks this method is duplicated in tacker/vnfm/vim_client.py@L70. Can we reuse the one in vim_client.py ?","commit_id":"07428d498501c58fa8dc618fc6f4dd84643891db"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"446e8a692b955ca17e2bc4b6f7744f7acc9c0e74","unresolved":false,"context_lines":[{"line_number":446,"context_line":"                vim_auth.pop(attr, None)"},{"line_number":447,"context_line":"        return vim_auth"},{"line_number":448,"context_line":""},{"line_number":449,"context_line":"    def _decode_vim_auth(self, context, vim_id, auth):"},{"line_number":450,"context_line":"        \"\"\"Decode Vim credentials"},{"line_number":451,"context_line":""},{"line_number":452,"context_line":"        Decrypt VIM cred, get fernet Key from local_file_system or"}],"source_content_type":"text/x-python","patch_set":22,"id":"3f1d235d_757e0d6c","line":449,"range":{"start_line":449,"start_character":0,"end_line":449,"end_character":54},"updated":"2017-07-03 07:11:20.000000000","message":"Same comment as in L433 above.","commit_id":"07428d498501c58fa8dc618fc6f4dd84643891db"}],"tacker/vnfm/plugin.py":[{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":262,"context_line":""},{"line_number":263,"context_line":"    def _get_infra_driver(self, context, vnf_info):"},{"line_number":264,"context_line":"        vim_res \u003d self.get_vim(context, vnf_info)"},{"line_number":265,"context_line":"        needless_attrs \u003d [\u0027key_type\u0027,"},{"line_number":266,"context_line":"                          \u0027secret_uuid\u0027]"},{"line_number":267,"context_line":"        for attr in needless_attrs:"},{"line_number":268,"context_line":"            if attr in vim_res[\u0027vim_auth\u0027]:"},{"line_number":269,"context_line":"                vim_res[\u0027vim_auth\u0027].pop(attr)"}],"source_content_type":"text/x-python","patch_set":16,"id":"7f231b9d_a3c79296","line":266,"range":{"start_line":265,"start_character":0,"end_line":266,"end_character":39},"updated":"2017-06-15 01:54:19.000000000","message":"this should be at the same line","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"d689b091489d9d5624b6251fe05769a833efa3bf","unresolved":false,"context_lines":[{"line_number":262,"context_line":""},{"line_number":263,"context_line":"    def _get_infra_driver(self, context, vnf_info):"},{"line_number":264,"context_line":"        vim_res \u003d self.get_vim(context, vnf_info)"},{"line_number":265,"context_line":"        needless_attrs \u003d [\u0027key_type\u0027,"},{"line_number":266,"context_line":"                          \u0027secret_uuid\u0027]"},{"line_number":267,"context_line":"        for attr in needless_attrs:"},{"line_number":268,"context_line":"            if attr in vim_res[\u0027vim_auth\u0027]:"},{"line_number":269,"context_line":"                vim_res[\u0027vim_auth\u0027].pop(attr)"}],"source_content_type":"text/x-python","patch_set":16,"id":"5f201791_2e816d4b","line":266,"range":{"start_line":265,"start_character":0,"end_line":266,"end_character":39},"in_reply_to":"7f231b9d_a3c79296","updated":"2017-06-22 16:59:49.000000000","message":"Done","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":266,"context_line":"                          \u0027secret_uuid\u0027]"},{"line_number":267,"context_line":"        for attr in needless_attrs:"},{"line_number":268,"context_line":"            if attr in vim_res[\u0027vim_auth\u0027]:"},{"line_number":269,"context_line":"                vim_res[\u0027vim_auth\u0027].pop(attr)"},{"line_number":270,"context_line":"        return vim_res[\u0027vim_type\u0027], vim_res[\u0027vim_auth\u0027]"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"    def _create_vnf_wait(self, context, vnf_dict, auth_attr, driver_name):"}],"source_content_type":"text/x-python","patch_set":16,"id":"7f231b9d_83493632","line":269,"range":{"start_line":269,"start_character":36,"end_line":269,"end_character":45},"updated":"2017-06-15 01:54:19.000000000","message":"it have to be .pop(attr, None) to avoid exception","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"},{"author":{"_account_id":19644,"name":"Yan Xing\u0027an","email":"yanxingan@cmss.chinamobile.com","username":"yanxingan"},"change_message_id":"d689b091489d9d5624b6251fe05769a833efa3bf","unresolved":false,"context_lines":[{"line_number":266,"context_line":"                          \u0027secret_uuid\u0027]"},{"line_number":267,"context_line":"        for attr in needless_attrs:"},{"line_number":268,"context_line":"            if attr in vim_res[\u0027vim_auth\u0027]:"},{"line_number":269,"context_line":"                vim_res[\u0027vim_auth\u0027].pop(attr)"},{"line_number":270,"context_line":"        return vim_res[\u0027vim_type\u0027], vim_res[\u0027vim_auth\u0027]"},{"line_number":271,"context_line":""},{"line_number":272,"context_line":"    def _create_vnf_wait(self, context, vnf_dict, auth_attr, driver_name):"}],"source_content_type":"text/x-python","patch_set":16,"id":"5f201791_aee1fd2c","line":269,"range":{"start_line":269,"start_character":36,"end_line":269,"end_character":45},"in_reply_to":"7f231b9d_83493632","updated":"2017-06-22 16:59:49.000000000","message":"Done","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"}],"tacker/vnfm/policy_actions/respawn/respawn.py":[{"author":{"_account_id":23630,"name":"Tovin Seven","email":"tovin07@gmail.com","username":"tovin07"},"change_message_id":"d4168055807cbff9d22937948a2db1e27f607071","unresolved":false,"context_lines":[{"line_number":65,"context_line":"                              \u0027secret_uuid\u0027]"},{"line_number":66,"context_line":"            for attr in needless_attrs:"},{"line_number":67,"context_line":"                if attr in vim_res[\u0027vim_auth\u0027]:"},{"line_number":68,"context_line":"                    vim_res[\u0027vim_auth\u0027].pop(attr)"},{"line_number":69,"context_line":"            return vim_res"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"        def _delete_heat_stack(vim_auth):"}],"source_content_type":"text/x-python","patch_set":16,"id":"7f231b9d_434f9e33","line":68,"range":{"start_line":68,"start_character":39,"end_line":68,"end_character":49},"updated":"2017-06-15 01:54:19.000000000","message":"this too","commit_id":"4796b956b58a5465c041b31776d0a9386722e35c"}]}
