Upgrading Cloudbreak
Also available as:
PDF

Upgrade Cloudbreak with no internet access

Perform the following steps to upgrade Cloudbreak if your VM on which Cloudbreak is running has no internet access.

Prerequisites

The steps include installing the target version of Cloudbreak on a machine that has internet access and that can be accessed from the machine which you are trying to upgrade. Prior to starting the upgrade process, confirm that you are able to obtain such a machine.

Steps

  1. Access via SSH the machine on which Cloudbreak is running.
  2. Back up your Cloudbreak database manually. For steps refer to Back up Cloudbreak database.
  3. Navigate to your Cloudbreak deployment directory. By default, this is /var/lib/cloudbreak-deployment/:
    cd /var/lib/cloudbreak-deployment/
  4. Run the following command to stop the current version of cbd:
    cbd kill
  5. Manually download and unzip the new cbd binary by following the first steps described in the Install Cloudbreak on a VM documentation. This step is the same regardless of which cloud platform you are using.
  6. Run the following command to regenerate docker-compose.yamlwith the new version of docker images.
    cbd regenerate
  7. If you get an error related to missing dependencies, you must obtain and manually copy all the missing dependencies. The simplest way to obtain the missing dependencies is to copy them from a machine that has internet access and that is running the target version of cbd. That is, in order to complete this step, you should:
    1. Install the target version of Cloudbreak on a different machine that (1) has internet access and that (2) can be accessed from the machine which you are trying to upgrade. For installation options, refer to Cloudbreak deployment options.
    2. Copy the missing dependencies from the machine that has internet access onto the machine that has no internet access. The dependencies are located in [$DEPLOYMENT_DIR]/.deps/bin/ where [$DEPLOYMENT_DIR] is your Cloudbreak deployment directory. By default, this is /var/lib/cloudbreak-deployment/.deps/bin/.
    3. On the machine that has no internet access, run the following to ensure that there are no more missing dependencies:
      cbd regenerate
      If you get an error, that means that some dependencies are still missing; In this case, you must copy them and then check again with cbd regenerate.
  8. On the machine that has no internet access, run the following to output missing docker images required to start the new cbd:
    for img in `grep "image:" docker-compose.yml | sed 's/image: //g'`; do [ ! -z $(docker images -q $img) ] || echo "$img";  done
  9. Use docker save and docker load to import the missing images. For example:
    1. On the machine that has internet access, run:
      docker save hortonworks/hdc-web:2.5.0 > hdcweb.tar
    2. Copy the tar file onto the machine that has no internet access.
    3. On the machine that has no internet access, run:
       docker load < hdcweb.tar
  10. On the machine that has no internet access, run the following to start the new version of cbd:
    cbd start
  11. Verify that the upgrade was successful by checking the current version of Cloudbreak:
    cbd version