Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation #1704

Merged
merged 100 commits into from
Mar 13, 2018
Merged

Documentation #1704

merged 100 commits into from
Mar 13, 2018

Conversation

qlyoung
Copy link
Member

@qlyoung qlyoung commented Feb 2, 2018

  • Convert user docs to RST
  • Convert developer docs to RST
  • Convert manpages to RST
  • Organize docs
  • Update & clean manpages
  • Update Makefile.am
  • Add documentation build instructions to docs

I have built PDF and HTML version of the docs which you can preview here:
http://45.33.5.119/

Docs on how to build the docs can be found in the docs:
http://45.33.5.119/dev-guide/workflow.html#documentation

I am sure there are some minor mistakes left over since I ended up manually translating Texinfo to RST. It builds cleanly in Sphinx, any nits I will solve incrementally in later PRs.

* Move doc/code/ -> doc/developer/
* Move disparate code documentation to doc/developer/
* Convert Markdown docs to reStructuredText
* Organize docs into Sphinx tree
* Move build docs -> doc/developer/
* Change build doc titles to fit under Building subsection of manual

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Update, embellish, clarify.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* Add chapter on BGPD
* Add diagram for git workflow
* Convert next-hop tracking documents to ReST
* Update & organize workflow document
* Move ldpd docs back up to the parent directory

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Lou wrote his own clause so we're using that one

This reverts commit 558669e.
Missed hidden files when shuffling things around. Restore David's
makefiles & gitignore.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Automatically translated all Texinfo files to RST using a script found
on the GCC mailing list[0]. Some formatting manually corrected.

Also created index.rst for building as well as boilerplate Sphinx
conf.py and Makefile.

[0] https://gcc.gnu.org/ml/gcc-patches/2015-11/msg01095.html

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Manual cleanup from leftover texi -> rst

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
The old Texi docs had some Makefile-style variable substitutions they
used to pull in information like release date, configured install path,
etc. Sphinx has this ability as well, we start making use of it here.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Will probably need more cleanup.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
In conf.py, extract & construct values for inline variables throughout
the docs. In the docs, use these inline variables in RST syntax.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Just reading through the docs and fixing bugs as I go.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
This is an incomplete stub of a chapter and goes under BGP docs anyway.
Also fix an include statement for RPKI.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
accidentally removed in older commit

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
This name hasn't made sense for a long time.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Don't need these in RST

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Use program and option directives for CLI options

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
* Use new 'clicmd' directive / role
* Convert old style range syntax to new style

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
@FRRouting FRRouting deleted a comment from NetDEF-CI Mar 7, 2018
@FRRouting FRRouting deleted a comment from NetDEF-CI Mar 7, 2018
@FRRouting FRRouting deleted a comment from NetDEF-CI Mar 7, 2018
@FRRouting FRRouting deleted a comment from NetDEF-CI Mar 7, 2018
@FRRouting FRRouting deleted a comment from NetDEF-CI Mar 7, 2018
@FRRouting FRRouting deleted a comment from NetDEF-CI Mar 7, 2018
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
@FRRouting FRRouting deleted a comment from NetDEF-CI Mar 7, 2018
@NetDEF-CI
Copy link
Collaborator

Continuous Integration Result: SUCCESSFUL

Congratulations, this patch passed basic tests

Tested-by: NetDEF / OpenSourceRouting.org CI System

CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2800/

This is a comment from an EXPERIMENTAL automated CI system.
For questions and feedback in regards to this CI system, please feel free to email
Martin Winter - mwinter (at) opensourcerouting.org.


CLANG Static Analyzer Summary

  • Github Pull Request 1704, comparing to Git base SHA 1708ca5

No Changes in Static Analysis warnings compared to base

19 Static Analyzer issues remaining.

See details at
https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2800/artifact/shared/static_analysis/index.html

@qlyoung
Copy link
Member Author

qlyoung commented Mar 8, 2018

@louberger I have addressed 1 and 2. Please verify. I don't think 3 should block the PR, we can update the doc contents later after the proper solution has been determined.

@FRRouting FRRouting deleted a comment from LabN-CI Mar 9, 2018
@louberger
Copy link
Member

@qlyoung
WRT 1: I have a nit level clean up of this (SPHINXBUILD not checked on make clean) do you want me to send it to you or just push it to the PR?

@louberger
Copy link
Member

@qlyoung
WRT 2: several targets are always rebuild vs using the already produced files in _build

'
/usr/bin/sphinx-build2.7 -b man -d _build/doctrees . _build/man
Running Sphinx v1.1.3
loading pickled environment... done
building [man]: all manpages
updating environment: 0 added, 0 changed, 0 removed
looking for now-outdated files... none found
writing... bgpd.8 { } eigrpd.8 { } ospf6d.8 { } ospfd.8 { } isisd.8 { } ospfclient.8 { } ldpd.8 { } nhrpd.8 { } pimd.8 { } mtracebis.8 { } ripd.8 { } ripngd.8 { } zebra.8 { } watchfrr.8 { } vtysh.1 { } frr.1 { }
build succeeded.

Build finished. The manual pages are in _build/man.
make[3]: Leaving directory .../doc/manpages' Making install in user make[3]: Entering directory .../tmp/doc/user'
/usr/bin/sphinx-build2.7 -b texinfo -d _build/doctrees . _build/texinfo
Running Sphinx v1.1.3
loading pickled environment... done
building [texinfo]: all documents
updating environment: 0 added, 0 changed, 0 removed
looking for now-outdated files... none found
processing frr.texi... index overview installation basic vtysh filter routemap ipv6 kernel snmp zebra protocol bgp babeld eigrpd isisd nhrpd ospfd ospf6d pim ripd ripngd vnc glossary appendix
resolving references...
writing... done
'

@louberger
Copy link
Member

@qlyoung WRT 3: I'll talk to martin and come back with a proposed fix. One of us can add it to the PR

@louberger
Copy link
Member

New issue (#4): parallel makes sometimes fail. I reproduced using and 8 core machine and 'make -j 8' on a clean build, Note it doesn't always fail!

this is output after a make clean:

make[3]: Entering directory `.../doc/user'
/usr/bin/sphinx-build2.7 -b texinfo -d _build/doctrees . _build/texinfo
/usr/bin/sphinx-build2.7 -b html -d _build/doctrees . _build/html
Making output directory...
Running Sphinx v1.1.3
Making output directory...
Running Sphinx v1.1.3
loading pickled environment... not yet created
loading pickled environment... not yet created
building [texinfo]: all documents
updating environment: 26 added, 0 changed, 0 removed
building [html]: targets for 26 source files that are out of date
updating environment: 26 added, 0 changed, 0 removed
reading sources... [100%] zebra
looking for now-outdated files... none found
pickling environment...
looking for now-outdated files... none found
pickling environment... done
checking consistency... .../doc/user/snmptrap.rst:: WARNING: document isn't included in any toctree
done
preparing documents...
Exception occurred:
WARNING: html_favicon is not an .ico file
done
File "/usr/lib/python2.7/site-packages/sphinx/util/osutil.py", line 104, in movefile
os.rename(source, dest)
OSError: [Errno 2] No such file or directory
The full traceback has been saved in /tmp/sphinx-err-0yqH0f.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
Either send bugs to the mailing list at http://groups.google.com/group/sphinx-dev/,
or report them in the tracker at http://bitbucket.org/birkenfeld/sphinx/issues/. Thanks!
make[3]: *** [info] Error 1
make[3]: *** Waiting for unfinished jobs....
writing output... [100%] zebra
writing additional files... genindex search
copying images... [100%] ../figures/fig-rs-processing.png
copying static files... done
dumping search index... done
dumping object inventory... done
build succeeded, 2 warnings.

Build finished. The HTML pages are in _build/html.

Sphinx is not designed to be run in parallel and exhibits filesystem race
conditions if it is. Disable parallel build.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Since docs are rebuilt on every make invocation, don't bother building html by
default to save a bit of time.

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
@qlyoung
Copy link
Member Author

qlyoung commented Mar 9, 2018

@louberger Regarding 2, I noticed that, the Sphinx generated makefile always rebuilds them. It is slightly inefficient (couple extra seconds on the build time) but it keeps the makefile tree much cleaner, easier to understand and closer to the canonical Sphinx system. Right now I have html, info and man targets built by default; turning off html should make the overhead of unconditional rebuilds marginal.

For the parallel issue it looks like this is not a supported mode of Sphinx; while it supports building each target in parallel itself, building multiple targets in parallel causes filesystem race conditions as per sphinx-doc/sphinx#2946. I therefore disabled parallel make in the doc directory.

@LabN-CI
Copy link
Collaborator

LabN-CI commented Mar 9, 2018

💚 Basic BGPD CI results: SUCCESS, 0 tests failed

Results table
_ _
Result SUCCESS git merge/1704 d47ae3d
Date 03/09/2018
Start 11:15:13
Finish 11:38:13
Run-Time 23:00
Total 1816
Pass 1816
Fail 0
Valgrind-Errors 0
Valgrind-Loss 0
Details vncregress-2018-03-09-11:15:13.txt
Log autoscript-2018-03-09-11:15:59.log.bz2

For details, please contact louberger

@NetDEF-CI
Copy link
Collaborator

Continuous Integration Result: SUCCESSFUL

Congratulations, this patch passed basic tests

Tested-by: NetDEF / OpenSourceRouting.org CI System

CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2823/

This is a comment from an EXPERIMENTAL automated CI system.
For questions and feedback in regards to this CI system, please feel free to email
Martin Winter - mwinter (at) opensourcerouting.org.


CLANG Static Analyzer Summary

  • Github Pull Request 1704, comparing to Git base SHA 1708ca5

No Changes in Static Analysis warnings compared to base

19 Static Analyzer issues remaining.

See details at
https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2823/artifact/shared/static_analysis/index.html

Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
@LabN-CI
Copy link
Collaborator

LabN-CI commented Mar 13, 2018

💚 Basic BGPD CI results: SUCCESS, 0 tests failed

Results table
_ _
Result SUCCESS git merge/1704 6d16f23
Date 03/13/2018
Start 13:20:13
Finish 13:43:38
Run-Time 23:25
Total 1813
Pass 1813
Fail 0
Valgrind-Errors 0
Valgrind-Loss 0
Details vncregress-2018-03-13-13:20:13.txt
Log autoscript-2018-03-13-13:21:06.log.bz2

For details, please contact louberger

@NetDEF-CI
Copy link
Collaborator

Continuous Integration Result: SUCCESSFUL

Congratulations, this patch passed basic tests

Tested-by: NetDEF / OpenSourceRouting.org CI System

CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2869/

This is a comment from an EXPERIMENTAL automated CI system.
For questions and feedback in regards to this CI system, please feel free to email
Martin Winter - mwinter (at) opensourcerouting.org.


CLANG Static Analyzer Summary

  • Github Pull Request 1704, comparing to Git base SHA c1a0038

No Changes in Static Analysis warnings compared to base

19 Static Analyzer issues remaining.

See details at
https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2869/artifact/shared/static_analysis/index.html

@qlyoung qlyoung dismissed louberger’s stale review March 13, 2018 20:11

All blocking concerns resolved

mwinter-osr and others added 2 commits March 13, 2018 17:11
Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
@NetDEF-CI
Copy link
Collaborator

Continuous Integration Result: SUCCESSFUL

Congratulations, this patch passed basic tests

Tested-by: NetDEF / OpenSourceRouting.org CI System

CI System Testrun URL: https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2872/

This is a comment from an EXPERIMENTAL automated CI system.
For questions and feedback in regards to this CI system, please feel free to email
Martin Winter - mwinter (at) opensourcerouting.org.


CLANG Static Analyzer Summary

  • Github Pull Request 1704, comparing to Git base SHA c1a0038

No Changes in Static Analysis warnings compared to base

19 Static Analyzer issues remaining.

See details at
https://ci1.netdef.org/browse/FRR-FRRPULLREQ-2872/artifact/shared/static_analysis/index.html

@mwinter-osr mwinter-osr merged commit 2cdb3ad into FRRouting:master Mar 13, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants