)]}'
{"etc/neutron/plugins/ml2/ml2_conf_cisco.ini":[{"author":{"_account_id":6637,"name":"Sam Betts","email":"sam@code-smash.net","username":"sambetts"},"change_message_id":"d5efe6542b4394b4f6fe3e868d61384dba79d935","unresolved":false,"context_lines":[{"line_number":224,"context_line":""},{"line_number":225,"context_line":"# Hostname to Service profile mapping for UCS Manager"},{"line_number":226,"context_line":"# controlled compute hosts"},{"line_number":227,"context_line":"# ucsm_host_list\u003dHostname1:Serviceprofile1, Hostname2:Serviceprofile2"}],"source_content_type":"text/x-properties","patch_set":13,"id":"9a80dd14_a5f98781","line":227,"updated":"2015-03-16 16:45:39.000000000","message":"I think that this file will eventually be removed from the neutron tree as its relevant to only stuff that should exist in the networking-cisco package so including new stuff here is likely to be redundant soon, you\u0027ve also duplicated these in your patch for the networking-cisco repository so I think that they should only be in one place, and IMO that should be the StackForge.","commit_id":"d6137ade0dc2f707d17437dff71df814f6040a73"},{"author":{"_account_id":6697,"name":"Sandhya Dasu","email":"sandhya.openinfra@gmail.com","username":"sadasu"},"change_message_id":"86be0965bf1344ae96253afecbdfd5c419f1e3a6","unresolved":false,"context_lines":[{"line_number":224,"context_line":""},{"line_number":225,"context_line":"# Hostname to Service profile mapping for UCS Manager"},{"line_number":226,"context_line":"# controlled compute hosts"},{"line_number":227,"context_line":"# ucsm_host_list\u003dHostname1:Serviceprofile1, Hostname2:Serviceprofile2"}],"source_content_type":"text/x-properties","patch_set":13,"id":"9a80dd14_c7ee7eed","line":227,"in_reply_to":"9a80dd14_a5f98781","updated":"2015-03-16 17:03:59.000000000","message":"I think removal of this file should be a Neutron decision. I understand that this file might eventually get purged from Neutron. But, in the meantime, I think that it should be kept updated and reflect the current state of the plugins supported by Neutron.","commit_id":"d6137ade0dc2f707d17437dff71df814f6040a73"}],"neutron/db/migration/alembic_migrations/versions/20b99fd19d4f_cisco_ucs_manager_mechanism_driver.py":[{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"8afc915b959aa29a06996b667124871b3afddca4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2014 OpenStack Foundation"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_9f105901","line":1,"updated":"2015-02-13 01:21:25.000000000","message":"this looks wrong.","commit_id":"beef75a2134d57b4af883dd5a403d5df90cb560a"},{"author":{"_account_id":6697,"name":"Sandhya Dasu","email":"sandhya.openinfra@gmail.com","username":"sadasu"},"change_message_id":"dbf9a32c92f32227ba2cafdc565248a0edb13ddc","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2014 OpenStack Foundation"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_a00b75d3","line":1,"in_reply_to":"da86d52c_9f105901","updated":"2015-02-19 14:46:49.000000000","message":"Done. Corrected the year.","commit_id":"beef75a2134d57b4af883dd5a403d5df90cb560a"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"8afc915b959aa29a06996b667124871b3afddca4","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":"#"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"\"\"\"Cisco UCS Manager Mechanism Driver - Initial"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Revision ID: 20b99fd19d4f"},{"line_number":19,"context_line":"Revises: 4119216b7365"}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_ff0075ac","line":16,"updated":"2015-02-13 01:21:25.000000000","message":"initial? what else is required?","commit_id":"beef75a2134d57b4af883dd5a403d5df90cb560a"},{"author":{"_account_id":6697,"name":"Sandhya Dasu","email":"sandhya.openinfra@gmail.com","username":"sadasu"},"change_message_id":"dbf9a32c92f32227ba2cafdc565248a0edb13ddc","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#    under the License."},{"line_number":14,"context_line":"#"},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"\"\"\"Cisco UCS Manager Mechanism Driver - Initial"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"Revision ID: 20b99fd19d4f"},{"line_number":19,"context_line":"Revises: 4119216b7365"}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_a05455c6","line":16,"in_reply_to":"da86d52c_ff0075ac","updated":"2015-02-19 14:46:49.000000000","message":"Done","commit_id":"beef75a2134d57b4af883dd5a403d5df90cb560a"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"d091fea0f039150332b22bd418ba80e58a8cf060","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 OpenStack Foundation"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a80dd14_2ded67f0","line":1,"updated":"2015-03-10 20:47:44.000000000","message":"Should be Cisco copyright (or you can omit)","commit_id":"8ab68d25050cc3ce9a1c56dbb2a71ef0490b5172"},{"author":{"_account_id":6697,"name":"Sandhya Dasu","email":"sandhya.openinfra@gmail.com","username":"sadasu"},"change_message_id":"8661f9bae07bae7922552587fa8818d3a05f38c7","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 OpenStack Foundation"},{"line_number":2,"context_line":"#"},{"line_number":3,"context_line":"#    Licensed under the Apache License, Version 2.0 (the \"License\"); you may"},{"line_number":4,"context_line":"#    not use this file except in compliance with the License. You may obtain"}],"source_content_type":"text/x-python","patch_set":6,"id":"9a80dd14_f2e8287e","line":1,"in_reply_to":"9a80dd14_2ded67f0","updated":"2015-03-12 15:51:43.000000000","message":"Done","commit_id":"8ab68d25050cc3ce9a1c56dbb2a71ef0490b5172"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"dcbb44732d7662fe6a257af20d53e77aa91ce1cc","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"\"\"\"Cisco UCS Manager Mechanism Driver"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Revision ID: 20b99fd19d4f"},{"line_number":20,"context_line":"Revises: 51c54792158e"},{"line_number":21,"context_line":"Create Date: 2014-07-30 21:01:13.754637"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-python","patch_set":18,"id":"9a80dd14_2ffe6d38","line":19,"updated":"2015-03-20 19:05:48.000000000","message":"it might sense to rebase one on top of the [1] or vice versa to avoid a needless conflict.\n\n[1] https://review.openstack.org/#/c/157243/","commit_id":"0d5df35d13a5fe0e0f482975fd1b0dcd64e48f54"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"8d9a8087a2a5fa223cbc4b2152a23dc382caf9be","unresolved":false,"context_lines":[{"line_number":30,"context_line":"import sqlalchemy as sa"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def upgrade():"},{"line_number":34,"context_line":"    op.create_table("},{"line_number":35,"context_line":"        \u0027ml2_ucsm_port_profiles\u0027,"},{"line_number":36,"context_line":"        sa.Column(\u0027vlan_id\u0027, sa.Integer(), nullable\u003dFalse),"}],"source_content_type":"text/x-python","patch_set":25,"id":"1a6ced46_e9205ab2","line":33,"updated":"2015-03-24 15:51:14.000000000","message":"Curious as to why downgrade() method was removed in PS22?","commit_id":"4947ddf91306b4337a71f6e12f17f90256c72c68"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"1430584acccb5ad5a6e8abf358efe07715e0c3af","unresolved":false,"context_lines":[{"line_number":30,"context_line":"import sqlalchemy as sa"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"def upgrade():"},{"line_number":34,"context_line":"    op.create_table("},{"line_number":35,"context_line":"        \u0027ml2_ucsm_port_profiles\u0027,"},{"line_number":36,"context_line":"        sa.Column(\u0027vlan_id\u0027, sa.Integer(), nullable\u003dFalse),"}],"source_content_type":"text/x-python","patch_set":25,"id":"1a6ced46_559f3db4","line":33,"in_reply_to":"1a6ced46_e9205ab2","updated":"2015-03-24 16:23:49.000000000","message":"because of this:\n\nhttps://bugs.launchpad.net/neutron/+bug/1434103","commit_id":"4947ddf91306b4337a71f6e12f17f90256c72c68"}],"neutron/db/migration/alembic_migrations/versions/HEAD":[{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"6a4e760df5941f2a17b9a2cfe5f709c82fc10487","unresolved":false,"context_lines":[{"line_number":1,"context_line":"20b99fd19d4f"},{"line_number":2,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":14,"id":"9a80dd14_d8ae192f","line":2,"updated":"2015-03-17 19:43:11.000000000","message":"this space sounds superflous","commit_id":"72af072558278f4aacd8c82fbbbdfc97b262a0d6"},{"author":{"_account_id":6697,"name":"Sandhya Dasu","email":"sandhya.openinfra@gmail.com","username":"sadasu"},"change_message_id":"c2b771d21ae9901fe8340b846cbff7df7bc8b72a","unresolved":false,"context_lines":[{"line_number":1,"context_line":"20b99fd19d4f"},{"line_number":2,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":14,"id":"9a80dd14_c0a6e4c0","line":2,"in_reply_to":"9a80dd14_d8ae192f","updated":"2015-03-19 14:55:07.000000000","message":"Done","commit_id":"72af072558278f4aacd8c82fbbbdfc97b262a0d6"}],"neutron/extensions/portbindings.py":[{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"8afc915b959aa29a06996b667124871b3afddca4","unresolved":false,"context_lines":[{"line_number":46,"context_line":"CAP_PORT_FILTER \u003d \u0027port_filter\u0027"},{"line_number":47,"context_line":"OVS_HYBRID_PLUG \u003d \u0027ovs_hybrid_plug\u0027"},{"line_number":48,"context_line":"VIF_DETAILS_VLAN \u003d \u0027vlan\u0027"},{"line_number":49,"context_line":"VIF_DETAILS_PROFILEID \u003d \u0027profileid\u0027"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"VIF_TYPE_UNBOUND \u003d \u0027unbound\u0027"},{"line_number":52,"context_line":"VIF_TYPE_BINDING_FAILED \u003d \u0027binding_failed\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_34ff9403","line":49,"updated":"2015-02-13 01:21:25.000000000","message":"can this change be local you the Cisco MD module? It does not seem to be relevant in any other context.","commit_id":"beef75a2134d57b4af883dd5a403d5df90cb560a"},{"author":{"_account_id":6697,"name":"Sandhya Dasu","email":"sandhya.openinfra@gmail.com","username":"sadasu"},"change_message_id":"dbf9a32c92f32227ba2cafdc565248a0edb13ddc","unresolved":false,"context_lines":[{"line_number":46,"context_line":"CAP_PORT_FILTER \u003d \u0027port_filter\u0027"},{"line_number":47,"context_line":"OVS_HYBRID_PLUG \u003d \u0027ovs_hybrid_plug\u0027"},{"line_number":48,"context_line":"VIF_DETAILS_VLAN \u003d \u0027vlan\u0027"},{"line_number":49,"context_line":"VIF_DETAILS_PROFILEID \u003d \u0027profileid\u0027"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"VIF_TYPE_UNBOUND \u003d \u0027unbound\u0027"},{"line_number":52,"context_line":"VIF_TYPE_BINDING_FAILED \u003d \u0027binding_failed\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_19bf00fe","line":49,"in_reply_to":"da86d52c_34ff9403","updated":"2015-02-19 14:46:49.000000000","message":"All VIF_DETAILS keys have been specified at this location. Also, this is looked at by the Nova VIF driver. If I hide this away in my vendor specific code, it could result in someone re-defining this key and resulting in incorrect behavior by the VIF driver.","commit_id":"beef75a2134d57b4af883dd5a403d5df90cb560a"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"45d1be15d7e292ac36f0f6dd2c2f010ebfd52f07","unresolved":false,"context_lines":[{"line_number":46,"context_line":"CAP_PORT_FILTER \u003d \u0027port_filter\u0027"},{"line_number":47,"context_line":"OVS_HYBRID_PLUG \u003d \u0027ovs_hybrid_plug\u0027"},{"line_number":48,"context_line":"VIF_DETAILS_VLAN \u003d \u0027vlan\u0027"},{"line_number":49,"context_line":"VIF_DETAILS_PROFILEID \u003d \u0027profileid\u0027"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"VIF_TYPE_UNBOUND \u003d \u0027unbound\u0027"},{"line_number":52,"context_line":"VIF_TYPE_BINDING_FAILED \u003d \u0027binding_failed\u0027"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a80dd14_18e4b63a","line":49,"updated":"2015-03-13 19:34:48.000000000","message":"If this constant makes sense for the ucm driver only, perhaps it\u0027s best moving closer to where it\u0027s used.","commit_id":"e5856c7f816d8687df9856687dacd071aaef2831"},{"author":{"_account_id":6697,"name":"Sandhya Dasu","email":"sandhya.openinfra@gmail.com","username":"sadasu"},"change_message_id":"01605f0cceb0747f1e50378a28adddbb196cb92e","unresolved":false,"context_lines":[{"line_number":46,"context_line":"CAP_PORT_FILTER \u003d \u0027port_filter\u0027"},{"line_number":47,"context_line":"OVS_HYBRID_PLUG \u003d \u0027ovs_hybrid_plug\u0027"},{"line_number":48,"context_line":"VIF_DETAILS_VLAN \u003d \u0027vlan\u0027"},{"line_number":49,"context_line":"VIF_DETAILS_PROFILEID \u003d \u0027profileid\u0027"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"VIF_TYPE_UNBOUND \u003d \u0027unbound\u0027"},{"line_number":52,"context_line":"VIF_TYPE_BINDING_FAILED \u003d \u0027binding_failed\u0027"}],"source_content_type":"text/x-python","patch_set":12,"id":"9a80dd14_58ef0e87","line":49,"in_reply_to":"9a80dd14_18e4b63a","updated":"2015-03-13 19:44:41.000000000","message":"This value is set by the ucsm driver but read by Nova. (set_vif_host_backend_802qbh_config() in /opt/stack/nova/nova/virt/libvirt/designer.py)\n\nI could move this to ucsm specific vendor code but I think keeping it here would help when/if someone is debugging/understanding where this 802.1qbh config config comes from.\n\nIf you still don\u0027t agree, I am Ok with moving it over to stack forge.","commit_id":"e5856c7f816d8687df9856687dacd071aaef2831"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"6a4e760df5941f2a17b9a2cfe5f709c82fc10487","unresolved":false,"context_lines":[{"line_number":49,"context_line":"# The following VIF_DETAILS attributes are used by the VIF driver to configure"},{"line_number":50,"context_line":"# SR-IOV ports."},{"line_number":51,"context_line":"VIF_DETAILS_VLAN \u003d \u0027vlan\u0027"},{"line_number":52,"context_line":"VIF_DETAILS_PROFILEID \u003d \u0027profileid\u0027"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"VIF_TYPE_UNBOUND \u003d \u0027unbound\u0027"},{"line_number":55,"context_line":"VIF_TYPE_BINDING_FAILED \u003d \u0027binding_failed\u0027"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a80dd14_231c6a6a","line":52,"updated":"2015-03-17 19:43:11.000000000","message":"I still have doubts this belongs here. It\u0027s a constant after all, granted it doesn\u0027t matter where it\u0027s defined, but to me it makes more sense getting it closer to where it belongs.","commit_id":"72af072558278f4aacd8c82fbbbdfc97b262a0d6"},{"author":{"_account_id":6697,"name":"Sandhya Dasu","email":"sandhya.openinfra@gmail.com","username":"sadasu"},"change_message_id":"c2b771d21ae9901fe8340b846cbff7df7bc8b72a","unresolved":false,"context_lines":[{"line_number":49,"context_line":"# The following VIF_DETAILS attributes are used by the VIF driver to configure"},{"line_number":50,"context_line":"# SR-IOV ports."},{"line_number":51,"context_line":"VIF_DETAILS_VLAN \u003d \u0027vlan\u0027"},{"line_number":52,"context_line":"VIF_DETAILS_PROFILEID \u003d \u0027profileid\u0027"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"VIF_TYPE_UNBOUND \u003d \u0027unbound\u0027"},{"line_number":55,"context_line":"VIF_TYPE_BINDING_FAILED \u003d \u0027binding_failed\u0027"}],"source_content_type":"text/x-python","patch_set":14,"id":"9a80dd14_cd3ef928","line":52,"in_reply_to":"9a80dd14_231c6a6a","updated":"2015-03-19 14:55:07.000000000","message":"This constant defines a key that can be used in the VIF_DETAILS field of the port binding extension. I believe all the keys for this field should be defined in one place and not hidden inside vendor code. This would prevent a redefinition of this key in a diff vendor\u0027s code and used for a diff purpose. That would result in misconfiguration by the VIF DRIVER on Nova side.\n\nAgreed, that this field is currently only set by one vendor to convey a 802.1qbh parameter to Nova VIF driver. But, that does not preclude another driver to implement this functionality in the future and re-use this field.\n\nIf you still do not agree this this explanation, I am willing to make the necessary code changes to move this to vendor side.","commit_id":"72af072558278f4aacd8c82fbbbdfc97b262a0d6"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"dcbb44732d7662fe6a257af20d53e77aa91ce1cc","unresolved":false,"context_lines":[{"line_number":49,"context_line":"# The following VIF_DETAILS attributes are used by the VIF driver to configure"},{"line_number":50,"context_line":"# SR-IOV ports."},{"line_number":51,"context_line":"VIF_DETAILS_VLAN \u003d \u0027vlan\u0027"},{"line_number":52,"context_line":"VIF_DETAILS_PROFILEID \u003d \u0027profileid\u0027"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"VIF_TYPE_UNBOUND \u003d \u0027unbound\u0027"},{"line_number":55,"context_line":"VIF_TYPE_BINDING_FAILED \u003d \u0027binding_failed\u0027"}],"source_content_type":"text/x-python","patch_set":18,"id":"9a80dd14_6f8b05c0","line":52,"updated":"2015-03-20 19:05:48.000000000","message":"bah...I still can\u0027t see why this is here...just remove it will ya?","commit_id":"0d5df35d13a5fe0e0f482975fd1b0dcd64e48f54"},{"author":{"_account_id":6697,"name":"Sandhya Dasu","email":"sandhya.openinfra@gmail.com","username":"sadasu"},"change_message_id":"309308c8e8b54f7d9f1c14342aa6e1002949a684","unresolved":false,"context_lines":[{"line_number":49,"context_line":"# The following VIF_DETAILS attributes are used by the VIF driver to configure"},{"line_number":50,"context_line":"# SR-IOV ports."},{"line_number":51,"context_line":"VIF_DETAILS_VLAN \u003d \u0027vlan\u0027"},{"line_number":52,"context_line":"VIF_DETAILS_PROFILEID \u003d \u0027profileid\u0027"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"VIF_TYPE_UNBOUND \u003d \u0027unbound\u0027"},{"line_number":55,"context_line":"VIF_TYPE_BINDING_FAILED \u003d \u0027binding_failed\u0027"}],"source_content_type":"text/x-python","patch_set":18,"id":"9a80dd14_8a05877b","line":52,"in_reply_to":"9a80dd14_6f8b05c0","updated":"2015-03-20 19:25:19.000000000","message":"Done","commit_id":"0d5df35d13a5fe0e0f482975fd1b0dcd64e48f54"}],"neutron/plugins/ml2/drivers/cisco/ucsm/config.py":[{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"8afc915b959aa29a06996b667124871b3afddca4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2015 OpenStack Foundation"},{"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":1,"id":"da86d52c_7f24855f","line":1,"updated":"2015-02-13 01:21:25.000000000","message":"It\u0027s best to drop this copyright, as it looks like unless you work for the foundation, this is not the right header.","commit_id":"beef75a2134d57b4af883dd5a403d5df90cb560a"},{"author":{"_account_id":6697,"name":"Sandhya Dasu","email":"sandhya.openinfra@gmail.com","username":"sadasu"},"change_message_id":"dbf9a32c92f32227ba2cafdc565248a0edb13ddc","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright (c) 2015 OpenStack Foundation"},{"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":1,"id":"da86d52c_b93fd486","line":1,"in_reply_to":"da86d52c_7f24855f","updated":"2015-02-19 14:46:49.000000000","message":"pep8 was complaining about this header not being there. So, I am keeping it.","commit_id":"beef75a2134d57b4af883dd5a403d5df90cb560a"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"8afc915b959aa29a06996b667124871b3afddca4","unresolved":false,"context_lines":[{"line_number":51,"context_line":"cfg.CONF.register_opts(ml2_cisco_ucsm_opts, \"ml2_cisco_ucsm\")"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"def parse_pci_vendor_config():"},{"line_number":55,"context_line":"    vendor_list \u003d []"},{"line_number":56,"context_line":"    vendor_config_list \u003d cfg.CONF.ml2_cisco_ucsm.supported_pci_devs"},{"line_number":57,"context_line":"    for vendor in vendor_config_list:"}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_df1c9115","line":54,"updated":"2015-02-13 01:21:25.000000000","message":"I think these two can safely live in the driver repo.","commit_id":"beef75a2134d57b4af883dd5a403d5df90cb560a"}],"neutron/plugins/ml2/drivers/cisco/ucsm/mech_cisco_ucsm.py":[{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"8afc915b959aa29a06996b667124871b3afddca4","unresolved":false,"context_lines":[{"line_number":40,"context_line":"                                     portbindings.VNIC_MACVTAP]"},{"line_number":41,"context_line":"        self.supported_pci_devs \u003d config.parse_pci_vendor_config()"},{"line_number":42,"context_line":"        self.ucsm_db \u003d ucsm_model.UcsmDbModel()"},{"line_number":43,"context_line":"        self.ucsm_host_dict \u003d config.parse_ucsm_host_config()"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def _get_vlanid(self, context):"},{"line_number":46,"context_line":"        \"\"\"Returns vlan_id associated with a bound VLAN segment.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_5fa6e1c1","line":43,"updated":"2015-02-13 01:21:25.000000000","message":"this can safely be a responsibility of the driver, IMO","commit_id":"beef75a2134d57b4af883dd5a403d5df90cb560a"},{"author":{"_account_id":6697,"name":"Sandhya Dasu","email":"sandhya.openinfra@gmail.com","username":"sadasu"},"change_message_id":"dbf9a32c92f32227ba2cafdc565248a0edb13ddc","unresolved":false,"context_lines":[{"line_number":40,"context_line":"                                     portbindings.VNIC_MACVTAP]"},{"line_number":41,"context_line":"        self.supported_pci_devs \u003d config.parse_pci_vendor_config()"},{"line_number":42,"context_line":"        self.ucsm_db \u003d ucsm_model.UcsmDbModel()"},{"line_number":43,"context_line":"        self.ucsm_host_dict \u003d config.parse_ucsm_host_config()"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"    def _get_vlanid(self, context):"},{"line_number":46,"context_line":"        \"\"\"Returns vlan_id associated with a bound VLAN segment.\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_203065e8","line":43,"in_reply_to":"da86d52c_5fa6e1c1","updated":"2015-02-19 14:46:49.000000000","message":"Done","commit_id":"beef75a2134d57b4af883dd5a403d5df90cb560a"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"8afc915b959aa29a06996b667124871b3afddca4","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        if segment and self.check_segment(segment):"},{"line_number":49,"context_line":"            return segment.get(api.SEGMENTATION_ID)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def _check_vnic_type_and_vendor_info(self, context):"},{"line_number":52,"context_line":"        \"\"\"Checks if this vnic_type and vendor device info are supported."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        Returns True if:"}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_1fde29da","line":51,"updated":"2015-02-13 01:21:25.000000000","message":"I think these two methods can also safely move to the driver\u0027s repo. \n\nOn a separate note, my suggestion would also be to pass the innermost object you need to know about to the callee, as strictly speaking all you care about here is whether vnic_type is supported. Knowing about PortContext is a side-effect IMO.","commit_id":"beef75a2134d57b4af883dd5a403d5df90cb560a"},{"author":{"_account_id":6697,"name":"Sandhya Dasu","email":"sandhya.openinfra@gmail.com","username":"sadasu"},"change_message_id":"dbf9a32c92f32227ba2cafdc565248a0edb13ddc","unresolved":false,"context_lines":[{"line_number":48,"context_line":"        if segment and self.check_segment(segment):"},{"line_number":49,"context_line":"            return segment.get(api.SEGMENTATION_ID)"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"    def _check_vnic_type_and_vendor_info(self, context):"},{"line_number":52,"context_line":"        \"\"\"Checks if this vnic_type and vendor device info are supported."},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"        Returns True if:"}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_8052f110","line":51,"in_reply_to":"da86d52c_1fde29da","updated":"2015-02-19 14:46:49.000000000","message":"Done","commit_id":"beef75a2134d57b4af883dd5a403d5df90cb560a"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"8afc915b959aa29a06996b667124871b3afddca4","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        It is important to distinguish between the two since Port Profiles"},{"line_number":95,"context_line":"        on the UCS Manager are created only for the VM-FEX ports."},{"line_number":96,"context_line":"        \"\"\""},{"line_number":97,"context_line":"        profile \u003d context.current.get(portbindings.PROFILE, {})"},{"line_number":98,"context_line":"        vendor_info \u003d profile.get(\u0027pci_vendor_info\u0027)"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"        return vendor_info \u003d\u003d const.PCI_INFO_CISCO_VIC_1240"}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_3fbe8d65","line":97,"updated":"2015-02-13 01:21:25.000000000","message":"same as above, I\u0027d rather see this method check on \u0027current\u0027 directly, this way there would be less cross-cutting concern.","commit_id":"beef75a2134d57b4af883dd5a403d5df90cb560a"},{"author":{"_account_id":6697,"name":"Sandhya Dasu","email":"sandhya.openinfra@gmail.com","username":"sadasu"},"change_message_id":"dbf9a32c92f32227ba2cafdc565248a0edb13ddc","unresolved":false,"context_lines":[{"line_number":94,"context_line":"        It is important to distinguish between the two since Port Profiles"},{"line_number":95,"context_line":"        on the UCS Manager are created only for the VM-FEX ports."},{"line_number":96,"context_line":"        \"\"\""},{"line_number":97,"context_line":"        profile \u003d context.current.get(portbindings.PROFILE, {})"},{"line_number":98,"context_line":"        vendor_info \u003d profile.get(\u0027pci_vendor_info\u0027)"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"        return vendor_info \u003d\u003d const.PCI_INFO_CISCO_VIC_1240"}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_e0400d37","line":97,"in_reply_to":"da86d52c_3fbe8d65","updated":"2015-02-19 14:46:49.000000000","message":"Done","commit_id":"beef75a2134d57b4af883dd5a403d5df90cb560a"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"8afc915b959aa29a06996b667124871b3afddca4","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        LOG.debug(\"update_port_precommit: Profile: %s, VLAN_id: %d\","},{"line_number":132,"context_line":"                  p_profile_name, vlan_id)"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        if not self.ucsm_db.get_port_profile_for_vlan(vlan_id):"},{"line_number":135,"context_line":"            # Create a new port profile entry in the db"},{"line_number":136,"context_line":"            self.ucsm_db.add_port_profile(p_profile_name, vlan_id)"},{"line_number":137,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_df9f314e","line":134,"updated":"2015-02-13 01:21:25.000000000","message":"this check can be wrapped within add_port_profile directly.","commit_id":"beef75a2134d57b4af883dd5a403d5df90cb560a"},{"author":{"_account_id":6697,"name":"Sandhya Dasu","email":"sandhya.openinfra@gmail.com","username":"sadasu"},"change_message_id":"dbf9a32c92f32227ba2cafdc565248a0edb13ddc","unresolved":false,"context_lines":[{"line_number":131,"context_line":"        LOG.debug(\"update_port_precommit: Profile: %s, VLAN_id: %d\","},{"line_number":132,"context_line":"                  p_profile_name, vlan_id)"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"        if not self.ucsm_db.get_port_profile_for_vlan(vlan_id):"},{"line_number":135,"context_line":"            # Create a new port profile entry in the db"},{"line_number":136,"context_line":"            self.ucsm_db.add_port_profile(p_profile_name, vlan_id)"},{"line_number":137,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_60741d9c","line":134,"in_reply_to":"da86d52c_df9f314e","updated":"2015-02-19 14:46:49.000000000","message":"Done","commit_id":"beef75a2134d57b4af883dd5a403d5df90cb560a"},{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"8afc915b959aa29a06996b667124871b3afddca4","unresolved":false,"context_lines":[{"line_number":181,"context_line":"            # Enable vlan-id for this regular Neutron virtual port."},{"line_number":182,"context_line":"            host_id \u003d context.current.get(portbindings.HOST_ID)"},{"line_number":183,"context_line":"            LOG.debug(\"update_port_postcommit: Host_id is %s\", host_id)"},{"line_number":184,"context_line":"            service_profile \u003d self.ucsm_host_dict[host_id]"},{"line_number":185,"context_line":"            if service_profile:"},{"line_number":186,"context_line":"                LOG.debug(\"update_port_postcommit: Service Profile : %s\","},{"line_number":187,"context_line":"                          service_profile)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_9fb5b9ee","line":184,"updated":"2015-02-13 01:21:25.000000000","message":"if your job is parse the service_profile to then pass it to the driver, just let the driver take care of this directly. Less cross-talk and better separation.","commit_id":"beef75a2134d57b4af883dd5a403d5df90cb560a"},{"author":{"_account_id":6697,"name":"Sandhya Dasu","email":"sandhya.openinfra@gmail.com","username":"sadasu"},"change_message_id":"dbf9a32c92f32227ba2cafdc565248a0edb13ddc","unresolved":false,"context_lines":[{"line_number":181,"context_line":"            # Enable vlan-id for this regular Neutron virtual port."},{"line_number":182,"context_line":"            host_id \u003d context.current.get(portbindings.HOST_ID)"},{"line_number":183,"context_line":"            LOG.debug(\"update_port_postcommit: Host_id is %s\", host_id)"},{"line_number":184,"context_line":"            service_profile \u003d self.ucsm_host_dict[host_id]"},{"line_number":185,"context_line":"            if service_profile:"},{"line_number":186,"context_line":"                LOG.debug(\"update_port_postcommit: Service Profile : %s\","},{"line_number":187,"context_line":"                          service_profile)"}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_40e0f925","line":184,"in_reply_to":"da86d52c_9fb5b9ee","updated":"2015-02-19 14:46:49.000000000","message":"Done","commit_id":"beef75a2134d57b4af883dd5a403d5df90cb560a"},{"author":{"_account_id":6659,"name":"Paul Michali","email":"pc@michali.net","username":"pcm"},"change_message_id":"d091fea0f039150332b22bd418ba80e58a8cf060","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 OpenStack Foundation"},{"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":6,"id":"9a80dd14_2dc4875e","line":1,"updated":"2015-03-10 20:47:44.000000000","message":"ditto. and other new files.","commit_id":"8ab68d25050cc3ce9a1c56dbb2a71ef0490b5172"},{"author":{"_account_id":6697,"name":"Sandhya Dasu","email":"sandhya.openinfra@gmail.com","username":"sadasu"},"change_message_id":"8661f9bae07bae7922552587fa8818d3a05f38c7","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# Copyright 2015 OpenStack Foundation"},{"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":6,"id":"9a80dd14_3202c03e","line":1,"in_reply_to":"9a80dd14_2dc4875e","updated":"2015-03-12 15:51:43.000000000","message":"Done","commit_id":"8ab68d25050cc3ce9a1c56dbb2a71ef0490b5172"},{"author":{"_account_id":704,"name":"Edgar Magana","email":"emagana@gmail.com","username":"emagana"},"change_message_id":"5c5fe41bb8427e452c9bed644abe88c5585c1153","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"from oslo_log import log as logging"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from neutron.common import constants"},{"line_number":18,"context_line":"from neutron.extensions import portbindings"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a80dd14_65c27c54","line":15,"updated":"2015-03-13 15:23:38.000000000","message":"nit: missing an empty line before line 15","commit_id":"b13624213b2fb28ddaeb6605c499cf8b08517a2b"},{"author":{"_account_id":6697,"name":"Sandhya Dasu","email":"sandhya.openinfra@gmail.com","username":"sadasu"},"change_message_id":"eb86ae2090c547e3e2bd334512aea05e59abe0fb","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":13,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":"from oslo_log import log as logging"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"from neutron.common import constants"},{"line_number":18,"context_line":"from neutron.extensions import portbindings"}],"source_content_type":"text/x-python","patch_set":8,"id":"9a80dd14_e87001a6","line":15,"in_reply_to":"9a80dd14_65c27c54","updated":"2015-03-13 15:42:59.000000000","message":"Done","commit_id":"b13624213b2fb28ddaeb6605c499cf8b08517a2b"},{"author":{"_account_id":704,"name":"Edgar Magana","email":"emagana@gmail.com","username":"emagana"},"change_message_id":"5c5fe41bb8427e452c9bed644abe88c5585c1153","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from neutron.plugins.common import constants as p_const"},{"line_number":21,"context_line":"from neutron.plugins.ml2 import driver_api as api"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"from networking_cisco.plugins.ml2.drivers.cisco.ucsm import constants as const"},{"line_number":24,"context_line":"from networking_cisco.plugins.ml2.drivers.cisco.ucsm import ucsm_db"},{"line_number":25,"context_line":"from networking_cisco.plugins.ml2.drivers.cisco.ucsm import ucsm_network_driver"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"9a80dd14_25524467","line":23,"updated":"2015-03-13 15:23:38.000000000","message":"These imports should be above the oslo one","commit_id":"b13624213b2fb28ddaeb6605c499cf8b08517a2b"},{"author":{"_account_id":6697,"name":"Sandhya Dasu","email":"sandhya.openinfra@gmail.com","username":"sadasu"},"change_message_id":"eb86ae2090c547e3e2bd334512aea05e59abe0fb","unresolved":false,"context_lines":[{"line_number":20,"context_line":"from neutron.plugins.common import constants as p_const"},{"line_number":21,"context_line":"from neutron.plugins.ml2 import driver_api as api"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"from networking_cisco.plugins.ml2.drivers.cisco.ucsm import constants as const"},{"line_number":24,"context_line":"from networking_cisco.plugins.ml2.drivers.cisco.ucsm import ucsm_db"},{"line_number":25,"context_line":"from networking_cisco.plugins.ml2.drivers.cisco.ucsm import ucsm_network_driver"},{"line_number":26,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"9a80dd14_685c111a","line":23,"in_reply_to":"9a80dd14_25524467","updated":"2015-03-13 15:42:59.000000000","message":"Done","commit_id":"b13624213b2fb28ddaeb6605c499cf8b08517a2b"}],"neutron/plugins/ml2/drivers/cisco/ucsm/requirements.txt":[{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"45d1be15d7e292ac36f0f6dd2c2f010ebfd52f07","unresolved":false,"context_lines":[{"line_number":1,"context_line":"networking-cisco"}],"source_content_type":"text/plain","patch_set":12,"id":"9a80dd14_585f0ee5","line":1,"updated":"2015-03-13 19:34:48.000000000","message":"I made this comment elsewhere: if you plan on releasing a single package that provides the entire lot of Cisco\u0027s technologies support for OpenStack, this can be one level up.","commit_id":"e5856c7f816d8687df9856687dacd071aaef2831"},{"author":{"_account_id":6697,"name":"Sandhya Dasu","email":"sandhya.openinfra@gmail.com","username":"sadasu"},"change_message_id":"01605f0cceb0747f1e50378a28adddbb196cb92e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"networking-cisco"}],"source_content_type":"text/plain","patch_set":12,"id":"9a80dd14_38f6da5d","line":1,"in_reply_to":"9a80dd14_585f0ee5","updated":"2015-03-13 19:44:41.000000000","message":"Agreed. I\u0027ll try that.","commit_id":"e5856c7f816d8687df9856687dacd071aaef2831"}],"neutron/plugins/ml2/drivers/cisco/ucsm/ucsm_model.py":[{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"8afc915b959aa29a06996b667124871b3afddca4","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    created_on_ucs \u003d sa.Column(sa.Boolean(), nullable\u003dFalse)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"class UcsmDbModel(object):"},{"line_number":34,"context_line":"    def __init__(self):"},{"line_number":35,"context_line":"        self.session \u003d db_api.get_session()"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_1f98e973","line":33,"updated":"2015-02-13 01:21:25.000000000","message":"these DB methods can safely move to the driver repo. That said, this name is a bit unintuitive to me, as this is anything but a model.","commit_id":"beef75a2134d57b4af883dd5a403d5df90cb560a"},{"author":{"_account_id":6697,"name":"Sandhya Dasu","email":"sandhya.openinfra@gmail.com","username":"sadasu"},"change_message_id":"dbf9a32c92f32227ba2cafdc565248a0edb13ddc","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    created_on_ucs \u003d sa.Column(sa.Boolean(), nullable\u003dFalse)"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"class UcsmDbModel(object):"},{"line_number":34,"context_line":"    def __init__(self):"},{"line_number":35,"context_line":"        self.session \u003d db_api.get_session()"},{"line_number":36,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_c493024d","line":33,"in_reply_to":"da86d52c_1f98e973","updated":"2015-02-19 14:46:49.000000000","message":"Done","commit_id":"beef75a2134d57b4af883dd5a403d5df90cb560a"}],"neutron/tests/unit/ml2/drivers/cisco/ucsm/test_cisco_ucsm_common.py":[{"author":{"_account_id":748,"name":"Armando Migliaccio","email":"armamig@gmail.com","username":"armando-migliaccio"},"change_message_id":"8afc915b959aa29a06996b667124871b3afddca4","unresolved":false,"context_lines":[{"line_number":25,"context_line":"HOST_CONFIG1 \u003d [\u0027Hostname1:Service_profile1\u0027]"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class ConfigMixin(object):"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    \"\"\"Mock config for UCSM driver.\"\"\""},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_3f65ad1d","line":28,"updated":"2015-02-13 01:21:25.000000000","message":"not sure why this is at all necessary. Besides if this does not test anything it should not be in test_..., as it\u0027s misleading.","commit_id":"beef75a2134d57b4af883dd5a403d5df90cb560a"},{"author":{"_account_id":6697,"name":"Sandhya Dasu","email":"sandhya.openinfra@gmail.com","username":"sadasu"},"change_message_id":"dbf9a32c92f32227ba2cafdc565248a0edb13ddc","unresolved":false,"context_lines":[{"line_number":25,"context_line":"HOST_CONFIG1 \u003d [\u0027Hostname1:Service_profile1\u0027]"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"class ConfigMixin(object):"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    \"\"\"Mock config for UCSM driver.\"\"\""},{"line_number":31,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"da86d52c_b8e9d2e4","line":28,"in_reply_to":"da86d52c_3f65ad1d","updated":"2015-02-19 14:46:49.000000000","message":"Moved all test code to the vendor repo.","commit_id":"beef75a2134d57b4af883dd5a403d5df90cb560a"}]}
