Skip to content
This repository was archived by the owner on May 8, 2024. It is now read-only.
This repository was archived by the owner on May 8, 2024. It is now read-only.

[Bug]: One SPS deployment can accidentally execute another SPS deployments deployed process containers #230

Open
@ryanghunter

Description

@ryanghunter

Checked for duplicates

Yes - I've already checked

Describe the bug
When a process with the same id and processVersion is deployed at different times on two different SPS systems it can cause the first SPS system deployed to execute the second SPS system's process instead of it' own.

This is because the two SPS systems share an image repository, so they can overwrite each other's process images. This becomes an issue when workers from the first SPS system to deploy don't have the image downloaded locally before the second SPS system overwrites it in the remote image repository.

What did you expect?

The workers in the first SPS system should run the process deployed to the first SPS system, not the process deployed to the second SPS system.

Reproducible steps

  1. Deploy two instances of SPS or have two instances of SPS deployed, deployment A and deployment B
  2. Deploy a process, process-id:tag through deployment A's WPS-T server
  3. Use kubectl exec to log into the WPS-T server container
  4. Run docker image ls and note the image id of the deployed process
  5. Ensure these process images don't exist on deployment A's verdi workers by using a fresh worker deployment or manually removing images with docker image rm - f {image id}
  6. Deploy the same process with the same id and tag, process-id:tag, to deployment B's WPS-T server
  7. Repeat steps 3 & 4 for the WPS-T server in deployment B, noting the image id of the deployed process
  8. Send a job execution request to the process-id:tag WPS-T process endpoint of deployment A, note the job id
  9. Find the verdi worker that executed the job by using kubectl exec and searching for the job id in the verdi worker logs
  10. Run docker image ls and see that the image id of the process images matches deployment B's image id, not deployment A's image id as it should.

Metadata

Metadata

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions