- Use new ServerUpdateProgress tasks that support delayed
API calls (not only checks).
As this new task imposes restrictions on compute plugin API,
move all Server*Progress classes to new, plugin-agnostic module.
Simple unit tests for this class added.
- Changed logic in Nova client plugin to not use scheduler tasks.
- Moved server interface attach/detach to Nova client plugin.
- Split resize in two distinct methods 'resize' and 'verify_resize',
with their own checkers. This allows better handling of such 'delayed'
VM status transitions as
ACTIVE->[resize]->ACTIVE->RESIZING->VERIFY_RESIZE->[confirm]->
->VERIFY_RESIZE->ACTIVE
It might also make it easier later to plug a user notification in
verify_resize instead of optimistically confirming it.
- rebuild/resize and interface attach/detach are also made more resilent,
tolerating intermittent API failures, allowing update logic
to retry API call later.
- Instance.handle_update was refactored similar to Server resource,
with building tasks for update moved to separate private methods.
Reviewed: https:/ /review. openstack. org/204248 /git.openstack. org/cgit/ openstack/ heat/commit/ ?id=a1819ff0696 635c516d0eb1c59 fa4f70cae27d65
Committed: https:/
Submitter: Jenkins
Branch: master
commit a1819ff0696635c 516d0eb1c59fa4f 70cae27d65
Author: Pavlo Shchelokovskyy <email address hidden>
Date: Tue Jul 21 23:08:00 2015 +0300
Do not use rich objects is servers update
- Use new ServerUpdatePro gress tasks that support delayed >[resize] ->ACTIVE- >RESIZING- >VERIFY_ RESIZE- >[confirm] -> >VERIFY_ RESIZE- >ACTIVE handle_ update was refactored similar to Server resource,
API calls (not only checks).
As this new task imposes restrictions on compute plugin API,
move all Server*Progress classes to new, plugin-agnostic module.
Simple unit tests for this class added.
- Changed logic in Nova client plugin to not use scheduler tasks.
- Moved server interface attach/detach to Nova client plugin.
- Split resize in two distinct methods 'resize' and 'verify_resize',
with their own checkers. This allows better handling of such 'delayed'
VM status transitions as
ACTIVE-
-
It might also make it easier later to plug a user notification in
verify_resize instead of optimistically confirming it.
- rebuild/resize and interface attach/detach are also made more resilent,
tolerating intermittent API failures, allowing update logic
to retry API call later.
- Instance.
with building tasks for update moved to separate private methods.
Change-Id: Ic78adf878aac09 e56f5c50052ee78 bdf5b11aa21
Partial-Bug: #1393268