# Features query ( communication, devices managed, protocols)

**URL:** <https://forum.ansible.com/t/features-query-communication-devices-managed-protocols/12499>\
**Category:** Ansible Project\
**Created:** [March 14, 2013, 9:21am UTC](https://forum.ansible.com/t/features-query-communication-devices-managed-protocols/12499 "2013-03-14T09:21:32Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Walid](https://avatars.discourse-cdn.com/v4/letter/w/ea5d25/32.png) [@Walid](https://forum.ansible.com/u/Walid)\
**Post date:** [March 14, 2013, 9:21am UTC](https://forum.ansible.com/t/features-query-communication-devices-managed-protocols/12499/1 "2013-03-14T09:21:32Z")

</div>

Dear All,

I have not started working with Ansible, however i am very interested  
in evaluating it, so the main way to manage the device is ssh, however  
it the blog it is mentioned that any ssh device, or as long as it has  
an API, how about if i would like to manage provisioning a new node,  
so i need to install the OS, configure the BIOS, and Raid card and if  
i have more than network cards, i might be interested in configuring  
bonding in both the switch and the bare-metal hardware. would that be  
a possible scenarios now? will the different devices involved in  
bare-metal, virtual, or cloud, or cloud instance configuration have  
the ability to communicate and be configured with Ansible?

kind regards

Walid

---

<div class="post-metadata">

**Author:** ![Michael\_DeHaan2](https://avatars.discourse-cdn.com/v4/letter/m/da6949/32.png) [@Michael\_DeHaan2](https://forum.ansible.com/u/Michael_DeHaan2)\
**Post date:** [March 14, 2013, 2:08pm UTC](https://forum.ansible.com/t/features-query-communication-devices-managed-protocols/12499/2 "2013-03-14T14:08:40Z")

</div>

So it sounds like you're discussing configuring a device via the  
management port where you can get at all of these things from the one  
port.

There's obviously the "raw" module now for communicating via SSH  
without modules, what it sounds like you would need for your  
management hardware (arbitrarily, let's say Cisco UCS management  
ports) is write a server side module that talks to them, abstracting  
out the things you do. (I know UCS is particularly good about  
allowing you to configure a ton there).

Basically you could need to look at how the raw module works, and have  
it parse arguments using things like utils.parse\_kv(), and embed the  
logic in a module just like the raw module, but called something like  
'ucs' (or "acme\_blade\_chasis", etc).

The other thing you could do is find if it had another type of API,  
and use "delegate\_to" to speak to the device using another host to  
speak to that API -- for example XML/SOAP/etc. Then you can also  
use higher level APIs than SSH, this is actually a bit easier in many  
cases, provided you have something other than SSH to talk to. (For  
instance, Cisco UCS has an XML API).

hosts: devices  
tasks:  
&nbsp;&nbsp;&nbsp;- local\_action: device\_configure name=$ansible\_hostname  
option1=.... option2=....

If this seems somewhat complex, this is something my company would  
like to help with. Let me know.

--Michael

---

<div class="post-metadata">

**Author:** ![Walid](https://avatars.discourse-cdn.com/v4/letter/w/ea5d25/32.png) [@Walid](https://forum.ansible.com/u/Walid)\
**Post date:** [March 15, 2013, 11:04am UTC](https://forum.ansible.com/t/features-query-communication-devices-managed-protocols/12499/3 "2013-03-15T11:04:45Z")

</div>

Hi,

your answer as well as the "Ansible-based howto for HPC builders "  
provides some how an answer. thanks

kind regards

Walid
