diff options
-rw-r--r-- | Makefile | 34 | ||||
-rw-r--r-- | requirements/03-architecture.rst | 15 |
2 files changed, 38 insertions, 11 deletions
@@ -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 ^^^^^^^^^^^^^^^ |