Skip to main content
Version: v10.15

OS Upgrade


Why do we need Operating System Upgrade ?

  • WME is completely running inside docker containers, these docker containers are hosted on the Platform Instance's Operating System.
  • Updated Docker versions are been introduced for every OS version, so inorder to maintain an updated docker version we expect users to upgrade the host OS.
  • Beside these points by upgrading you will benefit by getting the latest software, including newly updated security patches.
  • It also comes with the latest upgraded technology in different services along with docker, with every new release and bypasses having to resort to reinstalling and reconfiguring your system.

Below is the guide for upgrading the Operating system in the WME running Instances.

How Data Stored in WME

  • WaveMaker Platform Stores its state into the disk. WaveMaker Platform administrators can take backups of those disk/directories and can restore them to any previous state.
  • WaveMaker uses separate dedicated directory /wm-data in WaveMaker Platform Instance for storing data and /data directory in StudioWorkspace Instance / AppDeployment Instance.

What Data needs to be Backed up

  • The /wm-data directory in Platform Instance.
  • The /data directory in all the StudioWorkspace/AppDeployment Instances are required to be backed up.
  • Take backup/snapshots above volume/directories periodically.

How to move all the data to a single location

  • We can move all the data to Platform Instance(/wm-data dir or volume) so that backup will be easier. In that case, no need to take backups of any (volume/dir) in any of StudioWorkspace Instance / AppDeployment Instance.
  • This moving of all data to the /wm-data directory, is achieved by performing the following steps

Passivate containers in StudioWorkspace/AppDeployment Instances

  • Inorder to upgrade your operating system it is recommended to passivate the containers in StudioWorkspace/AppDeployment Instances
  • It can be done in two different ways

Launchpad

  • After logging into launchpad in your WME setup go to the Developer Workspace Tab, and then go to the container as shown in the below image

  • Select the containers that are running, hibernate those containers one after the other by hitting the stop button as shown in the image below, and wait till the state is changed to stop.

    instances_verification

  • Go to Developer Workspace, and then go to capacity as shown in the below image

    developer_workspace

  • Here select all the StudioWorkspace Instances one by one and do the below operations.

  • First hit the stop button present there, it will stop the Instances from taking new user containers, wait till the state of Instance is changed to STOPPED

  • Then you need to hit the passivate button, this will passivate all the stopped containers in the Instance selected, wait till there are no stopped Instances present in the Instance

  • After this is done in all StudioWorkspace Instances cross-check the running containers in the containers tab, all the containers should be in the passivated state.

  • After making sure all containers are passivated come back to capacity and select one by one Instances and hit the delete icon as shown below, this will delete the Instance from setup.

    delete_instances

  • After completed the above process in Developer Workspace, go to AppDeployments, and perform the same operation mentioned above in all AppDeployment Instances(Demo, Stage, Live)

Command Line

  • You can execute the below command in Platform Instance, it will passivate all the container and will delete StudioWorkspace/AppDeployment Instances in the setup. You need to ssh to the Instance and need to have root privileges to execute the below script.

    python3 /usr/local/content/wme/wme-installer/<version>/resources/python/3/passivation_deletion.py -pr <protocol> -d <domain> -u <adminUser> -p <adminPasswd> -di True
    • protocol represents what web protocol is used to connect to WaveMaker application (http/https)

    • domain represents the domain name in which WaveMaker application is running

    • adminUser and adminPasswd refer to the admin credentials which are used to access launchpad.

    • Refer below mentioned example command for passivation

    python3 /usr/local/content/wme/wme-installer/10.7.1/resources/python/3/passivation_deletion.py -pr http -d wme-demo.wavemaker.com -u test@wavemaker.com -p test-password -di True

Stop the WME Setup

  • We recommend you to stop the WME setup before proceeding for further steps

  • You can stop the WME setup operation either by executing commands at command line or from config wizard portal

    • Command Line

      • Use the following command to stop the WME setup in Platform Instance. You need to ssh to the Instance and need to have root privileges to execute the below script.
      bash /usr/local/content/wme/wme-installer/<version>/wme-installer.sh --stop
    • CW Portal

      • Log in to CW portal, after login in home page you can see stop button as shown in the image below, hit stop button to stop the WME setup

      cw_stop

How to take a backup of the data

  • Take a backup of /wm-data directory of Platform Instance by taking a snapshot of a volume
  • You can find below, the steps of taking snapshot of a volume in different Infra providers.

AWS

Azure

GCP

VMWARE ESXi

  • For creating a snapshot of VM in VMware please refer snapshot creation in vmware.
  • Alternatively, you can take backup of the data directory by executing the below command in the Platform Instance. Archived copy will be created in /wm-data directory with the name data.tar.
bash wme-installer.sh --data-archive
  • Copy the generated data.tar to secure location either on to new WME Platform Instance or to any cloud storage services or your local machine. This data.tar will be used for restoring purposes.

Hyper-V

Stop Docker service in the system

  • After the backup is completed we request you to stop Docker service in the WME Platform Instance and StudioWorkspace Instance / AppDeployment Instance.
  • Connect to each Instance via SSH then execute the below command
service docker stop

Upgrade the Operating System

There are two possibilities depends on your infrastructure.

  • You may have a Predefined list of Operating System Images allowed by your organization and managed IT Team. i.e You are only Allowed to launch/request Instances with those images.
  • If you are allowed to execute Operating System upgrade Commands(like apt update, yum update) in given WME Instances.

Instances with Managed Operating System

Launch WME Platform Instance

  • Launch the Instance or VM with the same IP address with the latest AMI Image. To create WME Platform Instance in the different cloud or on-premise environments please follow the below steps. Attach the previously backed up /wm-data volume to Platform Instance and Mount the volume to the platform Instance using the following command.
  • Make sure to attach backup of /wm-data volume to Platform Instance.
  • You can find below, the steps of launching a Platform Instance with respective to different Infra providers.
AWS
AZURE
GCP
VMWARE ESXI
Hyper-V

Volumes Based Disks Restoring(AWS, GCP, Azure)

  • Mount the /wm-data backup disk to new Platform Instance
mount /dev/</wm-data disk> /wm-data
example: mount /dev/xvdh /wm-data
  • Update the fstab entry for volume on every system reboot, add an entry for the device to the /etc/fstab file.
  • Take UUID of disks for identification by using the following command.
blkid
  • To entry, the UUID of the disks in fstab, use the following format.
UUID=</wm-data block-device-UUID>  /wm-data   ext4   defaults ,nofail  0  2

Directory based Disks Restoring(VMWARE ESXi and Hyper-V)

  • Copy tar to new Platform Instance which was archived in the previous steps.
  • Use the below steps for restore /wm-data using data.tar which was archived in previous steps in Platform Instance,
bash wme-installer.sh --data-untar

data_untar

Launch WME StudioWorkspace Instance/AppDeployment Instances

Installing WME on New Platform Instance

Setups when allowed to execute Operating System Upgrade Commands

::: note Follow the below steps in PlatformInstance, all StudioWorkspaceInstances and AppDeploymentInstances. :::

Ubuntu

  • To upgrade the Ubuntu operating system to the next available release version please refer Ubuntu OS Upgrade

    ::: note

    For a user to upgrade from Ubuntu 16.04 to Ubuntu 20.04 version the above upgrade operations has to be done in two steps to reach the desired version

    :::

RHEL

  • To upgrade RHEL 7 operating system to RHEL 8 operating system please refer RHEL OS Upgrade

Reboot the system post upgrade

  • Reboot StudioWorkspace and AppDeployment Instances
  • Once it is done you have to reboot your platform Instance after upgrading OS in that Instance

Start WME Setup

  • After rebooting the platform Instance, the config wizard will automatically start the WME setup, you can verify the startup process through CW portal and can use the setup post start up process.

Add StudioWorkspace/AppDeployment Instances from launchpad