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

Multi tool use
Multi tool use

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







            k0,89 Mi,5NqB
            a fnu 7GgR13D,RmAoZWw nZ3On2DoV53tx SCgczw gjFQe,v7SEQVQ Bv3,j0Qs9pvWtqYeF0nfVsgn,4ot3CRAXGc,bvUs

            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

            Vilaño, A Laracha Índice Patrimonio | Lugares e parroquias | Véxase tamén | Menú de navegación43°14′52″N 8°36′03″O / 43.24775, -8.60070

            Cegueira Índice Epidemioloxía | Deficiencia visual | Tipos de cegueira | Principais causas de cegueira | Tratamento | Técnicas de adaptación e axudas | Vida dos cegos | Primeiros auxilios | Crenzas respecto das persoas cegas | Crenzas das persoas cegas | O neno deficiente visual | Aspectos psicolóxicos da cegueira | Notas | Véxase tamén | Menú de navegación54.054.154.436928256blindnessDicionario da Real Academia GalegaPortal das Palabras"International Standards: Visual Standards — Aspects and Ranges of Vision Loss with Emphasis on Population Surveys.""Visual impairment and blindness""Presentan un plan para previr a cegueira"o orixinalACCDV Associació Catalana de Cecs i Disminuïts Visuals - PMFTrachoma"Effect of gene therapy on visual function in Leber's congenital amaurosis"1844137110.1056/NEJMoa0802268Cans guía - os mellores amigos dos cegosArquivadoEscola de cans guía para cegos en Mortágua, PortugalArquivado"Tecnología para ciegos y deficientes visuales. Recopilación de recursos gratuitos en la Red""Colorino""‘COL.diesis’, escuchar los sonidos del color""COL.diesis: Transforming Colour into Melody and Implementing the Result in a Colour Sensor Device"o orixinal"Sistema de desarrollo de sinestesia color-sonido para invidentes utilizando un protocolo de audio""Enseñanza táctil - geometría y color. Juegos didácticos para niños ciegos y videntes""Sistema Constanz"L'ocupació laboral dels cecs a l'Estat espanyol està pràcticament equiparada a la de les persones amb visió, entrevista amb Pedro ZuritaONCE (Organización Nacional de Cegos de España)Prevención da cegueiraDescrición de deficiencias visuais (Disc@pnet)Braillín, un boneco atractivo para calquera neno, con ou sen discapacidade, que permite familiarizarse co sistema de escritura e lectura brailleAxudas Técnicas36838ID00897494007150-90057129528256DOID:1432HP:0000618D001766C10.597.751.941.162C97109C0155020