)]}'
{"devstack/lib/tacker":[{"author":{"_account_id":15755,"name":"Martin Oemke","email":"zeih@zeih.eu","username":"zeih"},"change_message_id":"6ac731417817f8d4e5131e24673a136b3ef72f4e","unresolved":false,"context_lines":[{"line_number":25,"context_line":"# - stop_tacker"},{"line_number":26,"context_line":"# - cleanup_tacker"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"# Tacker SeviceVM"},{"line_number":29,"context_line":"# ---------------"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"# Save trace setting"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"5a710552_1c4d183e","line":28,"updated":"2015-12-16 10:53:20.000000000","message":"ServiceVM can be exchanged","commit_id":"d5195c8e5f7b60f90d1ee0f099b6ceb433ab03ac"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"25ce9d3c71a135a6f2a354c5872801e8a0767cb6","unresolved":false,"context_lines":[{"line_number":117,"context_line":"# Migrated from keystone_data.sh"},{"line_number":118,"context_line":"function create_tacker_accounts {"},{"line_number":119,"context_line":"    if is_service_enabled tacker; then"},{"line_number":120,"context_line":"        # openstack user create tacker --password service-password"},{"line_number":121,"context_line":"        # openstack role add admin --user \u003cuuid\u003e --project service"},{"line_number":122,"context_line":"        create_service_user \"tacker\""},{"line_number":123,"context_line":"        get_or_create_role \"nfv-role\""}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"3a7e1126_54de1540","line":120,"updated":"2015-12-18 06:41:53.000000000","message":"while at it, can you remove these spurious comments in L120, L121, L128, L131 ?","commit_id":"60c1334b21a96c9639dde435945b23a19e81bf62"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"25ce9d3c71a135a6f2a354c5872801e8a0767cb6","unresolved":false,"context_lines":[{"line_number":127,"context_line":""},{"line_number":128,"context_line":"            # openstack service create tacker --name tacker \u0027--description\u003dtacker Service\u0027"},{"line_number":129,"context_line":"            local tacker_service\u003d$(get_or_create_service \"tacker\" \\"},{"line_number":130,"context_line":"                \"tacker\" \"Tacker Service\")"},{"line_number":131,"context_line":"            # openstack endpoint create \u003cuuid of service\u003e --region RegionOne --publicurl \u0027http://143.183.96.146:8888/\u0027 --adminurl \u0027http://143.183.96.146:8888/\u0027 --internalurl \u0027http://143.183.96.146:8888/\u0027"},{"line_number":132,"context_line":"            get_or_create_endpoint $tacker_service \\"},{"line_number":133,"context_line":"                \"$REGION_NAME\" \\"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"3a7e1126_14fbadc2","line":130,"range":{"start_line":130,"start_character":26,"end_line":130,"end_character":32},"updated":"2015-12-18 06:41:53.000000000","message":"Heat uses something like this in [1],\n\nget_or_create_service \"heat\" \"orchestration\" \"Heat Orchestration Service\"\n\nSo.. can we use something like this for tacker,\n\nget_or_create_service \"tacker\" \"nfv-orchestration\" \"Tacker  NFV Orchestration Service\"\n\n[1] https://github.com/openstack-dev/devstack/blob/master/lib/heat#L385","commit_id":"60c1334b21a96c9639dde435945b23a19e81bf62"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"25ce9d3c71a135a6f2a354c5872801e8a0767cb6","unresolved":false,"context_lines":[{"line_number":144,"context_line":"# init_tacker() - Initialize databases, etc."},{"line_number":145,"context_line":"function init_tacker {"},{"line_number":146,"context_line":"    # mysql -uroot -pmysql-password -h143.183.96.146 -e \u0027DROP DATABASE IF EXISTS tacker;\u0027"},{"line_number":147,"context_line":"    # mysql -uroot -pmysql-password -h143.183.96.146 -e \u0027CREATE DATABASE tacker CHARACTER SET utf8;\u0027"},{"line_number":148,"context_line":"    recreate_database $TACKER_DB_NAME"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"    # Run Tacker db migrations"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"3a7e1126_b493b94e","line":147,"updated":"2015-12-18 06:41:53.000000000","message":"can you please remove above L146, L147 ?","commit_id":"60c1334b21a96c9639dde435945b23a19e81bf62"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"25ce9d3c71a135a6f2a354c5872801e8a0767cb6","unresolved":false,"context_lines":[{"line_number":190,"context_line":""},{"line_number":191,"context_line":"# TODO"},{"line_number":192,"context_line":"# Start running processes, including screen"},{"line_number":193,"context_line":"function start_tacker_agents {"},{"line_number":194,"context_line":"    # TODO"},{"line_number":195,"context_line":"    return"},{"line_number":196,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"3a7e1126_f4c4e15f","line":193,"range":{"start_line":193,"start_character":9,"end_line":193,"end_character":28},"updated":"2015-12-18 06:41:53.000000000","message":"This method can be safely removed, it is not used.","commit_id":"60c1334b21a96c9639dde435945b23a19e81bf62"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"25ce9d3c71a135a6f2a354c5872801e8a0767cb6","unresolved":false,"context_lines":[{"line_number":205,"context_line":"# stop_tacker() - Stop running processes (non-screen)"},{"line_number":206,"context_line":"function stop_tacker {"},{"line_number":207,"context_line":"    stop_process tacker-svc"},{"line_number":208,"context_line":"    # stop_process q-agt"},{"line_number":209,"context_line":"}"},{"line_number":210,"context_line":""},{"line_number":211,"context_line":"# cleanup_tacker() - Remove residual data files, anything left over from previous"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"3a7e1126_14972d49","line":208,"range":{"start_line":208,"start_character":6,"end_line":208,"end_character":18},"updated":"2015-12-18 06:41:53.000000000","message":"can you please remove this line ? It is not applicable to tacker anymore.","commit_id":"60c1334b21a96c9639dde435945b23a19e81bf62"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"25ce9d3c71a135a6f2a354c5872801e8a0767cb6","unresolved":false,"context_lines":[{"line_number":291,"context_line":"    iniset $TACKER_CONF tacker_nova user_domain_id default"},{"line_number":292,"context_line":"    iniset $TACKER_CONF tacker_nova project_name $SERVICE_TENANT_NAME"},{"line_number":293,"context_line":"    iniset $TACKER_CONF tacker_nova project_domain_id default"},{"line_number":294,"context_line":"    iniset $TACKER_CONF tacker_nova region_name $REGION_NAME"},{"line_number":295,"context_line":""},{"line_number":296,"context_line":"    iniset $TACKER_CONF tacker_heat heat_uri http://$SERVICE_HOST:8004/v1"},{"line_number":297,"context_line":"    iniset $TACKER_CONF tacker_heat stack_retries 60"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"3a7e1126_745eb177","line":294,"range":{"start_line":294,"start_character":4,"end_line":294,"end_character":10},"updated":"2015-12-18 06:41:53.000000000","message":"You need to change reference to servicevm_nova to tacker_nova in,\n\ntacker/vm/drivers/nova/nova.py\netc/tacker/tacker.conf","commit_id":"60c1334b21a96c9639dde435945b23a19e81bf62"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"25ce9d3c71a135a6f2a354c5872801e8a0767cb6","unresolved":false,"context_lines":[{"line_number":295,"context_line":""},{"line_number":296,"context_line":"    iniset $TACKER_CONF tacker_heat heat_uri http://$SERVICE_HOST:8004/v1"},{"line_number":297,"context_line":"    iniset $TACKER_CONF tacker_heat stack_retries 60"},{"line_number":298,"context_line":"    iniset $TACKER_CONF tacker_heat stack_retry_wait 5"},{"line_number":299,"context_line":""},{"line_number":300,"context_line":"    _tacker_setup_rootwrap"},{"line_number":301,"context_line":"    echo \"Creating bridge\""}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"3a7e1126_d478c5f4","line":298,"range":{"start_line":298,"start_character":12,"end_line":298,"end_character":23},"updated":"2015-12-18 06:41:53.000000000","message":"You need to change reference to servicevm_heat to tacker_heat in,\n\ntacker/vm/drivers/heat/heat.py\ntacker/common/clients.py\netc/tacker/tacker.conf","commit_id":"60c1334b21a96c9639dde435945b23a19e81bf62"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"881cf405e58a6a1c6169e7e621e79f7244c5521c","unresolved":false,"context_lines":[{"line_number":146,"context_line":""},{"line_number":147,"context_line":"# install_tacker() - Collect source and prepare"},{"line_number":148,"context_line":"function install_tacker {"},{"line_number":149,"context_line":"    #git_clone $TACKER_REPO $TACKER_DIR $TACKER_BRANCH"},{"line_number":150,"context_line":"    setup_develop $TACKER_DIR"},{"line_number":151,"context_line":"}"},{"line_number":152,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"3a7e1126_9a38f83e","line":149,"updated":"2015-12-19 01:03:24.000000000","message":"nit: remove this comment if you can","commit_id":"013afad2d4afaa6aa7a0be5e3ae6b10d52e54eb4"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"881cf405e58a6a1c6169e7e621e79f7244c5521c","unresolved":false,"context_lines":[{"line_number":183,"context_line":""},{"line_number":184,"context_line":"# stop_tacker() - Stop running processes (non-screen)"},{"line_number":185,"context_line":"function stop_tacker {"},{"line_number":186,"context_line":"    stop_process tacker-svcs"},{"line_number":187,"context_line":"}"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"# cleanup_tacker() - Remove residual data files, anything left over from previous"}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"3a7e1126_5ad130f9","line":186,"range":{"start_line":186,"start_character":4,"end_line":186,"end_character":16},"updated":"2015-12-19 01:03:24.000000000","message":"I think this can be just \u0027stop_process tacker\u0027 ?","commit_id":"013afad2d4afaa6aa7a0be5e3ae6b10d52e54eb4"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"7df5a5f0bf1f56a57dfd69cceba71619cb045ae0","unresolved":false,"context_lines":[{"line_number":118,"context_line":"function create_tacker_accounts {"},{"line_number":119,"context_line":"    if is_service_enabled tacker; then"},{"line_number":120,"context_line":"        create_service_user \"tacker\""},{"line_number":121,"context_line":"        get_or_create_role \"nfv-role\""},{"line_number":122,"context_line":"        create_service_user \"tacker\" \"nfv-role\""},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"        if [[ \"$KEYSTONE_CATALOG_BACKEND\" \u003d \u0027sql\u0027 ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":10,"id":"fa69d971_cc1e715e","line":121,"range":{"start_line":121,"start_character":32,"end_line":121,"end_character":36},"updated":"2016-01-07 01:25:45.000000000","message":"Now I think about it, it make sense to call it \"nfv-admin\" (in the future we can introduce things like nfv-user, etc). Using the term \"role\" in the role seems redundant.","commit_id":"5fdb57ce5f0b86941483ea79db4ff12b78dc7675"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"1c26b8253ac6246d8e24c958428361b1c0fdb735","unresolved":false,"context_lines":[{"line_number":118,"context_line":"function create_tacker_accounts {"},{"line_number":119,"context_line":"    if is_service_enabled tacker; then"},{"line_number":120,"context_line":"        create_service_user \"tacker\""},{"line_number":121,"context_line":"        get_or_create_role \"nfv-admin\""},{"line_number":122,"context_line":"        create_service_user \"tacker\" \"nfv-admin\""},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"        if [[ \"$KEYSTONE_CATALOG_BACKEND\" \u003d \u0027sql\u0027 ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":13,"id":"da6ed579_55af9429","line":121,"updated":"2016-01-14 21:09:45.000000000","message":"It turns out \"advsvc\" role gives special permission in neutron to do certain privilege actions [1] (thanks Sripriya for the hint). Now with \u0027nfv-admin\u0027 role those actions are failing causing functional gate failures.\n\nSo, unless we change the code in neutron, we need to stick with \u0027advsvc\u0027 role. For now, lets go back to \u0027advsvc\u0027 for the role. Please change all \u0027nfv-admin\u0027 to \u0027advsvc\u0027.\n\nThis is the third time we flipping on this, hope this is the latest :) Thanks for your patience!\n\n[1] https://review.openstack.org/#/c/258404/","commit_id":"43a3a7de5438b7a2760aba50ab8b88cdc7526074"}],"etc/init.d/tacker-server":[{"author":{"_account_id":15755,"name":"Martin Oemke","email":"zeih@zeih.eu","username":"zeih"},"change_message_id":"261114b6c2e813c39c773ad0b8445c783775462e","unresolved":false,"context_lines":[{"line_number":6,"context_line":"# Default-Start:     2 3 4 5"},{"line_number":7,"context_line":"# Default-Stop:      0 1 6"},{"line_number":8,"context_line":"# Short-Description: tacker-server"},{"line_number":9,"context_line":"# Description:       Provides the Tacker tacker/device manager service"},{"line_number":10,"context_line":"### END INIT INFO"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"set -e"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"3a7e1126_2b5e7c76","line":9,"range":{"start_line":9,"start_character":34,"end_line":9,"end_character":70},"updated":"2015-12-18 12:11:53.000000000","message":"please rephrase.\ne.g. Provides the Tacker service","commit_id":"b6cf5808cda5cd5279c193385e92c5793795b29c"}],"etc/tacker/tacker.conf":[{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"881cf405e58a6a1c6169e7e621e79f7244c5521c","unresolved":false,"context_lines":[{"line_number":397,"context_line":"mgmt_driver \u003d openwrt"},{"line_number":398,"context_line":""},{"line_number":399,"context_line":"# Specify drivers for monitoring"},{"line_number":400,"context_line":"monitor_driver \u003d ping"},{"line_number":401,"context_line":"monitor_driver \u003d http_ping"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"[tacker_nova]"}],"source_content_type":"text/plain","patch_set":5,"id":"3a7e1126_1aa9687b","line":400,"range":{"start_line":400,"start_character":0,"end_line":400,"end_character":14},"updated":"2015-12-19 01:03:24.000000000","message":"Monitor loader in [1] need to be fixed as well. In general, can you do a \u0027grep -r cfg.CONF.servicevm\u0027 in the tacker source tree to make sure everything is covered.\n\n[1] https://github.com/openstack/tacker/blob/master/tacker/vm/monitor.py#L73","commit_id":"013afad2d4afaa6aa7a0be5e3ae6b10d52e54eb4"},{"author":{"_account_id":13485,"name":"Sripriya Seetharam","email":"sseetha@brocade.com","username":"Sripriya"},"change_message_id":"8020c2cdbef5f0ee71fd1b09e243c56a56d4f4e1","unresolved":false,"context_lines":[{"line_number":385,"context_line":"# If set, use this value for pool_timeout with sqlalchemy"},{"line_number":386,"context_line":"# pool_timeout \u003d 10"},{"line_number":387,"context_line":""},{"line_number":388,"context_line":"[tacker]"},{"line_number":389,"context_line":"# Specify drivers for hosting device"},{"line_number":390,"context_line":"# exmpale: infra_driver \u003d noop"},{"line_number":391,"context_line":"# exmpale: infra_driver \u003d nova"}],"source_content_type":"text/plain","patch_set":13,"id":"da6ed579_b534d0fb","line":388,"range":{"start_line":388,"start_character":1,"end_line":388,"end_character":7},"updated":"2016-01-14 21:19:44.000000000","message":"how about vnfm ?","commit_id":"43a3a7de5438b7a2760aba50ab8b88cdc7526074"},{"author":{"_account_id":13485,"name":"Sripriya Seetharam","email":"sseetha@brocade.com","username":"Sripriya"},"change_message_id":"8020c2cdbef5f0ee71fd1b09e243c56a56d4f4e1","unresolved":false,"context_lines":[{"line_number":400,"context_line":"monitor_driver \u003d ping"},{"line_number":401,"context_line":"monitor_driver \u003d http_ping"},{"line_number":402,"context_line":""},{"line_number":403,"context_line":"[tacker_nova]"},{"line_number":404,"context_line":"# parameters for novaclient to talk to nova"},{"line_number":405,"context_line":"region_name \u003d RegionOne"},{"line_number":406,"context_line":"project_domain_id \u003d default"}],"source_content_type":"text/plain","patch_set":13,"id":"da6ed579_f061f6d3","line":403,"range":{"start_line":403,"start_character":1,"end_line":403,"end_character":12},"updated":"2016-01-14 21:19:44.000000000","message":"just nova?","commit_id":"43a3a7de5438b7a2760aba50ab8b88cdc7526074"},{"author":{"_account_id":13485,"name":"Sripriya Seetharam","email":"sseetha@brocade.com","username":"Sripriya"},"change_message_id":"8020c2cdbef5f0ee71fd1b09e243c56a56d4f4e1","unresolved":false,"context_lines":[{"line_number":411,"context_line":"auth_url \u003d http://127.0.0.1:35357"},{"line_number":412,"context_line":"auth_plugin \u003d password"},{"line_number":413,"context_line":""},{"line_number":414,"context_line":"[tacker_heat]"},{"line_number":415,"context_line":"heat_uri \u003d http://localhost:8004/v1"},{"line_number":416,"context_line":"stack_retries \u003d 60"},{"line_number":417,"context_line":"stack_retry_wait \u003d 5"}],"source_content_type":"text/plain","patch_set":13,"id":"da6ed579_70a42607","line":414,"range":{"start_line":414,"start_character":1,"end_line":414,"end_character":12},"updated":"2016-01-14 21:19:44.000000000","message":"just heat?","commit_id":"43a3a7de5438b7a2760aba50ab8b88cdc7526074"}],"setup.cfg":[{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"9860b253519925ef8a830a6a848a6536c62219e3","unresolved":false,"context_lines":[{"line_number":27,"context_line":"        etc/tacker/tacker.conf"},{"line_number":28,"context_line":"        etc/tacker/rootwrap.conf"},{"line_number":29,"context_line":"    etc/rootwrap.d \u003d"},{"line_number":30,"context_line":"        etc/tacker/rootwrap.d/tacker.filters"},{"line_number":31,"context_line":"    etc/init.d \u003d etc/init.d/tacker-server"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"[global]"}],"source_content_type":"text/x-ttcn-cfg","patch_set":12,"id":"fa69d971_e33adbcc","line":30,"range":{"start_line":30,"start_character":30,"end_line":30,"end_character":36},"updated":"2016-01-08 20:35:51.000000000","message":"For this you also need to rename (git mv) the file in tacker repo [1]\n\n[1] https://github.com/openstack/tacker/blob/master/etc/tacker/rootwrap.d/servicevm.filters","commit_id":"ccbf30b3710b8fa0c80cc101e66f0a0f169fc0c4"},{"author":{"_account_id":13380,"name":"Sridhar Ramaswamy","email":"srics.r@gmail.com","username":"srics-r"},"change_message_id":"9860b253519925ef8a830a6a848a6536c62219e3","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    noop \u003d tacker.vm.drivers.noop:DeviceNoop"},{"line_number":50,"context_line":"    nova \u003d tacker.vm.drivers.nova.nova:DeviceNova"},{"line_number":51,"context_line":"    heat \u003d tacker.vm.drivers.heat.heat:DeviceHeat"},{"line_number":52,"context_line":"tacker.mgmt.drivers \u003d"},{"line_number":53,"context_line":"    noop \u003d tacker.vm.mgmt_drivers.noop:DeviceMgmtNoop"},{"line_number":54,"context_line":"    openwrt \u003d tacker.vm.mgmt_drivers.openwrt.openwrt:DeviceMgmtOpenWRT"},{"line_number":55,"context_line":"tacker.tacker.monitor.drivers \u003d"}],"source_content_type":"text/x-ttcn-cfg","patch_set":12,"id":"fa69d971_a34b8358","line":52,"updated":"2016-01-08 20:35:51.000000000","message":"This should be \u0027tacker.tacker.mgmt.drivers\u0027","commit_id":"ccbf30b3710b8fa0c80cc101e66f0a0f169fc0c4"},{"author":{"_account_id":13485,"name":"Sripriya Seetharam","email":"sseetha@brocade.com","username":"Sripriya"},"change_message_id":"8020c2cdbef5f0ee71fd1b09e243c56a56d4f4e1","unresolved":false,"context_lines":[{"line_number":45,"context_line":"    vnfm \u003d tacker.vm.plugin:VNFMPlugin"},{"line_number":46,"context_line":"tacker.openstack.common.cache.backends \u003d"},{"line_number":47,"context_line":"    memory \u003d tacker.openstack.common.cache._backends.memory:MemoryBackend"},{"line_number":48,"context_line":"tacker.tacker.device.drivers \u003d"},{"line_number":49,"context_line":"    noop \u003d tacker.vm.drivers.noop:DeviceNoop"},{"line_number":50,"context_line":"    nova \u003d tacker.vm.drivers.nova.nova:DeviceNova"},{"line_number":51,"context_line":"    heat \u003d tacker.vm.drivers.heat.heat:DeviceHeat"}],"source_content_type":"text/x-ttcn-cfg","patch_set":13,"id":"da6ed579_b598501d","line":48,"range":{"start_line":48,"start_character":7,"end_line":48,"end_character":13},"updated":"2016-01-14 21:19:44.000000000","message":"does it make sense to have \u0027tacker.vnfm.infra.drivers\u0027 namespace instead of tacker.tacker.device.drivers ?","commit_id":"43a3a7de5438b7a2760aba50ab8b88cdc7526074"},{"author":{"_account_id":13485,"name":"Sripriya Seetharam","email":"sseetha@brocade.com","username":"Sripriya"},"change_message_id":"8020c2cdbef5f0ee71fd1b09e243c56a56d4f4e1","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    noop \u003d tacker.vm.drivers.noop:DeviceNoop"},{"line_number":50,"context_line":"    nova \u003d tacker.vm.drivers.nova.nova:DeviceNova"},{"line_number":51,"context_line":"    heat \u003d tacker.vm.drivers.heat.heat:DeviceHeat"},{"line_number":52,"context_line":"tacker.tacker.mgmt.drivers \u003d"},{"line_number":53,"context_line":"    noop \u003d tacker.vm.mgmt_drivers.noop:DeviceMgmtNoop"},{"line_number":54,"context_line":"    openwrt \u003d tacker.vm.mgmt_drivers.openwrt.openwrt:DeviceMgmtOpenWRT"},{"line_number":55,"context_line":"tacker.tacker.monitor.drivers \u003d"}],"source_content_type":"text/x-ttcn-cfg","patch_set":13,"id":"da6ed579_f59248f5","line":52,"range":{"start_line":52,"start_character":7,"end_line":52,"end_character":13},"updated":"2016-01-14 21:19:44.000000000","message":"tacker.vnfm.mgmt.drivers","commit_id":"43a3a7de5438b7a2760aba50ab8b88cdc7526074"},{"author":{"_account_id":13485,"name":"Sripriya Seetharam","email":"sseetha@brocade.com","username":"Sripriya"},"change_message_id":"8020c2cdbef5f0ee71fd1b09e243c56a56d4f4e1","unresolved":false,"context_lines":[{"line_number":52,"context_line":"tacker.tacker.mgmt.drivers \u003d"},{"line_number":53,"context_line":"    noop \u003d tacker.vm.mgmt_drivers.noop:DeviceMgmtNoop"},{"line_number":54,"context_line":"    openwrt \u003d tacker.vm.mgmt_drivers.openwrt.openwrt:DeviceMgmtOpenWRT"},{"line_number":55,"context_line":"tacker.tacker.monitor.drivers \u003d"},{"line_number":56,"context_line":"    ping \u003d tacker.vm.monitor_drivers.ping.ping:VNFMonitorPing"},{"line_number":57,"context_line":"    http_ping \u003d tacker.vm.monitor_drivers.http_ping.http_ping:VNFMonitorHTTPPing"},{"line_number":58,"context_line":""}],"source_content_type":"text/x-ttcn-cfg","patch_set":13,"id":"da6ed579_95b8ac76","line":55,"range":{"start_line":55,"start_character":7,"end_line":55,"end_character":13},"updated":"2016-01-14 21:19:44.000000000","message":"tacker.vnfm.monitor.drivers","commit_id":"43a3a7de5438b7a2760aba50ab8b88cdc7526074"}],"tacker/vm/plugin.py":[{"author":{"_account_id":18401,"name":"Luka Krajger","email":"luka.krajger@gmail.com","username":"KLuka"},"change_message_id":"bb73690758466460a714b76558b8f4877cf196bc","unresolved":false,"context_lines":[{"line_number":100,"context_line":"            kwargs\u003dkwargs)"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"class VNFMPlugin(vm_db.VNFMPluginDb, VNFMMgmtMixin):"},{"line_number":104,"context_line":"    \"\"\"ServiceVMPlugin which supports ServiceVM framework"},{"line_number":105,"context_line":"    \"\"\""},{"line_number":106,"context_line":"    OPTS \u003d ["},{"line_number":107,"context_line":"        cfg.ListOpt("},{"line_number":108,"context_line":"            \u0027infra_driver\u0027, default\u003d[\u0027heat\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a7b0d38_805d51eb","side":"PARENT","line":105,"range":{"start_line":103,"start_character":0,"end_line":105,"end_character":7},"updated":"2015-12-23 17:57:19.000000000","message":"here","commit_id":"c272c5a08bd8633c2531fbadecdd911ae1ed033a"},{"author":{"_account_id":19776,"name":"Abdul Rehman","email":"an.abdulrehman@yahoo.com","username":"an.abdulrehman"},"change_message_id":"53b4d8587ff87d9d74bb9b30d674affad0ac4ff9","unresolved":false,"context_lines":[{"line_number":100,"context_line":"            kwargs\u003dkwargs)"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"class VNFMPlugin(vm_db.VNFMPluginDb, VNFMMgmtMixin):"},{"line_number":104,"context_line":"    \"\"\"ServiceVMPlugin which supports ServiceVM framework"},{"line_number":105,"context_line":"    \"\"\""},{"line_number":106,"context_line":"    OPTS \u003d ["},{"line_number":107,"context_line":"        cfg.ListOpt("},{"line_number":108,"context_line":"            \u0027infra_driver\u0027, default\u003d[\u0027heat\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"1a7b0d38_fe532415","side":"PARENT","line":105,"range":{"start_line":103,"start_character":0,"end_line":105,"end_character":7},"in_reply_to":"1a7b0d38_805d51eb","updated":"2015-12-29 06:51:03.000000000","message":"Done","commit_id":"c272c5a08bd8633c2531fbadecdd911ae1ed033a"}]}
