summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile34
-rw-r--r--requirements/03-architecture.rst15
2 files changed, 38 insertions, 11 deletions
diff --git a/Makefile b/Makefile
index 884c0fe8..1e06ef3c 100644
--- 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)
diff --git a/requirements/03-architecture.rst b/requirements/03-architecture.rst
index 14055485..9b618e01 100644
--- a/requirements/03-architecture.rst
+++ b/requirements/03-architecture.rst
@@ -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
^^^^^^^^^^^^^^^