-
Notifications
You must be signed in to change notification settings - Fork 23.7k
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
New module for managing NetApp E-Series iSCSI Interfaces #39877
Conversation
netapp_e_ssid: 1 | ||
netapp_e_api_host: 10.113.1.111:8443 | ||
netapp_e_api_username: admin | ||
netapp_e_api_password: infiniti |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Integration tests should not add anything to the shared integration config.
@mattclay That issue should be resolved. Not sure how I can make the request resolved. |
Review feedback addressed. I have not reviewed the rest of the changes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Once the question about backward compatibility is answered, this looks good to me.
def interfaces(self): | ||
ifaces = list() | ||
try: | ||
(rc, ifaces) = request(self.url + 'storage-systems/%s/graph/xpath-filter?query=/controller/hostInterfaces' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks like a newer endpoint. Does the documentation need to have a minimum version of SANtricity OS?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@hulquest We added this back in the WSP 1.3 time-frame (early 2016). While it's probably been in there long enough it doesn't need to be documented (IMO), that does beg the question of how to do so for when it does. I can add a note to the module if that makes sense.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think a brief sentence is worthy. Nothing is worse than trying something only to figure out the target API on the server isn't compatible. We should try to remember to ask this question of all new modules and substantial changes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@hulquest I added a note in the documentation. In the next patch I submit I'll see about adding a more lengthy blurb in the doc_fragments about API requirements, etc.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@gundalow Yes, I believe that it has. I added a comment in the notes about what API version is required for this module.
56b0ebd
to
fc0965e
Compare
@hulquest @amit0701 @schmots1 @carchi8py Can you give me a review on this patch? |
shipit |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
shipit
@@ -136,7 +136,8 @@ class ModuleDocFragment(object): | |||
required: false |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please remove this file from the PR
@@ -1133,7 +1133,6 @@ lib/ansible/modules/storage/netapp/na_cdot_volume.py E322 | |||
lib/ansible/modules/storage/netapp/na_cdot_volume.py E324 | |||
lib/ansible/modules/storage/netapp/na_cdot_volume.py E325 | |||
lib/ansible/modules/storage/netapp/netapp_e_amg.py E322 | |||
lib/ansible/modules/storage/netapp/netapp_e_amg.py E325 | |||
lib/ansible/modules/storage/netapp/netapp_e_amg_role.py E322 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please remove this file from the PR
description: | ||
- The IPv4 address to assign to the interface. | ||
- Should be specified in xx.xx.xx.xx form. | ||
- Mutually exclusive with I(config_method=dhcp) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add code to check for this and do fail_json
if needed just after argument_spec
description: | ||
- The subnet mask to utilize for the interface. | ||
- Should be specified in xx.xx.xx.xx form. | ||
- Mutually exclusive with I(config_method=dhcp) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add code to check for this and do fail_json
if needed just after argument_spec
description: | ||
- The IPv4 gateway address to utilize for the interface. | ||
- Should be specified in xx.xx.xx.xx form. | ||
- Mutually exclusive with I(config_method=dhcp) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add code to check for this and do fail_json
if needed just after argument_spec
config_method: | ||
description: | ||
- The configuration method type to use for this interface. | ||
- dhcp is mutually exclusive with I(address), I(subnet_mask), and I(gateway). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add code to check for this and do fail_json
if needed just after argument_spec
def interfaces(self): | ||
ifaces = list() | ||
try: | ||
(rc, ifaces) = request(self.url + 'storage-systems/%s/graph/xpath-filter?query=/controller/hostInterfaces' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Define a new module for configuring NetApp E-Series iSCSI interfaces.
Restructured integration test to set all iscsi ports to disabled, then defines the ports either statically or with dhcp, next updates the ports with the other definition type (static <-> dhcp), and lastly disables all ports. Each netapp_eseries_iscsi_interface call is verified with the array.
dd74f2b
to
cd44313
Compare
@gundalow The issues should be resolved. |
Define a new module for configuring NetApp E-Series iSCSI interfaces.
SUMMARY
Introduce a new module for managing E-Series iSCSI interfaces. Each E-Series system that supports iSCSI will have between 2 and 6 iSCSI interfaces (channels), that can be configured on each controller.
ISSUE TYPE
COMPONENT NAME
netapp_e_iscsi_interface
ANSIBLE VERSION
ADDITIONAL INFORMATION