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

            Club Baloncesto Breogán Índice Historia | Pavillón | Nome | O Breogán na cultura popular | Xogadores | Adestradores | Presidentes | Palmarés | Historial | Líderes | Notas | Véxase tamén | Menú de navegacióncbbreogan.galCadroGuía oficial da ACB 2009-10, páxina 201Guía oficial ACB 1992, páxina 183. Editorial DB.É de 6.500 espectadores sentados axeitándose á última normativa"Estudiantes Junior, entre as mellores canteiras"o orixinalHemeroteca El Mundo Deportivo, 16 setembro de 1970, páxina 12Historia do BreogánAlfredo Pérez, o último canoneiroHistoria C.B. BreogánHemeroteca de El Mundo DeportivoJimmy Wright, norteamericano do Breogán deixará Lugo por ameazas de morteResultados de Breogán en 1986-87Resultados de Breogán en 1990-91Ficha de Velimir Perasović en acb.comResultados de Breogán en 1994-95Breogán arrasa al Barça. "El Mundo Deportivo", 27 de setembro de 1999, páxina 58CB Breogán - FC BarcelonaA FEB invita a participar nunha nova Liga EuropeaCharlie Bell na prensa estatalMáximos anotadores 2005Tempada 2005-06 : Tódolos Xogadores da Xornada""Non quero pensar nunha man negra, mais pregúntome que está a pasar""o orixinalRaúl López, orgulloso dos xogadores, presume da boa saúde económica do BreogánJulio González confirma que cesa como presidente del BreogánHomenaxe a Lisardo GómezA tempada do rexurdimento celesteEntrevista a Lisardo GómezEl COB dinamita el Pazo para forzar el quinto (69-73)Cafés Candelas, patrocinador del CB Breogán"Suso Lázare, novo presidente do Breogán"o orixinalCafés Candelas Breogán firma el mayor triunfo de la historiaEl Breogán realizará 17 homenajes por su cincuenta aniversario"O Breogán honra ao seu fundador e primeiro presidente"o orixinalMiguel Giao recibiu a homenaxe do PazoHomenaxe aos primeiros gladiadores celestesO home que nos amosa como ver o Breo co corazónTita Franco será homenaxeada polos #50anosdeBreoJulio Vila recibirá unha homenaxe in memoriam polos #50anosdeBreo"O Breogán homenaxeará aos seus aboados máis veteráns"Pechada ovación a «Capi» Sanmartín e Ricardo «Corazón de González»Homenaxe por décadas de informaciónPaco García volve ao Pazo con motivo do 50 aniversario"Resultados y clasificaciones""O Cafés Candelas Breogán, campión da Copa Princesa""O Cafés Candelas Breogán, equipo ACB"C.B. Breogán"Proxecto social"o orixinal"Centros asociados"o orixinalFicha en imdb.comMario Camus trata la recuperación del amor en 'La vieja música', su última película"Páxina web oficial""Club Baloncesto Breogán""C. B. Breogán S.A.D."eehttp://www.fegaba.com

            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