Deprecated - How to upgrade an iQCloud Appliance

The following article provides step by step instructions on how to upgrade an iQCloud Appliance.

Instructions

  1. Connect to the appliance via SSH with the appropriate  username and password

    USER@MYCOMPUTER:~$ ssh USER@HOSTNAME
    USER@HOSTNAME's password:
    Welcome to Ubuntu 16.04.5 LTS (GNU/Linux 4.4.0-103-generic x86_64)
    
     * Documentation:  https://help.ubuntu.com
     * Management:     https://landscape.canonical.com
     * Support:        https://ubuntu.com/advantage
    Last login: Mon Feb  4 17:20:56 2019 from 192.168.0.61
  2. Stop the associated services and processes

    USER@APPLIANCE:~$ sudo service monit stop
    USER@APPLIANCE:~$ sudo /opt/communication/stop-communication-layer.sh
    Stopping communication_websocket-client_1   ... done
    Stopping communication_rabbitmq-appliance_1 ... done
    Removing communication_websocket-client_1   ... done
    Removing communication_rabbitmq-appliance_1 ... done
    Removing network communication_default
    USER@APPLIANCE:~$ sudo systemctl stop iqas.service
  3. Backup the configuration of the service and keychains that are stored on the Appliance

    USER@APPLIANCE:~$ cd /opt/iqas/
    USER@APPLIANCE:/opt/iqas$ rm -rf server-4.5.old
    USER@APPLIANCE:/opt/iqas$ mv server-4.5 server-4.5.old
  4. Download the version 1027 update for the appliance

    USER@APPLIANCE:/opt/iqas$ wget https://iquate-apscout.s3.eu-west-2.amazonaws.com/Fishbowl/releases/main/server-4.5-appliance-1027.zip
    --2019-02-05 11:47:54--  https://iquate-apscout.s3.eu-west-2.amazonaws.com/Fishbowl/releases/main/server-4.5-appliance-1027.zip
    Resolving s3.eu-west-2.amazonaws.com (s3.eu-west-2.amazonaws.com)... 52.95.149.4
    Connecting to s3.eu-west-2.amazonaws.com (s3.eu-west-2.amazonaws.com)|52.95.149.4|:443... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: 123162005 (117M) [application/zip]
    Saving to: ‘server-4.5-appliance-1027.zip’
    
    server-4.5-appliance-1027.zip  100%[=================================================>] 117.46M  7.99MB/s    in 14s
    
    2019-02-05 11:48:17 (8.68 MB/s) - ‘server-4.5-appliance-1027.zip’ saved [123162005/123162005]

    The targets and file versions will change as further releases are made available.

  5. Unzip the archive

    USER@APPLIANCE:/opt/iqas$ unzip server-4.5-appliance-1027.zip
    Archive:  server-4.5-appliance-1027.zip
      inflating: server-4.5/build.properties
      inflating: server-4.5/bundle/admin-console-4.5.jar
      inflating: server-4.5/bundle/appliance-service-catalog-4.5.jar
      inflating: server-4.5/bundle/appliance-service-discovery-4.5.jar
      inflating: server-4.5/bundle/appliance-service-dnscache-4.5.jar
      inflating: server-4.5/bundle/appliance-service-management-4.5.jar
      inflating: server-4.5/bundle/appliance-service-registration-4.5.jar
      inflating: server-4.5/bundle/common-4.5.jar
      inflating: server-4.5/bundle/config-service-4.5.jar
      inflating: server-4.5/bundle/configuration-manager-4.5.jar
      inflating: server-4.5/bundle/license-service-4.5.jar
      inflating: server-4.5/bundle/log-service-4.5.jar
      inflating: server-4.5/bundle/message-client-rabbitmq-4.5.jar
      inflating: server-4.5/bundle/message-service-jms-4.5.jar
      inflating: server-4.5/bundle/message-service-rabbitmq-4.5.jar
      inflating: server-4.5/bundle/process-manager-4.5.jar
      inflating: server-4.5/bundle/security-service-4.5.jar
      inflating: server-4.5/bundle/serialization-service-json-4.5.jar
      inflating: server-4.5/plugins/plugin-4.5-generic-finalization-ext.zip
      inflating: server-4.5/plugins/plugin-4.5-generic-initialization-ext.zip
      inflating: server-4.5/plugins/plugin-4.5-generic-probe-ext.zip
      inflating: server-4.5/plugins/plugin-4.5-generic-signature-drools.zip
      inflating: server-4.5/plugins/plugin-4.5-jdbc-oracle-feature.zip
      inflating: server-4.5/plugins/plugin-4.5-scan-amazon.zip
      inflating: server-4.5/plugins/plugin-4.5-scan-generic-system.zip
      inflating: server-4.5/plugins/plugin-4.5-signature-apache-tomcat-application-server-signature.zip
      inflating: server-4.5/plugins/plugin-4.5-signature-ibm-websphere-application-server-signature.zip
      inflating: server-4.5/plugins/plugin-4.5-signature-microsoft-iis-web-server-signature.zip
      inflating: server-4.5/plugins/plugin-4.5-signature-microsoft-sql-server-signature.zip
      inflating: server-4.5/plugins/plugin-4.5-signature-open-source-nginx-webserver-signature.zip
      inflating: server-4.5/plugins/plugin-4.5-signature-oracle-application-server-signature.zip
      inflating: server-4.5/plugins/plugin-4.5-signature-oracle-database-server-signature.zip
      inflating: server-4.5/plugins/plugin-4.5-signature-oracle-iPlanet-web-server-signature.zip
      inflating: server-4.5/plugins/plugin-4.5-signature-oracle-mysql-database-server-signature.zip
      inflating: server-4.5/plugins/plugin-4.5-signature-oracle-weblogic-server-signature.zip
      inflating: server-4.5/plugins/plugin-4.5-signature-vmware-virtualcenter-server-signature.zip
      inflating: server-4.5/plugins/plugin-4.5-unix-feature.zip
      inflating: server-4.5/plugins/plugin-4.5-unix-generic-communications-systemext.zip
      inflating: server-4.5/plugins/plugin-4.5-unix-generic-system.zip
      inflating: server-4.5/plugins/plugin-4.5-vmware-system.zip
      inflating: server-4.5/plugins/plugin-4.5-vmware-webservice-feature.zip
      inflating: server-4.5/plugins/plugin-4.5-windows-communications-systemext.zip
      inflating: server-4.5/plugins/plugin-4.5-windows-feature.zip
      inflating: server-4.5/plugins/plugin-4.5-windows-system.zip
      inflating: server-4.5/plugins/plugin-4.5-xml-extensions-signature.zip
      inflating: server-4.5/plugins/plugins.properties
      inflating: server-4.5/conf/.gitignore
      inflating: server-4.5/conf/json/output.msg
      inflating: server-4.5/conf/json/schema_core.json
      inflating: server-4.5/conf/json/schema_element.json
      inflating: server-4.5/conf/json/schema_jobexecution.json
      inflating: server-4.5/conf/json/schema_result.json
      inflating: server-4.5/conf/json/schema_scan.jsonx
      inflating: server-4.5/conf/json/schema_scaninfo.json
      inflating: server-4.5/conf/json/test-scan.msg
      inflating: server-4.5/conf/legacy/schema.xsd
      inflating: server-4.5/conf/README.md
      inflating: server-4.5/conf/schema/SCHEMA_catalog.xml
      inflating: server-4.5/conf/schema/SCHEMA_common.xml
      inflating: server-4.5/conf/schema/SCHEMA_config.xml
      inflating: server-4.5/conf/schema/SCHEMA_core.xml
      inflating: server-4.5/conf/schema/SCHEMA_logs.xml
      inflating: server-4.5/conf/schema/SCHEMA_metrics.xml
      inflating: server-4.5/conf/schema/SCHEMA_mngt.xml
      inflating: server-4.5/conf/schema.xsd
      inflating: server-4.5/conf/Appliance/config.properties
      inflating: server-4.5/conf/config.properties
      inflating: server-4.5/conf/DataSourceService/config.properties
      inflating: server-4.5/conf/DiscoveryAppliance/config.properties
      inflating: server-4.5/conf/DiscoveryAppliance/SkipFilter.xml
      inflating: server-4.5/conf/Keystore/appliance.properties
      inflating: server-4.5/conf/log4j.properties
      inflating: server-4.5/conf/log4j.xml
      inflating: server-4.5/conf/MessagingService/config.properties
      inflating: server-4.5/conf/pax-logging.properties
      inflating: server-4.5/conf/rules.ignore
      inflating: server-4.5/conf/Security/config.properties
      inflating: server-4.5/org.apache.felix.main-5.6.10.jar
      inflating: server-4.5/bundle/org.apache.felix.gogo.runtime-1.0.10.jar
      inflating: server-4.5/bundle/org.apache.felix.gogo.command-1.0.2.jar
      inflating: server-4.5/bundle/org.osgi.compendium-4.3.1.jar
      inflating: server-4.5/bundle/jline-3.5.1.jar
      inflating: server-4.5/bundle/jansi-1.16.jar
      inflating: server-4.5/bundle/org.apache.felix.gogo.jline-1.0.10.jar
      inflating: server-4.5/bundle/org.apache.felix.bundlerepository-2.0.10.jar
      inflating: server-4.5/bundle/org.apache.felix.http.api-2.2.0.jar
      inflating: server-4.5/bundle/org.apache.felix.http.jetty-2.2.0.jar
      inflating: server-4.5/bundle/org.apache.felix.http.base-2.2.0.jar
      inflating: server-4.5/bundle/org.apache.felix.http.whiteboard-2.2.0.jar
      inflating: server-4.5/bundle/jersey-common-2.26.jar
      inflating: server-4.5/bundle/javax.ws.rs-api-2.1.jar
      inflating: server-4.5/bundle/javax.annotation-api-1.2.jar
      inflating: server-4.5/bundle/javax.inject-1.6.36.jar
      inflating: server-4.5/bundle/osgi-resource-locator-1.0.1.jar
      inflating: server-4.5/bundle/jersey-hk2-2.26.jar
      inflating: server-4.5/bundle/hk2-locator-2.5.0-b42.jar
      inflating: server-4.5/bundle/aopalliance-repackaged-2.5.0-b42.jar
      inflating: server-4.5/bundle/hk2-api-2.5.0-b42.jar
      inflating: server-4.5/bundle/hk2-utils-2.5.0-b42.jar
      inflating: server-4.5/bundle/javassist-3.22.0-CR2.jar
      inflating: server-4.5/bundle/validation-api-1.1.0.Final.jar
      inflating: server-4.5/bundle/commons-csv-1.5.jar
      inflating: server-4.5/bundle/pax-logging-log4j2-1.10.1.jar
      inflating: server-4.5/bundle/pax-logging-api-1.10.1.jar
      inflating: server-4.5/bundle/javax.servlet-api-3.1.0.jar
      inflating: server-4.5/bundle/jersey-client-2.26.jar
      inflating: server-4.5/bundle/json-20171018.jar
      inflating: server-4.5/bundle/bcprov-jdk15on-1.60.jar
      inflating: server-4.5/felix.sh
    USER@APPLIANCE:/opt/iqas$ 
  6. Copy the configuration from the backup to the newly extracted discovery service folder.

    USER@APPLIANCE:/opt/iqas$ mkdir -p server-4.5/db/ server-4.5/conf/Appliance/
    USER@APPLIANCE:/opt/iqas$ cp -fT server-4.5.old/conf/Appliance/config.properties server-4.5/conf/Appliance/config.properties
    USER@APPLIANCE:/opt/iqas$ cp -fT server-4.5.old/db/keychain.mv.db server-4.5/db/keychain.mv.db
    USER@APPLIANCE:/opt/iqas$ cp -fT server-4.5.old/db/account.mv.db server-4.5/db/account.mv.db
  7. Restart the Discovery Service

    USER@APPLIANCE:~$ sudo service iqas restart
    USER@APPLIANCE:~$ sudo /opt/communication/start-communication-layer.sh
    Removing network communication_default
    WARNING: Network communication_default not found.
    Creating network "communication_default" with the default driver
    Creating communication_rabbitmq-appliance_1 ...
    Creating communication_rabbitmq-appliance_1 ... done
    Using the exported TENANT_ID: iquateohio
    Using the exported APPLIANCE_ID: vmdskohio
    Using the exported CLOUD_WS_HOST: api.iqcloud.iquate.org
    Using the exported CLOUD_WS_PORT: 443
    Using the exported PROXY_ENABLED: false
    Using the exported PROXY_HOSTNAME:
    Using the exported PROXY_PORT:
    Using the exported PROXY_USERNAME:
    Using the exported PROXY_PASSWORD:
    communication_rabbitmq-appliance_1 is up-to-date
    Creating communication_websocket-client_1 ...
    Creating communication_websocket-client_1 ... done
     Rabbitmq Queues is ready
     websocket-client is ready:Connection to 127.0.0.1 9001 port [tcp/*] succeeded!
    USER@APPLIANCE:~$ sudo service monit start
    
    
    
  8. Allow the Discovery Service some time to reconnect & resynchronise with the Cloud platform.
  9. Check the cloud UI under Settings → Appliances and verify that the appliance Last Status is recent, and confirm the appliance version is showing as you would expect.