diff options
author | Krzysztof Opasiak <k.opasiak@samsung.com> | 2020-11-06 19:33:47 +0100 |
---|---|---|
committer | Krzysztof Opasiak <k.opasiak@samsung.com> | 2020-11-06 19:48:20 +0100 |
commit | fa83b9cf4ad4ef58bb63cd55d58939837b49b00d (patch) | |
tree | d673607d9b0f6cd904420bf81c7e1924b9686f32 /kubernetes | |
parent | 60966918e4298c14dcf36639fb0b0df0ae5e5c73 (diff) |
[Tree-wide] Update helm repo after build
Helm 3 no longer supports creation of a local repo as helm 2 did. Now
we need to use external component named chartmuseum to provide us repo
for helm charts.
When we start chartmuseum for the first time repo is empty and during
our build process we successively built helm charts to it. As a last
chart we always build our umbrella chart called onap and also push it
to repo. Unfortunately our local helm cache is unaware that this new
chart is now available untill we push sth else or execute helm repo
update which leads to really cryptic deployment failures.
To mitigate this issue let's add a new target helm-repo-update which
will be executed right after onap and just make sure that our local
cache is up to date.
WARNING:
If you are using helm v3 and you build a single component for the
first time on this machine or version of chart for the component that
you are building has just changed recently it's not enough to run:
$ make <component>
You need to also run:
$ make helm-repo-update
after successful build of your component.
Issue-ID: OOM-2562
Change-Id: I77020a3fb5666106b86c6a76477a57d9dd5af047
Signed-off-by: Krzysztof Opasiak <k.opasiak@samsung.com>
Diffstat (limited to 'kubernetes')
-rw-r--r-- | kubernetes/Makefile | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/kubernetes/Makefile b/kubernetes/Makefile index ca46ad8fe0..fc73dd40f9 100644 --- a/kubernetes/Makefile +++ b/kubernetes/Makefile @@ -21,6 +21,10 @@ PACKAGE_DIR := $(OUTPUT_DIR)/packages SECRET_DIR := $(OUTPUT_DIR)/secrets HELM_BIN := helm HELM_VER := $(shell $(HELM_BIN) version --template "{{.Version}}") +# use this if you would like to push onap charts to repo with other name +# WARNING: Helm v3+ only +# WARNING: Make sure to edit also requirements files +HELM_REPO := local ifneq ($(SKIP_LINT),TRUE) HELM_LINT_CMD := $(HELM_BIN) lint @@ -34,7 +38,7 @@ HELM_CHARTS := $(filter-out $(EXCLUDES), $(sort $(patsubst %/.,%,$(wildcard */.) .PHONY: $(EXCLUDES) $(HELM_CHARTS) check-for-staging-images -all: $(COMMON_CHARTS_DIR) $(SUBMODS) $(HELM_CHARTS) plugins +all: $(COMMON_CHARTS_DIR) $(SUBMODS) $(HELM_CHARTS) helm-repo-update plugins $(COMMON_CHARTS): @echo "\n[$@]" @@ -68,12 +72,11 @@ lint-%: dep-% package-%: lint-% @mkdir -p $(PACKAGE_DIR) ifeq "$(findstring v3,$(HELM_VER))" "v3" - @if [ -f $*/Chart.yaml ]; then PACKAGE_NAME=$$($(HELM_BIN) package -d $(PACKAGE_DIR) $* | cut -d":" -f2) && $(HELM_BIN) push -f $$PACKAGE_NAME local; fi + @if [ -f $*/Chart.yaml ]; then PACKAGE_NAME=$$($(HELM_BIN) package -d $(PACKAGE_DIR) $* | cut -d":" -f2) && $(HELM_BIN) push -f $$PACKAGE_NAME $(HELM_REPO); fi else @if [ -f $*/Chart.yaml ]; then $(HELM_BIN) package -d $(PACKAGE_DIR) $*; fi -endif - @$(HELM_BIN) repo index $(PACKAGE_DIR) +endif clean: @rm -f */requirements.lock @@ -85,6 +88,7 @@ plugins: @cp -R $(HELM_BIN) $(PACKAGE_DIR)/ # start up a local helm repo to serve up helm chart packages +# WARNING: Only helm < v3 supported repo: @mkdir -p $(PACKAGE_DIR) @$(HELM_BIN) serve --repo-path $(PACKAGE_DIR) & @@ -93,6 +97,7 @@ repo: @$(HELM_BIN) repo add local http://127.0.0.1:8879 # stop local helm repo +# WARNING: Only helm < v3 supported repo-stop: @pkill $(HELM_BIN) @$(HELM_BIN) repo remove local @@ -100,6 +105,10 @@ repo-stop: check-for-staging-images: $(ROOT_DIR)/contrib/tools/check-for-staging-images.sh +helm-repo-update: +ifeq "$(findstring v3,$(HELM_VER))" "v3" + @$(HELM_BIN) repo update $(HELM_REPO) +endif + %: @: - |