Configure On-Premise Device Cloud

You can configure an on-premise Device Cloud. This is a set of one or more computers (usually NUCs), to which you connect real, physical iOS and Android devices. Quamotion Cloud can then schedule tests on these devices.

The nodes in an on-premise Device Cloud run Ubuntu Linux and Kubernetes. We provide:

Installing the Operating System

To install the operating system on your device cloud node, follow these steps:

  1. Download the quamotion-device-node.iso installer image.
  2. Use Rufus (on Windows), the Startup Disk Creator (on Ubuntu) or Etcher (on Mac) to create a bootable USB stick.
  3. Boot from the USB drive
  4. Follow the steps in the installation wizard

Setting up the Kubernetes Cluster

To configure the Device Cloud, follow these steps:

  1. First, add IP address 172.13.13.13 to the loopback adapter by configuring Netplan. Create a file /etc/netplan/loopback.yaml and with following contents:

    network:
      version: 2
      renderer: networkd
      ethernets:
        lo:
          match:
            name: lo
          addresses: [ 172.13.13.13/32 ]
    
  2. Then, apply the plan:

    netplan apply
    
  3. Make sure swap is not configured:

    sudo swapoff -a
    
  4. Finally, create the Kubernetes cluster:

    sudo su
    ansible-galaxy install quamotion.device_cloud_node
    
    ansible localhost -c local -m include_role -a name=quamotion.device_cloud_node -e "device_farm_role=master ansible_distribution=Ubuntu ansible_distribution_release=bionic kubernetes_apiserver_advertise_address=172.13.13.13"
    

Deploying the Helm Charts

As a final step, deploy the quamotion-device-daemons and quamotion-device-farm Helm charts.

  1. Make sure to edit the cloud.yaml file

    cloud:
      project: <YOUR-PROJECT-ID>      
      apiKey: <YOUR-API-KEY>
    
  2. Then:

    sudo su
    
    export DEVICE_DAEMONS_VERSION=0.95.79-gdd1e7de7e8
    helm install http://charts.quamotion.mobi/quamotion-device-daemons-${DEVICE_DAEMONS_VERSION}.tgz --name quamotion-device-daemons
    
    export DEVICE_FARM_VERSION=1.110.8
    helm install -f cloud.yaml http://charts.quamotion.mobi/quamotion-device-farm-${DEVICE_FARM_VERSION}.tgz --name quamotion-device-farm