I think the mechanism changed in Ansible 2. You might have to get your play
object in v2_playbook_on_play_start and then use that variable in on_stats
. Something like

class CallbackModule(object):
      def __init__(self):
            super(CallbackModule,self).__init__()
            self.play = None

       def v2_playbook_on_play_start(self, play):
            self.play = play

      .....

      def v2_playbook_on_stats(self, stats):
            extra_vars = self.play._variable_manager.extra_vars
            jira_ticket = extra_vars['jira_ticket']

On Sat, Aug 27, 2016 at 1:08 AM, Sam Sen <[email protected]> wrote:

> I inherited a callback plugin that was woirking with Ansible 1.9. We
> upgraded to 2.1 and it no longer works.
>
> Looks like it's trying to access the playbook object but it's not getting
> passed into "v2_playbook_on_stats." My Python is rusty so I'm not sure how
> I can go about accessing that data. I'm tryijng to access the "extra-vars"
> variable but it's giving me the following error:
>
>  [WARNING]: Failure using method (v2_playbook_on_stats) in callback plugin
> (</home/deployment/scripts/playbooks-2.0/callback/log_to_mongo.CallbackModule
> object at 0x2b8cf90>): 'NoneType' object has no
> attribute 'extra_vars'
>
>
> class CallbackModule(object):
>     """
>     An ansible callback module for saving Ansible output to a database log
>     """
>     def __init__(self):
>         self.playbook = None
>         self.playbook_name = None
>         self.play = None
>         self.task = None
>
>     CALLBACK_VERSION = 2.0
>     CALLBACK_TYPE = 'notification'
>     CALLBACK_NAME = 'log_to_mongo'
>     CALLBACK_NEEDS_WHITELIST = False
>
> def v2_playbook_on_stats(self, stats):
>         global jira_ticket
>         global deployed_modules
>         global ocd_job_id
>         global environment_id
>
>         deployed_modules = []
>         jira_ticket = self.playbook.extra_vars['jira_ticket']
>         ocd_job_id = self.playbook.extra_vars['ocd_job_id']
>         environment_id = self.playbook.extra_vars['environment_id']
>
> --
> You received this message because you are subscribed to the Google Groups
> "Ansible Development" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Raja
rajasaur at gmail.com

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to