This commit provides a basic capability to abort an application
operation that is in progress.
- The new abort command is only applicable to application that
is being applied, updated or removed. The abort request
will be rejected if the application has any other status
including "recovering" from a failed update.
- The abort processing thread sets "abort" flag for the specified
app, terminates Armada request and removes dangling locks.
- By setting the "abort" flag, the corresponding app processing
thread will bail out at the next opportunity that is advantageous
and friendly to subsequent command to resume or revert the
operation.
- Terminating Armada request entails stopping Armada service.
This logic will be revisited in the future when the Armada
lock restriction is lifted and there is more soak time.
- In the event the user aborted while openstack compute-kits charts
group was being deployed, wait for Tiller to finish the
"pending install" charts before making a new Armada request to
reapply the app.
Tests:
- upload, apply, and remove of stx-openstack app
- upload, apply, update of a test app (a scaled down version
of stx-openstack app)
- abort during the apply of stx-openstack app during
a) images download and b) manifest apply
- abort during the update of the test app during
a) images download and b) manifest apply which triggers
recovery with and without Armada request respectively
- abort during the remove of stx-openstack app
- abort while compute-kits is being deployed then reapply
Partial-Bug: 1833323
Change-Id: I382bd9ce82d504b7d221c8079f9f46c6798eb3b1
Signed-off-by: Tee Ngo <email address hidden>
Reviewed: https:/ /review. opendev. org/671552 /git.openstack. org/cgit/ starlingx/ config/ commit/ ?id=3f7bbbd94c7 1c7b8c615704d7e dd8ecd62c2f1c4
Committed: https:/
Submitter: Zuul
Branch: master
commit 3f7bbbd94c71c7b 8c615704d7edd8e cd62c2f1c4
Author: Tee Ngo <email address hidden>
Date: Thu Jul 18 15:01:40 2019 -0400
Add system application-abort command
This commit provides a basic capability to abort an application
operation that is in progress.
- The new abort command is only applicable to application that
is being applied, updated or removed. The abort request
will be rejected if the application has any other status
including "recovering" from a failed update.
- The abort processing thread sets "abort" flag for the specified
app, terminates Armada request and removes dangling locks.
- By setting the "abort" flag, the corresponding app processing
thread will bail out at the next opportunity that is advantageous
and friendly to subsequent command to resume or revert the
operation.
- Terminating Armada request entails stopping Armada service.
This logic will be revisited in the future when the Armada
lock restriction is lifted and there is more soak time.
- In the event the user aborted while openstack compute-kits charts
group was being deployed, wait for Tiller to finish the
"pending install" charts before making a new Armada request to
reapply the app.
Tests:
- upload, apply, and remove of stx-openstack app
- upload, apply, update of a test app (a scaled down version
of stx-openstack app)
- abort during the apply of stx-openstack app during
a) images download and b) manifest apply
- abort during the update of the test app during
a) images download and b) manifest apply which triggers
recovery with and without Armada request respectively
- abort during the remove of stx-openstack app
- abort while compute-kits is being deployed then reapply
Partial-Bug: 1833323 b7d221c8079f9f4 6c6798eb3b1
Change-Id: I382bd9ce82d504
Signed-off-by: Tee Ngo <email address hidden>