Use the Export function to generate the incremental bundle in an internet-accessible environment, copy the bundle file to the existing airgap server and run the Import function to update the harbor, helm charts, and photon repositories on the server. Please note the export operate do not suggest to run on an existing airgap server as all data under /photon-reps will be deleted after incremental bundle created. Then suggest to run export on a fresh setup Photon OS vm instead. Use the same vm hardware configurations as setup airgap server as well.

Prerequisites

Install the following tools:

Procedure

  1. Export images to the tar package.
    1. Download Airgap Script Package from customerconnect.vmware.com.

      The package name is VMware-Telco-Cloud-Automation-airgap-files-[release]-[build].tar.gz.

    2. Extract the Airgap Script Package to the /root folder
    3. Copy setup-user-inputs.yml to user-inputs.yml under ~/airgap/scripts/vars in the {root-dir} folder. Edit user-inputs.yml and uncomment row of name: photon and baseline: 2.1.0 as example below:
      products:
        - name: "tca"
          versions: "2.2.0"
        - name: "photon"
          baseline: "2.1.0"
    4. Run the Ansible playbook to download and export images to the tar package.
      root@photon-machine [ ~/airgap ]# scripts/bin/run.sh export
    5. To check the detail image download status, either to check with command run.sh status or go to the export-images.log and export-helm.log files in the {root-dir}/airgap/logs folder.
      root@photon-machine [ ~/airgap ]# scripts/bin/run.sh status
      
      tail -f {root-dir}/airgap/logs/export-images.log
      tail -f {root-dir}/airgap/logs/export-helm.log
  2. Copy the incremental bundle to the Airgap environment.

    All the downloaded files are packaged into a tar.gz bundle file along with the airgap scripts. After the incremental bundle is generated, copy the bundle to the Airgap server's "/photon-reps" folder. The overall size of the bundle file is around 35GB, including Kubernetes images, helm charts, Photon packages, and airgap scripts.

  3. Import tar packages to the Airgap server's harbor.
    root@photon-machine [ ~/airgap ]# docker login [airgap-FQDN/registry] 
    root@photon-machine [ ~/airgap ]# scripts/bin/run.sh import

    Before you import the tar packages, ensure that /photon-reps partition of airgap server has 110GB free space, user-inputs.yml is available under ~/airgap/scripts/vars folder and server_fqdn has the correct airgap FQDN. If no sufficient space available please extend VM's photon disk size and use run.sh resize to extend the space then try export operation.

  4. To check the image import status, either to check with command run.sh status or go to the import-images.log and import-helm.log files in the {root-dir}/airgap/logs folder.
    root@photon-machine [ ~/airgap ]# scripts/bin/run.sh status
    
    tail -f {root-dir}/airgap/logs/import-images.log
    tail -f {root-dir}/airgap/logs/import-helm.log
  5. (Optional) upgrade Photon OS of airgap server.
    root@photon-machine [ ~/airgap ]# scripts/bin/run.sh upgrade