[fedfs-utils] [PATCH 0/5] Introduce Python administrative tools

Chuck Lever chuck.lever at oracle.com
Tue Oct 29 12:41:46 PDT 2013


I'm introducing some important new features for 0.10 with this
series of patches.

 1. A "fedfs-domainroot" tool that can create and remove FedFS
    domain root exports on a Linux NFS server

 2. An "nsdb-jumpstart" tool that whips up an NSDB from a blank
    OpenLDAP install.  It can also enable TLS and create an x.509
    certificate that can be distributed to NSDB clients

 3. The pre-requisites for a new mechanism for NSDB clients to
    discover NCEs on NSDBs.  "nsdb-jumpstart" already adds this
    new mechansim, but the old mechanism (fedfsNceDN) still works
    too (since its the current standard).

 4. These tools are written in Python.  The next generation of FedFS
    administrative tools will be written in Python, so with this
    series I am introducing a foundation for Python in fedfs-utils
    by introducing the PyFedfs site package.

And note that this is all based on Python 2.7.

Within the next two years, most Linux distributions will be moving
to Python 3 by default, but they do not seem poised to remove Python
2.7 soon.  In particular, I expect the next release of RHEL (and
thus derivatives of RHEL) to continue to use Python 2.7 as the
default version.

Adding Python 3 support is unquestionably a future feature for
fedfs-utils, but for the time being I went with what I was familiar
with.

Since this is a large and complex set of patches, and because I will
be traveling next week, the comment period for these patches ends
Tuesday, November 12, 2013 at midnight ET.

---

Chuck Lever (5):
      schema: Add fedfsNsdbContainerEntry object class
      CheckInTests: Add check-in tests for fedfs-utils Python components
      src: Introduce Python FedFS module
      Add a script to configure domain roots
      Add a tool to administer a simple OpenLDAP-based NSDB


 .gitignore                           |    3 
 configure.ac                         |    6 
 doc/CheckInTests                     |    4 
 doc/ldap/fedfs-schema.ldif           |   13 +
 doc/ldap/fedfs.schema                |   11 +
 doc/man/Makefile.am                  |    3 
 doc/man/fedfs-domainroot.8           |  305 +++++++++++++++
 doc/man/nsdb-jumpstart.8             |  404 ++++++++++++++++++++
 src/Makefile.am                      |    2 
 src/PyFedfs/Makefile.am              |   31 ++
 src/PyFedfs/__init__.py              |   25 +
 src/PyFedfs/domainroot/Makefile.am   |   31 ++
 src/PyFedfs/domainroot/__init__.py   |   23 +
 src/PyFedfs/domainroot/addremove.py  |  175 +++++++++
 src/PyFedfs/domainroot/clean.py      |   86 ++++
 src/PyFedfs/domainroot/exports.py    |  173 +++++++++
 src/PyFedfs/domainroot/mounts.py     |  168 +++++++++
 src/PyFedfs/domainroot/parse_file.py |   54 +++
 src/PyFedfs/domainroot/paths.py      |   24 +
 src/PyFedfs/domainroot/status.py     |   61 +++
 src/PyFedfs/jumpstart/Makefile.am    |   31 ++
 src/PyFedfs/jumpstart/__init__.py    |   23 +
 src/PyFedfs/jumpstart/backup.py      |  186 +++++++++
 src/PyFedfs/jumpstart/cert.py        |   91 +++++
 src/PyFedfs/jumpstart/firewall.py    |   97 +++++
 src/PyFedfs/jumpstart/install.py     |  341 +++++++++++++++++
 src/PyFedfs/jumpstart/slapd.py       |  671 ++++++++++++++++++++++++++++++++++
 src/PyFedfs/jumpstart/status.py      |   78 ++++
 src/PyFedfs/jumpstart/transaction.py |  237 ++++++++++++
 src/PyFedfs/run.py                   |  335 +++++++++++++++++
 src/PyFedfs/userinput.py             |  105 +++++
 src/PyFedfs/utilities.py             |  134 +++++++
 src/domainroot/Makefile.am           |   40 ++
 src/domainroot/fedfs-domainroot.in   |  117 ++++++
 src/jumpstart/Makefile.am            |   40 ++
 src/jumpstart/nsdb-jumpstart.in      |  119 ++++++
 36 files changed, 4245 insertions(+), 2 deletions(-)
 create mode 100644 doc/man/fedfs-domainroot.8
 create mode 100644 doc/man/nsdb-jumpstart.8
 create mode 100644 src/PyFedfs/Makefile.am
 create mode 100644 src/PyFedfs/__init__.py
 create mode 100644 src/PyFedfs/domainroot/Makefile.am
 create mode 100644 src/PyFedfs/domainroot/__init__.py
 create mode 100644 src/PyFedfs/domainroot/addremove.py
 create mode 100644 src/PyFedfs/domainroot/clean.py
 create mode 100644 src/PyFedfs/domainroot/exports.py
 create mode 100644 src/PyFedfs/domainroot/mounts.py
 create mode 100644 src/PyFedfs/domainroot/parse_file.py
 create mode 100644 src/PyFedfs/domainroot/paths.py
 create mode 100644 src/PyFedfs/domainroot/status.py
 create mode 100644 src/PyFedfs/jumpstart/Makefile.am
 create mode 100644 src/PyFedfs/jumpstart/__init__.py
 create mode 100644 src/PyFedfs/jumpstart/backup.py
 create mode 100644 src/PyFedfs/jumpstart/cert.py
 create mode 100644 src/PyFedfs/jumpstart/firewall.py
 create mode 100644 src/PyFedfs/jumpstart/install.py
 create mode 100644 src/PyFedfs/jumpstart/slapd.py
 create mode 100644 src/PyFedfs/jumpstart/status.py
 create mode 100644 src/PyFedfs/jumpstart/transaction.py
 create mode 100644 src/PyFedfs/run.py
 create mode 100644 src/PyFedfs/userinput.py
 create mode 100644 src/PyFedfs/utilities.py
 create mode 100644 src/domainroot/Makefile.am
 create mode 100644 src/domainroot/fedfs-domainroot.in
 create mode 100644 src/jumpstart/Makefile.am
 create mode 100644 src/jumpstart/nsdb-jumpstart.in

-- 
Chuck Lever



More information about the fedfs-utils-devel mailing list