)]}'
{"extras.d/80-opendaylight.sh":[{"author":{"_account_id":105,"name":"Kyle Mestery","email":"mestery@mestery.com","username":"mestery"},"change_message_id":"33ecd876e5d9001e7a0b889ae6df253ec162015b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#opendaylight.sh - DevStack extras script"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"if is_service_enabled odl-neutron-integrated-server odl-neutron-only-server odl-compute; then"},{"line_number":4,"context_line":"    # Initial source"},{"line_number":5,"context_line":"    [[ \"$1\" \u003d\u003d \"source\" ]] \u0026\u0026 source $TOP_DIR/lib/opendaylight"},{"line_number":6,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":4,"id":"da86d52c_639d150a","line":3,"updated":"2015-02-04 21:26:16.000000000","message":"The names \"odl-neutron-integrated-server\" and \"odl-neutron-only-server\" seem vague. Can we instead have these:\n\nodl-compute\nodl-neutron\nodl-server\n\nThe first is used when you\u0027re configuring a compute node with ODL. The next one is used to signal neutron should be configured to use ODL as the driver. The third one indicates ODL is running on the host itself.\n\nThis seems clearer to me, and it also means in theory you could run ODL on a compute node if you wanted. Thoughts?","commit_id":"063d28f1c3932709722b7a71e9140335deb3fd12"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"8f138c82735b4221a34e4818f4901a5d3cf5a9cd","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#opendaylight.sh - DevStack extras script"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"if is_service_enabled odl-neutron-integrated-server odl-neutron-only-server odl-compute; then"},{"line_number":4,"context_line":"    # Initial source"},{"line_number":5,"context_line":"    [[ \"$1\" \u003d\u003d \"source\" ]] \u0026\u0026 source $TOP_DIR/lib/opendaylight"},{"line_number":6,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":4,"id":"da86d52c_234a3c26","line":3,"in_reply_to":"da86d52c_639d150a","updated":"2015-02-04 21:35:53.000000000","message":"Ok, if this is confusing I can change it based on your proposal.","commit_id":"063d28f1c3932709722b7a71e9140335deb3fd12"},{"author":{"_account_id":105,"name":"Kyle Mestery","email":"mestery@mestery.com","username":"mestery"},"change_message_id":"33ecd876e5d9001e7a0b889ae6df253ec162015b","unresolved":false,"context_lines":[{"line_number":10,"context_line":"        # no-op"},{"line_number":11,"context_line":"        :"},{"line_number":12,"context_line":"    elif [[ \"$1\" \u003d\u003d \"stack\" \u0026\u0026 \"$2\" \u003d\u003d \"install\" ]]; then"},{"line_number":13,"context_line":"        install_opendaylight_neutron_thin_ml2_driver"},{"line_number":14,"context_line":"        install_opendaylight"},{"line_number":15,"context_line":"        configure_opendaylight"},{"line_number":16,"context_line":"        init_opendaylight"}],"source_content_type":"text/x-sh","patch_set":4,"id":"da86d52c_8385a908","line":13,"updated":"2015-02-04 21:26:16.000000000","message":"I\u0027d prefer this call be squashed into the existing install_opendaylight.","commit_id":"063d28f1c3932709722b7a71e9140335deb3fd12"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"8f138c82735b4221a34e4818f4901a5d3cf5a9cd","unresolved":false,"context_lines":[{"line_number":10,"context_line":"        # no-op"},{"line_number":11,"context_line":"        :"},{"line_number":12,"context_line":"    elif [[ \"$1\" \u003d\u003d \"stack\" \u0026\u0026 \"$2\" \u003d\u003d \"install\" ]]; then"},{"line_number":13,"context_line":"        install_opendaylight_neutron_thin_ml2_driver"},{"line_number":14,"context_line":"        install_opendaylight"},{"line_number":15,"context_line":"        configure_opendaylight"},{"line_number":16,"context_line":"        init_opendaylight"}],"source_content_type":"text/x-sh","patch_set":4,"id":"da86d52c_a389cc76","line":13,"in_reply_to":"da86d52c_8385a908","updated":"2015-02-04 21:35:53.000000000","message":"Sure, no problem we can move this into the install_opendaylight.","commit_id":"063d28f1c3932709722b7a71e9140335deb3fd12"},{"author":{"_account_id":105,"name":"Kyle Mestery","email":"mestery@mestery.com","username":"mestery"},"change_message_id":"33ecd876e5d9001e7a0b889ae6df253ec162015b","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    fi"},{"line_number":35,"context_line":"fi"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"if is_service_enabled odl-neutron-only-server; then"},{"line_number":38,"context_line":"    if [[ \"$1\" \u003d\u003d \"source\" ]]; then"},{"line_number":39,"context_line":"        # no-op"},{"line_number":40,"context_line":"        :"}],"source_content_type":"text/x-sh","patch_set":4,"id":"da86d52c_e39ca56c","line":37,"updated":"2015-02-04 21:26:16.000000000","message":"Can we include the below as part of the loop below this one? And then, in there, we make the decision on starting ODL based on if odl-neutron-only-server is enabled or not?","commit_id":"063d28f1c3932709722b7a71e9140335deb3fd12"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"8f138c82735b4221a34e4818f4901a5d3cf5a9cd","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    fi"},{"line_number":35,"context_line":"fi"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"if is_service_enabled odl-neutron-only-server; then"},{"line_number":38,"context_line":"    if [[ \"$1\" \u003d\u003d \"source\" ]]; then"},{"line_number":39,"context_line":"        # no-op"},{"line_number":40,"context_line":"        :"}],"source_content_type":"text/x-sh","patch_set":4,"id":"da86d52c_a3062c1b","line":37,"in_reply_to":"da86d52c_e39ca56c","updated":"2015-02-04 21:35:53.000000000","message":"Kyle, I don\u0027t get your statement here. \"include the below as part of the loop below this one\".","commit_id":"063d28f1c3932709722b7a71e9140335deb3fd12"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"edc0b580af79f9b0c1623179f6ed10d2b4715bd3","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#opendaylight.sh - DevStack extras script"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"if is_service_enabled odl-neutron odl-server odl-compute; then"},{"line_number":4,"context_line":"    # Initial source"},{"line_number":5,"context_line":"    [[ \"$1\" \u003d\u003d \"source\" ]] \u0026\u0026 source $TOP_DIR/lib/opendaylight"},{"line_number":6,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":5,"id":"da86d52c_4f674ab7","line":3,"updated":"2015-02-05 03:30:25.000000000","message":"it would be helpful if there\u0027s a comment to explain what these services mean.","commit_id":"8ef476c3c1b7c8ccb5ae18fe1275d50878acb3b2"},{"author":{"_account_id":105,"name":"Kyle Mestery","email":"mestery@mestery.com","username":"mestery"},"change_message_id":"d4ec63cfcd4b2b1baa234a6ec39f659875aa7434","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    fi"},{"line_number":34,"context_line":"fi"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"if is_service_enabled odl-neutron; then"},{"line_number":37,"context_line":"    if [[ \"$1\" \u003d\u003d \"source\" ]]; then"},{"line_number":38,"context_line":"        # no-op"},{"line_number":39,"context_line":"        :"}],"source_content_type":"text/x-sh","patch_set":5,"id":"da86d52c_e971e3a8","line":36,"updated":"2015-02-04 22:30:11.000000000","message":"I was thinking of a way to collapse this into the block above or below this (the check for odl-neutron odl-server-odl-compute above) to save some space. We could check for \"odl-neutron\" above and run \"install_opendaylight_neutron_thin_ml2_driver\" and \"configure_ml2_odl\". But this way is fine too.","commit_id":"8ef476c3c1b7c8ccb5ae18fe1275d50878acb3b2"}],"lib/opendaylight":[{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"71fbb41657a19c0fb5beea66169cf55cce97f4ef","unresolved":false,"context_lines":[{"line_number":148,"context_line":"    git clone $ODL_NETWORKING_URL $ODL_NETWORKING_DIR"},{"line_number":149,"context_line":"    cd $ODL_NETWORKING_DIR"},{"line_number":150,"context_line":"    echo \"Installing the Networking-ODL driver for OpenDaylight\""},{"line_number":151,"context_line":"    sudo python setup.py install"},{"line_number":152,"context_line":"    cd $ODL_DIR"},{"line_number":153,"context_line":"    wget -N $ODL_URL/$ODL_PKG"},{"line_number":154,"context_line":"    unzip -u $ODL_PKG"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"da86d52c_45ffc634","line":151,"updated":"2015-02-02 05:25:28.000000000","message":"is there any reason not to use existing functions like git_clone?\n\ncf. https://review.openstack.org/#/c/149936/","commit_id":"eca89615d4a466502e06fa2c6289898f72e38f43"},{"author":{"_account_id":105,"name":"Kyle Mestery","email":"mestery@mestery.com","username":"mestery"},"change_message_id":"f7ea87565d3ddc8529c49aa6d758755003a10c0f","unresolved":false,"context_lines":[{"line_number":148,"context_line":"    git clone $ODL_NETWORKING_URL $ODL_NETWORKING_DIR"},{"line_number":149,"context_line":"    cd $ODL_NETWORKING_DIR"},{"line_number":150,"context_line":"    echo \"Installing the Networking-ODL driver for OpenDaylight\""},{"line_number":151,"context_line":"    sudo python setup.py install"},{"line_number":152,"context_line":"    cd $ODL_DIR"},{"line_number":153,"context_line":"    wget -N $ODL_URL/$ODL_PKG"},{"line_number":154,"context_line":"    unzip -u $ODL_PKG"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"da86d52c_68b0098c","line":151,"in_reply_to":"da86d52c_45ffc634","updated":"2015-02-02 15:41:30.000000000","message":"Agree with YAMAMOTO here.","commit_id":"eca89615d4a466502e06fa2c6289898f72e38f43"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"f45130b05087a426cbe915905d711150bd7e449f","unresolved":false,"context_lines":[{"line_number":145,"context_line":"    mkdir -p $ODL_DIR"},{"line_number":146,"context_line":"    # Download and Install the dependencies for Opendaylight from stackforge"},{"line_number":147,"context_line":"    # Networking-odl repo"},{"line_number":148,"context_line":"    git_clone $ODL_NETWORKING_URL $ODL_NETWORKING_DIR"},{"line_number":149,"context_line":"    cd $ODL_NETWORKING_DIR"},{"line_number":150,"context_line":"    echo \"Installing the Networking-ODL driver for OpenDaylight\""},{"line_number":151,"context_line":"    sudo python setup.py install"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"da86d52c_85a98ce1","line":148,"updated":"2015-02-03 01:43:18.000000000","message":"can you specify 3rd argument, i.e. branch?","commit_id":"d7053ee339f815159713a9801bbaad3060064611"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"a049ac34a4789d1a3637959ffee30eedd490ea52","unresolved":false,"context_lines":[{"line_number":145,"context_line":"    mkdir -p $ODL_DIR"},{"line_number":146,"context_line":"    # Download and Install the dependencies for Opendaylight from stackforge"},{"line_number":147,"context_line":"    # Networking-odl repo"},{"line_number":148,"context_line":"    git_clone $ODL_NETWORKING_URL $ODL_NETWORKING_DIR"},{"line_number":149,"context_line":"    cd $ODL_NETWORKING_DIR"},{"line_number":150,"context_line":"    echo \"Installing the Networking-ODL driver for OpenDaylight\""},{"line_number":151,"context_line":"    sudo python setup.py install"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"da86d52c_55c6424a","line":148,"in_reply_to":"da86d52c_85a98ce1","updated":"2015-02-03 17:33:48.000000000","message":"At this time there is no requirement to add a branch. \nWe can do it later when we have multiple branches.","commit_id":"d7053ee339f815159713a9801bbaad3060064611"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"3d35a69bf7d15a359dc29dd39590dc1d13377166","unresolved":false,"context_lines":[{"line_number":147,"context_line":"    # Networking-odl repo"},{"line_number":148,"context_line":"    git_clone $ODL_NETWORKING_URL $ODL_NETWORKING_DIR"},{"line_number":149,"context_line":"    cd $ODL_NETWORKING_DIR"},{"line_number":150,"context_line":"    echo \"Installing the Networking-ODL driver for OpenDaylight\""},{"line_number":151,"context_line":"    sudo python setup.py install"},{"line_number":152,"context_line":"    cd $ODL_DIR"},{"line_number":153,"context_line":"    wget -N $ODL_URL/$ODL_PKG"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"da86d52c_05874162","line":150,"updated":"2015-02-03 15:21:18.000000000","message":"While this is very much needed, I think this is in the wrong place of the libary. One can run openstack \u0027externally\u0027 and simply point to the running opendaylight. \n\nIn short, I think the clonning of $ODL_NETWORKING_URL needs to be done by anything that uses opendaylight as ml2. Is there a known location for that? In my local.conf, I\u0027m using odl-compute and that would fail because ODL_NETWORKING_URL is never installed:\n\nscreen-q-svc.log:2015-02-03 14:55:43.171 31366 ERROR stevedore.extension [-] Could not load \u0027opendaylight\u0027: No module named networking_odl.common","commit_id":"d7053ee339f815159713a9801bbaad3060064611"},{"author":{"_account_id":105,"name":"Kyle Mestery","email":"mestery@mestery.com","username":"mestery"},"change_message_id":"7ecf1aa57ae48e8044b57dfab450e57ac516b0e7","unresolved":false,"context_lines":[{"line_number":147,"context_line":"    # Networking-odl repo"},{"line_number":148,"context_line":"    git_clone $ODL_NETWORKING_URL $ODL_NETWORKING_DIR"},{"line_number":149,"context_line":"    cd $ODL_NETWORKING_DIR"},{"line_number":150,"context_line":"    echo \"Installing the Networking-ODL driver for OpenDaylight\""},{"line_number":151,"context_line":"    sudo python setup.py install"},{"line_number":152,"context_line":"    cd $ODL_DIR"},{"line_number":153,"context_line":"    wget -N $ODL_URL/$ODL_PKG"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"da86d52c_9bae3284","line":150,"in_reply_to":"da86d52c_05874162","updated":"2015-02-03 15:54:08.000000000","message":"Flavio, we only run the ML2 driver on the control node(s), not on the compute nodes. In your scenario, it\u0027s likely you\u0027re running ac combination of control and compute nodes, which is why it\u0027s required.","commit_id":"d7053ee339f815159713a9801bbaad3060064611"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"ae4d8a859fb7b461c84a532a8dfa5bdfa8e3a80b","unresolved":false,"context_lines":[{"line_number":147,"context_line":"    # Networking-odl repo"},{"line_number":148,"context_line":"    git_clone $ODL_NETWORKING_URL $ODL_NETWORKING_DIR"},{"line_number":149,"context_line":"    cd $ODL_NETWORKING_DIR"},{"line_number":150,"context_line":"    echo \"Installing the Networking-ODL driver for OpenDaylight\""},{"line_number":151,"context_line":"    sudo python setup.py install"},{"line_number":152,"context_line":"    cd $ODL_DIR"},{"line_number":153,"context_line":"    wget -N $ODL_URL/$ODL_PKG"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"da86d52c_b5385ea1","line":150,"in_reply_to":"da86d52c_7b1edd64","updated":"2015-02-03 17:28:08.000000000","message":"Flavio, this is a valid question on how to solve the dependeny on \"networking-odl\" when opendaylight is installed on a different controller.\n\nMy thought is that you still need to run the \"devstack\" in the second node were you intend to run your Opendaylight controller, but don\u0027t run the services such as the openstack ctlr, neutron or any other services. \n\nI am not sure if I answered your question in here.","commit_id":"d7053ee339f815159713a9801bbaad3060064611"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"422809716b3c8c1b24e78f11106ce176b080037e","unresolved":false,"context_lines":[{"line_number":147,"context_line":"    # Networking-odl repo"},{"line_number":148,"context_line":"    git_clone $ODL_NETWORKING_URL $ODL_NETWORKING_DIR"},{"line_number":149,"context_line":"    cd $ODL_NETWORKING_DIR"},{"line_number":150,"context_line":"    echo \"Installing the Networking-ODL driver for OpenDaylight\""},{"line_number":151,"context_line":"    sudo python setup.py install"},{"line_number":152,"context_line":"    cd $ODL_DIR"},{"line_number":153,"context_line":"    wget -N $ODL_URL/$ODL_PKG"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"da86d52c_7b1edd64","line":150,"in_reply_to":"da86d52c_9bae3284","updated":"2015-02-03 16:02:44.000000000","message":"Yup, you are right. This is only applicable to the control node.\n\nMy issue is that when ODL controller is not running co-located with opesntack control node, how can I make sure ml2 for networking-odl is installed?","commit_id":"d7053ee339f815159713a9801bbaad3060064611"},{"author":{"_account_id":6854,"name":"YAMAMOTO Takashi","email":"yamamoto@midokura.com","username":"yamamoto"},"change_message_id":"f45130b05087a426cbe915905d711150bd7e449f","unresolved":false,"context_lines":[{"line_number":148,"context_line":"    git_clone $ODL_NETWORKING_URL $ODL_NETWORKING_DIR"},{"line_number":149,"context_line":"    cd $ODL_NETWORKING_DIR"},{"line_number":150,"context_line":"    echo \"Installing the Networking-ODL driver for OpenDaylight\""},{"line_number":151,"context_line":"    sudo python setup.py install"},{"line_number":152,"context_line":"    cd $ODL_DIR"},{"line_number":153,"context_line":"    wget -N $ODL_URL/$ODL_PKG"},{"line_number":154,"context_line":"    unzip -u $ODL_PKG"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"da86d52c_85f7ccf4","line":151,"updated":"2015-02-03 01:43:18.000000000","message":"setup_package (or its variant) doesn\u0027t work for networking-odl?","commit_id":"d7053ee339f815159713a9801bbaad3060064611"},{"author":{"_account_id":105,"name":"Kyle Mestery","email":"mestery@mestery.com","username":"mestery"},"change_message_id":"ab968d5f93ef08dc0d6d04bc5b1389007a4559c6","unresolved":false,"context_lines":[{"line_number":148,"context_line":"    git_clone $ODL_NETWORKING_URL $ODL_NETWORKING_DIR"},{"line_number":149,"context_line":"    cd $ODL_NETWORKING_DIR"},{"line_number":150,"context_line":"    echo \"Installing the Networking-ODL driver for OpenDaylight\""},{"line_number":151,"context_line":"    sudo python setup.py install"},{"line_number":152,"context_line":"    cd $ODL_DIR"},{"line_number":153,"context_line":"    wget -N $ODL_URL/$ODL_PKG"},{"line_number":154,"context_line":"    unzip -u $ODL_PKG"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"da86d52c_d0e160d1","line":151,"in_reply_to":"da86d52c_553d62ba","updated":"2015-02-03 17:48:44.000000000","message":"Once we release network_odl and have it on pypi, we can make use of setup_package. But we haven\u0027t released it there yet, so the manual install should be fine.","commit_id":"d7053ee339f815159713a9801bbaad3060064611"},{"author":{"_account_id":7016,"name":"Swaminathan Vasudevan","email":"swvasude@cisco.com","username":"souminathan"},"change_message_id":"ae4d8a859fb7b461c84a532a8dfa5bdfa8e3a80b","unresolved":false,"context_lines":[{"line_number":148,"context_line":"    git_clone $ODL_NETWORKING_URL $ODL_NETWORKING_DIR"},{"line_number":149,"context_line":"    cd $ODL_NETWORKING_DIR"},{"line_number":150,"context_line":"    echo \"Installing the Networking-ODL driver for OpenDaylight\""},{"line_number":151,"context_line":"    sudo python setup.py install"},{"line_number":152,"context_line":"    cd $ODL_DIR"},{"line_number":153,"context_line":"    wget -N $ODL_URL/$ODL_PKG"},{"line_number":154,"context_line":"    unzip -u $ODL_PKG"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"da86d52c_553d62ba","line":151,"in_reply_to":"da86d52c_85f7ccf4","updated":"2015-02-03 17:28:08.000000000","message":"setup_package is intended for installing packages that have dependency on the pip_install. I don\u0027t think here that is a requirement.\nIt also uses the \"globals STACK_USER\" to deploy. Do we need to replace the existing  \"sudo python setup.py install\" with setup_package? I don\u0027t see a valid reason.","commit_id":"d7053ee339f815159713a9801bbaad3060064611"}]}
