Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Create and access a list of your products

Dell ObjectScale 1.3 Administration Guide

Infrastructure Upgrade for ObjectScale Appliance - Operating System Upgrade

These steps are applicable only for ObjectScale Appliance deployment.

Prerequisites

  • All applications (CMO and ObjectScale) on the target version are already upgraded.
  • The software package for upgrade is already downloaded and extracted.
    NOTE:The artifacts folder has the linux-sles-15.4.tar.gz file if any operating system upgrade is required.
  • Kubernetes cluster admin privileges.
  • There should be a minimum of five nodes to run the infrastructure update.

Steps

  1. Upload the required lcm_manifest.json and linux-sles-15.4.tar.gz to the http-share service.
    # get http-share ingress-ip address
    # get IP address to upload/download files from http-share
    kubectl get svc rke2-ingress-nginx-controller -n kube-system --output jsonpath='{.status.loadBalancer.ingress[0].ip}'
     
    # upload the required artifacts
    cd objectscale-1.3.0-appliance-bundle/artifacts
    curl -i -k --create-dirs https://<ingress-ip>/httpshare/upload/bundle/objectscale/upgrade/1.3.0/ -F "file=@lcm_manifest.json"
    # upload the OS bundle as well for the appliance upgrade
    curl -i -k https://<ingress-ip>/httpshare/upload/bundle/objectscale/upgrade/1.3.0 -F "file=@linux-sles-15.4.tar.gz"
  2. Upgrade the operating system using CLI.
    1. Ensure all the nodes are in Ready state.
      kubectl get nodes -o wide
      NAME    STATUS   ROLES                       AGE   VERSION          INTERNAL-IP     EXTERNAL-IP   OS-IMAGE                              KERNEL-VERSION          CONTAINER-RUNTIME
      cmo42   Ready    control-plane,etcd,master   25h   v1.24.7+rke2r1   10.249.253.42   <none>        SUSE Linux Enterprise Server 15 SP4   5.3.18-24.107-default   containerd://1.6.8-k3s1
      cmo43   Ready    control-plane,etcd,master   25h   v1.24.7+rke2r1   10.249.253.43   <none>        SUSE Linux Enterprise Server 15 SP4   5.3.18-24.107-default   containerd://1.6.8-k3s1
    2. Ensure all the pods within the system are in Running phase.
    3. Create the following os-update.yaml file for updating the operating system.
      NOTE:
      • You can assign a unique name for <lcmupdate-name>.
      • All the nodes are updated through the management (host/IP) names.
      • Identify the namespace of the CSI using the command helm list -A| grep -i csi-baremetal-operator. In the sample output below, the second column denotes the CSI namespace value, which is csi.
        csi-baremetal-operator                  csi             2               2023-09-29 07:27:11.013043982 +0000 UTC deployed        csi-baremetal-operator-1.3.0-121.2e006fb                1.3.0admin@dhcp-10-236-65-131:~>
        You can identify the namespace of the ObjectScale component using the command helm list -A| grep -i objectscale-manager. In the sample output below, the second column denotes the ObjectScale namespace value, which is objectscale.
        objectscale-manager                     objectscale     2               2023-09-29 07:31:45.231404122 +0000 UTC deployed        objectscale-manager-1.3.0-4184                          1.3.0-4184admin@dhcp-10-236-65-131:~>
        You can identify the namespace of the object store component using the command helm list -A| grep -i ecs-cluster. In the sample output below, the second column denotes the object store namespace value, which is objectscale.
        wilson-str1                             objectscale     2               2023-09-29 07:34:50.143272032 +0000 UTC deployed        ecs-cluster-1.3.0-4184                                  1.3.0-4184
      • In the below example, ObjectScale component is installed in the <objectscale-namespace>, CSI in <csi-namespace>, and object store in <object-store-namespace>. If both ObjectScale and object store components are installed in the <objectscale-namespace>, the additionalParamValue section changes to additionalParamValue: '{"lcm_nodehook_untaint_custom_namespaces":"<objectscale-namespace>, <csi-namespace>"}'.
      apiVersion: lcm-cluster.dell.com/v1
      kind: LCMUpdate
      metadata:
        name: <lcmupdate-name>
        namespace: kube-system
      spec:
          bundlePathBaseDirectory: "https://http-share.cmo:443/download/bundle/objectscale/upgrade/<OBJECTSCALE_VERSION>"
          infrastructureConfig:
            componentsToUpgrade :
            - componentType: "os"
              componentName: "sles"
              componentVersion: "15-SP4"
            customConfig:
              taint:
                key: "node.dell.com/drain"
                value: "planned-downtime"
                effect: "NoSchedule"
            nodeHookConfig:
              customPostUpgradeNodeHook:
              - env:
                  mode: sequential
                  profileName: lcm-cmo-post-maintenance
                  additionalParams:
                  - additionalParamName: optional_json
                    additionalParamValue: '{"lcm_nodehook_untaint_custom_namespaces":"<objectscale-namespace>, <csi-namespace>, <object-store-namespace>"}'
              customPreUpgradeNodeHook:
              - env:
                  additionalParams:
                  - additionalParamName: optional_json
                    additionalParamValue: '{"lcm_nodehook_taint_key":"node.dell.com/drain","lcm_nodehook_taint_value":"planned-downtime","lcm_nodehook_taint_effect":"NoSchedule"}'
                  mode: sequential
                  profileName: lcm-cmo-pre-maintenance
              skipNodeHooks: false
            nodeList: ["<comma_separated_cluster_node_ssh_IP_addresses>"]
      Below is a sample nodeList:
      nodeList: ["10.236.126.118","10.236.126.119","10.236.126.120","10.236.126.121","10.236.126.122","10.236.126.123","10.236.126.124","10.236.126.125"]
    4. Apply the resource to the target cluster and monitor the status.
      kubectl apply -f os-update.yaml
      kubectl get lcmupdate <lcmupdate-name> -o yaml
      
      NOTE:
      • This may take a few hours as this is a rolling update for each node.
      • If operating system LCM update fails abruptly, before retrying the upgrade on other nodes delete the existing operating system LCM Update and proceed further:
        kubectl delete lcmupdate <lcmupdate-name>

Results

You have successfully upgraded the operating system.

Rate this content

Accurate
Useful
Easy to understand
Was this article helpful?
0/3000 characters
  Please provide ratings (1-5 stars).
  Please provide ratings (1-5 stars).
  Please provide ratings (1-5 stars).
  Please select whether the article was helpful or not.
  Comments cannot contain these special characters: <>()\