summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomi Juvonen <tomi.juvonen@nokia.com>2015-09-10 11:28:53 +0300
committerTomi Juvonen <tomi.juvonen@nokia.com>2015-09-21 14:02:04 +0300
commit4f5c6554aa85e3516315828241270be9447f7a3e (patch)
treee6dae0381ea3bda02cd934cc00b6f70bf3d4afc8
parent853ed1577c3e87318b8b8f2adb4210f5a5d7459f (diff)
Add manual for mark-host-down
Manual added for blueprints: https://blueprints.launchpad.net/nova/+spec/mark-host-down https://blueprints.launchpad.net/python-novaclient/+spec/support-force-down-service Jira: DOCTOR-30 Change-Id: I44576303ca513904b3829faa7804c0f5e2396f1e Signed-off-by: Tomi Juvonen <tomi.juvonen@nokia.com>
-rw-r--r--Makefile9
-rw-r--r--manuals/mark-host-down_manual.rst109
2 files changed, 116 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 884c0fe8..888d158e 100644
--- a/Makefile
+++ b/Makefile
@@ -1,13 +1,18 @@
BUILDDIR := build
DESIGN_DOCS = $(wildcard design_docs/*.rst)
+MANUALS = $(wildcard manuals/*.rst)
-.PHONY: clean html pdf bps all
+.PHONY: clean html pdf bps man all
-all: bps html pdf
+all: man bps html pdf
clean:
rm -rf $(BUILDDIR)/*
+man: | $(BUILDDIR)
+ mkdir -p $(BUILDDIR)/manuals
+ $(foreach f,$(MANUALS),rst2html.py $(f) $(BUILDDIR)/$(f:.rst=.html);)
+
bps: $(DESIGN_DOCS) | $(BUILDDIR)
mkdir -p $(BUILDDIR)/design_docs
$(foreach f,$(DESIGN_DOCS),rst2html.py $(f) $(BUILDDIR)/$(f:.rst=.html);)
diff --git a/manuals/mark-host-down_manual.rst b/manuals/mark-host-down_manual.rst
new file mode 100644
index 00000000..499644f7
--- /dev/null
+++ b/manuals/mark-host-down_manual.rst
@@ -0,0 +1,109 @@
+OpenStack NOVA API for marking host down.
+
+Related Blueprints:
+
+ https://blueprints.launchpad.net/nova/+spec/mark-host-down
+ https://blueprints.launchpad.net/python-novaclient/+spec/support-force-down-service
+
+What the API is for
+
+ This API will give external fault monitoring system a possibility of telling
+ OpenStack Nova fast that compute host is down. This will immediately enable
+ calling of evacuation of any VM on host and further enabling faster HA
+ actions.
+
+What this API does
+
+ In OpenStack the nova-compute service state can represent the compute host
+ state and this new API is used to force this service down. It is assumed
+ that the one calling this API has made sure the host is also fenced or
+ powered down. This is important, so there is no chance same VM instance will
+ appear twice in case evacuated to new compute host. When host is recovered
+ by any means, the external system is responsible of calling the API again to
+ disable forced_down flag and let the host nova-compute service report again
+ host being up. If network fenced host come up again it should not boot VMs
+ it had if figuring out they are evacuated to other compute host. The
+ decision of deleting or booting VMs there used to be on host should be
+ enhanced later to be more reliable by Nova blueprint:
+ https://blueprints.launchpad.net/nova/+spec/robustify-evacuate
+
+REST API for forcing down:
+
+ Parameter explanations:
+ tenant_id: Identifier of the tenant.
+ binary: Compute service binary name.
+ host: Compute host name.
+ forced_down: Compute service forced down flag.
+ token: Token received after successful authentication.
+ service_host_ip: Serving controller node ip.
+
+ request:
+ PUT /v2.1/{tenant_id}/os-services/force-down
+ {
+ "binary": "nova-compute",
+ "host": "compute1",
+ "forced_down": true
+ }
+
+ response:
+ 200 OK
+ {
+ "service": {
+ "host": "compute1",
+ "binary": "nova-compute",
+ "forced_down": true
+ }
+ }
+
+ Example:
+ curl -g -i -X PUT http://{service_host_ip}:8774/v2.1/{tenant_id}/os-services
+ /force-down -H "Content-Type: application/json" -H "Accept: application/json
+ " -H "X-OpenStack-Nova-API-Version: 2.11" -H "X-Auth-Token: {token}" -d '{"b
+ inary": "nova-compute", "host": "compute1", "forced_down": true}'
+
+CLI for forcing down:
+
+ nova service-force-down <hostname> nova-compute
+
+ Example:
+ nova service-force-down compute1 nova-compute
+
+REST API for disabling forced down:
+
+ Parameter explanations:
+ tenant_id: Identifier of the tenant.
+ binary: Compute service binary name.
+ host: Compute host name.
+ forced_down: Compute service forced down flag.
+ token: Token received after successful authentication.
+ service_host_ip: Serving controller node ip.
+
+ request:
+ PUT /v2.1/{tenant_id}/os-services/force-down
+ {
+ "binary": "nova-compute",
+ "host": "compute1",
+ "forced_down": false
+ }
+
+ response:
+ 200 OK
+ {
+ "service": {
+ "host": "compute1",
+ "binary": "nova-compute",
+ "forced_down": false
+ }
+ }
+
+ Example:
+ curl -g -i -X PUT http://{service_host_ip}:8774/v2.1/{tenant_id}/os-services
+ /force-down -H "Content-Type: application/json" -H "Accept: application/json
+ " -H "X-OpenStack-Nova-API-Version: 2.11" -H "X-Auth-Token: {token}" -d '{"b
+ inary": "nova-compute", "host": "compute1", "forced_down": false}'
+
+CLI for disabling forced down:
+ nova service-force-down --unset <hostname> nova-compute
+
+ Example:
+ nova service-force-down --unset compute1 nova-compute