Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update to examples and error for NVME #54803

Merged
merged 1 commit into from
Apr 10, 2019
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
106 changes: 54 additions & 52 deletions lib/ansible/modules/storage/netapp/na_ontap_nvme.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
#!/usr/bin/python
# -*- coding: utf-8 -*-

# Copyright: (c) 2019, NetApp, Inc
# (c) 2019, NetApp, Inc
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
from __future__ import absolute_import, division, print_function
__metaclass__ = type
Expand All @@ -11,65 +10,64 @@
'supported_by': 'certified'}


DOCUMENTATION = r'''
module: na_ontap_nvme
short_description: NetApp ONTAP Manage NVMe Service
DOCUMENTATION = '''
author: NetApp Ansible Team (@carchi8py) <ng-ansibleteam@netapp.com>
description:
- Create/Delete NVMe Service
extends_documentation_fragment:
- netapp.na_ontap
author:
- NetApp Ansible Team (@carchi8py) (ng-ansibleteam@netapp.com)
module: na_ontap_nvme
options:
state:
choices: ['present', 'absent']
description:
- Whether the specified NVMe should exist or not.
type: str
choices: [ absent, present ]
default: present
vserver:
description:
- Name of the vserver to use.
type: str
required: true
status_admin:
description:
- Whether the status of NVMe should be up or down.
- Whether the status of NVMe should be up or down
type: bool
short_description: "NetApp ONTAP Manage NVMe Service"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally, modules go:
module, short_description, description, options,...

version_added: "2.8"
'''

EXAMPLES = r'''
- name: Create NVMe
na_ontap_nvme:
hostname: '{{ hostname }}'
username: '{{ username }}'
password: '{{ password }}'
vserver: '{{ vserver }}'
status_admin: no
state: present

- name: Modify NVMe
na_ontap_nvme:
vserver: '{{ vserver }}'
hostname: '{{ hostname }}'
username: '{{ username }}'
password: '{{ password }}'
status_admin: yes
state: present

- name: Delete NVMe
na_ontap_nvme:
hostname: '{{ hostname }}'
username: '{{ username }}'
password: '{{ password }}'
vserver: '{{ vserver }}'
state: absent
'''

RETURN = r'''
'''

EXAMPLES = """

- name: Create NVMe
na_ontap_nvme:
state: present
status_admin: False
vserver: "{{ vserver }}"
hostname: "{{ hostname }}"
username: "{{ username }}"
password: "{{ password }}"

- name: Modify NVMe
na_ontap_nvme:
state: present
status_admin: True
vserver: "{{ vserver }}"
hostname: "{{ hostname }}"
username: "{{ username }}"
password: "{{ password }}"

- name: Delete NVMe
na_ontap_nvme:
state: absent
vserver: "{{ vserver }}"
hostname: "{{ hostname }}"
username: "{{ username }}"
password: "{{ password }}"
"""

RETURN = """
"""

import traceback
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils._text import to_native
import ansible.module_utils.netapp as netapp_utils
Expand All @@ -86,15 +84,15 @@ class NetAppONTAPNVMe(object):
def __init__(self):

self.argument_spec = netapp_utils.na_ontap_host_argument_spec()
self.argument_spec.update(
state=dict(type='str', default='present', choices=['absent', 'present']),
vserver=dict(type='str', required=True),
status_admin=dict(type='bool'),
)
self.argument_spec.update(dict(
state=dict(required=False, type='str', choices=['present', 'absent'], default='present'),
vserver=dict(required=True, type='str'),
status_admin=dict(required=False, type='bool')
))

self.module = AnsibleModule(
argument_spec=self.argument_spec,
supports_check_mode=True,
supports_check_mode=True
)

self.na_helper = NetAppModule()
Expand Down Expand Up @@ -122,7 +120,8 @@ def get_nvme(self):
try:
result = self.server.invoke_successfully(nvme_get, enable_tunneling=False)
except netapp_utils.zapi.NaApiError as error:
self.module.fail_json(msg='Error fetching nvme info: %s' % to_native(error))
self.module.fail_json(msg='Error fetching nvme info: %s' % to_native(error),
exception=traceback.format_exc())
if result.get_child_by_name('num-records') and int(result.get_child_content('num-records')) >= 1:
attributes_list = result.get_child_by_name('attributes-list')
nvme_info = attributes_list.get_child_by_name('nvme-target-service-info')
Expand All @@ -142,7 +141,8 @@ def create_nvme(self):
self.server.invoke_successfully(nvme_create, enable_tunneling=True)
except netapp_utils.zapi.NaApiError as error:
self.module.fail_json(msg='Error creating nvme for vserver %s: %s'
% (self.parameters['vserver'], to_native(error)))
% (self.parameters['vserver'], to_native(error)),
exception=traceback.format_exc())

def delete_nvme(self):
"""
Expand All @@ -153,7 +153,8 @@ def delete_nvme(self):
self.server.invoke_successfully(nvme_delete, enable_tunneling=True)
except netapp_utils.zapi.NaApiError as error:
self.module.fail_json(msg='Error deleting nvme for vserver %s: %s'
% (self.parameters['vserver'], to_native(error)))
% (self.parameters['vserver'], to_native(error)),
exception=traceback.format_exc())

def modify_nvme(self, status=None):
"""
Expand All @@ -168,7 +169,8 @@ def modify_nvme(self, status=None):
self.server.invoke_successfully(nvme_modify, enable_tunneling=True)
except netapp_utils.zapi.NaApiError as error:
self.module.fail_json(msg='Error modifying nvme for vserver %s: %s'
% (self.parameters['vserver'], to_native(error)))
% (self.parameters['vserver'], to_native(error)),
exception=traceback.format_exc())

def apply(self):
"""
Expand Down