Ansible with_dicts group_vars playbookConfigure all hosts, then create a list of the config for all hosts?Ansible: setting hostname over inventoryARP behavior in LinuxAnsible group_vars variable precedence (group_vars override other group_vars)Ansible playbook IssueI want to run a.sh on remote hosts and fetch all output files. output file with timestamp. I wrote below code and it is failing with errorAnsible:how to adapt the output format of map (with extract) filtersAnsible - manage installed apps and send output via email - variables are filling wrongRestrict user providing asterisk * on the prompt ansible awxAnsible: Debug and iteration over dicts fails in ansible playbook

How did the USSR manage to innovate in an environment characterized by government censorship and high bureaucracy?

Non-Jewish family in an Orthodox Jewish Wedding

Copycat chess is back

Download, install and reboot computer at night if needed

Shell script can be run only with sh command

How do we improve the relationship with a client software team that performs poorly and is becoming less collaborative?

How is the claim "I am in New York only if I am in America" the same as "If I am in New York, then I am in America?

Copenhagen passport control - US citizen

How does one intimidate enemies without having the capacity for violence?

Chess with symmetric move-square

What is the meaning of "of trouble" in the following sentence?

Can town administrative "code" overule state laws like those forbidding trespassing?

Prevent a directory in /tmp from being deleted

How is it possible for user's password to be changed after storage was encrypted? (on OS X, Android)

Calculus Optimization - Point on graph closest to given point

How do you conduct xenoanthropology after first contact?

What Brexit solution does the DUP want?

"which" command doesn't work / path of Safari?

Motorized valve interfering with button?

Is there a minimum number of transactions in a block?

Why doesn't Newton's third law mean a person bounces back to where they started when they hit the ground?

Patience, young "Padovan"

I see my dog run

Showing the closure of a compact subset need not be compact



Ansible with_dicts group_vars playbook


Configure all hosts, then create a list of the config for all hosts?Ansible: setting hostname over inventoryARP behavior in LinuxAnsible group_vars variable precedence (group_vars override other group_vars)Ansible playbook IssueI want to run a.sh on remote hosts and fetch all output files. output file with timestamp. I wrote below code and it is failing with errorAnsible:how to adapt the output format of map (with extract) filtersAnsible - manage installed apps and send output via email - variables are filling wrongRestrict user providing asterisk * on the prompt ansible awxAnsible: Debug and iteration over dicts fails in ansible playbook






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








0















My requirement is to get the below output in a file



 - targets: [ 'host1:port1', 'host2:port1' , 'host3:port1' ] 
job : hostgroup1

- targets: [ 'host1:port2', 'host2:port2' , 'host3:port3' ]
job : hostgroup2


I have the input file as below and it should fetch the data from variables or group variables . Under Hostgroup1 I may have n number of hosts and under Hostgroup2 I may have n number of hosts



 Hostgroup1 : host1,host2,host3....n 
Hostgroup2 : host1,host2,host3....n


I am confused how to create jinja template and tasks to get this output










share|improve this question









New contributor




Vgg is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




















  • the input file isn't a standard format. if it were json or yaml it'd be much easier to parse

    – Mark Wagner
    Apr 4 at 15:59











  • Please let me know how to create json or yml or jinja to get this output

    – Vgg
    Apr 4 at 16:33











  • Are the hostgroup1 and hostgroup2 groups in the ansible inventory? Where is the port defined at?

    – Zoredache
    Apr 5 at 6:29

















0















My requirement is to get the below output in a file



 - targets: [ 'host1:port1', 'host2:port1' , 'host3:port1' ] 
job : hostgroup1

- targets: [ 'host1:port2', 'host2:port2' , 'host3:port3' ]
job : hostgroup2


I have the input file as below and it should fetch the data from variables or group variables . Under Hostgroup1 I may have n number of hosts and under Hostgroup2 I may have n number of hosts



 Hostgroup1 : host1,host2,host3....n 
Hostgroup2 : host1,host2,host3....n


I am confused how to create jinja template and tasks to get this output










share|improve this question









New contributor




Vgg is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




















  • the input file isn't a standard format. if it were json or yaml it'd be much easier to parse

    – Mark Wagner
    Apr 4 at 15:59











  • Please let me know how to create json or yml or jinja to get this output

    – Vgg
    Apr 4 at 16:33











  • Are the hostgroup1 and hostgroup2 groups in the ansible inventory? Where is the port defined at?

    – Zoredache
    Apr 5 at 6:29













0












0








0








My requirement is to get the below output in a file



 - targets: [ 'host1:port1', 'host2:port1' , 'host3:port1' ] 
job : hostgroup1

- targets: [ 'host1:port2', 'host2:port2' , 'host3:port3' ]
job : hostgroup2


I have the input file as below and it should fetch the data from variables or group variables . Under Hostgroup1 I may have n number of hosts and under Hostgroup2 I may have n number of hosts



 Hostgroup1 : host1,host2,host3....n 
Hostgroup2 : host1,host2,host3....n


I am confused how to create jinja template and tasks to get this output










share|improve this question









New contributor




Vgg is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












My requirement is to get the below output in a file



 - targets: [ 'host1:port1', 'host2:port1' , 'host3:port1' ] 
job : hostgroup1

- targets: [ 'host1:port2', 'host2:port2' , 'host3:port3' ]
job : hostgroup2


I have the input file as below and it should fetch the data from variables or group variables . Under Hostgroup1 I may have n number of hosts and under Hostgroup2 I may have n number of hosts



 Hostgroup1 : host1,host2,host3....n 
Hostgroup2 : host1,host2,host3....n


I am confused how to create jinja template and tasks to get this output







linux ansible ansible-playbook






share|improve this question









New contributor




Vgg is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question









New contributor




Vgg is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question








edited Apr 5 at 6:26









Zoredache

112k30231379




112k30231379






New contributor




Vgg is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked Apr 4 at 15:37









VggVgg

1




1




New contributor




Vgg is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





Vgg is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






Vgg is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












  • the input file isn't a standard format. if it were json or yaml it'd be much easier to parse

    – Mark Wagner
    Apr 4 at 15:59











  • Please let me know how to create json or yml or jinja to get this output

    – Vgg
    Apr 4 at 16:33











  • Are the hostgroup1 and hostgroup2 groups in the ansible inventory? Where is the port defined at?

    – Zoredache
    Apr 5 at 6:29

















  • the input file isn't a standard format. if it were json or yaml it'd be much easier to parse

    – Mark Wagner
    Apr 4 at 15:59











  • Please let me know how to create json or yml or jinja to get this output

    – Vgg
    Apr 4 at 16:33











  • Are the hostgroup1 and hostgroup2 groups in the ansible inventory? Where is the port defined at?

    – Zoredache
    Apr 5 at 6:29
















the input file isn't a standard format. if it were json or yaml it'd be much easier to parse

– Mark Wagner
Apr 4 at 15:59





the input file isn't a standard format. if it were json or yaml it'd be much easier to parse

– Mark Wagner
Apr 4 at 15:59













Please let me know how to create json or yml or jinja to get this output

– Vgg
Apr 4 at 16:33





Please let me know how to create json or yml or jinja to get this output

– Vgg
Apr 4 at 16:33













Are the hostgroup1 and hostgroup2 groups in the ansible inventory? Where is the port defined at?

– Zoredache
Apr 5 at 6:29





Are the hostgroup1 and hostgroup2 groups in the ansible inventory? Where is the port defined at?

– Zoredache
Apr 5 at 6:29










1 Answer
1






active

oldest

votes


















0














Well, I defined something like your data in the 'vars' section of a playbook. You could put it in a vars file, or you could possibly define these vars in your hostvars/groupvars or something. This probably isn't exactly what you want, but you can adapt it to your needs.



- hosts: localhost
gather_facts: no
vars:
data:
- "name": "hostgroup1", "port": 80, "hosts": ["host1", "host2", "host3"]
- "name": "hostgroup2", "port": 443, "hosts": ["host5", "host6", "host7"]
tasks:
- debug:
msg: |
% for item in data %
- job: item.name
targets: [ %- for host in item.hosts -%
" host : item.port ",
%- endfor -%]
% endfor %


Output



# ANSIBLE_STDOUT_CALLBACK=debug ansible-playbook 20190404_sf_961529.yml 

PLAY [localhost] ************************************************************************************

TASK [debug] ****************************************************************************************
ok: [localhost] =>

MSG:

- job: hostgroup1
targets: ["host1:80","host2:80","host3:80",]
- job: hostgroup2
targets: ["host5:443","host6:443","host7:443",]


PLAY RECAP ******************************************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=0


For the output to a file you can use a task like this.



 - copy:
dest: outputpath
content: |
% for item in data %
- job: item.name
targets: [ %- for host in item.hosts -%
" host : item.port ",
%- endfor -%]
% endfor %





share|improve this answer























    Your Answer








    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "2"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );






    Vgg is a new contributor. Be nice, and check out our Code of Conduct.









    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f961529%2fansible-with-dicts-group-vars-playbook%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    Well, I defined something like your data in the 'vars' section of a playbook. You could put it in a vars file, or you could possibly define these vars in your hostvars/groupvars or something. This probably isn't exactly what you want, but you can adapt it to your needs.



    - hosts: localhost
    gather_facts: no
    vars:
    data:
    - "name": "hostgroup1", "port": 80, "hosts": ["host1", "host2", "host3"]
    - "name": "hostgroup2", "port": 443, "hosts": ["host5", "host6", "host7"]
    tasks:
    - debug:
    msg: |
    % for item in data %
    - job: item.name
    targets: [ %- for host in item.hosts -%
    " host : item.port ",
    %- endfor -%]
    % endfor %


    Output



    # ANSIBLE_STDOUT_CALLBACK=debug ansible-playbook 20190404_sf_961529.yml 

    PLAY [localhost] ************************************************************************************

    TASK [debug] ****************************************************************************************
    ok: [localhost] =>

    MSG:

    - job: hostgroup1
    targets: ["host1:80","host2:80","host3:80",]
    - job: hostgroup2
    targets: ["host5:443","host6:443","host7:443",]


    PLAY RECAP ******************************************************************************************
    localhost : ok=1 changed=0 unreachable=0 failed=0


    For the output to a file you can use a task like this.



     - copy:
    dest: outputpath
    content: |
    % for item in data %
    - job: item.name
    targets: [ %- for host in item.hosts -%
    " host : item.port ",
    %- endfor -%]
    % endfor %





    share|improve this answer



























      0














      Well, I defined something like your data in the 'vars' section of a playbook. You could put it in a vars file, or you could possibly define these vars in your hostvars/groupvars or something. This probably isn't exactly what you want, but you can adapt it to your needs.



      - hosts: localhost
      gather_facts: no
      vars:
      data:
      - "name": "hostgroup1", "port": 80, "hosts": ["host1", "host2", "host3"]
      - "name": "hostgroup2", "port": 443, "hosts": ["host5", "host6", "host7"]
      tasks:
      - debug:
      msg: |
      % for item in data %
      - job: item.name
      targets: [ %- for host in item.hosts -%
      " host : item.port ",
      %- endfor -%]
      % endfor %


      Output



      # ANSIBLE_STDOUT_CALLBACK=debug ansible-playbook 20190404_sf_961529.yml 

      PLAY [localhost] ************************************************************************************

      TASK [debug] ****************************************************************************************
      ok: [localhost] =>

      MSG:

      - job: hostgroup1
      targets: ["host1:80","host2:80","host3:80",]
      - job: hostgroup2
      targets: ["host5:443","host6:443","host7:443",]


      PLAY RECAP ******************************************************************************************
      localhost : ok=1 changed=0 unreachable=0 failed=0


      For the output to a file you can use a task like this.



       - copy:
      dest: outputpath
      content: |
      % for item in data %
      - job: item.name
      targets: [ %- for host in item.hosts -%
      " host : item.port ",
      %- endfor -%]
      % endfor %





      share|improve this answer

























        0












        0








        0







        Well, I defined something like your data in the 'vars' section of a playbook. You could put it in a vars file, or you could possibly define these vars in your hostvars/groupvars or something. This probably isn't exactly what you want, but you can adapt it to your needs.



        - hosts: localhost
        gather_facts: no
        vars:
        data:
        - "name": "hostgroup1", "port": 80, "hosts": ["host1", "host2", "host3"]
        - "name": "hostgroup2", "port": 443, "hosts": ["host5", "host6", "host7"]
        tasks:
        - debug:
        msg: |
        % for item in data %
        - job: item.name
        targets: [ %- for host in item.hosts -%
        " host : item.port ",
        %- endfor -%]
        % endfor %


        Output



        # ANSIBLE_STDOUT_CALLBACK=debug ansible-playbook 20190404_sf_961529.yml 

        PLAY [localhost] ************************************************************************************

        TASK [debug] ****************************************************************************************
        ok: [localhost] =>

        MSG:

        - job: hostgroup1
        targets: ["host1:80","host2:80","host3:80",]
        - job: hostgroup2
        targets: ["host5:443","host6:443","host7:443",]


        PLAY RECAP ******************************************************************************************
        localhost : ok=1 changed=0 unreachable=0 failed=0


        For the output to a file you can use a task like this.



         - copy:
        dest: outputpath
        content: |
        % for item in data %
        - job: item.name
        targets: [ %- for host in item.hosts -%
        " host : item.port ",
        %- endfor -%]
        % endfor %





        share|improve this answer













        Well, I defined something like your data in the 'vars' section of a playbook. You could put it in a vars file, or you could possibly define these vars in your hostvars/groupvars or something. This probably isn't exactly what you want, but you can adapt it to your needs.



        - hosts: localhost
        gather_facts: no
        vars:
        data:
        - "name": "hostgroup1", "port": 80, "hosts": ["host1", "host2", "host3"]
        - "name": "hostgroup2", "port": 443, "hosts": ["host5", "host6", "host7"]
        tasks:
        - debug:
        msg: |
        % for item in data %
        - job: item.name
        targets: [ %- for host in item.hosts -%
        " host : item.port ",
        %- endfor -%]
        % endfor %


        Output



        # ANSIBLE_STDOUT_CALLBACK=debug ansible-playbook 20190404_sf_961529.yml 

        PLAY [localhost] ************************************************************************************

        TASK [debug] ****************************************************************************************
        ok: [localhost] =>

        MSG:

        - job: hostgroup1
        targets: ["host1:80","host2:80","host3:80",]
        - job: hostgroup2
        targets: ["host5:443","host6:443","host7:443",]


        PLAY RECAP ******************************************************************************************
        localhost : ok=1 changed=0 unreachable=0 failed=0


        For the output to a file you can use a task like this.



         - copy:
        dest: outputpath
        content: |
        % for item in data %
        - job: item.name
        targets: [ %- for host in item.hosts -%
        " host : item.port ",
        %- endfor -%]
        % endfor %






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered 2 days ago









        ZoredacheZoredache

        112k30231379




        112k30231379




















            Vgg is a new contributor. Be nice, and check out our Code of Conduct.









            draft saved

            draft discarded


















            Vgg is a new contributor. Be nice, and check out our Code of Conduct.












            Vgg is a new contributor. Be nice, and check out our Code of Conduct.











            Vgg is a new contributor. Be nice, and check out our Code of Conduct.














            Thanks for contributing an answer to Server Fault!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f961529%2fansible-with-dicts-group-vars-playbook%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            RemoteApp sporadic failureWindows 2008 RemoteAPP client disconnects within a matter of minutesWhat is the minimum version of RDP supported by Server 2012 RDS?How to configure a Remoteapp server to increase stabilityMicrosoft RemoteApp Active SessionRDWeb TS connection broken for some users post RemoteApp certificate changeRemote Desktop Licensing, RemoteAPPRDS 2012 R2 some users are not able to logon after changed date and time on Connection BrokersWhat happens during Remote Desktop logon, and is there any logging?After installing RDS on WinServer 2016 I still can only connect with two users?RD Connection via RDGW to Session host is not connecting

            How to write a 12-bar blues melodyI-IV-V blues progressionHow to play the bridges in a standard blues progressionHow does Gdim7 fit in C# minor?question on a certain chord progressionMusicology of Melody12 bar blues, spread rhythm: alternative to 6th chord to avoid finger stretchChord progressions/ Root key/ MelodiesHow to put chords (POP-EDM) under a given lead vocal melody (starting from a good knowledge in music theory)Are there “rules” for improvising with the minor pentatonic scale over 12-bar shuffle?Confusion about blues scale and chords

            Esgonzo ibérico Índice Descrición Distribución Hábitat Ameazas Notas Véxase tamén "Acerca dos nomes dos anfibios e réptiles galegos""Chalcides bedriagai"Chalcides bedriagai en Carrascal, L. M. Salvador, A. (Eds). Enciclopedia virtual de los vertebrados españoles. Museo Nacional de Ciencias Naturales, Madrid. España.Fotos