)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"4076de5d4d04329e54496a1561b5f4f423ba6cdf","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Hypervisor XenServer will change to use os-xenapi in the future,"},{"line_number":10,"context_line":"this will need DevStack changes, this patch is to remove install"},{"line_number":11,"context_line":"Dom0 plugins part to our own DevStack plugins."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Ic327135b893a77672fd42af919f47f181e932773"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"ba5201f7_8fe778e3","line":12,"updated":"2017-01-03 09:37:43.000000000","message":"This can depends-on the os-xenapi change as I think devstack won\u0027t be using the released version numbers for the plugin?","commit_id":"9f9dbe81cc8b6b5dd49caebf44706377d53a32a0"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"bf37a8721dd6f858776eec64fa291333222ee2b6","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Hypervisor XenServer will change to use os-xenapi in the future,"},{"line_number":10,"context_line":"this will need DevStack changes, this patch is to remove install"},{"line_number":11,"context_line":"Dom0 plugins part to our own DevStack plugins."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Ic327135b893a77672fd42af919f47f181e932773"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"ba5201f7_f129c28a","line":12,"in_reply_to":"ba5201f7_4b4021a6","updated":"2017-01-03 11:43:59.000000000","message":"I will check the depends-on and add it later","commit_id":"9f9dbe81cc8b6b5dd49caebf44706377d53a32a0"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"cdaa8176ce399ce5165d8d2170e289ff1dffa7a7","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Hypervisor XenServer will change to use os-xenapi in the future,"},{"line_number":10,"context_line":"this will need DevStack changes, this patch is to remove install"},{"line_number":11,"context_line":"Dom0 plugins part to our own DevStack plugins."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: Ic327135b893a77672fd42af919f47f181e932773"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":8,"id":"ba5201f7_4b4021a6","line":12,"in_reply_to":"ba5201f7_8fe778e3","updated":"2017-01-03 11:10:47.000000000","message":"Depending on os-xenapi won\u0027t take effect directly here, because we must specify local.conf, which cannot be done in os-xenapi, but should be done in xenapi-os-testing or in our jenkins\n\n[[local|localrc]]\nenable_plugin os-xenapi https://github.com/openstack/os-xenapi.git [GITREF]","commit_id":"9f9dbe81cc8b6b5dd49caebf44706377d53a32a0"}],"lib/nova_plugins/hypervisor-xenserver":[{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"8a464c84d233bfb7376b865681b569e08937d874","unresolved":false,"context_lines":[{"line_number":64,"context_line":"    local ssh_dom0"},{"line_number":65,"context_line":"    ssh_dom0\u003d\"sudo -u $DOMZERO_USER ssh -o StrictHostKeyChecking\u003dno -o UserKnownHostsFile\u003d/dev/null root@$dom0_ip\""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    # Find where the plugins should go in dom0"},{"line_number":68,"context_line":"    xen_functions\u003d`cat $TOP_DIR/tools/xen/functions`"},{"line_number":69,"context_line":"    PLUGIN_DIR\u003d`$ssh_dom0 \"$xen_functions; set -eux; xapi_plugin_location\"`"},{"line_number":70,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"7a77a97e_d179c783","side":"PARENT","line":67,"updated":"2016-11-17 17:08:34.000000000","message":"Removing this code would break existing users of devstack.\n\nWe need to detect if we are trying to use XenServer as the hypervisor and either automatically enable the os-xenapi plugin or die in devstack if the os-xenapi plugin is not enabled.","commit_id":"7976f31fb956dcb1cbeea92906f5609f0b43acc4"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"17fba1f5dd9575b64048145b444569684e8ae714","unresolved":false,"context_lines":[{"line_number":64,"context_line":"    local ssh_dom0"},{"line_number":65,"context_line":"    ssh_dom0\u003d\"sudo -u $DOMZERO_USER ssh -o StrictHostKeyChecking\u003dno -o UserKnownHostsFile\u003d/dev/null root@$dom0_ip\""},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"    # Find where the plugins should go in dom0"},{"line_number":68,"context_line":"    xen_functions\u003d`cat $TOP_DIR/tools/xen/functions`"},{"line_number":69,"context_line":"    PLUGIN_DIR\u003d`$ssh_dom0 \"$xen_functions; set -eux; xapi_plugin_location\"`"},{"line_number":70,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"7a77a97e_f59bfd15","side":"PARENT","line":67,"in_reply_to":"7a77a97e_d179c783","updated":"2016-11-18 01:41:18.000000000","message":"I see, we can die and pop some messages telling what\u0027s wrong.\nBut once we changed to use os-xenapi in nova, we will remove  \"$NOVA_DIR/plugins/xenserver/\" (see Line72), then keeping the code here won\u0027t do the real thing and will fail. Unless people use devstack to install the stable version (kilo, liberty, mitaka) of nova?","commit_id":"7976f31fb956dcb1cbeea92906f5609f0b43acc4"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"17fba1f5dd9575b64048145b444569684e8ae714","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":"# install_nova_hypervisor() - Install external components"},{"line_number":96,"context_line":"function install_nova_hypervisor {"},{"line_number":97,"context_line":"    pip_install_gr xenapi"},{"line_number":98,"context_line":"}"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"# start_nova_hypervisor - Start any required external services"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"7a77a97e_b5018508","side":"PARENT","line":97,"range":{"start_line":97,"start_character":4,"end_line":97,"end_character":25},"updated":"2016-11-18 01:41:18.000000000","message":"This is to install XenAPI.py which is not set in requirment.txt","commit_id":"7976f31fb956dcb1cbeea92906f5609f0b43acc4"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"8a464c84d233bfb7376b865681b569e08937d874","unresolved":false,"context_lines":[{"line_number":88,"context_line":"function install_nova_hypervisor {"},{"line_number":89,"context_line":"    # TODO(huanxie): uncomment below code when os-xenapi real code merged into pypi"},{"line_number":90,"context_line":"    #                or we install the upstream os-xenapi by our devstack-plugins?"},{"line_number":91,"context_line":"    # pip_install_gr os-xenapi"},{"line_number":92,"context_line":"}"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"# start_nova_hypervisor - Start any required external services"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"7a77a97e_919cafc1","line":91,"updated":"2016-11-17 17:08:34.000000000","message":"I don\u0027t think this is right; os-xenapi would need to be in requirements.txt so is installed through devstack normally.","commit_id":"de9ed4dc269ea439470d3f7434c2e8006fa41caa"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"17fba1f5dd9575b64048145b444569684e8ae714","unresolved":false,"context_lines":[{"line_number":88,"context_line":"function install_nova_hypervisor {"},{"line_number":89,"context_line":"    # TODO(huanxie): uncomment below code when os-xenapi real code merged into pypi"},{"line_number":90,"context_line":"    #                or we install the upstream os-xenapi by our devstack-plugins?"},{"line_number":91,"context_line":"    # pip_install_gr os-xenapi"},{"line_number":92,"context_line":"}"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"# start_nova_hypervisor - Start any required external services"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"7a77a97e_750b6d2a","line":91,"in_reply_to":"7a77a97e_919cafc1","updated":"2016-11-18 01:41:18.000000000","message":"yes, we needn\u0027t to install it as it\u0027s set in requirement.txt\nI double checked that the current one(in left, Line 97, pip_install_gr xenapi) is to install XenAPI.py, which is not set in https://github.com/openstack/nova/blob/master/requirements.txt\n\nI will correct this part, make this function an empty implementation as we needn\u0027t to install anything here","commit_id":"de9ed4dc269ea439470d3f7434c2e8006fa41caa"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"8318176b342379ccba97a776d111e5dffdd5ae1c","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        fi"},{"line_number":64,"context_line":"    done"},{"line_number":65,"context_line":"    if [[ $found -ne 1 ]]; then"},{"line_number":66,"context_line":"        die $LINENO \"os-xenapi plugin is not specified, please enable_plugin os-xenapi in local.conf\""},{"line_number":67,"context_line":"    fi"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    read_password XENAPI_PASSWORD \"ENTER A PASSWORD TO USE FOR XEN.\""}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"7a77a97e_8e1b9672","line":66,"updated":"2016-11-18 02:57:00.000000000","message":"Tested it will die, see\n\n+lib/nova_plugins/hypervisor-xenserver:configure_nova_hypervisor:55  die 55 \u0027os-xenapi plugin is not specified, please enable_plugin os-xenapi in local.conf\u0027\n+functions-common:die:186                  local exitcode\u003d0\n+functions-common:die:187                  set +o xtrace","commit_id":"e1c90cf548b34d4a028c1f963148c485d51b5e41"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"4076de5d4d04329e54496a1561b5f4f423ba6cdf","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    fi"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    # Check os-xenapi plugin is enabled"},{"line_number":53,"context_line":"    local plugins\u003d\"${DEVSTACK_PLUGINS}\""},{"line_number":54,"context_line":"    if [[ -z $plugins ]]; then"},{"line_number":55,"context_line":"        die $LINENO \"os-xenapi plugin is not specified, please enable_plugin os-xenapi in local.conf\""},{"line_number":56,"context_line":"    fi"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"ba5201f7_efce4459","line":53,"updated":"2017-01-03 09:37:43.000000000","message":"Presumably this does require the os-xenapi change to be merged first (hence a depends-on is needed)","commit_id":"9f9dbe81cc8b6b5dd49caebf44706377d53a32a0"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"cdaa8176ce399ce5165d8d2170e289ff1dffa7a7","unresolved":false,"context_lines":[{"line_number":50,"context_line":"    fi"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    # Check os-xenapi plugin is enabled"},{"line_number":53,"context_line":"    local plugins\u003d\"${DEVSTACK_PLUGINS}\""},{"line_number":54,"context_line":"    if [[ -z $plugins ]]; then"},{"line_number":55,"context_line":"        die $LINENO \"os-xenapi plugin is not specified, please enable_plugin os-xenapi in local.conf\""},{"line_number":56,"context_line":"    fi"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"ba5201f7_6b47a51d","line":53,"in_reply_to":"ba5201f7_efce4459","updated":"2017-01-03 11:10:47.000000000","message":"Yes, we need os-xenapi get merged first","commit_id":"9f9dbe81cc8b6b5dd49caebf44706377d53a32a0"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"4076de5d4d04329e54496a1561b5f4f423ba6cdf","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    # Check os-xenapi plugin is enabled"},{"line_number":53,"context_line":"    local plugins\u003d\"${DEVSTACK_PLUGINS}\""},{"line_number":54,"context_line":"    if [[ -z $plugins ]]; then"},{"line_number":55,"context_line":"        die $LINENO \"os-xenapi plugin is not specified, please enable_plugin os-xenapi in local.conf\""},{"line_number":56,"context_line":"    fi"},{"line_number":57,"context_line":"    local plugin"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"ba5201f7_2fd92c22","line":54,"updated":"2017-01-03 09:37:43.000000000","message":"Is this needed?\nDoesn\u0027t this get checked by the next loop (i.e. found is never set to 1?)","commit_id":"9f9dbe81cc8b6b5dd49caebf44706377d53a32a0"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"cdaa8176ce399ce5165d8d2170e289ff1dffa7a7","unresolved":false,"context_lines":[{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    # Check os-xenapi plugin is enabled"},{"line_number":53,"context_line":"    local plugins\u003d\"${DEVSTACK_PLUGINS}\""},{"line_number":54,"context_line":"    if [[ -z $plugins ]]; then"},{"line_number":55,"context_line":"        die $LINENO \"os-xenapi plugin is not specified, please enable_plugin os-xenapi in local.conf\""},{"line_number":56,"context_line":"    fi"},{"line_number":57,"context_line":"    local plugin"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"ba5201f7_eb3ab597","line":54,"in_reply_to":"ba5201f7_2fd92c22","updated":"2017-01-03 11:10:47.000000000","message":"Yes, it\u0027s not the must part, will remove this to make the code neat","commit_id":"9f9dbe81cc8b6b5dd49caebf44706377d53a32a0"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"4076de5d4d04329e54496a1561b5f4f423ba6cdf","unresolved":false,"context_lines":[{"line_number":117,"context_line":""},{"line_number":118,"context_line":"# install_nova_hypervisor() - Install external components"},{"line_number":119,"context_line":"function install_nova_hypervisor {"},{"line_number":120,"context_line":"    # This function intentionally left blank"},{"line_number":121,"context_line":"    :"},{"line_number":122,"context_line":"}"},{"line_number":123,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"ba5201f7_0ff3889f","line":120,"updated":"2017-01-03 09:37:43.000000000","message":"Might be worth commenting in the commit message that xenapi functionality is now included in os-xenapi library which houses the plugin.","commit_id":"9f9dbe81cc8b6b5dd49caebf44706377d53a32a0"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"cdaa8176ce399ce5165d8d2170e289ff1dffa7a7","unresolved":false,"context_lines":[{"line_number":117,"context_line":""},{"line_number":118,"context_line":"# install_nova_hypervisor() - Install external components"},{"line_number":119,"context_line":"function install_nova_hypervisor {"},{"line_number":120,"context_line":"    # This function intentionally left blank"},{"line_number":121,"context_line":"    :"},{"line_number":122,"context_line":"}"},{"line_number":123,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"ba5201f7_cb5ed1e8","line":120,"in_reply_to":"ba5201f7_0ff3889f","updated":"2017-01-03 11:10:47.000000000","message":"Sure will add comments","commit_id":"9f9dbe81cc8b6b5dd49caebf44706377d53a32a0"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"d8a54dfa1803a222cd28a18a3c2be32004d607ba","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        fi"},{"line_number":61,"context_line":"    done"},{"line_number":62,"context_line":"    if [[ $found -ne 1 ]]; then"},{"line_number":63,"context_line":"        die $LINENO \"os-xenapi plugin is not specified, please enable_plugin os-xenapi in local.conf\""},{"line_number":64,"context_line":"    fi"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    read_password XENAPI_PASSWORD \"ENTER A PASSWORD TO USE FOR XEN.\""}],"source_content_type":"application/x-shellscript","patch_set":9,"id":"ba5201f7_45ce7eb5","line":63,"updated":"2017-01-09 15:45:32.000000000","message":"Do you want include a link to where you get the plugin. Just doing \"enable_plugin os-xenapi\" isn\u0027t enough is it, don\u0027t you also need the git url? Or am I missing something?","commit_id":"65203e9d714abde640257842c8a7e5a858ecd638"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"2f9e89d67dddb359139391777b93072bc10de56b","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        fi"},{"line_number":61,"context_line":"    done"},{"line_number":62,"context_line":"    if [[ $found -ne 1 ]]; then"},{"line_number":63,"context_line":"        die $LINENO \"os-xenapi plugin is not specified, please enable_plugin os-xenapi in local.conf\""},{"line_number":64,"context_line":"    fi"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"    read_password XENAPI_PASSWORD \"ENTER A PASSWORD TO USE FOR XEN.\""}],"source_content_type":"application/x-shellscript","patch_set":9,"id":"ba5201f7_85506660","line":63,"in_reply_to":"ba5201f7_45ce7eb5","updated":"2017-01-09 15:54:37.000000000","message":"I suggest we actually provide a little *less* help here, so that users need to understand which gitref to use rather than just copy+pasting.\nLet\u0027s have the message as:\n\"os-xenapi plugin is not specified.  Please enable this plugin in your local.conf\"","commit_id":"65203e9d714abde640257842c8a7e5a858ecd638"},{"author":{"_account_id":20382,"name":"YuYang","email":"yuyangwang1985@gmail.com","username":"YuYangWang"},"change_message_id":"f3895b6a15891ea71a8b4e91d3acb32f0ef644db","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    local plugin"},{"line_number":55,"context_line":"    local found\u003d0"},{"line_number":56,"context_line":"    for plugin in ${plugins//,/ }; do"},{"line_number":57,"context_line":"        if [[ \"$plugin\" \u003d \"os-xenapi\" ]]; then"},{"line_number":58,"context_line":"            found\u003d1"},{"line_number":59,"context_line":"            break"},{"line_number":60,"context_line":"        fi"}],"source_content_type":"application/x-shellscript","patch_set":10,"id":"ba5201f7_225f9376","line":57,"range":{"start_line":57,"start_character":27,"end_line":57,"end_character":36},"updated":"2017-01-10 06:23:31.000000000","message":"this uppercase is ok?like OS-XENAPI?my local.conf use uppercase!thanks!","commit_id":"c60818421152e5711fc93cab79122379c4e243aa"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"4f98d65eb12cfbca0fc02224de1637ad31d82850","unresolved":false,"context_lines":[{"line_number":54,"context_line":"    local plugin"},{"line_number":55,"context_line":"    local found\u003d0"},{"line_number":56,"context_line":"    for plugin in ${plugins//,/ }; do"},{"line_number":57,"context_line":"        if [[ \"$plugin\" \u003d \"os-xenapi\" ]]; then"},{"line_number":58,"context_line":"            found\u003d1"},{"line_number":59,"context_line":"            break"},{"line_number":60,"context_line":"        fi"}],"source_content_type":"application/x-shellscript","patch_set":10,"id":"ba5201f7_1d8e7027","line":57,"range":{"start_line":57,"start_character":27,"end_line":57,"end_character":36},"in_reply_to":"ba5201f7_225f9376","updated":"2017-01-10 06:54:07.000000000","message":"uppercase is ok see https://github.com/openstack-dev/devstack/blob/master/functions-common#L1770, but it\u0027s recommended we use the repo\u0027s name as we will also using this plugin in our xenserver CI, see https://github.com/openstack-dev/devstack/blob/master/doc/source/plugins.rst searching for \"Using Plugins in the OpenStack Gate\"\n\nThanks","commit_id":"c60818421152e5711fc93cab79122379c4e243aa"}],"tools/xen/xenrc":[{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"4076de5d4d04329e54496a1561b5f4f423ba6cdf","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"## Note that the lines below are coming from stackrc to support"},{"line_number":103,"context_line":"## new-style config files"},{"line_number":104,"context_line":"source $RC_DIR/functions-common"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"# allow local overrides of env variables, including repo config"},{"line_number":107,"context_line":"if [[ -f $RC_DIR/localrc ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"ba5201f7_8f35b847","line":104,"updated":"2017-01-03 09:37:43.000000000","message":"Seems strange to add this in this change; why is it needed?","commit_id":"9f9dbe81cc8b6b5dd49caebf44706377d53a32a0"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"cdaa8176ce399ce5165d8d2170e289ff1dffa7a7","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"## Note that the lines below are coming from stackrc to support"},{"line_number":103,"context_line":"## new-style config files"},{"line_number":104,"context_line":"source $RC_DIR/functions-common"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"# allow local overrides of env variables, including repo config"},{"line_number":107,"context_line":"if [[ -f $RC_DIR/localrc ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"ba5201f7_6b9fa550","line":104,"in_reply_to":"ba5201f7_8f35b847","updated":"2017-01-03 11:10:47.000000000","message":"Once we support our devstack-plugins, in nornal deployment, we need the below configurations:\n\nlocal.conf\n     [[local|localrc]]\n     enable_plugin os-xenapi https://github.com/openstack/os-xenapi.git [GITREF]\n\nWhen we install from Dom0, it will source this file xenrc, then the next several lines will use new style of local.conf, if we don\u0027t source devstack/functions-common, it cannot recognize enable_plugin, so we should source it, the key part is https://github.com/openstack-dev/devstack/blob/master/functions-common#L1770","commit_id":"9f9dbe81cc8b6b5dd49caebf44706377d53a32a0"},{"author":{"_account_id":17922,"name":"Huan Xie","email":"huan.xie@citrix.com","username":"huan"},"change_message_id":"9a0451a05709fd0372b011484a34bd83bd60932a","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"## Note that the lines below are coming from stackrc to support"},{"line_number":103,"context_line":"## new-style config files"},{"line_number":104,"context_line":"source $RC_DIR/functions-common"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"# allow local overrides of env variables, including repo config"},{"line_number":107,"context_line":"if [[ -f $RC_DIR/localrc ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":9,"id":"ba5201f7_21f00ac9","line":104,"updated":"2017-01-05 06:37:20.000000000","message":"Adding the sourc here is to take use of function enable_plugin() in function-common file see https://github.com/openstack-dev/devstack/blob/master/functions-common#L1770\nThis is because we will support settings of enable_plugin in localrc/local.conf\n\nlocal.conf\n     [[local|localrc]]\n     enable_plugin os-xenapi https://github.com/openstack/os-xenapi.git [GITREF]\n\notherwise, it will meet error when installing DomU, see \n++ [[ -f ../../localrc ]]\n++ [[ -f ../../.localrc.auto ]]\n++ source ../../.localrc.auto\n+++ enable_plugin os-xenapi https://github.com/openstack/os-xenapi.git refs/changes/82/398182/22\n../../.localrc.auto: line 3: enable_plugin: command not found","commit_id":"65203e9d714abde640257842c8a7e5a858ecd638"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"e595ae70a721da74a427333a48695bda328a040e","unresolved":false,"context_lines":[{"line_number":101,"context_line":""},{"line_number":102,"context_line":"## Note that the lines below are coming from stackrc to support"},{"line_number":103,"context_line":"## new-style config files"},{"line_number":104,"context_line":"source $RC_DIR/functions-common"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":"# allow local overrides of env variables, including repo config"},{"line_number":107,"context_line":"if [[ -f $RC_DIR/localrc ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":9,"id":"ba5201f7_30c9bd5b","line":104,"in_reply_to":"ba5201f7_21f00ac9","updated":"2017-01-09 13:47:54.000000000","message":"OK - so this is for when we source xenrc directly, it in turn sources localrc which includes enable_plugin; so we have to source the functions-common here.\nGot it.","commit_id":"65203e9d714abde640257842c8a7e5a858ecd638"}]}
