Skip to content

Commit 8835198

Browse files
sdaguemelwitt
authored andcommitted
Update api-guide and api-ref to be clear about forced-down
Closes-Bug: #1691871 Related-Bug: #1784826 Change-Id: Ifc6f1549d88a1b7d9f6e25c962c8a15dd8e180fb
1 parent df3dd2b commit 8835198

File tree

3 files changed

+49
-15
lines changed

3 files changed

+49
-15
lines changed

api-guide/source/general_info.rst

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,10 @@ on compute hosts rather than servers.
182182

183183
- **Services Actions**
184184

185+
.. note::
186+
The services actions described in this section apply only to
187+
**nova-compute** services.
188+
185189
- **enable, disable, disable-log-reason**
186190

187191
The service can be disabled to indicate the service is not available anymore.
@@ -196,13 +200,24 @@ on compute hosts rather than servers.
196200
.. note::
197201
This action is enabled in microversion 2.11.
198202

199-
This action allows you set the state of service down immediately. Actually
200-
Nova only provides the health monitor of service status, there isn't any
201-
guarantee about health status of other parts of infrastructure, like the
202-
health status of data network, storage network and other components. The
203-
more complete health monitor of infrastructure is provided by external
204-
system normally. An external health monitor system can mark the service
205-
down for notifying the fault.
203+
This action allows you set the state of service down immediately. Nova
204+
only provides a very basic health monitor of service status, there isn't
205+
any guarantee about health status of other parts of infrastructure, like
206+
the health status of data network, storage network and other
207+
components.
208+
209+
If you have a more extensive health monitoring system external to Nova,
210+
and know that the service in question is dead (and disconnected from the
211+
network), this can be used to tell the rest of Nova it can trust that this
212+
service is never coming back, and allow actions such as evacuate.
213+
214+
.. warning::
215+
216+
This must *only* be used if you have fully fenced the service in
217+
question, and that it can never send updates to the rest of the
218+
system. This can be done by powering off the node or completely
219+
isolating its networking. If you force-down a service that is not
220+
fenced you can corrupt the VMs that were running on that host.
206221

207222
- **Hosts**
208223

api-ref/source/os-services.inc

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,16 @@ Update Forced Down
195195

196196
.. rest_method:: PUT /os-services/force-down
197197

198-
Set or unset ``forced_down`` flag for the service.
198+
Set or unset ``forced_down`` flag for the service. ``forced_down`` is a manual
199+
override to tell nova that the service in question has been fenced manually by
200+
the operations team (either hard powered off, or network unplugged). That
201+
signals that it is safe to proceed with ``evacuate`` or other operations that
202+
nova has safety checks to prevent for hosts that are up.
203+
204+
.. warning::
205+
206+
Setting a service forced down without completely fencing it will likely
207+
result in the corruption of VMs on that host.
199208

200209
Action ``force-down`` available as of microversion 2.11.
201210

api-ref/source/parameters.yaml

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3085,8 +3085,9 @@ force_snapshot:
30853085
forced_down_2_11:
30863086
description: |
30873087
Whether or not this service was forced down manually by an
3088-
administrator. This value is useful to know that some 3rd party has
3089-
verified the service should be marked down.
3088+
administrator after the service was fenced. This value is useful
3089+
to know that some 3rd party has verified the service should be
3090+
marked down.
30903091
in: body
30913092
required: true
30923093
type: boolean
@@ -3095,9 +3096,17 @@ forced_down_2_11:
30953096
# PUT /os-services/{service_id} added in 2.53.
30963097
forced_down_2_53_in:
30973098
description: |
3098-
Whether or not this service was forced down manually by an
3099-
administrator. This value is useful to know that some 3rd party has
3100-
verified the service should be marked down.
3099+
``forced_down`` is a manual override to tell nova that the service in
3100+
question has been fenced manually by the operations team (either hard
3101+
powered off, or network unplugged). That signals that it is safe to proceed
3102+
with ``evacuate`` or other operations that nova has safety checks to
3103+
prevent for hosts that are up.
3104+
3105+
.. warning::
3106+
3107+
Setting a service forced down without completely fencing it will likely
3108+
result in the corruption of VMs on that host.
3109+
31013110
in: body
31023111
required: false
31033112
type: boolean
@@ -3106,8 +3115,9 @@ forced_down_2_53_in:
31063115
forced_down_2_53_out:
31073116
description: |
31083117
Whether or not this service was forced down manually by an
3109-
administrator. This value is useful to know that some 3rd party has
3110-
verified the service should be marked down.
3118+
administrator after the service was fenced. This value is useful
3119+
to know that some 3rd party has verified the service should be
3120+
marked down.
31113121
in: body
31123122
required: true
31133123
type: boolean

0 commit comments

Comments
 (0)