Fencing requirement. 09/1909/3
authorTomi Juvonen <tomi.juvonen@nokia.com>
Wed, 23 Sep 2015 06:45:06 +0000 (09:45 +0300)
committerTomi Juvonen <tomi.juvonen@nokia.com>
Tue, 24 Nov 2015 05:18:46 +0000 (07:18 +0200)
Update requirement documentation about fencing.

Change-Id: I3c0b4aaaa31c3eb958efc5cc483821ce96082aa8
Jira: DOCTOR-10

Makefile
requirements/03-architecture.rst

index 884c0fe..1e06ef3 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,26 +1,44 @@
 BUILDDIR := build
+PUBLICDIR := public
 DESIGN_DOCS = $(wildcard design_docs/*.rst)
+MANUALS = $(wildcard manuals/*.rst)
 
-.PHONY: clean html pdf bps all
+.PHONY: clean html pdf bps man all public
 
-all: bps html pdf
+define index
+       rm -f $1/index.html
+       find $1 -type f | while read a; do echo "<li><a href=$${a#$1/}>$${a#$1/}</a></li>" >> $1/index.html; done
+endef
+
+all: man bps html pdf
+       $(call index,$(BUILDDIR))
+
+public:
+       rm -rf $(PUBLICDIR)
+       mkdir -p $(PUBLICDIR)
+       cp -r $(BUILDDIR)/manuals $(PUBLICDIR)/
+       cp -r $(BUILDDIR)/design_docs $(PUBLICDIR)/
+       cp -r $(BUILDDIR)/requirements/html $(PUBLICDIR)/
+       cp -r $(BUILDDIR)/requirements/latex/*.pdf $(PUBLICDIR)/
+       $(call index,$(PUBLICDIR))
 
 clean:
        rm -rf $(BUILDDIR)/*
 
-bps: $(DESIGN_DOCS) | $(BUILDDIR)
+man:
+       mkdir -p $(BUILDDIR)/manuals
+       $(foreach f,$(MANUALS),rst2html.py $(f) $(BUILDDIR)/$(f:.rst=.html);)
+
+bps: $(DESIGN_DOCS)
        mkdir -p $(BUILDDIR)/design_docs
        $(foreach f,$(DESIGN_DOCS),rst2html.py $(f) $(BUILDDIR)/$(f:.rst=.html);)
 
-html: | $(BUILDDIR)
+html:
        sphinx-build -b html -c etc -d $(BUILDDIR)/doctrees \
            requirements $(BUILDDIR)/requirements/html
 
-pdf: | $(BUILDDIR)
+pdf:
        sphinx-build -b latex -c etc -d $(BUILDDIR)/doctrees \
            requirements $(BUILDDIR)/requirements/latex
        $(MAKE) -C $(BUILDDIR)/requirements/latex \
            LATEXOPTS='--interaction=nonstopmode' all-pdf
-
-$(BUILDDIR):
-       mkdir -p $(BUILDDIR)
index 1405548..9b618e0 100644 (file)
@@ -183,9 +183,18 @@ Without fencing -- when the perceived disconnection is due to some transient
 or partial failure -- the evacuation might lead into two identical instances
 running together and having a dangerous conflict.
 
-There is a cross-project effort in OpenStack ongoing to implement fencing. A
-general description of fencing in OpenStack is available here:
-https://wiki.openstack.org/wiki/Fencing_Instances_of_an_Unreachable_Host .
+There is a cross-project definition in OpenStack of how to implement
+fencing, but there has not been any progress. The general description is
+available here:
+https://wiki.openstack.org/wiki/Fencing_Instances_of_an_Unreachable_Host
+
+As OpenStack does not cover fencing it is in the responsibility of the Doctor
+project to make sure fencing is done by using tools like pacemaker and by
+calling OpenStack APIs. Only after fencing is done OpenStack resources can be
+marked as down. In case there are gaps in OpenStack projects to have all
+relevant resources marked as down, those gaps need to be identified and fixed.
+The Doctor Inspector component will be responsible of marking resources down in
+the OpenStack and back up if necessary.
 
 Recovery Action
 ^^^^^^^^^^^^^^^