43 Commits

Author SHA1 Message Date
Andras Kovi
7b6d76659a Fixes the Mistral Docker image
Refactored to make the docker stuff self contained and removed the
unnecessary files from the root directory. Also created a readme file to
concretize how this feature works.

Also added an example script to set up Mistral with MySQL.

Closes-Bug: #1585911

Change-Id: I7fbcccb9d7ad168c5391e71326b205d074ab01ab
Signed-off-by: Andras Kovi <akovi@nokia.com>
2016-05-27 13:26:05 +02:00
Renat Akhmerov
af5975eaf4 Enforcing upper constraints for tox test jobs
Co-Authored-By: Lingxian Kong <anlin.kong@gmail.com>
Change-Id: Ibe35586272f39d5c0bbf2cd4e3425b5f06e2b6ea
2016-05-21 12:24:35 +12:00
ravikiran
42ca859c27 Add Designate apis as mistral actions
Implement designate actions in Mistral, useful for automating the designate tasks

Change-Id: Id6f9d1c7a29530068be453a7c8c1fc607af23e91
Implements: blueprint designate-api-actions
2016-05-16 02:54:41 -04:00
Daryl Mowrer
812f1803a6 Add Mistral action pack
This patch adds support for calling Mistral v2 APIs as actions in
Mistral.

There will be at least two more patch sets for this blueprint to
fully support these changes.

Change-Id: I0226482ddee1573232663e124837deb8a1985df8
Implements: blueprint mistral-mistral-actions
2016-02-19 07:42:47 -06:00
Jenkins
5fe1d7c5e9 Merge "Added CORS support to Mistral" 2016-02-12 20:18:04 +00:00
Limor
6a0557f570 Add actions to expose OpenStack Barbican APIs
Add Barbican actions to Mistral

Change-Id: I5b8edf6d435e2e79b5ab4663df8fe72d09e1d346
Implements: blueprint support-barbican-actions
2016-02-09 08:50:55 +00:00
Michael Krotscheck
b57e1b0286 Added CORS support to Mistral
This adds the CORS support middleware to Mistral, allowing a deployer
to optionally configure rules under which a javascript client may
break the single-origin policy and access the API directly.

For Mistral, the CORS middleware was added directly to the wsgi factory.
Config generation and tests have also been provided.

OpenStack CrossProject Spec:
   http://specs.openstack.org/openstack/openstack-specs/specs/cors-support.html
Oslo_Middleware Docs:
   http://docs.openstack.org/developer/oslo.middleware/cors.html
OpenStack Cloud Admin Guide:
   http://docs.openstack.org/admin-guide-cloud/cross_project_cors.html
DocImpact: Add link to CORS configuration in admin cloud guide.

Change-Id: Ic8f2e257acb256d9ea99b66d2ed1dcfc8652ae89
2016-02-03 06:20:17 -08:00
Thomas Herve
f4b17331e4 Implement basic Zaqar queue operations
Add actions to post, pop and get messages from a Zaqar queue. As the
Zaqar client is built differently from other OpenStack modules, the
usual generator logic doesn't apply, we need to re-implement them
directly in the action

blueprint mistral-zaqar-integration

Change-Id: Ib9cc39a0053ad7c117e2fba4b3b64a216190567f
2016-02-03 09:10:18 +01:00
caoyue
2d58a9fd7e Remove unused logging import
it's obviously the code was copied from other place,
let's make it perfect.

Change-Id: Iebac30fe1240fe0c1f2849120e9566397ec73538
2016-01-15 12:42:47 +08:00
Dan Prince
3815c9ee35 Add support for OpenStack Swift actions
This patch adds support for all supported Swift v1 API
actions via Mistral.

Some updates are required to swiftclient before
can fully support it in tools/get_action_list.py.

Implements: blueprint swift-actions

Change-Id: Ie5de12a5eb921595be67b06fa68b29aee877ac6b
2016-01-11 08:29:48 -05:00
Dan Prince
652a748fce Add support for OpenStack Ironic Inspector actions
This patch adds support for all supported Ironic Inspector v1 API
actions via Mistral.

Some updates are required to python-ironic-inspector-client before
can fully support it in tools/get_action_list.py.

Implements: blueprint ironic-inspector-actions

Change-Id: I28c85a0354dd1880eed36bc4cee5a8051ac9d57b
Depends-On: 61f8de56a77187b87c3ae75c637a3aa9045f0beb
2015-12-10 19:39:59 -05:00
Dan Prince
97aaaa5c42 Run pep8 on some tools python files
Running pep8 on some of the python files in tools/ would
be useful/helpful during development.

Change-Id: I10e7cf7ca448e7498482bae90aa2255507413fce
2015-12-03 08:42:38 -05:00
Jenkins
50afccee0c Merge "Update install_venv.py so it says 'Mistral'" 2015-12-03 11:22:47 +00:00
Dan Prince
0eddd11d80 Add support for OpenStack Ironic actions
This patch adds support for all supported Ironic v1 API
actions via Mistral.

Implements: blueprint ironic-actions
Change-Id: Ib84caf28b7fe9f08bbaa8502b012132dff5dba58
2015-12-02 21:41:40 -05:00
Dan Prince
d9736d2881 Fix tools/get_action_list.py
This patch does several things:

 -fixes an issue where trove_base now uses the Manager class
  instead of HookableMixin. This would actually prevent
  tools/get_action_list.py from running any service...
  not just trove.

 -adds 'trove' to the list of supported services by
  using CLIENTS.keys() instead of the inline list
  where 'trove' was previously missing

 -The trove Client class now requires to arguments.

With these options I am again able to use get_action_list.py.

NOTE: The critical error here was actually the HookableMixin
exception in that it prevents you from using this tool with
other services.

Change-Id: I3207e1379101757b282260949a48d22fe193fe85
Closes-bug: #1521740
2015-12-02 21:39:52 -05:00
Dan Prince
241b7565e2 Update install_venv.py so it says 'Mistral'
It currently prints 'Nova' in messages when I
use run_tests.sh.

Change-Id: Ibd720bfa23ff8275b62fd66e19c75393daef9314
2015-12-01 15:19:28 -05:00
Bhaskar Duvvuri
56e62a5bee Add Trove to mistral actions
Implement Trove actions in mistral, useful for Trove automated backups

Change-Id: I638a7cad1d12d5e08a8a1741e72a75fd19d62233
Implements: blueprint trove-api-actions
2015-11-20 20:02:40 +05:30
Noa Koffman
1bdc39ed96 Add ceilometer action support
adding the action of ceilometer python client to mistral.

Change-Id: Icfb0fc6afa3cea5217493623079c8d25127957b5
Implements: blueprint mistral-ceilometer-actions
2015-11-18 07:57:33 +00:00
Jenkins
e642134fcf Merge "get_action_list: use novaclient.client.Client" 2015-09-15 08:36:01 +00:00
Christian Berendt
834a5eb3a0 get_action_list: improve generated JSON output
* use ',' instead of ', ' as separator, this way the trailing
  whitespaces at the end of a line will be removed

* use an indent of 8 instead of 4, this way it is possible to paste
  the generated JSON output into the mapping.json file

Change-Id: I5232490afabf5024e573109d3fc8ba3a6a003a47
2015-09-15 01:29:58 +02:00
Christian Berendt
8c90ee3b7b get_action_list: use novaclient.client.Client
This solves the following issue:

---snip---
UserWarning: 'novaclient.v2.client.Client' is not designed to be
initialized directly. It is inner class of novaclient. Please, use
'novaclient.client.Client' instead.
---snap---

Partial-bug: #1493576

Change-Id: Iceca8ccdfaa15108d3ea321ff164975f5f94ae95
2015-09-14 18:17:03 +02:00
Nikolay Mahotkin
d66d728dfe Fixing import error in sync_db.py
Closes-Bug: #1477092

Change-Id: I6cd9df2adca7f99ee6fdbaf396800001aed650ac
2015-07-22 14:25:05 +03:00
LingxianKong
a674853d62 Make use of graduated oslo.log module
* use oslo.log for logging functionality
* get rid of the file /mistral/openstack/common/log.py

Implements: blueprint mistral-log-enhancement
Partial-Bug: #1459188

Change-Id: I6b62cffda0a20b6caf59cc30bcc33c21ae1e5898
2015-06-09 17:38:19 +08:00
Nikolay Mahotkin
f34edb7e27 Make mistral use of oslo-config-generator
Change-Id: I01f36e4b0080e10b9d39a6adbfe4b6cd43957fc6
2015-05-26 13:06:09 +03:00
Nikolay Mahotkin
ec2935f7ed Adding script for retrieving OpenStack action list
* It is simple CLI tool.
 * Script now works fine for: Nova, Keystone,
   Glance, Heat and Cinder.
 * in case of Keystone, user must provide full
   auth_info and use v3 auth_url.

TODO:
 * Think on optimal way to do it for neutron.

Change-Id: I3ed144bd84a6fbd24dc518c17cd3962bf3af4caa
2015-04-24 11:00:07 +03:00
Nikolay Mahotkin
bb5d09b0e3 Create standard workflows and actions
* Standard workflows are creating during sync_db.sh
 * Standard workflows include:
     - std.create_instance
     - std.delete_instance
     (list will be extended in future)
 * Standard actions:
     - std.wait_ssh (needed for std.create_instance)
 * Make it possible to see these workflows from any project (global scope)
 * Small changes in sqlalchemy api and workflows_service

Partially implements blueprint mistral-multitenancy

Change-Id: I8a8ace40949b2b711a292aac94d7e6354d1dff9c
2014-10-10 12:46:40 +04:00
Christian Berendt
c06f8e7bec Use $(COMMAND) instead of COMMAND
The usage of $(COMMAND) shoud be preferred. Details can be
found at http://mywiki.wooledge.org/BashFAQ/082.

Also replaced two ` used in strings with '.

Change-Id: Ia729470c58da6fe2e505426bd5ce93214ec1f655
2014-09-30 15:17:04 +02:00
Nikolay Mahotkin
9c6fe87129 Add check on config file in sync_db script
Change-Id: Id8ce0ea35dd6bf05caca2e5133c855157e11c828
2014-09-11 13:25:46 +04:00
Nikolay Mahotkin
8d08152f33 Rename action_factory to action_manager
* action_factory is renamed to action_manager and
   is moved to services

Change-Id: Ib09e80809326c4006b4f97f06ff323c2fd664867
2014-09-05 15:32:15 +04:00
Nikolay Mahotkin
c5d442e6e4 Modify action_factory to store actions in DB
* Action factory register actions in DB at starting
 * Added script tools/sync_db.sh for sync with db
   (Updates system actions, it is required before
   first Mistral launch)
 * Changed init Mistral in devstack: we must do
   sync_db before the launching.

 * Since we have to write all actions in DB, unit
   test are also modified:
    * Now in tearDown() we don't drop db at all,
      but just delete all things except Actions.
    * Created heavy_init() method as a replacement
      setUpClass(), see comments in tests/base.py
    * Register actions operation is too much expensive
      operation so we create db and init actions in
      heavy_init() method.

TODO:
 * Provide executor info to construct action class in
   runtime using action_factory
 * Modify/write an instruction 'How to start Mistral'

Change-Id: If4416c4da5c05189126c109aa613a0303c1b7ef0
2014-09-05 15:32:12 +04:00
Kirill Izotov
6d035709a7 Replace oslo-incubator's db with standalone oslo.db
Change-Id: Id78149faefb7e458f7b11de1b2d71a03a8d56091
2014-07-28 18:01:57 +07:00
Winson Chan
c4a85ff431 Clean up configuration settings
Removed outdated configuration options from mistral.config. Used
cfg.CONF.import_opt in engine to avoid NoSuchOptError. Removed
the imports of mistral.config using importutils. Generated new
sample configuration file.

Change-Id: I4b5ea7ef2a9b6717e6f33256107409c228575048
Implements: blueprint mistral-config-cleanup
2014-06-09 16:50:11 -07:00
Jenkins
6ae9f0f094 Merge "Move tests to testr" 2014-06-04 17:03:35 +00:00
Nikolay Mahotkin
9cfc57fed3 Move tests to testr
* Restored tools/install_venv scripts

Implements bp mistral-speedup-tests

Change-Id: I25d4755d1f06a248fe1de87da19f42fecba63404
2014-06-04 14:58:29 +04:00
Nikolay Mahotkin
bcf85091b0 Restore script update_env_deps in tools
* update_env_deps was deleted. We need this script so it is restored.

Change-Id: I960258a75c2a73b17c1a2678ea79523cb93e9fa1
2014-05-30 16:14:23 +04:00
Winson Chan
59830a49f1 Sync code with oslo-incubator
Updated openstack-common.conf and remove outdated modules. Ran update script
in oslo-incubator to generate modules in the mistral/openstack and tools
directories. Sqlalchemy backend has changed significantly in oslo-incubator.
Refactored mistral db api to address these changes and updated the base test
class DbTestCase accordingly.

Change-Id: I61327c33c0c8bc616af5e7633634461a2d7ac691
Implements: blueprint mistral-sync-with-incubator
2014-05-29 15:07:15 -07:00
Sergey Kolekonov
1984b3ea54 Fix mistral tests
- corrected the path to tests
- removed check_api.sh script because it's not needed anymore
- made scripts executable

Change-Id: I2c6364e8ad4355b8b8565904d58773e8412bdf6d
2014-05-06 12:36:22 +04:00
Sergey Kolekonov
55b9dc53ea Added Devstack integration
- added devstack integration files
- added a simple api test (for the devstack-gate job)

Partial implements blueprint mistral-devstack-gate-job

Change-Id: Ibb859c5eda7719d0e046bf833a6eec69bcbeb8be
2014-04-29 15:24:23 +04:00
Nikolay Mahotkin
f00803f467 Add script to allow update dependencies in all envs
Change-Id: I75aa921607fb214d55205cc380749180e0991024
2014-03-14 14:41:48 +04:00
Renat Akhmerov
58407b6f94 Working on Data Flow (step 1)
* Refactored API layer so that we can work with 'context' as with a
 json object in underlying layers (DB, engine, etc.) rather than
 a string
* Added "context" parameter in all required places
* Added necessary Data Flow related properties to DB models
* Refactored and fixed a series of tests
* Minor formatting changes

TODO:
* Calculation of task incoming context
* Abstract interface for expression evaluator
* Data Flow related tests

Partially implements blueprint: mistral-dataflow

Change-Id: Ie7f94d79265e9861f7ad15c76ff6d788ec62b683
2014-02-25 12:27:43 +07:00
Renat Akhmerov
039e899d8b Adding REST API application skeleton based on pecan/wsme
* Adding required dependencies to use and test pecan/wsme app
* Adding additional modules from oslo-incubator
* Adding configuration files mistral.conf and specific file
 loggin.conf for logging
* Adding dependencies for testing: fixtures, testtools, mock
* Updating tox.ini to run nosetests for py26 and py27 environments

Change-Id: I4fd63820aaaf3b50fb1c981031f60faa68a6d307
2013-11-27 19:34:43 +07:00
Renat Akhmerov
04903b823e Add .gitreview, setup.py and other infrastructure.
* .gitreview
* Disutils files
* tox configuration
* add .venv to ignore
* "mistral" package
* Sphinx documentation skeleton

Change-Id: I1d9aa5105b0dbc458665e9b16fd84826a18a36bf
2013-11-01 02:57:27 +07:00
Renat Akhmerov
dacad2793a Adding virtual environment tools 2013-10-22 16:21:29 +07:00