diff --git a/tools/xen/functions b/tools/xen/functions index 7146858f7d..7616a5fd4d 100644 --- a/tools/xen/functions +++ b/tools/xen/functions @@ -53,18 +53,18 @@ function find_xapi_plugins_dir { find $1 -path '*/xapi.d/plugins' -type d -print } -function install_xapi_plugins_from_zipball { +function install_xapi_plugins_from { local XAPI_PLUGIN_DIR local EXTRACTED_FILES local EXTRACTED_PLUGINS_DIR + EXTRACTED_FILES="$1" + XAPI_PLUGIN_DIR=$(xapi_plugin_location) - EXTRACTED_FILES=$(extract_remote_zipball $1) EXTRACTED_PLUGINS_DIR=$(find_xapi_plugins_dir $EXTRACTED_FILES) cp -pr $EXTRACTED_PLUGINS_DIR/* $XAPI_PLUGIN_DIR - rm -rf $EXTRACTED_FILES chmod a+x ${XAPI_PLUGIN_DIR}* } diff --git a/tools/xen/install_os_domU.sh b/tools/xen/install_os_domU.sh index 6eb30130cd..2cba33c83e 100755 --- a/tools/xen/install_os_domU.sh +++ b/tools/xen/install_os_domU.sh @@ -63,12 +63,25 @@ fi ## Nova plugins NOVA_ZIPBALL_URL=${NOVA_ZIPBALL_URL:-$(zip_snapshot_location $NOVA_REPO $NOVA_BRANCH)} -install_xapi_plugins_from_zipball $NOVA_ZIPBALL_URL +EXTRACTED_NOVA=$(extract_remote_zipball "$NOVA_ZIPBALL_URL") +install_xapi_plugins_from "$EXTRACTED_NOVA" + +LOGROT_SCRIPT=$(find "$EXTRACTED_NOVA" -name "rotate_xen_guest_logs.sh" -print) +if [ -n "$LOGROT_SCRIPT" ]; then + mkdir -p "/var/log/xen/guest" + cp "$LOGROT_SCRIPT" /root/consolelogrotate + chmod +x /root/consolelogrotate + echo "* * * * * /root/consolelogrotate" | crontab +fi + +rm -rf "$EXTRACTED_NOVA" ## Install the netwrap xapi plugin to support agent control of dom0 networking if [[ "$ENABLED_SERVICES" =~ "q-agt" && "$Q_PLUGIN" = "openvswitch" ]]; then NEUTRON_ZIPBALL_URL=${NEUTRON_ZIPBALL_URL:-$(zip_snapshot_location $NEUTRON_REPO $NEUTRON_BRANCH)} - install_xapi_plugins_from_zipball $NEUTRON_ZIPBALL_URL + EXTRACTED_NEUTRON=$(extract_remote_zipball "$NEUTRON_ZIPBALL_URL") + install_xapi_plugins_from "$EXTRACTED_NEUTRON" + rm -rf "$EXTRACTED_NEUTRON" fi create_directory_for_kernels