What version of Ansible? Are you sure the files are encoded in UTF-8?
Am 23. November 2018 06:37:33 MEZ schrieb Eric Chang <[email protected]>: >thanks for reply , I think my source file is yaml file >I can pass the yaml validator online > >here are 2 items in teams.yml > >"teams": [ >> {"chinese_name": "\u79d8\u66f8\u90e8","description": >> "\u79d8\u66f8\u90e8","gid": 10125,"location": ["hq"],"name": >"aa","users": >> ["chenhu","chouf"]}, >> {"chinese_name": "\u8ca1\u52d9\u6703\u8a08\u8655","description": >> "\u8ca1\u52d9\u6703\u8a08\u8655","gid": 10126,"location": >["hq"],"name": >> "ac","users": ["chenchiao","chengc"]} >> ] >> > >even I assign a name in task , I still can not use users with tasks >below > >> - name: load >> teams.yml > >> >> tags: >> - env >> include_vars: >> file: files/teams.yml >> name: teams >> >> - name: debug >> tags: >> - env >> debug: >> msg: "{{ item }}" >> loop: " {{ users }}" >> >> >I can print the {{ teams }} , but can not get valule from {{ team.users >}} >or {{ team.name }} >FAILED! => {"msg": "The task includes an option with an undefined >variable. >The error was: 'name' is undefined / The error was: 'chinese_name' is >undefined > > >Eric Chang於 2018年11月22日星期四 UTC+8下午9時08分01秒寫道: >> >> I want to run a playbook to create an individual folder for users in >> different groups >> >> and I already create a teams.yml file like below >> >>> { >>> >>> "chinese_name": "\u8ca1\u52d9\u6703\u8a08\u8655", >>> >>> "description": "\u8ca1\u52d9\u6703\u8a08\u8655", >>> >>> "gid": 10126, >>> >>> "location": [ >>> >>> "hq" >>> >>> ], >>> >>> "name": "ac", >>> >>> "users": [ >>> >>> "tsengyi", >>> >>> "chenp", >>> >>> "lich", >>> >>> "hsiaoch", >>> >>> "wangr", >>> >>> "dengm", >>> >>> ""guot". >>> >>> ] >>> >>> >>> >> then I wrote a task >> >>> ### load yaml file first >> >> - name: load teams.yml > >>> > >>> >> >> tags: >> >> - env >> >> include_vars: >> >> file: files/konwen/teams.yml >> >> >> - name: create folders >> >> file: >> >> path: "/home/{{item.user}}/D" >> >> state: present >> >> when: item.name == 'ac' >> >> with_items: "{{ teams}}" >> >> >> >> but the result >>> >>> tsengyi >>> >>> '[u'\''tsengyi'\'', u'\''chenp'\'', u'\''lich'\'', u'\''hsiaoch'\'', > >>>> u'\''wangr'\'', u'\''dengm'\'', u'\''guot'\'', u'\''hsul'\'', >>>> u'\''linm'\'']' >>> >>> wangc >>> >>> >>> looks like ansible take whole list into a single value >> >> I expect to create /home/tsengyi/D , /home/chenp/D .....and so on >> >> How can I separate the list into piece to do what I need ?? >> >> >> -- Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet. -- You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/A718B887-0EBA-4B2C-ADBD-09BA3C23EF45%40gmail.de. For more options, visit https://groups.google.com/d/optout.
