Commit Graph

39 Commits

Author SHA1 Message Date
Jose Idar 3b454756c7 Increments version number for release. Removes temporary setuptools version restriction
Change-Id: Ibf27f5386c683456ab9ecbe00d2dd8aed7d01738
2017-01-11 14:03:01 -06:00
Jenkins 65e7480dd0 Merge "Added workaround for issue affecting namespace plugins introduced by setuptools 31.0.0" 2017-01-04 21:15:02 +00:00
Jose Idar b53ad3f0b1 Added workaround for issue affecting namespace plugins introduced by setuptools 31.0.0
Change-Id: I510ce520e362ad10de93e2defb83429520acd140
2017-01-04 14:21:41 -06:00
Stephen Lowrie a47d0d1df0 Fix pep8 errors under new flake8
Change-Id: Iab6df427ddb91d1659e3206f6ef6edc6e6389fbe
2016-12-13 15:12:01 -06:00
Jose Idar cc8e307f7b Releasing OpenCAFE v0.3.1
Change-Id: I11a33b5074efbeafec8eeea6bb7286910dd29398
2016-06-29 14:45:57 -05:00
Jose Idar 2724e826a3 Releasing OpenCAFE v0.3.0
Change-Id: I7b37a8a2c3b8aa2aa88c49cd3813a13b3260ea05
2016-05-10 18:13:24 -05:00
Jose Idar 75039a8cc4 Adds new Brew file runner.
* Generates suites from test-containing classes,
    unittest.TestSuite-derived classes (Fixtures), and
    opencafe DatasetList classes as defined in a flat text file
    called a 'brew' (runfile).
  * Adds brew package in cafe.drivers.unittest
  * Adds arguments, parser and runner modules in brew
    package.
  * Adds examples directory in repository root directory
  * Adds example brewfile in examples directory
  * Adds new 'cafe-brew' entry point to setup.py
  * Adds unittests for brew package

Change-Id: I379c5b2c4bdf17bc49ce055ef4600b38a72a1140
2016-05-10 11:55:20 -05:00
Jose Idar 0a7a3940e6 Releasing OpenCAFE v0.2.6
Change-Id: I402a466a23f0874a7c129956deffc2bacd7158fd
2016-04-22 15:50:52 -05:00
Nathan Buckner 3ed77c8600 Removing dependency added when checking in sshv2
Dependency was added to wrong setup.py

Change-Id: I11103d83dbb608788768c44578795d846cf8af40
2016-03-28 15:08:13 -05:00
Jose Idar 431a7b70a5 Increments opencafe to 0.2.5
Change-Id: I07b891e9a65a582c806f0bd6b0cd15d66d88ef5f
2016-03-21 15:02:17 -05:00
Nathan Buckner af6c42498b Create sshv2 client for compatibility with parallel runner
Change-Id: I5e80177859be74a869dd3d908f516d751258ae7c
2016-01-18 13:49:17 -06:00
Jose Idar 1d08989320 Updated setup
Change-Id: I5df3baddca141e978df7db142698fc01d8635b8c
2015-10-29 15:58:44 -05:00
Jose Idar 8e83dd5b7f opencafe 0.2.4 release
Change-Id: I0f449b9e383b70020789f6e315eb94353b5f6d5f
2015-10-23 15:52:36 -05:00
Jose Idar 09c3295e52 0.2.3 release
Change-Id: I0f6dc218d756664a2909e9d8072766446e714b06
2015-10-19 11:06:53 -05:00
Jose Idar d8a0dcb5e6 Modernize setup.py and add wheel support
* Incremented version to 0.2.2 for pypi release.
  * Removed all post-install hooks.  All initialization and configuration
    should be done through the cafe-config cli tool.
  * Added setup.cfg with support for universal bdist wheel.
  * Updated MANIFEST.in file.
  * Updated README.rst to reflect new install procedures.
  * Modified cafe-config so that initialization command is now just
      "cafe-config init".
  * Since the ".opencafe" directory is no longer initialized at install
    while access to the source code is guaranteed, the plugins are now
    distributed as package_data, and installed as such to site-packages
    under the new "plugins" directory within the "cafe" namespace.
  * The plugins directory is moved to the cafe package directory as
     package_data.
  * The plugin cache is no longer created at initialization, and all
    code relating to it in the cli.py and managers.py file has been
    removed.
  * Removed pip-requires file in favor of including the only requirement,
    'six', in setup.py.  The plan is to refactor so as to remove the
    dependency on six eventually.
  * Renamed test-requirements.txt to test-requires.
  * Added Authors.rst

Change-Id: I28a605f926ae5f2d972a6a36171d0e4eb92cac09
2015-10-11 22:15:08 -05:00
Jose Idar 4b63385ad4 Updating version to 0.2.1 for pypi release
Change-Id: I2922ef00959b5f663b66bf72ef1be4d1c1d40d3a
2015-08-13 10:35:58 -05:00
Nathan Buckner da5ce3f22a Move parallel runner plugin to core opencafe
Change-Id: I5008807d41584923d019db2cf7c75d46a3316b3d
2015-05-30 19:00:32 -05:00
Jose Idar 16e1f41873 Workaround for bug that prevents six from installing correctly
Change-Id: I1e374e98a810a15b20dee5efbef85df1aec29b4e
2015-05-20 14:29:12 -05:00
Jose Idar 885b3eda56 Updating tox flake8 ignores, and fixing minor pep issues
Change-Id: I73ef0dd4d267dc8d3f548aaae1a7f5ebc9fbd044
2015-02-16 16:06:24 -06:00
Malini Kamalambal 2416f8acd8 Make OpenCafe py2.6 compatible
This patch updates the OrderedDict import to be python 2.6
compatible. This is needed for downstream projects that use
Open Cafe and need to run with older versions of python.

Change-Id: I1d6ae1ee6d214adca8333d2f469a1366890ceaa7
2014-08-19 11:08:20 -04:00
Jose Idar 6943d4262b Changes pypi packagename to 'opencafe'. Adds plugins to sdist.
* Changed the package name to 'opencafe' so that it's
   pip installable under that name, instead of 'cafe'
 * Added recursive include on plugin directory in the MANIFEST.in
   file to make sure everything under the plugins directory gets
   included in the sdist when published.

Change-Id: Ia09686ff08c2c4ddda6aa60908f98bba3d4ff64c
2014-06-25 15:59:27 -05:00
Jose Idar 1f5f08db00 Setup.py cleanup for pypi release
* Incremented version to 0.2.0
 * Changed author to 'CafeHub'
 * Updated Development Status to 4 - Beta
 * Changed url to readthedocs page

Change-Id: I70074061ca144285dfb0d399fcca9bc28524bc41
2014-06-23 10:39:47 -05:00
John Vrbanac d53d54025b Fixing a couple copyright lines
Change-Id: I881be1b3d4f1a188c1e7e22a5f6663f17ff3eb5b
2014-05-15 21:53:20 -05:00
Nathan Buckner 9375aaea5c Readme to rst
Change-Id: I1a11fc5d62182a8440477c0365e40cb4b890987d
2014-04-28 16:31:53 -05:00
Jose Idar f7e4f0084a Fixes PEP8 issues as reported by tox and unittests
* Changes docstrings from single to double quotes.
 * Reformats multiline declarations with non-visual indentation.
 * Turns rsyslog resource into a plugin
 * Moves plugin-specific unittests into their respective plugins
 * Add tox support to plugins with tests

Change-Id: Ife172b165004c366ad64faa7c00afceb8e99c76d
2014-04-24 09:55:00 -05:00
John Vrbanac 0200b63c2b Moving unittest2 into conditional requires
Unittest2 is only needed for py26 and under. As we want to eventually
be able to make OpenCAFE Python 3 compatible, we need to keep back-
compatiblity requirements on a conditional level.

Change-Id: Id7fc4ede4c1aef84759e72be0fac28c86b1a09bc
2014-01-20 16:37:54 -06:00
John Vrbanac a6aa39cbfe Moving argparse require out of pip-requires
argparse is included in 2.7+. We should only be installing it
if we are running Python 2.6.

Side note, the argparse version in pip needs to be repackaged
to conform to pip 1.5+ standards. Otherwise, we need to also
look into adding workarounds for that as well.

:: edit ::
Changed my mind on where I wanted to put this.

Change-Id: Idfa8ca93b105aebbc3aecbddcca7caee97192912
2014-01-16 12:10:56 -06:00
John Vrbanac 382e6f12b1 Switching to namespaces to solve upgrade bug
Change-Id: I472abf44125a03702f0bab7ee10c4e37ff846ac1
2014-01-15 14:20:54 -06:00
John Vrbanac 7b82ee0e7f Taking a first stab at the plugin system
Jose and I taking a first stab at a plugin system for opencafe.
* Making more changes
* Adding simple docstring
* Cleaning up a plugin install a tiny bit
* Adding license to __init__.py files
* Adding Plugin List
* Adding note to the end of setup

Change-Id: Id0a61549f37ada7f9a254f8cc944957c4d2c4694
2014-01-13 18:54:47 -06:00
John Vrbanac 269d121f9d Adding a basic specter runner
Change-Id: I55434e6c1a6be69d615833001077b8c5076492d1
2013-11-07 02:22:49 -06:00
Daryl Walleck 670718ac23 Adds PyVows runner
* Implements and exposes a runner for the PyVows test
  framework

Change-Id: Ib9326a18d1a4480ebd7e82ff755ce35e034c90a6
2013-11-03 13:01:11 -06:00
Michael Jackson 65a34a61ea Initial Behave runner
Change-Id: I54aac57506d20be3325433037ff225c8b5e05b1f
2013-09-06 16:38:43 -05:00
Jose Idar 62db880df7 Engine configruation and env management overhaul
General Improvements:
* opencafe should fully support installation in a python virtualenv now
* upgrades from previous installs of opencafe should be much less error
  prone.
* Os environment variable name consistency:
  CAFE_ENGINE_CONFIG_FILE_PATH
  CAFE_ROOT_LOG_PATH
  CAFE_MASTER_LOG_FILE_NAME
  CAFE_DATA_DIR_PATH
  CAFE_TEST_REPO_PATH
  CAFE_TEST_LOG_PATH
  CAFE_CONFIG_FILE_PATH
  CAFE_LOGGING_VERBOSITY
  CAFE_TEST_REPO_PACKAGE

cafe/configurator/managers.py
* Added managers module as a repository for all engine and test
  environment, config, and directory management logic.
* Defines the new PlatformManager, TestEnvManager,
  EngineDirectoryManager, EngineConfigManager
  (and temporary UnittestRunnerTestEnvManager) classes

  PlatformManager
  * Adds helper methods for retrieving current user information in a
    platform agnostic way.
  * Support for windows and virtualenv under windows.

  TestEnvManager
  * Intended to act as a setup interface to make it easier for future
    runners or scripts to setup the environment variables, directories,
    and files used by the engine at test runtime. Defines properties
    for setting each of the enviornment variables that the engine can
    access.  By default, all values are set to the values present in the
    engine.config file.

  EngineDirectoryManager
  * Adds a mechanism for updating the opencafe default directory of
    existing installs to include any future changes.
  * Changes the default opencafe directory from .cloudcafe to .opencafe

  EngineConfigManager
  * Adds a mechanism for updating the engine.config of an existing
    opencafe install to include any future changes.
  * Moves engine.config file from .opencafe/configs to .opencafe/
  * CCTNG_ENGINE section name in engine.config changed to
    OPENCAFE_ENGINE
  * use_verbose_logging option changed to 'logging_verbosity'.
    Previous values of False and True where changed to 'STANDARD' or
    'VERBOSE' respectively.
  * default_test_repo option value in engine.config changed from
    'test_repo' to 'cloudroast'.
  * config_dir option was added to set the default location of an
    implementation's config files.  The config default is set to
    .opencafe/configs
  * master_log_file_name option was added as a way to configure the name
    of the file that the root log handler writes to by default.
    (This was previously configurable only via os environment variable)

  UnittestRunnerTestEnvManager
  * Added as a stop-gap to mitigate the need for a full refactor of the
    current unittest runner.  Once the unittest runner is refactored to
    use the TestEnvManager, this class will be deleted.

cafe/configurator/cli.py
* Added cli module to define a command line interface for engine
  configuration and management.
* CLI is Installed on the system as 'cafe-config'.
  Currently only supports running the engine's post-install
  initialization.

cafe/drivers/unittest/fixtures.py
* base fixture now gets the master log file name from the
  os environment via CAFE_MASTER_LOG_FILE_NAME
* statistics now gets the root directory for the statistics folder from
  the os environment via CAFE_ROOT_LOG_PATH

cafe/__init__.py
* Removed __version__ attribute and moved it's value to setup.py

cafe/common/reporting/cclogging.py
* The engine's logging module previously pulled it's defaults from
  a mixture of the engine's config (via hardcoded path) and the os env.
  cclogging now gets all configurable defaults from the os environment.
* log verbosity now configurable via the os environment variable
  'CAFE_LOGGING_VERBOSITY', which can be set to 'STANDARD' or 'VERBOSE'.
* The name of the file written to by the root log handler is now
  configurable via the os environment variable
  'CAFE_MASTER_LOG_FILE_NAME'.

cafe/engine/models/data_interfaces.py
* ConfigSectionInterface added to data_intterfaces.
* removed default_config_file property in favor of class global function
  _get_path_from_env to support the engine config's need to define it's
  own os environment variable as a source for the default engine
  config file.

cafe/resources/github/config.py
* Now imports ConfigSectionInterface from engine instead of cloudcafe.

cafe/resources/launchpad/config.py
* Now imports ConfigSectionInterface from engine instead of cloudcafe.

cafe/drivers/unittest/runner.py
* All changes made where neccessary to support changes in os
  environment variable names.  Further refactoring will be required to
  make the runner fully capitalize on the new features provided by the
  configurator managers.

cafe/engine/config.py
* No longer a copy-paste of the  entire BaseConfigSectionInterface
  (previously done to solve a circular import).  Now inherits from the
  newly added ConfigSectionInterface.

setup.py
* Moved post-install stuff into the configurator.
* Cleaner support for post-install scripts. (Monkeypatches
  setuptools.command.install instead of writing and checking for an
  install file.)

Change-Id: Ice766060a96f6e839b61f46f0fe67d5cbd1f1eba
2013-09-06 12:48:04 -05:00
Jose Idar b2f23857a7 Makes default test repo configurable via engine config. Sets config file default to 'cloudroast'
Change-Id: Ie14c26b35abe7405ee9b2bb318d1be96b08865cb
2013-07-16 13:13:16 -05:00
Daryl Walleck 75b3b7a341 Flake8 fixes for OpenCafe
* Removed unused imports
* Fixed invalid class name in linux_instance_client
* Fixed various pep8 issues

Change-Id: If269b7590f331a0d5cb11d4813bdf9b03dbbb417
2013-07-10 14:29:44 -05:00
John Vrbanac b6c7dcd3bd Fixing sudo user issue with virtualenvs
Change-Id: I1b590f6f1119b54ac816f8b5f93a9bf465dc07db
2013-05-31 13:17:59 -05:00
Daryl Walleck 59adc2d047 First pass of pep8 fixes
Change-Id: I9ca0ac539fa056d93c50bd4cf7c90cb950c7ef40
2013-04-22 23:05:05 -05:00
Daryl Walleck cde272db05 Allow pip install for Windows
* Modified setup.py to only change directory permissions for
  OSX/Linux installs

Change-Id: I3224abb0d591d98dac3e2461e3df7877782ca3ee
2013-04-05 19:56:44 -05:00
samu4924 c177eb7cce Initial Commit 2013-03-30 14:47:00 -05:00