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

Consistent werf-converge and werf-dismiss process locking #85

Open
distorhead opened this issue Dec 14, 2020 · 2 comments
Open

Consistent werf-converge and werf-dismiss process locking #85

distorhead opened this issue Dec 14, 2020 · 2 comments

Comments

@distorhead
Copy link
Member

Werf-converge and werf-dismiss commands lock release by name. Lock is stored in the kubernetes namespace.

When --with-namespace option has been specified werf-dismiss command does not use release lock at all for now.

Werf-dismiss command should:

  • lock release while deleting helm release;
  • unlock release;
  • delete kubernetes namespace when --with-namespace option has been specified;
  • do not wait until kubernetes namespace deleted, exit immediately.

Werf-converge command should:

  • await until kubernetes namespace deleted if namespace is being deleted at the moment;
  • lock release;
  • perform release install/upgrade;
  • unlock release.
@distorhead
Copy link
Member Author

distorhead commented Dec 14, 2020

The following scenario should be taken into account:

  • werf-dismiss command deleted helm release and unlocked a release;
  • werf-converge acquired a lock and already started creating new release;
  • werf-dismiss command starts deleting kubernetes namespace;
    => FAIL

@ilya-lesikov
Copy link
Member

ilya-lesikov commented Jun 14, 2024

The only way to consistently lock not only release operations but also release namespace operations is locking both the release namespace and release by locking the release namespace, instead of locking "werf-synchronization" ConfigMap

@ilya-lesikov ilya-lesikov transferred this issue from werf/werf Jul 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants