Dell NativeEdge: NativeEdge Orchestrator Upgrade Fails Due to Missing Kubernetes Secret
Summary: When upgrading the NativeEdge Orchestrator (NEO) from 3.0 to 3.1 release, the upgrade fails due to a missing Kubernetes secret eo-registry-secret.
Symptoms
The NEO install-upgrade.sh times out with the message "Waiting for eo images loader wrapper to start has timed out. Error code: 0x019030010."
When you examine the container that the eo images loader creates, the user sees that eo-registry-secret is missing.
Cause
When upgrading from NEO 2.2 to 3.0 the eo-registry-secret was removed.
Resolution
Create the eo-registry-secret before starting the upgrade.
Below is an example of creating the eo-registry-secret:
kubectl create secret generic eo-registry-secret \
--from-literal=username='registryuser' \
--from-literal=password='registrypassword' \
--from-literal=repo.url='registry.local.edge/dell/' \
--from-literal=repo.secretRef='docker-secret' \
--from-file=registry.crt=/path/to/registry.crt \
-n hzp
Note: each value in the secret is an example, replace the example with relevant value from the user environment
When the eo-registry-secret is present the NEO install-upgrade.sh will look like the following:
Installing image loader wrapper
Waiting for EO image loader wrapper to start reading updates
EO image loader wrapper is up. Listening to updates
login to registry...
Login Succeeded!
No BUNDLE_DOWNLOAD_URL set. Trying to retrieve it using ARTIFACT_ID
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 572 100 483 100 89 5970 1100 --:--:-- --:--:-- --:--:-- 7150
downloading images loader bundle...
successfully downloaded images loader...
loading eo-images-loader.tar image...
Installing image loader wrapper
Waiting for EO image loader wrapper to start reading updates
Alternatively the user can download the script attached to this article.
- Extract the file eo-registry-secret_pkb.zip
- Run the script ./eo-registry-secret.sh
The script will prompt for details for the secret creation.
Additional Information
Output from kubectl get pods -A | grep eo-images-loader-wrapper indicates that the container fails to create.
hzp eo-images-loader-wrapper-job-fzw8f 0/1 ContainerCreating 0 125m
Output from kubectl describe pod -n hzp eo-images-loader-wrapper-job-fzw8f indicates that the secret does not exist for the container.
node.kubernetes.io/unreachable:NoExecute op=Exists for 300sEvents:Type Reason Age From Message---- ------ ---- ---- -------Warning FailedMount 30s (x70 over 126m) kubelet MountVolume.SetUp failed for volume "registry-certificate" : secret "eo-registry-secret" not found