#12284 no-changed-when: Commands should not change things if nothing needs doing. [openshift playbooks linting]
Opened 4 months ago by ryanlerch. Modified 2 months ago

I am trying to fix all the linting issues for the openshift playbooks, and came across these. Any ideas on best practise to fix this?

WARNING  Listing 21 violation(s) that are fatal
Read documentation for instructions on how to ignore specific rule violations.

  Rule Violation Summary                  
 count tag             profile rule associated tags       
    21 no-changed-when shared  command-shell, idempotency 

Failed: 21 failure(s), 0 warning(s) on 64 files. 

no-changed-when: Commands should not change things if nothing needs doing.
playbooks/openshift-apps/application-monitoring.yml:21 Task/Handler: Apply node labels

no-changed-when: Commands should not change things if nothing needs doing.
playbooks/openshift-apps/application-monitoring.yml:24 Task/Handler: Apply node labels for bodhi POC

no-changed-when: Commands should not change things if nothing needs doing.
playbooks/openshift-apps/application-monitoring.yml:27 Task/Handler: Make other pods available to the application-monitoring project

no-changed-when: Commands should not change things if nothing needs doing.
playbooks/openshift-apps/application-monitoring.yml:33 Task/Handler: Prometheus CRDs

no-changed-when: Commands should not change things if nothing needs doing.
playbooks/openshift-apps/application-monitoring.yml:36 Task/Handler: Prometheus CRD RBAC

no-changed-when: Commands should not change things if nothing needs doing.
playbooks/openshift-apps/application-monitoring.yml:39 Task/Handler: Prometheus Operator RBAC

no-changed-when: Commands should not change things if nothing needs doing.
playbooks/openshift-apps/application-monitoring.yml:42 Task/Handler: Prometheus RBAC

no-changed-when: Commands should not change things if nothing needs doing.
playbooks/openshift-apps/bodhi.yml:156 Task/Handler: Scale up pods

no-changed-when: Commands should not change things if nothing needs doing.
playbooks/openshift-apps/bodhi.yml:159 Task/Handler: Scale up pods

no-changed-when: Commands should not change things if nothing needs doing.
playbooks/openshift-apps/bodhi.yml:162 Task/Handler: Scale up pods

no-changed-when: Commands should not change things if nothing needs doing.
playbooks/openshift-apps/bodhi.yml:165 Task/Handler: Scale up pods

no-changed-when: Commands should not change things if nothing needs doing.
playbooks/openshift-apps/bodhi.yml:168 Task/Handler: Scale up pods

no-changed-when: Commands should not change things if nothing needs doing.
playbooks/openshift-apps/bodhi.yml:171 Task/Handler: Scale up pods

no-changed-when: Commands should not change things if nothing needs doing.
playbooks/openshift-apps/bodhi.yml:174 Task/Handler: Set the timeout to the openshift route

no-changed-when: Commands should not change things if nothing needs doing.
playbooks/openshift-apps/bodhi.yml:178 Task/Handler: Trigger critpath cronjob

no-changed-when: Commands should not change things if nothing needs doing.
playbooks/openshift-apps/custom-error-pages.yml:27 Task/Handler: Patch ingress controller with custom error pages

no-changed-when: Commands should not change things if nothing needs doing.
playbooks/openshift-apps/greenwave.yml:101 Task/Handler: Set the timeout to the openshift route

no-changed-when: Commands should not change things if nothing needs doing.
playbooks/openshift-apps/languages.yml:73 Task/Handler: Run initial f.10 import

no-changed-when: Commands should not change things if nothing needs doing.
playbooks/openshift-apps/languages.yml:80 Task/Handler: Run initial f.20 import

no-changed-when: Commands should not change things if nothing needs doing.
playbooks/openshift-apps/languages.yml:87 Task/Handler: Run initial f.30 import

no-changed-when: Commands should not change things if nothing needs doing.
playbooks/openshift-apps/languages.yml:94 Task/Handler: Run initial f.latest import

Metadata Update from @phsmoura:
- Issue priority set to: Waiting on Assignee (was: Needs Review)
- Issue tagged with: medium-gain, medium-trouble, ops

4 months ago

There is an explanation how to fix it in https://ansible.readthedocs.io/projects/lint/rules/no-changed-when/ It's to prevent the command to be run when nothing needs to be done, it will also help with showing you correctly which tasks changed things.

You can either do it like it's changed always or just look for specific output for example, like it is done in ipa role

Yeah, we just oc apply and let openshift decide when something needs to change.

I guess we can set them to always changed... which kinda sucks, but there's not a good way I don't think for oc apply to tell us if it had to change something or not.

Log in to comment on this ticket.

Metadata
Boards 1
ops Status: Backlog