Thanks for the response.

I'm using the following task:

- debug: msg="{{ playbook_dir }}"


With this output...

ok: [localhost] => {
    "msg": "." 
}


So it's returning a relative path. I get this same output regardless of 
where I run the debug task, so this doesn't help me point to my project 
root if I use the playbook_dir variable in one of my roles or some other 
subdirectory. Incidentally, inventory_dir returns an absolute path (e.g. 
/etc/ansible), though the inventory directory isn't what I'm after.

On Sunday, July 27, 2014 4:54:33 PM UTC-4, Michael DeHaan wrote:
>
> This may be a useful resource for organization tips:
>
> http://docs.ansible.com/playbooks_best_practices.html
>
> Also, if you haven't seen it already, the ansible-galaxy CLI can be used 
> to quickly stub out a role with the "init" command.
>
> You may wish to read about role dependencies, however galaxy is not meant 
> as a way to distribute top level playbooks - in practice, they are seldom 
> reusable because nobody wants  to install the exact same infrastructure 
> (you've already made a lot of choices about Sublime and Node), whereas 
> roles provide a more ideal chunk of reuse.
>
> As for your directory questions try, "{{ playbookdir }}/some_path".
>
>
>
>
>
>
>
>
> On Sun, Jul 27, 2014 at 10:31 AM, Synaesthete <[email protected] 
> <javascript:>> wrote:
>
>> I'm working on a small Ansible project that's a little outside its 
>> primary use-case. I'm automating the generation of new web projects in a 
>> Mac OS X dev environment. There are two objectives:
>>
>> 1.) Install all development tools on the local machine
>> 2.) Compose various projects based on small component roles/tasks
>>
>> As a simple example, if you run the main playbook, it will prompt you for 
>> a project folder, install Sublime Text, NodeJS, etc., and set up all the 
>> basic files needed to begin working on a new project. Here's a subset of my 
>> project folder:
>>
>> ansible-generator
>>   |- main.yml <-- Main playbook
>>   |- apps
>>      |- nodejs
>>         |- tasks,vars,defaults,etc.
>>      |- sublime
>>   |- scaffolds
>>      |- git
>>      |- node
>>      |- vagrant
>>   |- install
>>      |- dmg.yml
>>
>>
>> Everything under both apps and scaffolds are roles. 'apps' install local 
>> dev tools, and 'scaffolds' uses templates to set up and modify new project 
>> files (package.json, Vagrantfile, .gitignore, etc.)
>>
>> I have a couple questions:
>>
>> 1.) Could this entire project be turned in to a role itself and be 
>> distributed on Ansible Galaxy, given its different project layout and 
>> different use-case? Since this is a project built using lots of small 
>> sub-roles, how could I run all those dependent roles from tasks/main.yml?
>>
>> 2.) The roles in the /apps folder need to reference tasks under the 
>> /install folder. Right now I have to use relative paths like 
>> "../../../dmg.yml". I'd rather set up a variable further up and just use 
>> "{{ installers }}/dmg.yml", but without just setting this variable to 
>> "../../.." What's the best way to get the absolute path to the root of this 
>> project? The playbook_dir variable always returns "."
>>
>> 3.) Any other thoughts on organizing my project? Is it reasonable to have 
>> roles in both /apps and /scaffolds or does this seem unwieldy compared to 
>> putting everything under a /roles folder?
>>
>> Thanks! If you'd like to take a closer look at my project you can find it 
>> here: https://github.com/rvangundy/ansible-generator
>>
>>  -- 
>> 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] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/ansible-project/647cf28d-77cc-4ebf-84db-ec87659fe0a7%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/ansible-project/647cf28d-77cc-4ebf-84db-ec87659fe0a7%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
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/0cf0257a-c8e9-4bf3-aa4f-5a13b70ff533%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to