Skip to content

Instantly share code, notes, and snippets.

@bergerx
Created November 4, 2020 22:16
Show Gist options
  • Save bergerx/19b876028b3d13de22149d5a55ace371 to your computer and use it in GitHub Desktop.
Save bergerx/19b876028b3d13de22149d5a55ace371 to your computer and use it in GitHub Desktop.
Helmsman seems to be unintentionally running as it should be on chart renames https://github.com/Praqma/helmsman/issues/538
[cluster-bekir-test:]/tmp $ cat <<EOF > helmsman.yaml
> namespaces:
> default:
> apps:
> testing-helmsman:
> chart: testing-chart
> version: 0.1.0
> namespace: default
> enabled: true
> EOF
[cluster-bekir-test:]/tmp $ helmsman --apply -f helmsman.yaml --debug
_ _
| | | |
| |__ ___| |_ __ ___ ___ _ __ ___ __ _ _ __
| '_ \ / _ \ | '_ ` _ \/ __| '_ ` _ \ / _` | '_ \
| | | | __/ | | | | | \__ \ | | | | | (_| | | | |
|_| |_|\___|_|_| |_| |_|___/_| |_| |_|\__,_|_| |_| version: v3.4.6
A Helm-Charts-as-Code tool.
2020-11-04 22:10:51 DEBUG: helm version --short -c
2020-11-04 22:10:52 DEBUG: helm version --short -c
2020-11-04 22:10:52 DEBUG: kubectl version --client --short
2020-11-04 22:10:52 DEBUG: kubectl
2020-11-04 22:10:52 DEBUG: helm
2020-11-04 22:10:52 DEBUG: helm plugin list
2020-11-04 22:10:52 INFO: Parsed YAML [[ helmsman.yaml ]] successfully and found [ 1 ] apps
2020-11-04 22:10:52 INFO: Validating desired state definition...
2020-11-04 22:10:52 DEBUG: kubectl config current-context
Metadata:
---------
Context:
---------
default
Certificates:
---------
Settings:
---------
{KubeContext: Username: Password: ClusterURI: ServiceAccount: StorageBackend:secret SlackWebhook: ReverseDelete:false BearerToken:false BearerTokenPath: EyamlEnabled:false EyamlPrivateKeyPath: EyamlPublicKeyPath: GlobalHooks:map[] GlobalMaxHistory:0}
Namespaces:
-------------
default : protected = {false [] map[] map[] <nil>}
Repositories:
-------------
Applications:
---------------
name: testing-helmsman
description:
namespace: default
enabled: true
chart: /tmp/testing-chart
version: 0.1.0
valuesFile:
valuesFiles:
postRenderer:
test: false
protected: false
wait: false
priority: 0
SuccessCondition: <nil>
SuccessTimeout: <nil>
DeleteOnSuccess: <nil>
preInstall: <nil>
postInstall: <nil>
preUpgrade: <nil>
postUpgrade: <nil>
preDelete: <nil>
postDelete: <nil>
no-hooks: false
timeout: 0
values to override from env:
-------------------
Targets:
---------------
Groups:
---------------
2020-11-04 22:10:52 INFO: Setting up kubectl...
2020-11-04 22:10:52 DEBUG: kubectl config current-context
2020-11-04 22:10:52 INFO: Setting up helm...
2020-11-04 22:10:52 DEBUG: helm repo list --output json
2020-11-04 22:10:52 INFO: Setting up namespaces...
2020-11-04 22:10:52 DEBUG: kubectl get namespace default
2020-11-04 22:10:53 INFO: Validating charts...
2020-11-04 22:10:53 DEBUG: helm inspect chart /tmp/testing-chart
2020-11-04 22:10:53 INFO: Preparing plan...
2020-11-04 22:10:53 INFO: Acquiring current Helm state from cluster...
2020-11-04 22:10:53 DEBUG: helm list --all --max 0 --output json -n default
2020-11-04 22:10:53 DEBUG: helm show chart /tmp/testing-chart
2020-11-04 22:10:53 INFO: Chart [ /tmp/testing-chart ] with version [ 0.1.0 ] was found locally.
2020-11-04 22:10:53 INFO: Checking if any Helmsman managed releases are no longer tracked by your desired state ...
2020-11-04 22:10:53 DEBUG: kubectl get secret -n default -l MANAGED-BY=HELMSMAN -o custom-columns=NAME:.metadata.name,CTX:.metadata.labels.HELMSMAN_CONTEXT --no-headers
2020-11-04 22:10:54 INFO: No untracked releases found
2020-11-04 22:10:54 NOTICE: -------- PLAN starts here --------------
2020-11-04 22:10:54 NOTICE: Release [ testing-helmsman ] version [ 0.1.0 ] will be installed in [ default ] namespace -- priority: 0
2020-11-04 22:10:54 NOTICE: -------- PLAN ends here --------------
2020-11-04 22:10:54 INFO: Printing the commands of the current plan ...
helm upgrade testing-helmsman /tmp/testing-chart --install --version 0.1.0 --namespace default
2020-11-04 22:10:54 INFO: Executing plan...
2020-11-04 22:10:54 NOTICE: Install release [ testing-helmsman ] version [ 0.1.0 ] in namespace [ default ]
2020-11-04 22:10:54 DEBUG: helm upgrade testing-helmsman /tmp/testing-chart --install --version 0.1.0 --namespace default
2020-11-04 22:10:57 NOTICE: Release "testing-helmsman" does not exist. Installing it now.
NAME: testing-helmsman
LAST DEPLOYED: Wed Nov 4 22:10:56 2020
NAMESPACE: default
STATUS: deployed
REVISION: 1
NOTES:
1. Get the application URL by running these commands:
export POD_NAME=$(kubectl get pods --namespace default -l "app.kubernetes.io/name=testing-chart,app.kubernetes.io/instance=testing-helmsman" -o jsonpath="{.items[0].metadata.name}")
echo "Visit http://127.0.0.1:8080 to use your application"
kubectl --namespace default port-forward $POD_NAME 8080:80
2020-11-04 22:10:57 NOTICE: Finished: Install release [ testing-helmsman ] version [ 0.1.0 ] in namespace [ default ]
2020-11-04 22:10:57 DEBUG: kubectl label secret -n default -l owner=helm,name=testing-helmsman MANAGED-BY=HELMSMAN NAMESPACE=default HELMSMAN_CONTEXT=default --overwrite
2020-11-04 22:10:58 INFO: Plan applied
[cluster-bekir-test:]/tmp $
[cluster-bekir-test:]/tmp $ cat <<EOF > helmsman.yaml
> namespaces:
> default:
> apps:
> testing-helmsman:
> chart: testing-chart-renamed
> version: 0.1.0
> namespace: default
> enabled: true
> set:
> nameOverride: testing-chart
> EOF
[cluster-bekir-test:]/tmp $ helmsman --apply -f helmsman.yaml --debug
_ _
| | | |
| |__ ___| |_ __ ___ ___ _ __ ___ __ _ _ __
| '_ \ / _ \ | '_ ` _ \/ __| '_ ` _ \ / _` | '_ \
| | | | __/ | | | | | \__ \ | | | | | (_| | | | |
|_| |_|\___|_|_| |_| |_|___/_| |_| |_|\__,_|_| |_| version: v3.4.6
A Helm-Charts-as-Code tool.
2020-11-04 22:11:17 DEBUG: helm version --short -c
2020-11-04 22:11:17 DEBUG: helm version --short -c
2020-11-04 22:11:17 DEBUG: kubectl version --client --short
2020-11-04 22:11:17 DEBUG: kubectl
2020-11-04 22:11:17 DEBUG: helm
2020-11-04 22:11:17 DEBUG: helm plugin list
2020-11-04 22:11:17 INFO: Parsed YAML [[ helmsman.yaml ]] successfully and found [ 1 ] apps
2020-11-04 22:11:17 INFO: Validating desired state definition...
2020-11-04 22:11:17 DEBUG: kubectl config current-context
Metadata:
---------
Context:
---------
default
Certificates:
---------
Settings:
---------
{KubeContext: Username: Password: ClusterURI: ServiceAccount: StorageBackend:secret SlackWebhook: ReverseDelete:false BearerToken:false BearerTokenPath: EyamlEnabled:false EyamlPrivateKeyPath: EyamlPublicKeyPath: GlobalHooks:map[] GlobalMaxHistory:0}
Namespaces:
-------------
default : protected = {false [] map[] map[] <nil>}
Repositories:
-------------
Applications:
---------------
name: testing-helmsman
description:
namespace: default
enabled: true
chart: /tmp/testing-chart-renamed
version: 0.1.0
valuesFile:
valuesFiles:
postRenderer:
test: false
protected: false
wait: false
priority: 0
SuccessCondition: <nil>
SuccessTimeout: <nil>
DeleteOnSuccess: <nil>
preInstall: <nil>
postInstall: <nil>
preUpgrade: <nil>
postUpgrade: <nil>
preDelete: <nil>
postDelete: <nil>
no-hooks: false
timeout: 0
values to override from env:
nameOverride : testing-chart
-------------------
Targets:
---------------
Groups:
---------------
2020-11-04 22:11:17 INFO: Setting up kubectl...
2020-11-04 22:11:17 DEBUG: kubectl config current-context
2020-11-04 22:11:17 INFO: Setting up helm...
2020-11-04 22:11:17 DEBUG: helm repo list --output json
2020-11-04 22:11:17 INFO: Setting up namespaces...
2020-11-04 22:11:17 DEBUG: kubectl get namespace default
2020-11-04 22:11:18 INFO: Validating charts...
2020-11-04 22:11:18 DEBUG: helm inspect chart /tmp/testing-chart-renamed
2020-11-04 22:11:18 INFO: Preparing plan...
2020-11-04 22:11:18 INFO: Acquiring current Helm state from cluster...
2020-11-04 22:11:18 DEBUG: helm list --all --max 0 --output json -n default
2020-11-04 22:11:18 DEBUG: kubectl get secret -n default -l owner=helm -l name=testing-helmsman -o jsonpath='{.items[-1].metadata.labels.HELMSMAN_CONTEXT}'
2020-11-04 22:11:19 DEBUG: helm show chart /tmp/testing-chart-renamed
2020-11-04 22:11:19 INFO: Chart [ /tmp/testing-chart-renamed ] with version [ 0.1.0 ] was found locally.
2020-11-04 22:11:19 INFO: Checking if any Helmsman managed releases are no longer tracked by your desired state ...
2020-11-04 22:11:19 DEBUG: kubectl get secret -n default -l MANAGED-BY=HELMSMAN -o custom-columns=NAME:.metadata.name,CTX:.metadata.labels.HELMSMAN_CONTEXT --no-headers
2020-11-04 22:11:19 INFO: No untracked releases found
2020-11-04 22:11:19 NOTICE: -------- PLAN starts here --------------
2020-11-04 22:11:19 NOTICE: Release [ testing-helmsman ] is desired to use a new chart [ /tmp/testing-chart-renamed ]. Delete of the current release will be planned and new chart will be installed in namespace [ default ] -- priority: 0
2020-11-04 22:11:19 NOTICE: -------- PLAN ends here --------------
2020-11-04 22:11:19 INFO: Printing the commands of the current plan ...
helm uninstall --namespace testing-helmsman
helm upgrade testing-helmsman /tmp/testing-chart-renamed --install --version 0.1.0 --namespace default --set nameOverride=testing-chart
2020-11-04 22:11:19 INFO: Executing plan...
2020-11-04 22:11:19 NOTICE: Delete release [ testing-helmsman ] in namespace [ ]
2020-11-04 22:11:19 DEBUG: helm uninstall --namespace testing-helmsman
2020-11-04 22:11:19 NOTICE: Install release [ testing-helmsman ] version [ 0.1.0 ] in namespace [ default ]
2020-11-04 22:11:19 DEBUG: helm upgrade testing-helmsman /tmp/testing-chart-renamed --install --version 0.1.0 --namespace default --set nameOverride=testing-chart
2020-11-04 22:11:23 NOTICE: Release "testing-helmsman" has been upgraded. Happy Helming!
NAME: testing-helmsman
LAST DEPLOYED: Wed Nov 4 22:11:21 2020
NAMESPACE: default
STATUS: deployed
REVISION: 2
NOTES:
1. Get the application URL by running these commands:
export POD_NAME=$(kubectl get pods --namespace default -l "app.kubernetes.io/name=testing-chart,app.kubernetes.io/instance=testing-helmsman" -o jsonpath="{.items[0].metadata.name}")
echo "Visit http://127.0.0.1:8080 to use your application"
kubectl --namespace default port-forward $POD_NAME 8080:80
2020-11-04 22:11:23 NOTICE: Finished: Install release [ testing-helmsman ] version [ 0.1.0 ] in namespace [ default ]
2020-11-04 22:11:23 DEBUG: kubectl label secret -n default -l owner=helm,name=testing-helmsman MANAGED-BY=HELMSMAN NAMESPACE=default HELMSMAN_CONTEXT=default --overwrite
2020-11-04 22:11:24 ERROR: command for release [testing-helmsman] returned [ 1 ] exit code and error message [ Error: "helm uninstall" requires at least 1 argument
Usage: helm uninstall RELEASE_NAME [...] [flags] ]
2020-11-04 22:11:24 CRITICAL: Plan execution failed
[cluster-bekir-test:]/tmp $
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment