From 53b8b964947f311ef9603bffe243e418cfdd1e9a Mon Sep 17 00:00:00 2001 From: Witold Bedyk Date: Thu, 22 Nov 2018 15:01:41 +0100 Subject: [PATCH] Migrate DevStack plugin to Ubuntu Bionic We want to migrate to the latest Ubuntu LTS release 18.04 aka Bionic. See [0] for the big picture. This change installs Node.js from Ubuntu packages. [0] https://etherpad.openstack.org/p/devstack-bionic Story: 2004474 Task: 28175 Change-Id: I38c6c239597f58fb871171f7e25ac99edf8bf91b Depends-On: https://review.openstack.org/618169 Depends-On: https://review.openstack.org/619572 --- .zuul.yaml | 2 ++ devstack/Vagrantfile | 4 ++-- devstack/plugin.sh | 38 ++++++++++---------------------------- 3 files changed, 14 insertions(+), 30 deletions(-) diff --git a/.zuul.yaml b/.zuul.yaml index f8cb2216..8d77f018 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -1,6 +1,8 @@ - job: name: monascalog-tempest-base parent: devstack-tempest + description: | + Job for running tempest tests on monasca-log-api devstack plugin. timeout: 7800 required-projects: - openstack-infra/devstack-gate diff --git a/devstack/Vagrantfile b/devstack/Vagrantfile index 59895bee..16220484 100644 --- a/devstack/Vagrantfile +++ b/devstack/Vagrantfile @@ -15,7 +15,7 @@ Vagrant.configure(2) do |config| config.ssh.forward_agent = true config.vm.hostname = "devstack" - config.vm.box = "bento/ubuntu-16.04" + config.vm.box = "bento/ubuntu-18.04" config.vm.network "private_network",ip:"192.168.10.6" config.vm.synced_folder "~/", "/vagrant_home" config.vm.provider "virtualbox" do |vb| @@ -113,7 +113,7 @@ MONASCA_METRICS_DB=${MONASCA_METRICS_DB:-influxdb} # MONASCA_LOG_API_USE_MOD_WSGI=True # Uncomment one of the following lines and modify accordingly to enable the Monasca DevStack Plugin -enable_plugin monasca-api https://git.openstack.org/openstack/monasca-api +enable_plugin monasca-api https://git.openstack.org/openstack/monasca-api.git enable_plugin monasca-log-api https://git.openstack.org/openstack/monasca-log-api.git ' > local.conf diff --git a/devstack/plugin.sh b/devstack/plugin.sh index 40c7efe4..22ac31a0 100644 --- a/devstack/plugin.sh +++ b/devstack/plugin.sh @@ -33,7 +33,7 @@ source ${MONASCA_LOG_API_DIR}/devstack/lib/config.sh ############################################################################### function pre_install { install_elk - install_node_nvm + install_nodejs install_gate_config_holder } @@ -120,7 +120,7 @@ function clean_monasca_log { clean_kibana clean_elasticsearch clean_logstash - clean_node_nvm + clean_nodejs clean_gate_config_holder } ############################################################################### @@ -660,38 +660,22 @@ function start_monasca_log_agent { fi } -function install_node_nvm { - set -i - if [[ ! -f "${HOME}/.nvm/nvm.sh" ]] && is_service_enabled kibana; then - # note(trebskit) we need node to build kibana plugin - # so if kibana is enabled in this environment, let's install node - echo_summary "Install Node ${NODE_JS_VERSION} with NVM ${NVM_VERSION}" - local nvmUrl=https://raw.githubusercontent.com/creationix/nvm/v${NVM_VERSION}/install.sh - - local nvmDest - nvmDest=`get_extra_file ${nvmUrl}` - - bash ${nvmDest} - fi +function install_nodejs { if is_service_enabled kibana; then # refresh installation + apt_get install nodejs npm ( - source "${HOME}"/.nvm/nvm.sh >> /dev/null; \ - nvm install ${NODE_JS_VERSION}; \ - nvm use ${NODE_JS_VERSION}; \ npm config set registry "http://registry.npmjs.org/"; \ npm config set proxy "${HTTP_PROXY}"; \ npm set strict-ssl false; ) fi - set +i } -function clean_node_nvm { - if [[ -f "${HOME}/.nvm/nvm.sh" ]] && is_service_enabled kibana; then - echo_summary "Cleaning Node ${NODE_JS_VERSION} with NVM ${NVM_VERSION}" - sudo rm ${FILES}/nvm_install.sh - sudo rm -rf "${HOME}/.nvm/nvm.sh" +function clean_nodejs { + if is_service_enabled kibana; then + echo_summary "Cleaning Node.js" + apt_get purge nodejs npm fi } @@ -712,10 +696,8 @@ function build_kibana_plugin { monasca_kibana_plugin_version="$(python -c 'import json; \ obj = json.load(open("package.json")); print obj["version"]')" - set -i - (source "${HOME}"/.nvm/nvm.sh >> /dev/null; nvm use ${NODE_JS_VERSION}; npm install) - (source "${HOME}"/.nvm/nvm.sh >> /dev/null; nvm use ${NODE_JS_VERSION}; npm run package) - set +i + npm install + npm run package local pkg=$MONASCA_KIBANA_PLUGIN_DIR/target/monasca-kibana-plugin-${monasca_kibana_plugin_version}.tar.gz local easyPkg=$DEST/monasca-kibana-plugin.tar.gz