)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"f6251af09efbd8d85683b4ad0ebc8c52217c5de2","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Introduce two variables:"},{"line_number":10,"context_line":"* openstack_release - points to OpenStack release being built"},{"line_number":11,"context_line":"* openstack_release_type - \u0027stable\u0027 for using stable tarballs"},{"line_number":12,"context_line":"  (not point releases) or \u0027point\u0027 for point releases"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Split the variables amongst multiple files in var/ subdir for easier"},{"line_number":15,"context_line":"management:"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"7faddb67_b8909a44","line":12,"updated":"2019-08-06 11:32:52.000000000","message":"branch vs release?","commit_id":"d452a62a946c23f241dd89f5ad10eefe852475d8"}],"kolla/common/config.py":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"b11a581a49b05aaa1702e117c2f9ac362f39df73","unresolved":false,"context_lines":[{"line_number":307,"context_line":"    \u0027openstack-base\u0027: {"},{"line_number":308,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":309,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/requirements/\u0027"},{"line_number":310,"context_line":"                     \u0027requirements-$openstack_release.tar.gz\u0027)},"},{"line_number":311,"context_line":"    \u0027almanach-base\u0027: {"},{"line_number":312,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":313,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/almanach/\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"7faddb67_585c1418","line":310,"range":{"start_line":310,"start_character":35,"end_line":310,"end_character":53},"updated":"2019-08-05 16:46:50.000000000","message":"It\u0027s a nice idea. Won\u0027t help with stable branch maintenance though because we reference specific versions.","commit_id":"dad0b2ca20658fac7c1827d9d411d2ea94c6666e"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"9cca532d82dcbf076cf65d04f87bfce14c1eddae","unresolved":false,"context_lines":[{"line_number":301,"context_line":"SOURCES \u003d {"},{"line_number":302,"context_line":"    \u0027openstack-base\u0027: {"},{"line_number":303,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":304,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/requirements/\u0027"},{"line_number":305,"context_line":"                     \u0027requirements-master.tar.gz\u0027)},"},{"line_number":306,"context_line":"    \u0027almanach-base\u0027: {"},{"line_number":307,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":308,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/almanach/\u0027"},{"line_number":309,"context_line":"                     \u0027almanach-master.tar.gz\u0027)},"},{"line_number":310,"context_line":"    \u0027aodh-base\u0027: {"},{"line_number":311,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":312,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/aodh/\u0027"},{"line_number":313,"context_line":"                     \u0027aodh-master.tar.gz\u0027)},"},{"line_number":314,"context_line":"    \u0027barbican-base\u0027: {"},{"line_number":315,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":316,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/barbican/\u0027"},{"line_number":317,"context_line":"                     \u0027barbican-master.tar.gz\u0027)},"},{"line_number":318,"context_line":"    \u0027bifrost-base\u0027: {"},{"line_number":319,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":320,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/bifrost/\u0027"},{"line_number":321,"context_line":"                     \u0027bifrost-master.tar.gz\u0027)},"},{"line_number":322,"context_line":"    \u0027blazar-base\u0027: {"},{"line_number":323,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":324,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/blazar/\u0027"},{"line_number":325,"context_line":"                     \u0027blazar-master.tar.gz\u0027)},"},{"line_number":326,"context_line":"    \u0027ceilometer-base\u0027: {"},{"line_number":327,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":328,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/ceilometer/\u0027"},{"line_number":329,"context_line":"                     \u0027ceilometer-master.tar.gz\u0027)},"},{"line_number":330,"context_line":"    \u0027ceilometer-base-plugin-panko\u0027: {"},{"line_number":331,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":332,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/panko/\u0027"},{"line_number":333,"context_line":"                     \u0027panko-master.tar.gz\u0027)},"},{"line_number":334,"context_line":"    \u0027cinder-base\u0027: {"},{"line_number":335,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":336,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/cinder/\u0027"},{"line_number":337,"context_line":"                     \u0027cinder-master.tar.gz\u0027)},"},{"line_number":338,"context_line":"    \u0027congress-base\u0027: {"},{"line_number":339,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":340,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/congress/\u0027"},{"line_number":341,"context_line":"                     \u0027congress-master.tar.gz\u0027)},"},{"line_number":342,"context_line":"    \u0027cloudkitty-base\u0027: {"},{"line_number":343,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":344,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/cloudkitty/\u0027"},{"line_number":345,"context_line":"                     \u0027cloudkitty-master.tar.gz\u0027)},"},{"line_number":346,"context_line":"    \u0027cyborg-base\u0027: {"},{"line_number":347,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":348,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/cyborg/\u0027"},{"line_number":349,"context_line":"                     \u0027cyborg-master.tar.gz\u0027)},"},{"line_number":350,"context_line":"    \u0027designate-base\u0027: {"},{"line_number":351,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":352,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/designate/\u0027"},{"line_number":353,"context_line":"                     \u0027designate-master.tar.gz\u0027)},"},{"line_number":354,"context_line":"    \u0027dragonflow-base\u0027: {"},{"line_number":355,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":356,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/dragonflow/\u0027"},{"line_number":357,"context_line":"                     \u0027dragonflow-master.tar.gz\u0027)},"},{"line_number":358,"context_line":"    \u0027ec2-api\u0027: {"},{"line_number":359,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":360,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/ec2-api/\u0027"},{"line_number":361,"context_line":"                     \u0027ec2-api-master.tar.gz\u0027)},"},{"line_number":362,"context_line":"    \u0027freezer-api\u0027: {"},{"line_number":363,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":364,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/freezer-api/\u0027"},{"line_number":365,"context_line":"                     \u0027freezer-api-master.tar.gz\u0027)},"},{"line_number":366,"context_line":"    \u0027freezer-base\u0027: {"},{"line_number":367,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":368,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/freezer/\u0027"},{"line_number":369,"context_line":"                     \u0027freezer-master.tar.gz\u0027)},"},{"line_number":370,"context_line":"    \u0027glance-base\u0027: {"},{"line_number":371,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":372,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/glance/\u0027"},{"line_number":373,"context_line":"                     \u0027glance-master.tar.gz\u0027)},"},{"line_number":374,"context_line":"    \u0027gnocchi-base\u0027: {"},{"line_number":375,"context_line":"        \u0027type\u0027: \u0027git\u0027,"},{"line_number":376,"context_line":"        \u0027reference\u0027: \u0027master\u0027,"},{"line_number":377,"context_line":"        \u0027location\u0027: (\u0027https://github.com/gnocchixyz/\u0027"},{"line_number":378,"context_line":"                     \u0027gnocchi.git\u0027)},"},{"line_number":379,"context_line":"    \u0027heat-base\u0027: {"},{"line_number":380,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":381,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/heat/\u0027"},{"line_number":382,"context_line":"                     \u0027heat-master.tar.gz\u0027)},"},{"line_number":383,"context_line":"    \u0027horizon\u0027: {"},{"line_number":384,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":385,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/horizon/\u0027"},{"line_number":386,"context_line":"                     \u0027horizon-master.tar.gz\u0027)},"},{"line_number":387,"context_line":"    \u0027horizon-plugin-blazar-dashboard\u0027: {"},{"line_number":388,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":389,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/blazar-dashboard/\u0027"},{"line_number":390,"context_line":"                     \u0027blazar-dashboard-master.tar.gz\u0027)},"},{"line_number":391,"context_line":"    \u0027horizon-plugin-congress-dashboard\u0027: {"},{"line_number":392,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":393,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/congress-dashboard/\u0027"},{"line_number":394,"context_line":"                     \u0027congress-dashboard-master.tar.gz\u0027)},"},{"line_number":395,"context_line":"    \u0027horizon-plugin-cloudkitty-dashboard\u0027: {"},{"line_number":396,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":397,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/cloudkitty-dashboard/\u0027"},{"line_number":398,"context_line":"                     \u0027cloudkitty-dashboard-master.tar.gz\u0027)},"},{"line_number":399,"context_line":"    \u0027horizon-plugin-designate-dashboard\u0027: {"},{"line_number":400,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":401,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/designate-dashboard/\u0027"},{"line_number":402,"context_line":"                     \u0027designate-dashboard-master.tar.gz\u0027)},"},{"line_number":403,"context_line":"    \u0027horizon-plugin-fwaas-dashboard\u0027: {"},{"line_number":404,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":405,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/neutron-fwaas-dashboard/\u0027"},{"line_number":406,"context_line":"                     \u0027neutron-fwaas-dashboard-master.tar.gz\u0027)},"},{"line_number":407,"context_line":"    \u0027horizon-plugin-freezer-web-ui\u0027: {"},{"line_number":408,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":409,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/freezer-web-ui/\u0027"},{"line_number":410,"context_line":"                     \u0027freezer-web-ui-master.tar.gz\u0027)},"},{"line_number":411,"context_line":"    \u0027horizon-plugin-heat-dashboard\u0027: {"},{"line_number":412,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":413,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/heat-dashboard/\u0027"},{"line_number":414,"context_line":"                     \u0027heat-dashboard-master.tar.gz\u0027)},"},{"line_number":415,"context_line":"    \u0027horizon-plugin-ironic-ui\u0027: {"},{"line_number":416,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":417,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/ironic-ui/\u0027"},{"line_number":418,"context_line":"                     \u0027ironic-ui-master.tar.gz\u0027)},"},{"line_number":419,"context_line":"    \u0027horizon-plugin-karbor-dashboard\u0027: {"},{"line_number":420,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":421,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/karbor-dashboard/\u0027"},{"line_number":422,"context_line":"                     \u0027karbor-dashboard-master.tar.gz\u0027)},"},{"line_number":423,"context_line":"    \u0027horizon-plugin-magnum-ui\u0027: {"},{"line_number":424,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":425,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/magnum-ui/\u0027"},{"line_number":426,"context_line":"                     \u0027magnum-ui-master.tar.gz\u0027)},"},{"line_number":427,"context_line":"    \u0027horizon-plugin-manila-ui\u0027: {"},{"line_number":428,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":429,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/manila-ui/\u0027"},{"line_number":430,"context_line":"                     \u0027manila-ui-master.tar.gz\u0027)},"},{"line_number":431,"context_line":"    \u0027horizon-plugin-masakari-dashboard\u0027: {"},{"line_number":432,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":433,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/masakari-dashboard/\u0027"},{"line_number":434,"context_line":"                     \u0027masakari-dashboard-master.tar.gz\u0027)},"},{"line_number":435,"context_line":"    \u0027horizon-plugin-mistral-dashboard\u0027: {"},{"line_number":436,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":437,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/mistral-dashboard/\u0027"},{"line_number":438,"context_line":"                     \u0027mistral-dashboard-master.tar.gz\u0027)},"},{"line_number":439,"context_line":"    \u0027horizon-plugin-monasca-ui\u0027: {"},{"line_number":440,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":441,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/monasca-ui/\u0027"},{"line_number":442,"context_line":"                     \u0027monasca-ui-master.tar.gz\u0027)},"},{"line_number":443,"context_line":"    \u0027horizon-plugin-murano-dashboard\u0027: {"},{"line_number":444,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":445,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/murano-dashboard/\u0027"},{"line_number":446,"context_line":"                     \u0027murano-dashboard-master.tar.gz\u0027)},"},{"line_number":447,"context_line":"    \u0027horizon-plugin-neutron-vpnaas-dashboard\u0027: {"},{"line_number":448,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":449,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/neutron-vpnaas-dashboard/\u0027"},{"line_number":450,"context_line":"                     \u0027neutron-vpnaas-dashboard-master.tar.gz\u0027)},"},{"line_number":451,"context_line":"    \u0027horizon-plugin-octavia-dashboard\u0027: {"},{"line_number":452,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":453,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/octavia-dashboard/\u0027"},{"line_number":454,"context_line":"                     \u0027octavia-dashboard-master.tar.gz\u0027)},"},{"line_number":455,"context_line":"    \u0027horizon-plugin-qinling-dashboard\u0027: {"},{"line_number":456,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":457,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/qinling-dashboard/\u0027"},{"line_number":458,"context_line":"                     \u0027qinling-dashboard-master.tar.gz\u0027)},"},{"line_number":459,"context_line":"    \u0027horizon-plugin-sahara-dashboard\u0027: {"},{"line_number":460,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":461,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/sahara-dashboard/\u0027"},{"line_number":462,"context_line":"                     \u0027sahara-dashboard-master.tar.gz\u0027)},"},{"line_number":463,"context_line":"    \u0027horizon-plugin-searchlight-ui\u0027: {"},{"line_number":464,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":465,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/searchlight-ui/\u0027"},{"line_number":466,"context_line":"                     \u0027searchlight-ui-master.tar.gz\u0027)},"},{"line_number":467,"context_line":"    \u0027horizon-plugin-senlin-dashboard\u0027: {"},{"line_number":468,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":469,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/senlin-dashboard/\u0027"},{"line_number":470,"context_line":"                     \u0027senlin-dashboard-master.tar.gz\u0027)},"},{"line_number":471,"context_line":"    \u0027horizon-plugin-solum-dashboard\u0027: {"},{"line_number":472,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":473,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/solum-dashboard/\u0027"},{"line_number":474,"context_line":"                     \u0027solum-dashboard-master.tar.gz\u0027)},"},{"line_number":475,"context_line":"    \u0027horizon-plugin-tacker-dashboard\u0027: {"},{"line_number":476,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":477,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/tacker-horizon/\u0027"},{"line_number":478,"context_line":"                     \u0027tacker-horizon-master.tar.gz\u0027)},"},{"line_number":479,"context_line":"    \u0027horizon-plugin-trove-dashboard\u0027: {"},{"line_number":480,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":481,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/trove-dashboard/\u0027"},{"line_number":482,"context_line":"                     \u0027trove-dashboard-master.tar.gz\u0027)},"},{"line_number":483,"context_line":"    \u0027horizon-plugin-vitrage-dashboard\u0027: {"},{"line_number":484,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":485,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/vitrage-dashboard/\u0027"},{"line_number":486,"context_line":"                     \u0027vitrage-dashboard-master.tar.gz\u0027)},"},{"line_number":487,"context_line":"    \u0027horizon-plugin-watcher-dashboard\u0027: {"},{"line_number":488,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":489,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/watcher-dashboard/\u0027"},{"line_number":490,"context_line":"                     \u0027watcher-dashboard-master.tar.gz\u0027)},"},{"line_number":491,"context_line":"    \u0027horizon-plugin-zaqar-ui\u0027: {"},{"line_number":492,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":493,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/zaqar-ui/\u0027"},{"line_number":494,"context_line":"                     \u0027zaqar-ui-master.tar.gz\u0027)},"},{"line_number":495,"context_line":"    \u0027horizon-plugin-zun-ui\u0027: {"},{"line_number":496,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":497,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/zun-ui/\u0027"},{"line_number":498,"context_line":"                     \u0027zun-ui-master.tar.gz\u0027)},"},{"line_number":499,"context_line":"    \u0027ironic-base\u0027: {"},{"line_number":500,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":501,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/ironic/\u0027"},{"line_number":502,"context_line":"                     \u0027ironic-master.tar.gz\u0027)},"},{"line_number":503,"context_line":"    \u0027ironic-inspector\u0027: {"},{"line_number":504,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":505,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/ironic-inspector/\u0027"},{"line_number":506,"context_line":"                     \u0027ironic-inspector-master.tar.gz\u0027)},"},{"line_number":507,"context_line":"    \u0027karbor-base\u0027: {"},{"line_number":508,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":509,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/karbor/\u0027"},{"line_number":510,"context_line":"                     \u0027karbor-master.tar.gz\u0027)},"},{"line_number":511,"context_line":"    \u0027keystone-base\u0027: {"},{"line_number":512,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":513,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/keystone/\u0027"},{"line_number":514,"context_line":"                     \u0027keystone-master.tar.gz\u0027)},"},{"line_number":515,"context_line":"    \u0027kuryr-base\u0027: {"},{"line_number":516,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":517,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/kuryr/\u0027"},{"line_number":518,"context_line":"                     \u0027kuryr-master.tar.gz\u0027)},"},{"line_number":519,"context_line":"    \u0027kuryr-libnetwork\u0027: {"},{"line_number":520,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":521,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/kuryr-libnetwork/\u0027"},{"line_number":522,"context_line":"                     \u0027kuryr-libnetwork-master.tar.gz\u0027)},"},{"line_number":523,"context_line":"    \u0027magnum-base\u0027: {"},{"line_number":524,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":525,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/magnum/\u0027"},{"line_number":526,"context_line":"                     \u0027magnum-master.tar.gz\u0027)},"},{"line_number":527,"context_line":"    \u0027manila-base\u0027: {"},{"line_number":528,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":529,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/manila/\u0027"},{"line_number":530,"context_line":"                     \u0027manila-master.tar.gz\u0027)},"},{"line_number":531,"context_line":"    \u0027masakari-base\u0027: {"},{"line_number":532,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":533,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/masakari/\u0027"},{"line_number":534,"context_line":"                     \u0027masakari-master.tar.gz\u0027)},"},{"line_number":535,"context_line":"    \u0027masakari-monitors\u0027: {"},{"line_number":536,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":537,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/masakari-monitors/\u0027"},{"line_number":538,"context_line":"                     \u0027masakari-monitors-master.tar.gz\u0027)},"},{"line_number":539,"context_line":"    \u0027mistral-base\u0027: {"},{"line_number":540,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":541,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/mistral/\u0027"},{"line_number":542,"context_line":"                     \u0027mistral-master.tar.gz\u0027)},"},{"line_number":543,"context_line":"    \u0027mistral-base-plugin-tacker\u0027: {"},{"line_number":544,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":545,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/tacker/\u0027"},{"line_number":546,"context_line":"                     \u0027tacker-master.tar.gz\u0027)},"},{"line_number":547,"context_line":"    \u0027monasca-agent\u0027: {"},{"line_number":548,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":549,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/monasca-agent/\u0027"},{"line_number":550,"context_line":"                     \u0027monasca-agent-master.tar.gz\u0027)},"},{"line_number":551,"context_line":"    \u0027monasca-api\u0027: {"},{"line_number":552,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":553,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/monasca-api/\u0027"},{"line_number":554,"context_line":"                     \u0027monasca-api-master.tar.gz\u0027)},"},{"line_number":555,"context_line":"    \u0027monasca-log-api\u0027: {"},{"line_number":556,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":557,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/monasca-log-api/\u0027"},{"line_number":558,"context_line":"                     \u0027monasca-log-api-master.tar.gz\u0027)},"},{"line_number":559,"context_line":"    \u0027monasca-notification\u0027: {"},{"line_number":560,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":561,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/monasca-notification/\u0027"},{"line_number":562,"context_line":"                     \u0027monasca-notification-master.tar.gz\u0027)},"},{"line_number":563,"context_line":"    \u0027monasca-persister\u0027: {"},{"line_number":564,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":565,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/monasca-persister/\u0027"},{"line_number":566,"context_line":"                     \u0027monasca-persister-master.tar.gz\u0027)},"},{"line_number":567,"context_line":"    \u0027monasca-statsd\u0027: {"},{"line_number":568,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":569,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/monasca-statsd/\u0027"},{"line_number":570,"context_line":"                     \u0027monasca-statsd-master.tar.gz\u0027)},"},{"line_number":571,"context_line":"    # FIXME(dszumski): Use openstack tar when infra is fixed"},{"line_number":572,"context_line":"    \u0027monasca-thresh\u0027: {"},{"line_number":573,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":574,"context_line":"        \u0027location\u0027: (\u0027https://github.com/openstack/monasca-thresh/archive/\u0027"},{"line_number":575,"context_line":"                     \u0027master.tar.gz\u0027)},"},{"line_number":576,"context_line":"    \u0027monasca-thresh-additions-monasca-common\u0027: {"},{"line_number":577,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":578,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/monasca-common/\u0027"},{"line_number":579,"context_line":"                     \u0027monasca-common-master.tar.gz\u0027)},"},{"line_number":580,"context_line":"    \u0027murano-base\u0027: {"},{"line_number":581,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":582,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/murano/\u0027"},{"line_number":583,"context_line":"                     \u0027murano-master.tar.gz\u0027)},"},{"line_number":584,"context_line":"    \u0027neutron-base\u0027: {"},{"line_number":585,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":586,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/neutron/\u0027"},{"line_number":587,"context_line":"                     \u0027neutron-master.tar.gz\u0027)},"},{"line_number":588,"context_line":"    \u0027neutron-base-plugin-neutron-fwaas\u0027: {"},{"line_number":589,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":590,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/neutron-fwaas/\u0027"},{"line_number":591,"context_line":"                     \u0027neutron-fwaas-master.tar.gz\u0027)},"},{"line_number":592,"context_line":"    \u0027neutron-base-plugin-networking-ansible\u0027: {"},{"line_number":593,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":594,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/networking-ansible/\u0027"},{"line_number":595,"context_line":"                     \u0027networking-ansible-master.tar.gz\u0027)},"},{"line_number":596,"context_line":"    \u0027neutron-base-plugin-networking-baremetal\u0027: {"},{"line_number":597,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":598,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/networking-baremetal/\u0027"},{"line_number":599,"context_line":"                     \u0027networking-baremetal-master.tar.gz\u0027)},"},{"line_number":600,"context_line":"    \u0027neutron-base-plugin-networking-generic-switch\u0027: {"},{"line_number":601,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":602,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/networking-generic-switch/\u0027"},{"line_number":603,"context_line":"                     \u0027networking-generic-switch-master.tar.gz\u0027)},"},{"line_number":604,"context_line":"    \u0027neutron-base-plugin-networking-sfc\u0027: {"},{"line_number":605,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":606,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/networking-sfc/\u0027"},{"line_number":607,"context_line":"                     \u0027networking-sfc-master.tar.gz\u0027)},"},{"line_number":608,"context_line":"    \u0027neutron-base-plugin-vmware-nsx\u0027: {"},{"line_number":609,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":610,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/vmware-nsx/\u0027"},{"line_number":611,"context_line":"                     \u0027vmware-nsx-master.tar.gz\u0027)},"},{"line_number":612,"context_line":"    \u0027neutron-base-plugin-vpnaas-agent\u0027: {"},{"line_number":613,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":614,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/neutron-vpnaas/\u0027"},{"line_number":615,"context_line":"                     \u0027neutron-vpnaas-master.tar.gz\u0027)},"},{"line_number":616,"context_line":"    \u0027neutron-bgp-dragent\u0027: {"},{"line_number":617,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":618,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/neutron-dynamic-routing/\u0027"},{"line_number":619,"context_line":"                     \u0027neutron-dynamic-routing-master.tar.gz\u0027)},"},{"line_number":620,"context_line":"    \u0027neutron-server-opendaylight-plugin-networking-odl\u0027: {"},{"line_number":621,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":622,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/networking-odl/\u0027"},{"line_number":623,"context_line":"                     \u0027networking-odl-master.tar.gz\u0027)},"},{"line_number":624,"context_line":"    \u0027neutron-server-opendaylight-plugin-networking-bgpvpn\u0027: {"},{"line_number":625,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":626,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/networking-bgpvpn/\u0027"},{"line_number":627,"context_line":"                     \u0027networking-bgpvpn-master.tar.gz\u0027)},"},{"line_number":628,"context_line":"    \u0027neutron-server-opendaylight-plugin-networking-l2gw\u0027: {"},{"line_number":629,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":630,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/networking-l2gw/\u0027"},{"line_number":631,"context_line":"                     \u0027networking-l2gw-master.tar.gz\u0027)},"},{"line_number":632,"context_line":"    \u0027neutron-server-opendaylight-plugin-networking-sfc\u0027: {"},{"line_number":633,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":634,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/networking-sfc/\u0027"},{"line_number":635,"context_line":"                     \u0027networking-sfc-master.tar.gz\u0027)},"},{"line_number":636,"context_line":"    \u0027neutron-server-plugin-neutron-dynamic-routing\u0027: {"},{"line_number":637,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":638,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/neutron-dynamic-routing/\u0027"},{"line_number":639,"context_line":"                     \u0027neutron-dynamic-routing-master.tar.gz\u0027)},"},{"line_number":640,"context_line":"    \u0027neutron-server-plugin-vmware-nsxlib\u0027: {"},{"line_number":641,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":642,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/vmware-nsxlib/\u0027"},{"line_number":643,"context_line":"                     \u0027vmware-nsxlib-master.tar.gz\u0027)},"},{"line_number":644,"context_line":"    \u0027neutron-vpnaas-agent\u0027: {"},{"line_number":645,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":646,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/neutron-vpnaas/\u0027"},{"line_number":647,"context_line":"                     \u0027neutron-vpnaas-master.tar.gz\u0027)},"},{"line_number":648,"context_line":"    \u0027neutron-server-ovn-plugin-networking-ovn\u0027: {"},{"line_number":649,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":650,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/networking-ovn/\u0027"},{"line_number":651,"context_line":"                     \u0027networking-ovn-master.tar.gz\u0027)},"},{"line_number":652,"context_line":"    \u0027neutron-metadata-agent-ovn-plugin-networking-ovn\u0027: {"},{"line_number":653,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":654,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/networking-ovn/\u0027"},{"line_number":655,"context_line":"                     \u0027networking-ovn-master.tar.gz\u0027)},"},{"line_number":656,"context_line":"    \u0027nova-base\u0027: {"},{"line_number":657,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":658,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/nova/\u0027"},{"line_number":659,"context_line":"                     \u0027nova-master.tar.gz\u0027)},"},{"line_number":660,"context_line":"    \u0027nova-base-plugin-blazar\u0027: {"},{"line_number":661,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":662,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/blazar-nova/\u0027"},{"line_number":663,"context_line":"                     \u0027blazar-nova-master.tar.gz\u0027)},"},{"line_number":664,"context_line":"    \u0027nova-base-plugin-mksproxy\u0027: {"},{"line_number":665,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":666,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/nova-mksproxy/\u0027"},{"line_number":667,"context_line":"                     \u0027nova-mksproxy-master.tar.gz\u0027)},"},{"line_number":668,"context_line":"    \u0027novajoin-base\u0027: {"},{"line_number":669,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":670,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/novajoin/\u0027"},{"line_number":671,"context_line":"                     \u0027novajoin-master.tar.gz\u0027)},"},{"line_number":672,"context_line":"    \u0027octavia-base\u0027: {"},{"line_number":673,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":674,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/octavia/\u0027"},{"line_number":675,"context_line":"                     \u0027octavia-master.tar.gz\u0027)},"},{"line_number":676,"context_line":"    \u0027panko-base\u0027: {"},{"line_number":677,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":678,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/panko/\u0027"},{"line_number":679,"context_line":"                     \u0027panko-master.tar.gz\u0027)},"},{"line_number":680,"context_line":"    \u0027placement-base\u0027: {"},{"line_number":681,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":682,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/placement/\u0027"},{"line_number":683,"context_line":"                     \u0027placement-master.tar.gz\u0027)},"},{"line_number":684,"context_line":"    \u0027qinling-base\u0027: {"},{"line_number":685,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":686,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/qinling/\u0027"},{"line_number":687,"context_line":"                     \u0027qinling-master.tar.gz\u0027)},"},{"line_number":688,"context_line":"    \u0027tempest-plugin-tempest-conf\u0027: {"},{"line_number":689,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":690,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/python-tempestconf/\u0027"},{"line_number":691,"context_line":"                     \u0027python-tempestconf-master.tar.gz\u0027)},"},{"line_number":692,"context_line":"    \u0027tempest-plugin-barbican\u0027: {"},{"line_number":693,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":694,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/barbican-tempest-plugin/\u0027"},{"line_number":695,"context_line":"                     \u0027barbican-tempest-plugin-master.tar.gz\u0027)},"},{"line_number":696,"context_line":"    \u0027tempest-plugin-blazar\u0027: {"},{"line_number":697,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":698,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/blazar-tempest-plugin/\u0027"},{"line_number":699,"context_line":"                     \u0027blazar-tempest-plugin-master.tar.gz\u0027)},"},{"line_number":700,"context_line":"    \u0027tempest-plugin-cinder\u0027: {"},{"line_number":701,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":702,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/cinder-tempest-plugin/\u0027"},{"line_number":703,"context_line":"                     \u0027cinder-tempest-plugin-master.tar.gz\u0027)},"},{"line_number":704,"context_line":"    \u0027tempest-plugin-congress\u0027: {"},{"line_number":705,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":706,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/congress-tempest-plugin/\u0027"},{"line_number":707,"context_line":"                     \u0027congress-tempest-plugin-master.tar.gz\u0027)},"},{"line_number":708,"context_line":"    \u0027tempest-plugin-ec2api\u0027: {"},{"line_number":709,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":710,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/ec2api-tempest-plugin/\u0027"},{"line_number":711,"context_line":"                     \u0027ec2api-tempest-plugin-master.tar.gz\u0027)},"},{"line_number":712,"context_line":"    \u0027tempest-plugin-heat\u0027: {"},{"line_number":713,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":714,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/heat-tempest-plugin/\u0027"},{"line_number":715,"context_line":"                     \u0027heat-tempest-plugin-master.tar.gz\u0027)},"},{"line_number":716,"context_line":"    \u0027tempest-plugin-ironic\u0027: {"},{"line_number":717,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":718,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/ironic-tempest-plugin/\u0027"},{"line_number":719,"context_line":"                     \u0027ironic-tempest-plugin-master.tar.gz\u0027)},"},{"line_number":720,"context_line":"    \u0027tempest-plugin-keystone\u0027: {"},{"line_number":721,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":722,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/keystone-tempest-plugin/\u0027"},{"line_number":723,"context_line":"                     \u0027keystone-tempest-plugin-master.tar.gz\u0027)},"},{"line_number":724,"context_line":"    \u0027tempest-plugin-magnum\u0027: {"},{"line_number":725,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":726,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/magnum-tempest-plugin/\u0027"},{"line_number":727,"context_line":"                     \u0027magnum-tempest-plugin-master.tar.gz\u0027)},"},{"line_number":728,"context_line":"    \u0027tempest-plugin-manila\u0027: {"},{"line_number":729,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":730,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/manila-tempest-plugin/\u0027"},{"line_number":731,"context_line":"                     \u0027manila-tempest-plugin-master.tar.gz\u0027)},"},{"line_number":732,"context_line":"    \u0027tempest-plugin-mistral\u0027: {"},{"line_number":733,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":734,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/mistral-tempest-plugin/\u0027"},{"line_number":735,"context_line":"                     \u0027mistral-tempest-plugin-master.tar.gz\u0027)},"},{"line_number":736,"context_line":"    \u0027tempest-plugin-monasca\u0027: {"},{"line_number":737,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":738,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/monasca-tempest-plugin/\u0027"},{"line_number":739,"context_line":"                     \u0027monasca-tempest-plugin-master.tar.gz\u0027)},"},{"line_number":740,"context_line":"    \u0027tempest-plugin-murano\u0027: {"},{"line_number":741,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":742,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/murano-tempest-plugin/\u0027"},{"line_number":743,"context_line":"                     \u0027murano-tempest-plugin-master.tar.gz\u0027)},"},{"line_number":744,"context_line":"    \u0027tempest-plugin-neutron\u0027: {"},{"line_number":745,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":746,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/neutron-tempest-plugin/\u0027"},{"line_number":747,"context_line":"                     \u0027neutron-tempest-plugin-master.tar.gz\u0027)},"},{"line_number":748,"context_line":"    \u0027tempest-plugin-patrole\u0027: {"},{"line_number":749,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":750,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/patrole/\u0027"},{"line_number":751,"context_line":"                     \u0027patrole-master.tar.gz\u0027)},"},{"line_number":752,"context_line":"    \u0027tempest-plugin-telemetry\u0027: {"},{"line_number":753,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":754,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/telemetry-tempest-plugin/\u0027"},{"line_number":755,"context_line":"                     \u0027telemetry-tempest-plugin-master.tar.gz\u0027)},"},{"line_number":756,"context_line":"    \u0027tempest-plugin-tripleo-common\u0027: {"},{"line_number":757,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":758,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/tripleo-common-tempest-plugin/\u0027"},{"line_number":759,"context_line":"                     \u0027tripleo-common-tempest-plugin-master.tar.gz\u0027)},"},{"line_number":760,"context_line":"    \u0027tempest-plugin-trove\u0027: {"},{"line_number":761,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":762,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/trove-tempest-plugin/\u0027"},{"line_number":763,"context_line":"                     \u0027trove-tempest-plugin-master.tar.gz\u0027)},"},{"line_number":764,"context_line":"    \u0027tempest-plugin-vitrage\u0027: {"},{"line_number":765,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":766,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/vitrage-tempest-plugin/\u0027"},{"line_number":767,"context_line":"                     \u0027vitrage-tempest-plugin-master.tar.gz\u0027)},"},{"line_number":768,"context_line":"    \u0027tempest-plugin-watcher\u0027: {"},{"line_number":769,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":770,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/watcher-tempest-plugin/\u0027"},{"line_number":771,"context_line":"                     \u0027watcher-tempest-plugin-master.tar.gz\u0027)},"},{"line_number":772,"context_line":"    \u0027tempest-plugin-zaqar\u0027: {"},{"line_number":773,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":774,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/zaqar-tempest-plugin/\u0027"},{"line_number":775,"context_line":"                     \u0027zaqar-tempest-plugin-master.tar.gz\u0027)},"},{"line_number":776,"context_line":"    \u0027rally\u0027: {"},{"line_number":777,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":778,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/rally/\u0027"},{"line_number":779,"context_line":"                     \u0027rally-master.tar.gz\u0027)},"},{"line_number":780,"context_line":"    \u0027sahara-base\u0027: {"},{"line_number":781,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":782,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/sahara/\u0027"},{"line_number":783,"context_line":"                     \u0027sahara-master.tar.gz\u0027)},"},{"line_number":784,"context_line":"    \u0027sahara-base-plugin-ambari\u0027: {"},{"line_number":785,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":786,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/sahara-plugin-ambari/\u0027"},{"line_number":787,"context_line":"                     \u0027sahara-plugin-ambari-master.tar.gz\u0027)},"},{"line_number":788,"context_line":"    \u0027sahara-base-plugin-cdh\u0027: {"},{"line_number":789,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":790,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/sahara-plugin-cdh/\u0027"},{"line_number":791,"context_line":"                     \u0027sahara-plugin-cdh-master.tar.gz\u0027)},"},{"line_number":792,"context_line":"    \u0027sahara-base-plugin-mapr\u0027: {"},{"line_number":793,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":794,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/sahara-plugin-mapr/\u0027"},{"line_number":795,"context_line":"                     \u0027sahara-plugin-mapr-master.tar.gz\u0027)},"},{"line_number":796,"context_line":"    \u0027sahara-base-plugin-spark\u0027: {"},{"line_number":797,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":798,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/sahara-plugin-spark/\u0027"},{"line_number":799,"context_line":"                     \u0027sahara-plugin-spark-master.tar.gz\u0027)},"},{"line_number":800,"context_line":"    \u0027sahara-base-plugin-storm\u0027: {"},{"line_number":801,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":802,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/sahara-plugin-storm/\u0027"},{"line_number":803,"context_line":"                     \u0027sahara-plugin-storm-master.tar.gz\u0027)},"},{"line_number":804,"context_line":"    \u0027sahara-base-plugin-vanilla\u0027: {"},{"line_number":805,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":806,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/sahara-plugin-vanilla/\u0027"},{"line_number":807,"context_line":"                     \u0027sahara-plugin-vanilla-master.tar.gz\u0027)},"},{"line_number":808,"context_line":"    \u0027searchlight-base\u0027: {"},{"line_number":809,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":810,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/searchlight/\u0027"},{"line_number":811,"context_line":"                     \u0027searchlight-master.tar.gz\u0027)},"},{"line_number":812,"context_line":"    \u0027senlin-base\u0027: {"},{"line_number":813,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":814,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/senlin/\u0027"},{"line_number":815,"context_line":"                     \u0027senlin-master.tar.gz\u0027)},"},{"line_number":816,"context_line":"    \u0027solum-base\u0027: {"},{"line_number":817,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":818,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/solum/\u0027"},{"line_number":819,"context_line":"                     \u0027solum-master.tar.gz\u0027)},"},{"line_number":820,"context_line":"    \u0027swift-base\u0027: {"},{"line_number":821,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":822,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/swift/\u0027"},{"line_number":823,"context_line":"                     \u0027swift-master.tar.gz\u0027)},"},{"line_number":824,"context_line":"    \u0027tacker-base\u0027: {"},{"line_number":825,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":826,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/tacker/\u0027"},{"line_number":827,"context_line":"                     \u0027tacker-master.tar.gz\u0027)},"},{"line_number":828,"context_line":"    \u0027tacker-base-plugin-networking-sfc\u0027: {"},{"line_number":829,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":830,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/networking-sfc/\u0027"},{"line_number":831,"context_line":"                     \u0027networking-sfc-master.tar.gz\u0027)},"},{"line_number":832,"context_line":"    \u0027tempest\u0027: {"},{"line_number":833,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":834,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/tempest/\u0027"},{"line_number":835,"context_line":"                     \u0027tempest-master.tar.gz\u0027)},"},{"line_number":836,"context_line":"    \u0027tripleoclient\u0027: {"},{"line_number":837,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":838,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/python-tripleoclient/\u0027"},{"line_number":839,"context_line":"                     \u0027tripleoclient-master.tar.gz\u0027)},"},{"line_number":840,"context_line":"    \u0027trove-base\u0027: {"},{"line_number":841,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":842,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/trove/\u0027"},{"line_number":843,"context_line":"                     \u0027trove-master.tar.gz\u0027)},"},{"line_number":844,"context_line":"    \u0027vitrage-base\u0027: {"},{"line_number":845,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":846,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/vitrage/\u0027"},{"line_number":847,"context_line":"                     \u0027vitrage-master.tar.gz\u0027)},"},{"line_number":848,"context_line":"    \u0027vmtp\u0027: {"},{"line_number":849,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":850,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/vmtp/\u0027"},{"line_number":851,"context_line":"                     \u0027vmtp-master.tar.gz\u0027)},"},{"line_number":852,"context_line":"    \u0027watcher-base\u0027: {"},{"line_number":853,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":854,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/watcher/\u0027"},{"line_number":855,"context_line":"                     \u0027watcher-master.tar.gz\u0027)},"},{"line_number":856,"context_line":"    \u0027zaqar-base\u0027: {"},{"line_number":857,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":858,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/zaqar/\u0027"},{"line_number":859,"context_line":"                     \u0027zaqar-master.tar.gz\u0027)},"},{"line_number":860,"context_line":"    \u0027zun-base\u0027: {"},{"line_number":861,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":862,"context_line":"        \u0027location\u0027: (\u0027$tarballs_base/zun/\u0027"},{"line_number":863,"context_line":"                     \u0027zun-master.tar.gz\u0027)}"},{"line_number":864,"context_line":"}"},{"line_number":865,"context_line":""},{"line_number":866,"context_line":""},{"line_number":867,"context_line":"# NOTE(SamYaple): Only increment the UID. Never reuse old or removed UIDs."}],"source_content_type":"text/x-python","patch_set":6,"id":"7faddb67_a26dd203","side":"PARENT","line":864,"range":{"start_line":304,"start_character":0,"end_line":864,"end_character":1},"updated":"2019-08-06 10:04:17.000000000","message":"don\u0027t\n\nin stable branches we have version numbers instead of \u0027master\u0027 so your change does not help","commit_id":"f95a009d2bf11748e20ee695091ea52260428c99"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"f6251af09efbd8d85683b4ad0ebc8c52217c5de2","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"from kolla.version import version_info as version"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"import vars.base"},{"line_number":22,"context_line":"import vars.sources_stable"},{"line_number":23,"context_line":"import vars.sources_point"},{"line_number":24,"context_line":"import vars.users"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"_PROFILE_OPTS \u003d ["},{"line_number":27,"context_line":"    cfg.ListOpt(\u0027infra\u0027,"}],"source_content_type":"text/x-python","patch_set":8,"id":"7faddb67_98b27ee4","line":24,"range":{"start_line":21,"start_character":0,"end_line":24,"end_character":17},"updated":"2019-08-06 11:32:52.000000000","message":"I think you\u0027d need to do \u0027from kolla.common.vars.X import *\u0027 to bring them into this namespace. I think the main ones that need separating are the sources to make it more easy to maintain them.","commit_id":"d452a62a946c23f241dd89f5ad10eefe852475d8"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"9cca532d82dcbf076cf65d04f87bfce14c1eddae","unresolved":false,"context_lines":[{"line_number":295,"context_line":"        cfg.IntOpt(\u0027gid\u0027, default\u003dgid, help\u003d\u0027The group id\u0027),"},{"line_number":296,"context_line":"    ]"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"\""},{"line_number":299,"context_line":"def gen_all_user_opts():"},{"line_number":300,"context_line":"    for name, params in USERS.items():"},{"line_number":301,"context_line":"        uid \u003d params[\u0027uid\u0027]"}],"source_content_type":"text/x-python","patch_set":8,"id":"7faddb67_82b8cb74","line":298,"range":{"start_line":298,"start_character":0,"end_line":298,"end_character":1},"updated":"2019-08-06 10:04:17.000000000","message":"?","commit_id":"d452a62a946c23f241dd89f5ad10eefe852475d8"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"9cca532d82dcbf076cf65d04f87bfce14c1eddae","unresolved":false,"context_lines":[{"line_number":325,"context_line":"    conf.register_cli_opts(_CLI_OPTS)"},{"line_number":326,"context_line":"    conf.register_opts(_BASE_OPTS)"},{"line_number":327,"context_line":"    conf.register_opts(_PROFILE_OPTS, group\u003d\u0027profiles\u0027)"},{"line_number":328,"context_line":"    if conf[\u0027openstack_release_type\u0027] \u003d\u003d \u0027stable\u0027:"},{"line_number":329,"context_line":"        for name, opts in gen_all_source_opts(SOURCES_STABLE):"},{"line_number":330,"context_line":"            conf.register_opts(opts, name)"},{"line_number":331,"context_line":"    elif conf[\u0027openstack_release_type\u0027] \u003d\u003d \u0027point\u0027: "},{"line_number":332,"context_line":"        for name, opts in gen_all_user_opts(SOURCES_POINT):"},{"line_number":333,"context_line":"            conf.register_opts(opts, name)"},{"line_number":334,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"7faddb67_82468b7a","line":331,"range":{"start_line":328,"start_character":0,"end_line":331,"end_character":51},"updated":"2019-08-06 10:04:17.000000000","message":"if conf[\u0027openstack_release\u0027] \u003d\u003d \u0027master\u0027:\nelse:\n\nand no extra variable needed","commit_id":"d452a62a946c23f241dd89f5ad10eefe852475d8"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"9cca532d82dcbf076cf65d04f87bfce14c1eddae","unresolved":false,"context_lines":[{"line_number":328,"context_line":"    if conf[\u0027openstack_release_type\u0027] \u003d\u003d \u0027stable\u0027:"},{"line_number":329,"context_line":"        for name, opts in gen_all_source_opts(SOURCES_STABLE):"},{"line_number":330,"context_line":"            conf.register_opts(opts, name)"},{"line_number":331,"context_line":"    elif conf[\u0027openstack_release_type\u0027] \u003d\u003d \u0027point\u0027: "},{"line_number":332,"context_line":"        for name, opts in gen_all_user_opts(SOURCES_POINT):"},{"line_number":333,"context_line":"            conf.register_opts(opts, name)"},{"line_number":334,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"7faddb67_e2a89f20","line":331,"range":{"start_line":331,"start_character":51,"end_line":331,"end_character":52},"updated":"2019-08-06 10:04:17.000000000","message":"whitespace","commit_id":"d452a62a946c23f241dd89f5ad10eefe852475d8"}],"kolla/common/vars/base.py":[{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"9cca532d82dcbf076cf65d04f87bfce14c1eddae","unresolved":false,"context_lines":[{"line_number":36,"context_line":""},{"line_number":37,"context_line":"OPENSTACK_RELEASE \u003d \u0027master\u0027"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"OPENSTACK_RELEASE_CHOICES \u003d [\u0027stable\u0027, \u0027point\u0027]"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"# TODO(mandre) check for file integrity instead of downloading from an HTTPS"},{"line_number":42,"context_line":"# source"}],"source_content_type":"text/x-python","patch_set":8,"id":"7faddb67_829f6b00","line":39,"range":{"start_line":39,"start_character":0,"end_line":39,"end_character":47},"updated":"2019-08-06 10:04:17.000000000","message":"so \u0027stable\u0027 means \u0027master\u0027 which is not granted to be stable\n\nand \u0027point\u0027 means \u0027stable/*\u0027\n\nI would rather abandon that variable and then populate sources based on OPENSTACK_RELEASE variable.","commit_id":"d452a62a946c23f241dd89f5ad10eefe852475d8"}],"kolla/common/vars/sources_stable.py":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"f6251af09efbd8d85683b4ad0ebc8c52217c5de2","unresolved":false,"context_lines":[{"line_number":10,"context_line":"# See the License for the specific language governing permissions and"},{"line_number":11,"context_line":"# limitations under the License."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"SOURCES_STABLE \u003d {"},{"line_number":14,"context_line":"    \u0027openstack-base\u0027: {"},{"line_number":15,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":16,"context_line":"        \u0027location\u0027: (\u0027${tarballs_base}/requirements/\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"7faddb67_9884be0c","line":13,"range":{"start_line":13,"start_character":0,"end_line":13,"end_character":14},"updated":"2019-08-06 11:32:52.000000000","message":"We talked about putting this in a JSON file such that it could more easily be generated and modified by the version_check.py script. i.e. no regexes.","commit_id":"d452a62a946c23f241dd89f5ad10eefe852475d8"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"9cca532d82dcbf076cf65d04f87bfce14c1eddae","unresolved":false,"context_lines":[{"line_number":14,"context_line":"    \u0027openstack-base\u0027: {"},{"line_number":15,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":16,"context_line":"        \u0027location\u0027: (\u0027${tarballs_base}/requirements/\u0027"},{"line_number":17,"context_line":"                     \u0027requirements-${openstack_release}.tar.gz\u0027)},"},{"line_number":18,"context_line":"    \u0027almanach-base\u0027: {"},{"line_number":19,"context_line":"        \u0027type\u0027: \u0027url\u0027,"},{"line_number":20,"context_line":"        \u0027location\u0027: (\u0027${tarballs_base}/almanach/\u0027"}],"source_content_type":"text/x-python","patch_set":8,"id":"7faddb67_02529b35","line":17,"range":{"start_line":17,"start_character":35,"end_line":17,"end_character":55},"updated":"2019-08-06 10:04:17.000000000","message":"just \u0027master\u0027 - those names are not supposed to change","commit_id":"d452a62a946c23f241dd89f5ad10eefe852475d8"}]}
