ansible: Looping over directory and referencing that file in another playbook












1














I am trying to make a playbook that loops over the number of files in a directory and then use those files in another playbook.
My playbook as it is now:



---

- name: Run playbooks for Raji's testing
register: scripts
roles:
- prepare_edge.yml
- prepare_iq.yml
- scriptor.yml
with_fileglob: ~/ansible/test_scripts/*
~


When I run this it doesn't work, I've tried "register: scripts" to make a variable to reference inside scriptor.yml but again the playbook fails. Any advice or help you can provide would be much appreciated.
Thanks!



P.S. I am super new to ansible



here is the scriptor.yml



---

- hosts: all
tasks:

- name: Create directory
command: mkdir /some/path/

- name: If file is a playbook
copy:
src: "{{ scripts }}"
dest: /some/path/
when: "{{ scripts }}" == "*.yml"

- name: if file is a script
shell: . ${{ scripts }}
when: "{{ scripts }}" == "*.sh"


P.S.S prepare_edge.yml and prepare_iq.yml don't reference anything and just need to be called in the loop before scriptor.yml



here is the error:



ERROR! 'register' is not a valid attribute for a Play

The error appears to have been in '/Users/JGrow33/ansible/raji_magic_playbook.yml': line 3, column 3, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:


- name: Run playbooks for Raji's testing
^ here









share|improve this question
























  • I don't see where you're trying to use register or where you're trying to access the reigstered variable. If your playbook is failing with an error, please include that error in your question.
    – larsks
    Nov 14 '18 at 16:38










  • I've updated it to the original playbook and added the error i've been getting. If i take register: scripts out, I get the same error but with "with_fileglob is not a valid attribute...."
    – James Grow
    Nov 14 '18 at 16:51
















1














I am trying to make a playbook that loops over the number of files in a directory and then use those files in another playbook.
My playbook as it is now:



---

- name: Run playbooks for Raji's testing
register: scripts
roles:
- prepare_edge.yml
- prepare_iq.yml
- scriptor.yml
with_fileglob: ~/ansible/test_scripts/*
~


When I run this it doesn't work, I've tried "register: scripts" to make a variable to reference inside scriptor.yml but again the playbook fails. Any advice or help you can provide would be much appreciated.
Thanks!



P.S. I am super new to ansible



here is the scriptor.yml



---

- hosts: all
tasks:

- name: Create directory
command: mkdir /some/path/

- name: If file is a playbook
copy:
src: "{{ scripts }}"
dest: /some/path/
when: "{{ scripts }}" == "*.yml"

- name: if file is a script
shell: . ${{ scripts }}
when: "{{ scripts }}" == "*.sh"


P.S.S prepare_edge.yml and prepare_iq.yml don't reference anything and just need to be called in the loop before scriptor.yml



here is the error:



ERROR! 'register' is not a valid attribute for a Play

The error appears to have been in '/Users/JGrow33/ansible/raji_magic_playbook.yml': line 3, column 3, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:


- name: Run playbooks for Raji's testing
^ here









share|improve this question
























  • I don't see where you're trying to use register or where you're trying to access the reigstered variable. If your playbook is failing with an error, please include that error in your question.
    – larsks
    Nov 14 '18 at 16:38










  • I've updated it to the original playbook and added the error i've been getting. If i take register: scripts out, I get the same error but with "with_fileglob is not a valid attribute...."
    – James Grow
    Nov 14 '18 at 16:51














1












1








1







I am trying to make a playbook that loops over the number of files in a directory and then use those files in another playbook.
My playbook as it is now:



---

- name: Run playbooks for Raji's testing
register: scripts
roles:
- prepare_edge.yml
- prepare_iq.yml
- scriptor.yml
with_fileglob: ~/ansible/test_scripts/*
~


When I run this it doesn't work, I've tried "register: scripts" to make a variable to reference inside scriptor.yml but again the playbook fails. Any advice or help you can provide would be much appreciated.
Thanks!



P.S. I am super new to ansible



here is the scriptor.yml



---

- hosts: all
tasks:

- name: Create directory
command: mkdir /some/path/

- name: If file is a playbook
copy:
src: "{{ scripts }}"
dest: /some/path/
when: "{{ scripts }}" == "*.yml"

- name: if file is a script
shell: . ${{ scripts }}
when: "{{ scripts }}" == "*.sh"


P.S.S prepare_edge.yml and prepare_iq.yml don't reference anything and just need to be called in the loop before scriptor.yml



here is the error:



ERROR! 'register' is not a valid attribute for a Play

The error appears to have been in '/Users/JGrow33/ansible/raji_magic_playbook.yml': line 3, column 3, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:


- name: Run playbooks for Raji's testing
^ here









share|improve this question















I am trying to make a playbook that loops over the number of files in a directory and then use those files in another playbook.
My playbook as it is now:



---

- name: Run playbooks for Raji's testing
register: scripts
roles:
- prepare_edge.yml
- prepare_iq.yml
- scriptor.yml
with_fileglob: ~/ansible/test_scripts/*
~


When I run this it doesn't work, I've tried "register: scripts" to make a variable to reference inside scriptor.yml but again the playbook fails. Any advice or help you can provide would be much appreciated.
Thanks!



P.S. I am super new to ansible



here is the scriptor.yml



---

- hosts: all
tasks:

- name: Create directory
command: mkdir /some/path/

- name: If file is a playbook
copy:
src: "{{ scripts }}"
dest: /some/path/
when: "{{ scripts }}" == "*.yml"

- name: if file is a script
shell: . ${{ scripts }}
when: "{{ scripts }}" == "*.sh"


P.S.S prepare_edge.yml and prepare_iq.yml don't reference anything and just need to be called in the loop before scriptor.yml



here is the error:



ERROR! 'register' is not a valid attribute for a Play

The error appears to have been in '/Users/JGrow33/ansible/raji_magic_playbook.yml': line 3, column 3, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:


- name: Run playbooks for Raji's testing
^ here






ansible






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 14 '18 at 16:50

























asked Nov 14 '18 at 16:33









James Grow

63




63












  • I don't see where you're trying to use register or where you're trying to access the reigstered variable. If your playbook is failing with an error, please include that error in your question.
    – larsks
    Nov 14 '18 at 16:38










  • I've updated it to the original playbook and added the error i've been getting. If i take register: scripts out, I get the same error but with "with_fileglob is not a valid attribute...."
    – James Grow
    Nov 14 '18 at 16:51


















  • I don't see where you're trying to use register or where you're trying to access the reigstered variable. If your playbook is failing with an error, please include that error in your question.
    – larsks
    Nov 14 '18 at 16:38










  • I've updated it to the original playbook and added the error i've been getting. If i take register: scripts out, I get the same error but with "with_fileglob is not a valid attribute...."
    – James Grow
    Nov 14 '18 at 16:51
















I don't see where you're trying to use register or where you're trying to access the reigstered variable. If your playbook is failing with an error, please include that error in your question.
– larsks
Nov 14 '18 at 16:38




I don't see where you're trying to use register or where you're trying to access the reigstered variable. If your playbook is failing with an error, please include that error in your question.
– larsks
Nov 14 '18 at 16:38












I've updated it to the original playbook and added the error i've been getting. If i take register: scripts out, I get the same error but with "with_fileglob is not a valid attribute...."
– James Grow
Nov 14 '18 at 16:51




I've updated it to the original playbook and added the error i've been getting. If i take register: scripts out, I get the same error but with "with_fileglob is not a valid attribute...."
– James Grow
Nov 14 '18 at 16:51












1 Answer
1






active

oldest

votes


















0














There error message you're getting is telling you that you can't run register in a Playbook.



You can accomplish what you're looking for by doing something like the following in your scriptor.yml file:



- hosts: all
tasks:

- name: Create directory
command: mkdir /some/path/

- name: If file is a playbook
copy:
src: "{{ item }}"
dest: /some/path/
with_fileglob: ~/ansible/test_scripts/*.yml

- name: if file is a script
shell: . ${{ item }}
with_fileglob: copy:
src: "{{ item }}"
dest: /some/path/
with_fileglobe: ~/ansible/test_scripts/*.sh


References



How can Ansible "register" in a variable the result of including a playbook?






share|improve this answer





















  • If I do it this way, wouldn't the main playbook not loop?
    – James Grow
    Nov 14 '18 at 17:59










  • you didn't include your other roles, do they need to be called before every file?
    – kenlukas
    Nov 14 '18 at 18:06










  • yeah, prepare_edge.yml and prepare_iq.yml need to be called before scriptor.yml every time scriptor.yml either runs a script or copies a playbook. That was why i was trying to make the loop in the main playbook so everything got called at every step of the loop
    – James Grow
    Nov 14 '18 at 18:16










  • Is there a reason they need to be in separate roles? You could consolidate the three.
    – kenlukas
    Nov 14 '18 at 18:26










  • I was asked to make it so that there were 3 different playbooks. I am an intern and I was asked to automate some scripts used for testing as a project. The different playbooks makes it easier to edit later on if more stuff needs to be added.
    – James Grow
    Nov 14 '18 at 19:02











Your Answer






StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
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
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53304836%2fansible-looping-over-directory-and-referencing-that-file-in-another-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














There error message you're getting is telling you that you can't run register in a Playbook.



You can accomplish what you're looking for by doing something like the following in your scriptor.yml file:



- hosts: all
tasks:

- name: Create directory
command: mkdir /some/path/

- name: If file is a playbook
copy:
src: "{{ item }}"
dest: /some/path/
with_fileglob: ~/ansible/test_scripts/*.yml

- name: if file is a script
shell: . ${{ item }}
with_fileglob: copy:
src: "{{ item }}"
dest: /some/path/
with_fileglobe: ~/ansible/test_scripts/*.sh


References



How can Ansible "register" in a variable the result of including a playbook?






share|improve this answer





















  • If I do it this way, wouldn't the main playbook not loop?
    – James Grow
    Nov 14 '18 at 17:59










  • you didn't include your other roles, do they need to be called before every file?
    – kenlukas
    Nov 14 '18 at 18:06










  • yeah, prepare_edge.yml and prepare_iq.yml need to be called before scriptor.yml every time scriptor.yml either runs a script or copies a playbook. That was why i was trying to make the loop in the main playbook so everything got called at every step of the loop
    – James Grow
    Nov 14 '18 at 18:16










  • Is there a reason they need to be in separate roles? You could consolidate the three.
    – kenlukas
    Nov 14 '18 at 18:26










  • I was asked to make it so that there were 3 different playbooks. I am an intern and I was asked to automate some scripts used for testing as a project. The different playbooks makes it easier to edit later on if more stuff needs to be added.
    – James Grow
    Nov 14 '18 at 19:02
















0














There error message you're getting is telling you that you can't run register in a Playbook.



You can accomplish what you're looking for by doing something like the following in your scriptor.yml file:



- hosts: all
tasks:

- name: Create directory
command: mkdir /some/path/

- name: If file is a playbook
copy:
src: "{{ item }}"
dest: /some/path/
with_fileglob: ~/ansible/test_scripts/*.yml

- name: if file is a script
shell: . ${{ item }}
with_fileglob: copy:
src: "{{ item }}"
dest: /some/path/
with_fileglobe: ~/ansible/test_scripts/*.sh


References



How can Ansible "register" in a variable the result of including a playbook?






share|improve this answer





















  • If I do it this way, wouldn't the main playbook not loop?
    – James Grow
    Nov 14 '18 at 17:59










  • you didn't include your other roles, do they need to be called before every file?
    – kenlukas
    Nov 14 '18 at 18:06










  • yeah, prepare_edge.yml and prepare_iq.yml need to be called before scriptor.yml every time scriptor.yml either runs a script or copies a playbook. That was why i was trying to make the loop in the main playbook so everything got called at every step of the loop
    – James Grow
    Nov 14 '18 at 18:16










  • Is there a reason they need to be in separate roles? You could consolidate the three.
    – kenlukas
    Nov 14 '18 at 18:26










  • I was asked to make it so that there were 3 different playbooks. I am an intern and I was asked to automate some scripts used for testing as a project. The different playbooks makes it easier to edit later on if more stuff needs to be added.
    – James Grow
    Nov 14 '18 at 19:02














0












0








0






There error message you're getting is telling you that you can't run register in a Playbook.



You can accomplish what you're looking for by doing something like the following in your scriptor.yml file:



- hosts: all
tasks:

- name: Create directory
command: mkdir /some/path/

- name: If file is a playbook
copy:
src: "{{ item }}"
dest: /some/path/
with_fileglob: ~/ansible/test_scripts/*.yml

- name: if file is a script
shell: . ${{ item }}
with_fileglob: copy:
src: "{{ item }}"
dest: /some/path/
with_fileglobe: ~/ansible/test_scripts/*.sh


References



How can Ansible "register" in a variable the result of including a playbook?






share|improve this answer












There error message you're getting is telling you that you can't run register in a Playbook.



You can accomplish what you're looking for by doing something like the following in your scriptor.yml file:



- hosts: all
tasks:

- name: Create directory
command: mkdir /some/path/

- name: If file is a playbook
copy:
src: "{{ item }}"
dest: /some/path/
with_fileglob: ~/ansible/test_scripts/*.yml

- name: if file is a script
shell: . ${{ item }}
with_fileglob: copy:
src: "{{ item }}"
dest: /some/path/
with_fileglobe: ~/ansible/test_scripts/*.sh


References



How can Ansible "register" in a variable the result of including a playbook?







share|improve this answer












share|improve this answer



share|improve this answer










answered Nov 14 '18 at 17:54









kenlukas

1,27231317




1,27231317












  • If I do it this way, wouldn't the main playbook not loop?
    – James Grow
    Nov 14 '18 at 17:59










  • you didn't include your other roles, do they need to be called before every file?
    – kenlukas
    Nov 14 '18 at 18:06










  • yeah, prepare_edge.yml and prepare_iq.yml need to be called before scriptor.yml every time scriptor.yml either runs a script or copies a playbook. That was why i was trying to make the loop in the main playbook so everything got called at every step of the loop
    – James Grow
    Nov 14 '18 at 18:16










  • Is there a reason they need to be in separate roles? You could consolidate the three.
    – kenlukas
    Nov 14 '18 at 18:26










  • I was asked to make it so that there were 3 different playbooks. I am an intern and I was asked to automate some scripts used for testing as a project. The different playbooks makes it easier to edit later on if more stuff needs to be added.
    – James Grow
    Nov 14 '18 at 19:02


















  • If I do it this way, wouldn't the main playbook not loop?
    – James Grow
    Nov 14 '18 at 17:59










  • you didn't include your other roles, do they need to be called before every file?
    – kenlukas
    Nov 14 '18 at 18:06










  • yeah, prepare_edge.yml and prepare_iq.yml need to be called before scriptor.yml every time scriptor.yml either runs a script or copies a playbook. That was why i was trying to make the loop in the main playbook so everything got called at every step of the loop
    – James Grow
    Nov 14 '18 at 18:16










  • Is there a reason they need to be in separate roles? You could consolidate the three.
    – kenlukas
    Nov 14 '18 at 18:26










  • I was asked to make it so that there were 3 different playbooks. I am an intern and I was asked to automate some scripts used for testing as a project. The different playbooks makes it easier to edit later on if more stuff needs to be added.
    – James Grow
    Nov 14 '18 at 19:02
















If I do it this way, wouldn't the main playbook not loop?
– James Grow
Nov 14 '18 at 17:59




If I do it this way, wouldn't the main playbook not loop?
– James Grow
Nov 14 '18 at 17:59












you didn't include your other roles, do they need to be called before every file?
– kenlukas
Nov 14 '18 at 18:06




you didn't include your other roles, do they need to be called before every file?
– kenlukas
Nov 14 '18 at 18:06












yeah, prepare_edge.yml and prepare_iq.yml need to be called before scriptor.yml every time scriptor.yml either runs a script or copies a playbook. That was why i was trying to make the loop in the main playbook so everything got called at every step of the loop
– James Grow
Nov 14 '18 at 18:16




yeah, prepare_edge.yml and prepare_iq.yml need to be called before scriptor.yml every time scriptor.yml either runs a script or copies a playbook. That was why i was trying to make the loop in the main playbook so everything got called at every step of the loop
– James Grow
Nov 14 '18 at 18:16












Is there a reason they need to be in separate roles? You could consolidate the three.
– kenlukas
Nov 14 '18 at 18:26




Is there a reason they need to be in separate roles? You could consolidate the three.
– kenlukas
Nov 14 '18 at 18:26












I was asked to make it so that there were 3 different playbooks. I am an intern and I was asked to automate some scripts used for testing as a project. The different playbooks makes it easier to edit later on if more stuff needs to be added.
– James Grow
Nov 14 '18 at 19:02




I was asked to make it so that there were 3 different playbooks. I am an intern and I was asked to automate some scripts used for testing as a project. The different playbooks makes it easier to edit later on if more stuff needs to be added.
– James Grow
Nov 14 '18 at 19:02


















draft saved

draft discarded




















































Thanks for contributing an answer to Stack Overflow!


  • 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.





Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


Please pay close attention to the following guidance:


  • 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%2fstackoverflow.com%2fquestions%2f53304836%2fansible-looping-over-directory-and-referencing-that-file-in-another-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

鏡平學校

ꓛꓣだゔៀៅຸ໢ທຮ໕໒ ,ໂ'໥໓າ໼ឨឲ៵៭ៈゎゔit''䖳𥁄卿' ☨₤₨こゎもょの;ꜹꟚꞖꞵꟅꞛေၦေɯ,ɨɡ𛃵𛁹ޝ޳ޠ޾,ޤޒޯ޾𫝒𫠁သ𛅤チョ'サノބޘދ𛁐ᶿᶇᶀᶋᶠ㨑㽹⻮ꧬ꧹؍۩وَؠ㇕㇃㇪ ㇦㇋㇋ṜẰᵡᴠ 軌ᵕ搜۳ٰޗޮ޷ސޯ𫖾𫅀ल, ꙭ꙰ꚅꙁꚊꞻꝔ꟠Ꝭㄤﺟޱސꧨꧼ꧴ꧯꧽ꧲ꧯ'⽹⽭⾁⿞⼳⽋២៩ញណើꩯꩤ꩸ꩮᶻᶺᶧᶂ𫳲𫪭𬸄𫵰𬖩𬫣𬊉ၲ𛅬㕦䬺𫝌𫝼,,𫟖𫞽ហៅ஫㆔ాఆఅꙒꚞꙍ,Ꙟ꙱エ ,ポテ,フࢰࢯ𫟠𫞶 𫝤𫟠ﺕﹱﻜﻣ𪵕𪭸𪻆𪾩𫔷ġ,ŧآꞪ꟥,ꞔꝻ♚☹⛵𛀌ꬷꭞȄƁƪƬșƦǙǗdžƝǯǧⱦⱰꓕꓢႋ神 ဴ၀க௭எ௫ឫោ ' េㇷㇴㇼ神ㇸㇲㇽㇴㇼㇻㇸ'ㇸㇿㇸㇹㇰㆣꓚꓤ₡₧ ㄨㄟ㄂ㄖㄎ໗ツڒذ₶।ऩछएोञयूटक़कयँृी,冬'𛅢𛅥ㇱㇵㇶ𥄥𦒽𠣧𠊓𧢖𥞘𩔋цѰㄠſtʯʭɿʆʗʍʩɷɛ,əʏダヵㄐㄘR{gỚṖḺờṠṫảḙḭᴮᵏᴘᵀᵷᵕᴜᴏᵾq﮲ﲿﴽﭙ軌ﰬﶚﶧ﫲Ҝжюїкӈㇴffצּ﬘﭅﬈軌'ffistfflſtffतभफɳɰʊɲʎ𛁱𛁖𛁮𛀉 𛂯𛀞నఋŀŲ 𫟲𫠖𫞺ຆຆ ໹້໕໗ๆทԊꧢꧠ꧰ꓱ⿝⼑ŎḬẃẖỐẅ ,ờỰỈỗﮊDžȩꭏꭎꬻ꭮ꬿꭖꭥꭅ㇭神 ⾈ꓵꓑ⺄㄄ㄪㄙㄅㄇstA۵䞽ॶ𫞑𫝄㇉㇇゜軌𩜛𩳠Jﻺ‚Üမ႕ႌႊၐၸဓၞၞၡ៸wyvtᶎᶪᶹစဎ꣡꣰꣢꣤ٗ؋لㇳㇾㇻㇱ㆐㆔,,㆟Ⱶヤマފ޼ޝަݿݞݠݷݐ',ݘ,ݪݙݵ𬝉𬜁𫝨𫞘くせぉて¼óû×ó£…𛅑הㄙくԗԀ5606神45,神796'𪤻𫞧ꓐ㄁ㄘɥɺꓵꓲ3''7034׉ⱦⱠˆ“𫝋ȍ,ꩲ軌꩷ꩶꩧꩫఞ۔فڱێظペサ神ナᴦᵑ47 9238їﻂ䐊䔉㠸﬎ffiﬣ,לּᴷᴦᵛᵽ,ᴨᵤ ᵸᵥᴗᵈꚏꚉꚟ⻆rtǟƴ𬎎

Why https connections are so slow when debugging (stepping over) in Java?