Fix imports, part 2 (#42)

* Recover missing netapp.ontap module doc fragments from ansible/ansible@pre-ansible-base.

* Fix PEP8 issues.

* Remove netbox empty files, and test which shouldn't be here.

* Add forgotten file for kubevirt tests.

* Fix unit test imports.

* ansible/ansible#68415 has been fixed.

* Clean up/rearrange imports.

* Update ignore.txt, fix boilerplate.

* Netapp docs fragment: fix spacing

* Forgot to adjust kubevirt tests.
This commit is contained in:
Felix Fontein 2020-03-25 12:43:51 +01:00 committed by GitHub
parent 25394eeafb
commit 07ecfc940c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
118 changed files with 486 additions and 423 deletions

View file

@ -172,8 +172,8 @@ tags:
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.general.plugins.module_utils.cloudscale import (AnsibleCloudscaleBase,
cloudscale_argument_spec,
)
cloudscale_argument_spec,
)
class AnsibleCloudscaleVolume(AnsibleCloudscaleBase):

View file

@ -148,8 +148,8 @@ project:
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.general.plugins.module_utils.cloudstack import (AnsibleCloudStack,
cs_argument_spec,
cs_required_together)
cs_argument_spec,
cs_required_together)
class AnsibleCloudStackInstanceNic(AnsibleCloudStack):

View file

@ -132,10 +132,10 @@ RETURN = '''
###############################################################################
from ansible_collections.community.general.plugins.module_utils.hwc_utils import (Config, HwcClientException,
HwcClientException404, HwcModule,
are_different_dicts, is_empty_value,
wait_to_finish, get_region,
build_path, navigate_value)
HwcClientException404, HwcModule,
are_different_dicts, is_empty_value,
wait_to_finish, get_region,
build_path, navigate_value)
import re
###############################################################################

View file

@ -111,9 +111,9 @@ update_time:
###############################################################################
from ansible_collections.community.general.plugins.module_utils.hwc_utils import (Config, HwcClientException,
HwcModule, navigate_value,
are_different_dicts, is_empty_value,
build_path, get_region)
HwcModule, navigate_value,
are_different_dicts, is_empty_value,
build_path, get_region)
import re
###############################################################################

View file

@ -213,8 +213,8 @@ except ImportError:
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.general.plugins.module_utils.rax import (FINAL_STATUSES, rax_argument_spec, rax_find_bootable_volume,
rax_find_image, rax_find_network, rax_find_volume,
rax_required_together, rax_to_dict, setup_rax_module)
rax_find_image, rax_find_network, rax_find_volume,
rax_required_together, rax_to_dict, setup_rax_module)
from ansible.module_utils.six.moves import xrange
from ansible.module_utils.six import string_types

View file

@ -105,7 +105,7 @@ except ImportError:
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.general.plugins.module_utils.rax import (VOLUME_STATUS, rax_argument_spec, rax_find_image, rax_find_volume,
rax_required_together, rax_to_dict, setup_rax_module)
rax_required_together, rax_to_dict, setup_rax_module)
def cloud_block_storage(module, state, name, description, meta, size,

View file

@ -82,13 +82,13 @@ except ImportError:
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.general.plugins.module_utils.rax import (NON_CALLABLES,
rax_argument_spec,
rax_find_server,
rax_find_volume,
rax_required_together,
rax_to_dict,
setup_rax_module,
)
rax_argument_spec,
rax_find_server,
rax_find_volume,
rax_required_together,
rax_to_dict,
setup_rax_module,
)
def cloud_block_storage_attachments(module, state, volume, server, device,

View file

@ -133,12 +133,12 @@ except ImportError:
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.general.plugins.module_utils.rax import (CLB_ALGORITHMS,
CLB_PROTOCOLS,
rax_argument_spec,
rax_required_together,
rax_to_dict,
setup_rax_module,
)
CLB_PROTOCOLS,
rax_argument_spec,
rax_required_together,
rax_to_dict,
setup_rax_module,
)
def cloud_load_balancer(module, state, name, meta, algorithm, port, protocol,

View file

@ -102,11 +102,11 @@ except ImportError:
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.general.plugins.module_utils.rax import (rax_argument_spec,
rax_find_loadbalancer,
rax_required_together,
rax_to_dict,
setup_rax_module,
)
rax_find_loadbalancer,
rax_required_together,
rax_to_dict,
setup_rax_module,
)
def cloud_load_balancer_ssl(module, loadbalancer, state, enabled, private_key,

View file

@ -71,10 +71,10 @@ except ImportError:
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.general.plugins.module_utils.rax import (rax_argument_spec,
rax_required_together,
rax_to_dict,
setup_rax_module,
)
rax_required_together,
rax_to_dict,
setup_rax_module,
)
def rax_dns(module, comment, email, name, state, ttl):

View file

@ -123,12 +123,12 @@ except ImportError:
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.general.plugins.module_utils.rax import (rax_argument_spec,
rax_find_loadbalancer,
rax_find_server,
rax_required_together,
rax_to_dict,
setup_rax_module,
)
rax_find_loadbalancer,
rax_find_server,
rax_required_together,
rax_to_dict,
setup_rax_module,
)
def rax_dns_record_ptr(module, data=None, comment=None, loadbalancer=None,

View file

@ -58,10 +58,10 @@ except ImportError:
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.general.plugins.module_utils.rax import (rax_argument_spec,
rax_required_together,
rax_to_dict,
setup_rax_module,
)
rax_required_together,
rax_to_dict,
setup_rax_module,
)
def rax_facts(module, address, name, server_id):

View file

@ -54,7 +54,7 @@ except ImportError:
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.general.plugins.module_utils.rax import (rax_argument_spec, rax_required_together, rax_to_dict,
setup_rax_module)
setup_rax_module)
def cloud_identity(module, state, identity):

View file

@ -88,10 +88,10 @@ except ImportError:
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.general.plugins.module_utils.rax import (rax_argument_spec,
rax_required_together,
rax_to_dict,
setup_rax_module,
)
rax_required_together,
rax_to_dict,
setup_rax_module,
)
def rax_keypair(module, name, public_key, state):

View file

@ -144,7 +144,7 @@ except ImportError:
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.general.plugins.module_utils.rax import (rax_argument_spec, rax_find_image, rax_find_network,
rax_required_together, rax_to_dict, setup_rax_module)
rax_required_together, rax_to_dict, setup_rax_module)
from ansible.module_utils.six import string_types

View file

@ -124,7 +124,7 @@ except ImportError:
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.general.plugins.module_utils.rax import (UUID, rax_argument_spec, rax_required_together, rax_to_dict,
setup_rax_module)
setup_rax_module)
def rax_asp(module, at=None, change=0, cron=None, cooldown=300,

View file

@ -443,10 +443,10 @@ from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.common.network import is_mac
from ansible.module_utils import six
from ansible_collections.community.general.plugins.module_utils.xenserver import (xenserver_common_argument_spec, XAPI, XenServerObject, get_object_ref,
gather_vm_params, gather_vm_facts, set_vm_power_state, wait_for_vm_ip_address,
is_valid_ip_addr, is_valid_ip_netmask, is_valid_ip_prefix,
ip_prefix_to_netmask, ip_netmask_to_prefix,
is_valid_ip6_addr, is_valid_ip6_prefix)
gather_vm_params, gather_vm_facts, set_vm_power_state,
wait_for_vm_ip_address, is_valid_ip_addr, is_valid_ip_netmask,
is_valid_ip_prefix, ip_prefix_to_netmask, ip_netmask_to_prefix,
is_valid_ip6_addr, is_valid_ip6_prefix)
class XenServerVM(XenServerObject):

View file

@ -163,7 +163,7 @@ except ImportError:
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.general.plugins.module_utils.xenserver import (xenserver_common_argument_spec, XAPI, XenServerObject, get_object_ref,
gather_vm_params, gather_vm_facts)
gather_vm_params, gather_vm_facts)
class XenServerVM(XenServerObject):

View file

@ -186,7 +186,8 @@ except ImportError:
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.general.plugins.module_utils.xenserver import (xenserver_common_argument_spec, XAPI, XenServerObject, get_object_ref,
gather_vm_params, gather_vm_facts, set_vm_power_state, wait_for_vm_ip_address)
gather_vm_params, gather_vm_facts, set_vm_power_state,
wait_for_vm_ip_address)
class XenServerVM(XenServerObject):

View file

@ -96,8 +96,8 @@ content:
'''
import json
from ansible_collections.community.general.plugins.module_utils.network.a10.a10 import (axapi_call, a10_argument_spec, axapi_authenticate, axapi_failure, axapi_get_port_protocol,
axapi_enabled_disabled, AXAPI_PORT_PROTOCOLS)
from ansible_collections.community.general.plugins.module_utils.network.a10.a10 import (axapi_call, a10_argument_spec, axapi_authenticate, axapi_failure,
axapi_get_port_protocol, axapi_enabled_disabled, AXAPI_PORT_PROTOCOLS)
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.urls import url_argument_spec

View file

@ -113,7 +113,8 @@ content:
'''
import json
from ansible_collections.community.general.plugins.module_utils.network.a10.a10 import (axapi_call, a10_argument_spec, axapi_authenticate, axapi_failure, axapi_enabled_disabled)
from ansible_collections.community.general.plugins.module_utils.network.a10.a10 import (axapi_call, a10_argument_spec, axapi_authenticate,
axapi_failure, axapi_enabled_disabled)
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.urls import url_argument_spec

View file

@ -102,7 +102,8 @@ content:
import json
from ansible_collections.community.general.plugins.module_utils.network.a10.a10 import (axapi_call, a10_argument_spec, axapi_authenticate, axapi_failure,
axapi_enabled_disabled, axapi_get_vport_protocol, AXAPI_VPORT_PROTOCOLS)
axapi_enabled_disabled, axapi_get_vport_protocol,
AXAPI_VPORT_PROTOCOLS)
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils.urls import url_argument_spec

View file

@ -409,7 +409,7 @@ download:
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.general.plugins.module_utils.network.ingate.common import (ingate_argument_spec,
ingate_create_client)
ingate_create_client)
try:
from ingate import ingatesdk

View file

@ -124,8 +124,8 @@ unit-information:
from ansible.module_utils.basic import AnsibleModule
from ansible.module_utils._text import to_native
from ansible_collections.community.general.plugins.module_utils.network.ingate.common import (ingate_argument_spec,
ingate_create_client,
is_ingatesdk_installed)
ingate_create_client,
is_ingatesdk_installed)
try:
from ingate import ingatesdk

View file

@ -113,7 +113,8 @@ diff:
'''
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.general.plugins.module_utils.network.netscaler.netscaler import ConfigProxy, get_nitro_client, netscaler_common_arguments, log, loglines, ensure_feature_is_enabled
from ansible_collections.community.general.plugins.module_utils.network.netscaler.netscaler import (ConfigProxy, get_nitro_client, netscaler_common_arguments,
log, loglines, ensure_feature_is_enabled)
try:
from nssrc.com.citrix.netscaler.nitro.resource.config.cs.cspolicy import cspolicy
from nssrc.com.citrix.netscaler.nitro.exception.nitro_exception import nitro_exception

View file

@ -158,8 +158,10 @@ except ImportError as e:
PYTHON_SDK_IMPORTED = False
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.general.plugins.module_utils.network.netscaler.netscaler import ConfigProxy, get_nitro_client, netscaler_common_arguments, log, loglines, \
get_immutables_intersection
from ansible_collections.community.general.plugins.module_utils.network.netscaler.netscaler import (ConfigProxy, get_nitro_client,
netscaler_common_arguments,
log, loglines,
get_immutables_intersection)
def server_exists(client, module):

View file

@ -427,8 +427,8 @@ except ImportError as e:
PYTHON_SDK_IMPORTED = False
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.general.plugins.module_utils.network.netscaler.netscaler import (ConfigProxy, get_nitro_client, netscaler_common_arguments, log, loglines,
get_immutables_intersection)
from ansible_collections.community.general.plugins.module_utils.network.netscaler.netscaler import (ConfigProxy, get_nitro_client, netscaler_common_arguments,
log, loglines, get_immutables_intersection)
def service_exists(client, module):

View file

@ -398,8 +398,8 @@ diff:
from ansible.module_utils.basic import AnsibleModule
import copy
from ansible_collections.community.general.plugins.module_utils.network.netscaler.netscaler import ConfigProxy, get_nitro_client, netscaler_common_arguments, log, \
loglines, get_immutables_intersection
from ansible_collections.community.general.plugins.module_utils.network.netscaler.netscaler import (ConfigProxy, get_nitro_client, netscaler_common_arguments,
log, loglines, get_immutables_intersection)
try:
from nssrc.com.citrix.netscaler.nitro.resource.config.basic.servicegroup import servicegroup
from nssrc.com.citrix.netscaler.nitro.resource.config.basic.servicegroup_servicegroupmember_binding import servicegroup_servicegroupmember_binding

View file

@ -152,8 +152,8 @@ except ImportError as e:
PYTHON_SDK_IMPORTED = False
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.general.plugins.module_utils.network.netscaler.netscaler import ConfigProxy, get_nitro_client, netscaler_common_arguments, log, loglines, \
get_immutables_intersection
from ansible_collections.community.general.plugins.module_utils.network.netscaler.netscaler import (ConfigProxy, get_nitro_client, netscaler_common_arguments,
log, loglines, get_immutables_intersection)
def key_exists(client, module):

View file

@ -79,7 +79,7 @@ RETURN = '''
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.general.plugins.module_utils.ibm_sa_utils import (execute_pyxcli_command, connect_ssl,
spectrum_accelerate_spec, is_pyxcli_installed)
spectrum_accelerate_spec, is_pyxcli_installed)
def main():

View file

@ -94,7 +94,7 @@ RETURN = '''
from ansible.module_utils.basic import AnsibleModule
from ansible_collections.community.general.plugins.module_utils.ibm_sa_utils import (execute_pyxcli_command,
connect_ssl, spectrum_accelerate_spec, is_pyxcli_installed)
connect_ssl, spectrum_accelerate_spec, is_pyxcli_installed)
def main():

View file

@ -18,7 +18,7 @@ module: na_cdot_aggregate
short_description: Manage NetApp cDOT aggregates.
extends_documentation_fragment:
- netapp.ontap.netapp.na_ontap
- community.general.netapp.ontap
author: Sumit Kumar (@timuster) <sumit4@netapp.com>

View file

@ -18,7 +18,7 @@ module: na_cdot_license
short_description: Manage NetApp cDOT protocol and feature licenses
extends_documentation_fragment:
- netapp.ontap.netapp.na_ontap
- community.general.netapp.ontap
author: Sumit Kumar (@timuster) <sumit4@netapp.com>

View file

@ -18,7 +18,7 @@ module: na_cdot_lun
short_description: Manage NetApp cDOT luns
extends_documentation_fragment:
- netapp.ontap.netapp.na_ontap
- community.general.netapp.ontap
author: Sumit Kumar (@timuster) <sumit4@netapp.com>

View file

@ -18,7 +18,7 @@ module: na_cdot_qtree
short_description: Manage qtrees
extends_documentation_fragment:
- netapp.ontap.netapp.na_ontap
- community.general.netapp.ontap
author: Sumit Kumar (@timuster) <sumit4@netapp.com>

View file

@ -18,7 +18,7 @@ module: na_cdot_svm
short_description: Manage NetApp cDOT svm
extends_documentation_fragment:
- netapp.ontap.netapp.na_ontap
- community.general.netapp.ontap
author: Sumit Kumar (@timuster) <sumit4@netapp.com>

View file

@ -18,7 +18,7 @@ module: na_cdot_user
short_description: useradmin configuration and management
extends_documentation_fragment:
- netapp.ontap.netapp.na_ontap
- community.general.netapp.ontap
author: Sumit Kumar (@timuster) <sumit4@netapp.com>

View file

@ -18,7 +18,7 @@ module: na_cdot_user_role
short_description: useradmin configuration and management
extends_documentation_fragment:
- netapp.ontap.netapp.na_ontap
- community.general.netapp.ontap
author: Sumit Kumar (@timuster) <sumit4@netapp.com>

View file

@ -18,7 +18,7 @@ module: na_cdot_volume
short_description: Manage NetApp cDOT volumes
extends_documentation_fragment:
- netapp.ontap.netapp.na_ontap
- community.general.netapp.ontap
author: Sumit Kumar (@timuster) <sumit4@netapp.com>

View file

@ -20,7 +20,7 @@ description:
- This module will allow the owner of the system to specify email recipients for these messages.
author: Michael Price (@lmprice)
extends_documentation_fragment:
- netapp.ontap.netapp.eseries
- community.general.netapp.eseries
options:
state:

View file

@ -19,7 +19,7 @@ description:
- Allows for the creation, removal and updating of Asynchronous Mirror Groups for NetApp E-series storage arrays
author: Kevin Hulquest (@hulquest)
extends_documentation_fragment:
- netapp.ontap.netapp.eseries
- community.general.netapp.eseries
options:
name:

View file

@ -19,7 +19,7 @@ description:
- Allow the auto-support settings to be configured for an individual E-Series storage-system
author: Michael Price (@lmprice)
extends_documentation_fragment:
- netapp.ontap.netapp.eseries
- community.general.netapp.eseries
options:
state:

View file

@ -19,7 +19,7 @@ description:
- This module allows an e-series storage system owner to set audit-log configuration parameters.
author: Nathan Swartz (@ndswartz)
extends_documentation_fragment:
- netapp.ontap.netapp.eseries
- community.general.netapp.eseries
options:
max_records:

View file

@ -20,7 +20,7 @@ description:
author:
- Nathan Swartz (@ndswartz)
extends_documentation_fragment:
- netapp.ontap.netapp.eseries
- community.general.netapp.eseries
options:
firmware:

View file

@ -20,7 +20,7 @@ author:
- Kevin Hulquest (@hulquest)
- Nathan Swartz (@ndswartz)
extends_documentation_fragment:
- netapp.ontap.netapp.eseries
- community.general.netapp.eseries
'''

View file

@ -20,7 +20,7 @@ description:
author:
- Nathan Swartz (@ndswartz)
extends_documentation_fragment:
- netapp.ontap.netapp.eseries
- community.general.netapp.eseries
options:
nvsram:

View file

@ -19,7 +19,7 @@ description:
- Allow the user to configure several of the global settings associated with an E-Series storage-system
author: Michael Price (@lmprice)
extends_documentation_fragment:
- netapp.ontap.netapp.eseries
- community.general.netapp.eseries
options:
name:

View file

@ -20,7 +20,7 @@ author:
- Kevin Hulquest (@hulquest)
- Nathan Swartz (@ndswartz)
extends_documentation_fragment:
- netapp.ontap.netapp.eseries
- community.general.netapp.eseries
options:
name:

View file

@ -22,7 +22,7 @@ author:
- Nathan Swartz (@ndswartz)
description: Create, update or destroy host groups on a NetApp E-Series storage array.
extends_documentation_fragment:
- netapp.ontap.netapp.eseries
- community.general.netapp.eseries
options:
state:

View file

@ -19,7 +19,7 @@ description:
- Configure settings of an E-Series iSCSI interface
author: Michael Price (@lmprice)
extends_documentation_fragment:
- netapp.ontap.netapp.eseries
- community.general.netapp.eseries
options:
controller:

View file

@ -19,7 +19,7 @@ description:
- Configure the settings of an E-Series iSCSI target
author: Michael Price (@lmprice)
extends_documentation_fragment:
- netapp.ontap.netapp.eseries
- community.general.netapp.eseries
options:
name:

View file

@ -19,7 +19,7 @@ description:
- Configure an E-Series system to allow authentication via an LDAP server
author: Michael Price (@lmprice)
extends_documentation_fragment:
- netapp.ontap.netapp.eseries
- community.general.netapp.eseries
options:
state:

View file

@ -21,7 +21,7 @@ short_description: NetApp E-Series create, delete, or modify lun mappings
description:
- Create, delete, or modify mappings between a volume and a targeted host/host+ group.
extends_documentation_fragment:
- netapp.ontap.netapp.eseries
- community.general.netapp.eseries
options:
state:

View file

@ -21,7 +21,7 @@ author:
- Michael Price (@lmprice)
- Nathan Swartz (@ndswartz)
extends_documentation_fragment:
- netapp.ontap.netapp.eseries
- community.general.netapp.eseries
options:
state:

View file

@ -20,7 +20,7 @@ author:
- Kevin Hulquest (@hulquest)
- Nathan Swartz (@ndswartz)
extends_documentation_fragment:
- netapp.ontap.netapp.eseries
- community.general.netapp.eseries
options:
state:

View file

@ -19,7 +19,7 @@ description:
- Allow the syslog settings to be configured for an individual E-Series storage-system
author: Nathan Swartz (@ndswartz)
extends_documentation_fragment:
- netapp.ontap.netapp.eseries
- community.general.netapp.eseries
options:
state:

View file

@ -21,7 +21,7 @@ author:
- Kevin Hulquest (@hulquest)
- Nathan Swartz (@ndswartz)
extends_documentation_fragment:
- netapp.ontap.netapp.eseries
- community.general.netapp.eseries
options:
state:

View file

@ -20,7 +20,7 @@ description:
- Create and delete snapshots images on volume groups for NetApp E-series storage arrays.
author: Kevin Hulquest (@hulquest)
extends_documentation_fragment:
- netapp.ontap.netapp.eseries
- community.general.netapp.eseries
options:
api_username:

View file

@ -21,7 +21,7 @@ deprecated:
alternative: please use M(na_elementsw_account)
short_description: Manage SolidFire accounts
extends_documentation_fragment:
- netapp.ontap.netapp.solidfire
- community.general.netapp.solidfire
author: Sumit Kumar (@timuster) <sumit4@netapp.com>
description:

View file

@ -21,7 +21,7 @@ deprecated:
alternative: please use M(na_elementsw_check_connections)
short_description: Check connectivity to MVIP and SVIP.
extends_documentation_fragment:
- netapp.ontap.netapp.solidfire
- community.general.netapp.solidfire
author: Sumit Kumar (@timuster) <sumit4@netapp.com>
description:

View file

@ -20,7 +20,7 @@ deprecated:
alternative: please use M(na_elementsw_snapshot_schedule)
short_description: Manage SolidFire snapshot schedules
extends_documentation_fragment:
- netapp.ontap.netapp.solidfire
- community.general.netapp.solidfire
author: Sumit Kumar (@timuster) <sumit4@netapp.com>
description:

View file

@ -21,7 +21,7 @@ deprecated:
alternative: please use M(na_elementsw_access_group)
short_description: Manage SolidFire Volume Access Groups
extends_documentation_fragment:
- netapp.ontap.netapp.solidfire
- community.general.netapp.solidfire
author: Sumit Kumar (@timuster) <sumit4@netapp.com>
description:

View file

@ -21,7 +21,7 @@ deprecated:
alternative: please use M(na_elementsw_volume)
short_description: Manage SolidFire volumes
extends_documentation_fragment:
- netapp.ontap.netapp.solidfire
- community.general.netapp.solidfire
author: Sumit Kumar (@timuster) <sumit4@netapp.com>
description: