Remove the module mistral/actions/action_factory.py

* This module was always a weird entity in the system having just
  one function that essentially creates a dynamic class. It was
  created just because we didn't understand where else to put this
  function. But now after the action provider refactoring we don't
  need it anymore. Action instantiation is now a responsibility of
  action descriptor classes.

Change-Id: Ic4b6a9a7ca2784a892d2998359edb220ff8c8911
This commit is contained in:
Renat Akhmerov 2020-10-05 16:15:13 +07:00
parent 175e5fd587
commit d81dc75a3c
2 changed files with 2 additions and 31 deletions

View File

@ -1595,8 +1595,8 @@ Task publish result (partial to keep the documentation short):
"type": "ACTION",
"workflow_execution_id": "c0a4d2ff-0127-4826-8370-0570ef8cad80",
"state": "ERROR",
"state_info": "Failed to run action [action_ex_id=bcb04b28-6d50-458e-9b7e-a45a5ff1ca01, action_cls='<class 'mistral.actions.action_factory.FailAction'>', attributes='{}', params='{}']\n Fail action expected exception.",
"result": "Failed to run action [action_ex_id=bcb04b28-6d50-458e-9b7e-a45a5ff1ca01, action_cls='<class 'mistral.actions.action_factory.FailAction'>', attributes='{}', params='{}']\n Fail action expected exception.",
"state_info": "Failed to run action [action_ex_id=bcb04b28-6d50-458e-9b7e-a45a5ff1ca01, action_cls='<class 'mistral.actions.std_actions.FailAction'>', attributes='{}', params='{}']\n Fail action expected exception.",
"result": "Failed to run action [action_ex_id=bcb04b28-6d50-458e-9b7e-a45a5ff1ca01, action_cls='<class 'mistral.actions.std_actions.FailAction'>', attributes='{}', params='{}']\n Fail action expected exception.",
"published": {},
"spec": {
"action": "std.fail",

View File

@ -1,29 +0,0 @@
# Copyright 2014 - Mirantis, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# TODO(rakhmerov): the module needs to be deleted after we add action providers
from oslo_utils import importutils
def construct_action_class(action_class_str, attributes):
# Rebuild action class and restore attributes.
action_class = importutils.import_class(action_class_str)
unique_action_class = type(
action_class.__name__,
(action_class,),
attributes
)
return unique_action_class