Metadata-Version: 1.1
Name: openlmi-tools
Version: 0.9.1
Summary: OpenLMI (non)interactive shell and meta-command
Home-page: http://fedorahosted.org/openlmi/
Author: Peter Hatina, Michal Minar
Author-email: phatina@redhat.com, miminar@redhat.com
License: GPLv2+
Description: openlmi-scripts
        ===============
        Client-side python modules and command line utilities.
        
        It comprises of one binary called `lmi` and a common library. `lmi`
        meta-command allows to run commands on a set of OpenLMI providers. These
        commands can be installed separately in a modular way.
        
        `lmi` is a command line application allowing to run single command on a set
        of hosts with just one statement from `shell` or it can run in an
        interactive way.
        
        For more information please refer to online documentation on [pythonhosted][]
        or build your own in `doc/` directory.
        
        Dependencies
        ------------
        Code base is written for `python 2.7`.
        There are following python dependencies:
        
         * python-docopt
        
        ### Uploading to PyPI
        Since *PyPI* expects README file to be in a *reStructuredText* markup
        language and the one present is written in *markdown*, it needs to be
        converted to it. So please make sure you have `pandoc` installed before
        running:
        
            $ python setup.py sdist upload
        
        Installation
        ------------
        Use standard `setuptools` script for installation:
        
            $ cd openlmi-scripts
            $ python setup.py install --user
        
        This installs just the *lmi meta-command* and client-side library. To install
        subcommands, you need to do the same procedure for each particular command
        under `commands/` directory.
        
        Script eggs are also available on *PyPI*, install them with:
        
            $ pip install --user openlmi-scripts
            $ # add any provider you want to interact with
            $ pip install --user openlmi-scripts-service openlmi-scripts-software
        
        Usage
        -----
        To get a help and see available commands, run:
        
            $ lmi help
        
        To get a help for particular command, run:
        
            $ lmi help service
        
        To issue single command on a host, run:
        
            $ lmi --host ${hostname} service list
        
        To start the app in interactive mode:
        
            $ lmi --host ${hostname}
            > service list --disabled
            ...
            > service start svnserve.service
            ...
            > quit
        
        Developing lmi scripts.
        -----------------------
        
        This documents how to quickly develop lmi scripts without the need to
        reinstall python eggs, when anything is changed. This presumes, that the
        development process takes place in a git repotory checked out from [git][].
        It can be located anywhere on system.
        
        Before we start with setting up an environment, please double check, that you
        don't have installed anything from openlmi-scripts in system path
        (`/usr/lib/python2.7/site-packages/lmi/scripts` should not exist). And make
        sure, that user path is also cleared:
        
            $ rm -rf $HOME/.local/lib/python2.7/site-packages/lmi*
            $ rm -rf $HOME/.local/lib/python2.7/site-packages/openlmi*
        
        Install all dependencies:
        
          * python-docopt
          * openlmi-python-base
          * openlmi-tools
        
        Either via rpms or from respective git repositories. For openlmi-python-base
        package contained in [providers-git][] repository the setup script is
        located at `src/python/setup.py`. In future these will be available from PyPi.
        
        Let's setup an environment:
        
          1. Create a workspace directory for current `$USER` (let's call it a `WSP`).
             This is a place, where our eggs and binaries will be "installed".
             It can be located anywhere, for example:
        
                $ WSP=~/.python_workspace
                $ mkdir $WSP
        
          2. Add workspace to your python path to make all modules installed there
             importable (you can add this to your `~/.bashrc`):
        
                $ export PYTHONPATH=$WSP:$PYTHONPATH
        
          3. Add workspace to your PATH, so the installed binaries can be run:
        
                $ export PATH=$WSP:$PATH
        
          4. Now let's "install" to our workspace. First `cd` to checked out
             openlmi-scripts repository.
          5. Install them and any commands you want -- possibly your own
        
                $ python setup.py develop --install-dir=$WSP
                $ for cmd in service storage; do
                >     pushd commands/$cmd
                >     python setup.py develop --install-dir=$WSP
                >     popd
                > done
        
        Now any change made to openlmi-scripts is immediately reflected in `lmi`
        meta-command.
        
        ------------------------------------------------------------------------------
        [git]:           https://github.com/openlmi/openlmi-scripts                 "openlmi-scripts"
        [providers-git]: https://fedorahosted.org/openlmi/browser/openlmi-providers "openlmi-providers"
        [pythonhosted]:  http://pythonhosted.org/openlmi-scripts/index.html         "python hosted"
        [PyPI]:          https://pypi.python.org/pypi/openlmi-tools                 "PyPI"
        
Platform: UNKNOWN
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: POSIX :: Linux
Classifier: Topic :: System :: Systems Administration
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.2
Classifier: Intended Audience :: Developers
Classifier: Environment :: Console
