Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to Deploy (Manifest) Redis 6.4.0 Chart #4109

Closed
jamesmeneghello opened this issue Mar 13, 2019 · 13 comments
Closed

Unable to Deploy (Manifest) Redis 6.4.0 Chart #4109

jamesmeneghello opened this issue Mar 13, 2019 · 13 comments

Comments

@jamesmeneghello
Copy link

jamesmeneghello commented Mar 13, 2019

Issue Summary:

Running Deploy (Manifest) on Redis 6.4.0 chart as part of a deployment breaks due to characters within the manifest being interpreted wrongly by the SPEL parser.

Cloud Provider(s):

Kubernetes v2

Environment:

Kops cluster running Spinnaker 1.12.5.

Feature Area (if this issue is UI/UX related, please tag @spinnaker/ui-ux-team):

CloudDriver

Description:

Previous versions of the redis chart didn't include the {ARGS[@]} line and hence had no issues, but with this update the deploy stage now breaks.

Since what they're doing is presumably legitimate Helm templating, Spinnaker should support deploying it - or at least provide some option to ignore certain files from being SPEL-parsed.

java.lang.IllegalStateException: Failure evaluating manifest expressions: {if [[ -n REDIS_PASSWORD_FILE ]]; then password_aux=cat {REDIS_PASSWORD_FILE} export REDIS_PASSWORD=password_aux fi ARGS=("--port" "{REDIS_PORT}") ARGS+=("--protected-mode" "no") ARGS+=("--include" "/opt/bitnami/redis/etc/redis.conf") ARGS+=("--include" "/opt/bitnami/redis/etc/master.conf") /run.sh {ARGS[@]} =[Result {description='Failed to evaluate if [[ -n REDIS_PASSWORD_FILE ]]; then password_aux=cat {REDIS_PASSWORD_FILE} export REDIS_PASSWORD=password_aux fi ARGS=("--port" "{REDIS_PORT}") ARGS+=("--protected-mode" "no") ARGS+=("--include" "/opt/bitnami/redis/etc/redis.conf") ARGS+=("--include" "/opt/bitnami/redis/etc/master.conf") /run.sh {ARGS[@]} Expression [ARGS[@]] @5: EL1059E: @ or & can only be followed by an identifier or a quoted name', exceptionType=class org.springframework.expression.spel.SpelParseException, timestamp=1552448811173, level=ERROR}], if [[ -n REDIS_PASSWORD_FILE ]]; then password_aux=cat {REDIS_PASSWORD_FILE} export REDIS_PASSWORD=password_aux fi if [[ -n REDIS_MASTER_PASSWORD_FILE ]]; then password_aux=cat {REDIS_MASTER_PASSWORD_FILE} export REDIS_MASTER_PASSWORD=password_aux fi ARGS=("--port" "{REDIS_PORT}") ARGS+=("--protected-mode" "no") ARGS+=("--include" "/opt/bitnami/redis/etc/redis.conf") ARGS+=("--include" "/opt/bitnami/redis/etc/replica.conf") /run.sh "{ARGS[@]}" =[Result {description='Failed to evaluate if [[ -n REDIS_PASSWORD_FILE ]]; then password_aux=cat {REDIS_PASSWORD_FILE} export REDIS_PASSWORD=password_aux fi if [[ -n REDIS_MASTER_PASSWORD_FILE ]]; then password_aux=cat {REDIS_MASTER_PASSWORD_FILE} export REDIS_MASTER_PASSWORD=password_aux fi ARGS=("--port" "{REDIS_PORT}") ARGS+=("--protected-mode" "no") ARGS+=("--include" "/opt/bitnami/redis/etc/redis.conf") ARGS+=("--include" "/opt/bitnami/redis/etc/replica.conf") /run.sh "{ARGS[@]}" Expression [ARGS[@]] @5: EL1059E: @ or & can only be followed by an identifier or a quoted name', exceptionType=class org.springframework.expression.spel.SpelParseException, timestamp=1552448811172, level=ERROR}]}

Steps to Reproduce:

  1. Create a Helm chart that depends on stable/redis 6.4.0 and package it for use
  2. Put through Bake (Manifest)
  3. Deploy it
  4. Error as above

Additional Details:


@ghost
Copy link

ghost commented Mar 14, 2019

Just to clarify - this error looks like it comes from the deploy stage. Could you post the pipeline JSON and the execution JSON if that's not the case?

Issues similar to this have been the subject of some conversation during recent Kubernetes SIG mettings. We're doing a bit of work for 1.13 around SpEL interpretation in bake and deploy stages to try and help handle cases like these.

@jamesmeneghello
Copy link
Author

Sorry, you're absolutely correct - it's from Deploy. I'll update.

@jamesmeneghello jamesmeneghello changed the title Unable to Bake (Manifest) Redis 6.4.0 Chart Unable to Deploy (Manifest) Redis 6.4.0 Chart Mar 15, 2019
@spinnakerbot
Copy link

This issue hasn't been updated in 45 days, so we are tagging it as 'stale'. If you want to remove this label, comment:

@spinnakerbot remove-label stale

@spinnakerbot
Copy link

This issue is tagged as 'stale' and hasn't been updated in 45 days, so we are tagging it as 'to-be-closed'. It will be closed in 45 days unless updates are made. If you want to remove this label, comment:

@spinnakerbot remove-label to-be-closed

@kubakunc
Copy link

kubakunc commented Jun 21, 2019

Same issue here. I'm deploying an app with a simple bash script as ConfigMap. It goes through helm but fails in spinnaker.

Failed to evaluate [mappcat.sh] Expression [POSITIONAL[@]] @11: EL1059E: @ or & can only be followed by an identifier or a quoted name

@alexsniffin
Copy link

Same issue. Running spinnaker 1.14.9 on kops cluster and stable/redis 8.1.2.

@metri
Copy link

metri commented Jul 26, 2019

@spinnakerbot remove-label stale

@metri
Copy link

metri commented Jul 26, 2019

@spinnakerbot remove-label to-be-closed

@metri
Copy link

metri commented Jul 26, 2019

My step to reproduce:

  1. Create deploy (manifest) stage
  2. Add manifest with configmap or deployment with shell script
  3. Shell script with sh array and shell expression ${array[@]}
  4. Add SPeL expression to manifest, like ${ #toInt( parameters.intvalue) }
  5. Run pipeline
  6. Get error: Failed to evaluate [...] Expression [POSITIONAL[@]] @11: EL1059E: @ or & can only be followed by an identifier or a quoted name

@spinnakerbot
Copy link

This issue hasn't been updated in 45 days, so we are tagging it as 'stale'. If you want to remove this label, comment:

@spinnakerbot remove-label stale

@metri
Copy link

metri commented Sep 10, 2019

@spinnakerbot remove-label stale

@maggieneterval
Copy link
Contributor

Hi all! I'm going to close this as a workaround to this issue was released with Spinnaker 1.13 -- more details on this PR.

@pam-
Copy link

pam- commented Aug 19, 2021

Hello, this seems to be happening again on Spinnaker 1.25.4.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants