# user\_data for nova\_compute module

**URL:** <https://forum.ansible.com/t/user-data-for-nova-compute-module/18094>\
**Category:** Ansible Project\
**Created:** [April 27, 2015, 11:37am UTC](https://forum.ansible.com/t/user-data-for-nova-compute-module/18094 "2015-04-27T11:37:45Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![John\_Test](https://avatars.discourse-cdn.com/v4/letter/j/ce73a5/32.png) [@John\_Test](https://forum.ansible.com/u/John_Test)\
**Post date:** [April 27, 2015, 11:37am UTC](https://forum.ansible.com/t/user-data-for-nova-compute-module/18094/1 "2015-04-27T11:37:45Z")

</div>

Hello

I have a question regarding user\_data parameter for nova\_compute  
[http://docs.ansible.com/nova\_compute\_module.html](http://docs.ansible.com/nova_compute_module.html)

Is it possible to see some examples?

What I am trying to do:  
Pass information to run commands / install software inside the instance after it is launched

Thanks!

---

<div class="post-metadata">

**Author:** ![John\_Test](https://avatars.discourse-cdn.com/v4/letter/j/ce73a5/32.png) [@John\_Test](https://forum.ansible.com/u/John_Test)\
**Post date:** [April 30, 2015, 5:34pm UTC](https://forum.ansible.com/t/user-data-for-nova-compute-module/18094/2 "2015-04-30T17:34:14Z")

</div>

Figured it out thanks to sivel on IRC.  
In case anyone else is wondering just do a lookup(‘file’, ‘filename’)  
The file called “filename” can be a bash script file, cloud init file, etc.  
Make sure the file starts with the appropriate header such as  
#!/bin/bash or #cloud-config etc.

---

<div class="post-metadata">

**Author:** ![Brian\_Coca](https://avatars.discourse-cdn.com/v4/letter/b/6de8d8/32.png) [@Brian\_Coca](https://forum.ansible.com/u/Brian_Coca)\
**Post date:** [April 30, 2015, 6:38pm UTC](https://forum.ansible.com/t/user-data-for-nova-compute-module/18094/3 "2015-04-30T18:38:22Z")

</div>

lookup('pipe', 'script') might be more appropriate, it will succeed in  
many cases that file will fail.

---

<div class="post-metadata">

**Author:** ![John\_Test](https://avatars.discourse-cdn.com/v4/letter/j/ce73a5/32.png) [@John\_Test](https://forum.ansible.com/u/John_Test)\
**Post date:** [April 30, 2015, 11:58pm UTC](https://forum.ansible.com/t/user-data-for-nova-compute-module/18094/4 "2015-04-30T23:58:43Z")

</div>

pipe is failing on me

pb\_set\_proxy: “{{ lookup(‘pipe’, ‘proxy-set.sh’) }}”

/bin/sh: 1: proxy-set.sh: not found  
ERROR: lookup\_plugin.pipe(proxy-set.sh) returned 127

I know it says not found but it is present and in same dir.

I actually have another problem

I am using 2 user\_data parameters like this in the same nova\_compute task

user\_data: “{{ lookup(‘file’, ‘proxy-set.sh’) }}”  
user\_data: “{{ lookup(‘file’, ‘misc-install.sh’) }}”

Only the misc-install.sh is working and the proxy-set.sh is not.  
What’s the correct way to do this?

Thanks!

---

<div class="post-metadata">

**Author:** ![sivel](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/sivel/32/1198_2.png) [@sivel](https://forum.ansible.com/u/sivel)\
**Post date:** [May 1, 2015, 12:02am UTC](https://forum.ansible.com/t/user-data-for-nova-compute-module/18094/5 "2015-05-01T00:02:08Z")

</div>

I don’t really think pipe is what you need. pipe executes a command and returns the result. I think ‘file’ is still appropriate.

As far as your double user\_data, you can only include one “blob” of data. You could try concatenating the scripts such as:

user\_data: “{{ lookup(‘file’, ‘proxy-set.sh’) ~ ‘\n’ ~ lookup(‘file’, ‘misc-install.sh’) }}”

---

<div class="post-metadata">

**Author:** ![Brian\_Coca](https://avatars.discourse-cdn.com/v4/letter/b/6de8d8/32.png) [@Brian\_Coca](https://forum.ansible.com/u/Brian_Coca)\
**Post date:** [May 1, 2015, 1:16am UTC](https://forum.ansible.com/t/user-data-for-nova-compute-module/18094/6 "2015-05-01T01:16:22Z")

</div>

ah, misunderstood, thought you wanted data from executing the script,  
not to upload the script itself as data.

---

<div class="post-metadata">

**Author:** ![John\_Test](https://avatars.discourse-cdn.com/v4/letter/j/ce73a5/32.png) [@John\_Test](https://forum.ansible.com/u/John_Test)\
**Post date:** [May 1, 2015, 5:02am UTC](https://forum.ansible.com/t/user-data-for-nova-compute-module/18094/7 "2015-05-01T05:02:13Z")

</div>

Thanks Matt!
