Please suggest what is the best practice to include the any python module 
in ansible playbook and run the task . Without any error right now i am 
getting following error while running playbook

Following workaround already have been done.


i have directory structure where all library is exist in git repo inside 
same library i have my python module* minify_json , *

I am using  "  minify_json  " in my playbook 

ansible.cfg already created in same library folder


Please see the following directory structure where files are placed.


path for minify_json 
#################


roles/template/library/ minify_json 


and i am running playbook 



which calling same module and while running same step it is throwing below 
error 

The error appears to have been in 
'/tmp/test/workgroup/roles/cf-templates/tasks/ecs/create_ecs.yml': line 8, 
column 7, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:


    - name: minify_json
      ^ here



*playbook look like*

hosts: localhost
  connection: local
  gather_facts: false
  
  tasks: 
  
    - name: minify_json 
      minify_json: 
          src: roles/cf-templates/cf-templates/ecs/ecs.json
          dest: /tmp/ecs-mini.json
      register: ecs_template



*minify_json.py *


#!/usr/bin/env python

DOCUMENTATION='''
---
module: minify_json
short_description: Minify JSON file
author: Harpreet Singh
options:
    src:
        required: true
        description:
            - Location of the JSON file to minifiy
    dest:
        required: false
        description:
            - Where to save minified JSON, defaults to tmp/mini.json
'''

EXAMPLES='''
- name: minify json
  minify_json: src=pb_vpc.json
'''

import json
from ansible.module_utils.basic import *

def main():

    module = AnsibleModule(
        argument_spec = dict(
            src    = dict(required = True),
            dest   = dict(required = False)
        ),
        supports_check_mode = True
    )

    src   = module.params['src']
    dest  = module.params['dest']

    if module.check_mode:
        module.exit_json(
            path = src,
            changed = True
        )

    if dest is None:
        if not os.path.exists("tmp"):
            os.mkdir("tmp")
        dest = "tmp/mini.json"

    src_json_file = open(src, 'r')
    src_json = json.load(src_json_file)

    dest_json_file = open(dest, 'w')
    json.dump(src_json, dest_json_file)

    module.exit_json(
        path = dest,
        changed = True
    )

main()







-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ansible-project+unsubscr...@googlegroups.com.
To post to this group, send email to ansible-project@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/e3ebcc89-961c-401d-80bd-094a5d80af75%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to