the tacker.vim_ping_action was not able to populate into the db because 'base' class wasn't found in mistral.
the class mistral.actions.base.Action is moved to mistral_lib.actions.Action.
So I had to modify the /opt/stack/tacker/tacker/nfvo/workflows/vim_monitor/vim_ping_action.py file with below update:
Hi Manpreet,
I figured out the root cause, actually during populating mistral actions and workflow in db
mistral-db-manage --config-file /etc/mistral/ mistral. conf populate
the tacker. vim_ping_ action was not able to populate into the db because 'base' class wasn't found in mistral. actions. base.Action is moved to mistral_ lib.actions. Action.
the class mistral.
So I had to modify the /opt/stack/ tacker/ tacker/ nfvo/workflows/ vim_monitor/ vim_ping_ action. py file with below update:
------- ------- ------- ------- ------- ------- ------- -------
import netaddr
from mistral_lib import actions ---> #1
from oslo_config import cfg
from oslo_log import log as logging
LOG = logging. getLogger( __name_ _)
class PingVimAction( actions. Action) : ----> #2
def __init__(self, count, targetip, vim_id,
interval, timeout):
vim_ id=self. vim_id,
status= status)
def _update(self, status):
def run(self, action_ctx): ----> #3
rpc. init_action_ rpc(cfg. CONF)
servers = []
try:
------- ------- ------- ------- ------- ------- ------- -------
After making this change, I am able to populate mistral DB with tacker. vim_ping_ action and everything is working fine now.