Add manual for mark-host-down 57/1457/6
authorTomi Juvonen <tomi.juvonen@nokia.com>
Thu, 10 Sep 2015 08:28:53 +0000 (11:28 +0300)
committerTomi Juvonen <tomi.juvonen@nokia.com>
Mon, 21 Sep 2015 11:02:04 +0000 (14:02 +0300)
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>
Makefile
manuals/mark-host-down_manual.rst [new file with mode: 0644]

index 884c0fe..888d158 100644 (file)
--- 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 (file)
index 0000000..499644f
--- /dev/null
@@ -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