- Unable to run the playbook with new modules for IBM V7000 storage boxes

Hello Team,

I need to automate my IBM V7000 Storage system and run commands on the same.

On google i found there is a module from Ansible collection:

Ansible Collection - ibm.spectrum_virtualize

I downloaded it but i am not sure where to install it. As per the instructions i installed it under python module and module-utils under this path.

/usr/lib/python2.7/site-packages/ansible/modules/storage/ibm where existing packages are kept but still when i run the playbook it gives this error.

TASK [Run CLI commands] *************************************************************************************************************************************
fatal: [localhost]: FAILED! => {“msg”: “Could not find imported module support code for ibm_svcinfo_command. Looked for either IBMSVCssh.py or ibm_svc_ssh.py”}

Can anyone help me to run this playbook and update me where i need to install the python module.?

Hello Abhijeet,

Can you please help me on this?

`ansible galaxy collection install ....` should take care of the
installation for you, do not move the specific modules to a location
as they require other parts of the collection, install the collection
as a whole.

Hello Brian,

i did the same and installed using the same command.

ibm]# ansible-galaxy collection install /tmp/ibm-spectrum_virtualize-1.4.0.tar.gz -p /usr/share/ansible/collections/

[WARNING]: Collection at ‘/usr/share/ansible/collections/ansible_collections/ibm/plugins’ does not have a MANIFEST.json file, cannot detect version.

[WARNING]: Collection at ‘/usr/share/ansible/collections/ansible_collections/ibm/roles’ does not have a MANIFEST.json file, cannot detect version.

[WARNING]: Collection at ‘/usr/share/ansible/collections/ansible_collections/ibm/tests’ does not have a MANIFEST.json file, cannot detect version.

[WARNING]: Collection at ‘/usr/share/ansible/collections/ansible_collections/ibm/docs’ does not have a MANIFEST.json file, cannot detect version.

[WARNING]: Collection at ‘/usr/share/ansible/collections/ansible_collections/ibm/playbooks’ does not have a MANIFEST.json file, cannot detect version.

Process install dependency map

Starting collection install process

Installing ‘ibm.spectrum_virtualize:1.4.0’ to ‘/usr/share/ansible/collections/ansible_collections/ibm/spectrum_virtualize’

[root@ansible-kartel ibm]# cd /usr/share/ansible/collections/ansible_collections/ibm/spectrum_virtualize

and also i installed the modules:/usr/lib/python2.7/site-packages/ansible/modules/storage/ibm

This is output of ansible version:

ansible 2.9.14

config file = /etc/ansible/ansible.cfg

configured module search path = [u’/root/.ansible/plugins/modules’, u’/usr/share/ansible/plugins/modules’]

ansible python module location = /usr/lib/python2.7/site-packages/ansible

executable location = /usr/bin/ansible

python version = 2.7.5 (default, May 3 2017, 07:55:04) [GCC 4.8.5 20150623 (Red Hat 4.8.5-14)]

Not sure where its looking for the modules?

Here is my playbook in which i am using ibm_svc module

[ support]# more v7ktest.yml
---
- name: Using the IBM Spectrum Virtualize collection to create an FC host
hosts: localhost
gather_facts: no
connection: local
vars:
clustername: **************
domain:
username: superuser
password: ************
log_path: tmp/playbook.debug
tasks:
- name: Run CLI commands
register: results
ibm_svcinfo_command:
command: "svcinfo lssystem"
clustername: "{{ clustername }}"
username: "{{ username }}"
password: "{{ password }}"
log_path: /tmp/test.debug

You haven’t done anything to tell the play/task to use that collection.

The easiest way is instead of just using ibm_svcinfo_command: you use ibm.spectrum_virtualize.ibm_svcinfo_command: in your task.

Hello,

As per the instructions I installed the collection at this path.

[root@ spectrum_virtualize]# ansible-config dump | grep COLLECTIONS_PATH

COLLECTIONS_PATHS(/etc/ansible/ansible.cfg) = [u’/usr/share/ansible/collections’]

[root@ansible-kartel spectrum_virtualize]# pwd

/usr/share/ansible/collections/ibm/spectrum_virtualize

[root@********spectrum_virtualize]# ls

docs FILES.json LICENSE MANIFEST.json playbooks plugins README.md roles tests

[root@ansible-kartel spectrum_virtualize]#