<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>article ONTAP Automation: How to Do a 4-hour Configuration in 5 Minutes in Tech ONTAP Articles</title>
    <link>https://community.netapp.com/t5/Tech-ONTAP-Articles/ONTAP-Automation-How-to-Do-a-4-hour-Configuration-in-5-Minutes/ta-p/119040</link>
    <description>&lt;DIV class="lia-message-template-content-zone"&gt;&lt;DIV class="main" style="background: #fff; padding: 10px;"&gt;
&lt;DIV class="header" style="height: 40px; min-width: 640px; border-bottom: 1px solid silver; margin-bottom: 40px;"&gt;
&lt;DIV style="margin: 0pt; padding-right: 10px; width: 100px; height: 40px; float: right;"&gt;&lt;A href="https://community.netapp.com/t5/Tech-OnTap-Articles/PDF-Preview/ta-p/119094"&gt;&lt;IMG style="float: right;" class="jive-image" src="https://community.netapp.com/legacyfs/online/9614_pdf-icon.gif" border="0" alt="pdf-icon.gif" /&gt;&lt;/A&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="article"&gt;
&lt;DIV class="aside" style="float: right; margin: 0 0 1em 1em; padding: 0 0 0 2em; width: 250px;"&gt;
&lt;P style="font-size: 15px; padding-bottom: 8px; padding-top: 30px;"&gt;&lt;STRONG&gt;May 2016&lt;/STRONG&gt;&lt;/P&gt;
&lt;DIV class="sidebar_box" style="margin: 0pt; padding: 0pt; width: 250px; background: none repeat scroll 0% 0% #ffffff; border: 0pt none;"&gt;
&lt;P&gt;&lt;IFRAME src="http://www.netapp.com/us/forms/communities-tot-new-reg.html" width="230" height="570" frameborder="0" scrolling="no" style="border: 0px; padding-left: 20px;"&gt; &lt;/IFRAME&gt;&lt;/P&gt;
&lt;/DIV&gt;
&lt;DIV class="sidetext" style="text-align: left;"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="author1"&gt;&lt;IMG style="border: 0; margin-right: 10px; margin-bottom: 10px;" class="jive-image" src="https://community.netapp.com/t5/image/serverpage/image-id/5286i673E12E0D05C3AF4/image-size/original?v=v2&amp;amp;px=-1" border="0" align="left" title="author_ezra_tingler_86x86.jpg" alt="author_ezra_tingler_86x86.jpg" /&gt;&lt;BR /&gt; &lt;A class="active_link" href="#author1"&gt;&lt;STRONG&gt;Ezra Tingler &lt;/STRONG&gt;&lt;/A&gt;&lt;BR /&gt;Senior Storage Engineer&lt;BR /&gt; NetApp&lt;/DIV&gt;
&lt;DIV style="clear: left;"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P style="margin-top: 5px;"&gt;My name is Ezra Tingler, and I work in NetApp’s Customer-1 Storage Services organization. The Customer-1 Storage Services team is responsible for the architecture, procurement, deployment, and maintenance of the storage infrastructure that services all of our internal applications. The team is organized into service line owners, each of whom owns a particular aspect of our storage technologies. As expected, our storage infrastructure is built on the latest and greatest NetApp technologies. As a large consumer of NetApp technology, the Customer-1 Storage Services team also serves as a reference to external NetApp customers when it comes to showcasing the correct utilization of NetApp products.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;On this team, I own the Storage Ecosystem Service line, which means I am responsible for storage hardware lifecycle management. My main goal is to ensure that our storage software and hardware creates a stable, functioning storage ecosystem from which other service lines and applications are provided data services. Currently, our team is migrating all data hosted on NetApp siloed storage (i.e. 7-mode) to clustered storage.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Challenge&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As part of this migration project, I’ve been installing additional storage nodes and clusters. When I first started this project, the average configuration time for a high availability (HA) clustered controller pair was about four hours, spread out over two to three days. The four hours did not include the time needed to configure the cluster inter-connect switches or initialize disks; that took another two to twelve hours depending on disk type. Typical office interruptions added even more time as I had to figure out where I had left off and what I still needed to configure. This sporadic schedule resulted in missed deadlines and some configuration inconsistencies. I knew there had to be a better way to go about this project.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;The Solution&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I challenged myself to see if I could automate the storage configuration process to save time and reduce errors. Although I’m not a developer, I found it easy to write a configuration script using the &lt;A href="https://community.netapp.com/t5/Software-Development-Kit-SDK-and-API-Discussions/NetApp-Manageability-NM-SDK-5-4-Introduction-and-Download-Information/td-p/108181"&gt;NetApp Manageability Software Development Kit&lt;/A&gt; (NM SDK). I run my script once the disks are initialized, cluster setup is complete, and the cluster inter-connect switches are properly configured. All in all, the script configures 23 specific items:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Rename the cluster nodes&lt;/LI&gt;
&lt;LI&gt;Rename the any existing interfaces to match the new node names&lt;/LI&gt;
&lt;LI&gt;Cluster interfaces and node management interfaces&lt;/LI&gt;
&lt;LI&gt;Rename the root aggregates to match the new node names&lt;/LI&gt;
&lt;LI&gt;Install licenses&lt;/LI&gt;
&lt;LI&gt;Configure the service processors&lt;/LI&gt;
&lt;LI&gt;Set the flow control to none on all 10g ports&lt;/LI&gt;
&lt;LI&gt;Create broadcast domains and assigns the proper ports&lt;/LI&gt;
&lt;LI&gt;Create interface groups and add the correct ports&lt;/LI&gt;
&lt;LI&gt;Create VLANs&lt;/LI&gt;
&lt;LI&gt;Create failover groups and assign the correct ports&lt;/LI&gt;
&lt;LI&gt;Create backup interfaces (intercluster)&lt;/LI&gt;
&lt;LI&gt;Create user roles&lt;/LI&gt;
&lt;LI&gt;Create users&lt;/LI&gt;
&lt;LI&gt;Set the RAID scrub schedule&lt;/LI&gt;
&lt;LI&gt;Create aggregates&lt;/LI&gt;
&lt;LI&gt;Disable aggregate snapshots on all aggregates&lt;/LI&gt;
&lt;LI&gt;Create cluster peers&lt;/LI&gt;
&lt;LI&gt;Configure NTP&lt;/LI&gt;
&lt;LI&gt;Configure SNMP&lt;/LI&gt;
&lt;LI&gt;Configure CDP&lt;/LI&gt;
&lt;LI&gt;Configure web services&lt;/LI&gt;
&lt;LI&gt;Configure AutoSupport&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As the script runs, it reads predefined configuration information from a file I create, and applies this configuration to the cluster nodes. The only thing I need to do before running the script is to edit the config file with unique information, such as node names, IP addresses, and password keys.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;After using this script, I was amazed by the results. The four-hours it used to take has been reduced to about five minutes. Using the configuration script, I can now install 24 storage nodes in two hours rather than 96 hours, a time savings of 94 hours or 2 1/2 work weeks. Errors caused by interruptions have also been eliminated, and automating this process has freed up my time so that I can work on other projects.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you are a storage admin, you can easily create your own configuration script using the SDK. I used a tool included in the SDK called &lt;A href="https://community.netapp.com/fukiw75442/attachments/fukiw75442/developer-network-articles-and-resources/165/1/ZEDI+Detailed+User+Guide.pdf"&gt;Z-Explorer&lt;/A&gt; that contains a complete list of all ZAPI calls for the cluster. With Z-Explorer, most of the development work is done for you. It took me just a few weeks to fully automate my clustered storage builds. This &lt;A href="https://kb.netapp.com/support/index?page=content&amp;amp;id=1015361&amp;amp;locale=en_US" target="_blank"&gt;KnowledgeBase&lt;/A&gt; article is a good place to start.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It was a fun project because I could write the script without feeling like I had to be a developer. I wrote the scripts in Perl, but the SDK works with almost any language you are familiar with. I also used the &lt;A href="https://community.netapp.com/t5/Software-Development-Kit-SDK-and-API-Discussions/bd-p/sdk-and-api-discussions"&gt;SDK online forum&lt;/A&gt; to get advice from others. People on this forum were always quick to answer my questions.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;The Future&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt; I’m now using the SDK to automate and streamline other storage tasks to save time and reduce errors. My next project is a quality assurance (QA) script that will login to a cluster and verify if nodes are properly configured per NetApp IT Standards and NetApp best practice guidelines. I plan to automate the cluster interconnect switch configuration in the same way as well as create an E-Series configuration script.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you are interested in seeing the actual scripts, I am in the process of making them available on github.com. You can look for them &lt;A href="https://github.com/search?l=Perl&amp;amp;q=netapp&amp;amp;type=Repositories&amp;amp;utf8=%E2%9C%93" target="_blank"&gt;here&lt;/A&gt;. In future TechOnTap newsletters, I’ll make sure to post the URL links once they are available. I’ll also be appearing on an upcoming &lt;A href="https://soundcloud.com/techontap_podcast" target="_blank"&gt;Tech OnTap podcast&lt;/A&gt; to speak more about my automation process with other subject-matter experts from across the industry.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="author"&gt;
&lt;P&gt;&lt;EM&gt;Ezra Tingler, Senior Storage Engineer at NetApp, has more than 20 years of experience in storage administration and UNIX systems.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="footer" style="margin: 0 auto; min-width: 640px;"&gt;
&lt;DIV class="quick-links" style="margin: 0 auto;"&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="463" style="border: 0; padding: 0px 0px; vertical-align: top;"&gt;
&lt;TABLE style="margin-bottom: 0px !important;" border="0" width="463" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD valign="top" style="border: 0; padding: 0px 0px; vertical-align: top;"&gt;
&lt;TABLE style="margin-bottom: 0px !important;" border="0" width="103" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style="border: 0; padding: 0px 0px; vertical-align: top;"&gt;
&lt;P style="font-size: 15px;"&gt;&lt;STRONG&gt;Quick Links&lt;/STRONG&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/TD&gt;
&lt;TD valign="top" style="border: 0; padding: 0px 0px; vertical-align: top;"&gt;
&lt;TABLE style="margin-bottom: 0px !important;" border="0" width="360" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD valign="top" style="border: 0; padding: 0px 0px; vertical-align: top;"&gt;
&lt;TABLE style="margin-bottom: 0px !important;" border="0" width="175" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style="border: 0; padding: 0px 0px; vertical-align: top;"&gt;&lt;IMG style="display: block;" src="http://www-download.netapp.com/edm/TOT/images/trans.gif" border="0" width="1" height="4" /&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD valign="top" style="border: 0; padding: 0px 0px; vertical-align: top;"&gt;&lt;A style="text-decoration: none;" href="https://community.netapp.com/t5/Tech-OnTap-Newsletter/ct-p/tech-ontap"&gt;&lt;SPAN style="color: #0067c5; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"&gt;Tech OnTap Community&lt;/SPAN&gt;&lt;/A&gt;&lt;IMG src="https://community.netapp.com/t5/image/serverpage/image-id/2020i2EF929F16EEFC581/image-size/original?v=mpbl-1&amp;amp;px=-1" border="0" width="12" height="9" title="arrow-gray.jpg" alt="arrow-gray.jpg" /&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/TD&gt;
&lt;TD valign="top" style="border: 0; padding: 0px 0px; vertical-align: top;"&gt;
&lt;TABLE style="margin-bottom: 0px !important;" border="0" width="100" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style="border: 0; padding: 0px 0px; vertical-align: top;"&gt;&lt;IMG style="display: block;" src="http://www-download.netapp.com/edm/TOT/images/trans.gif" border="0" width="1" height="4" /&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD valign="top" style="border: 0; padding: 0px 0px; vertical-align: top;"&gt;&lt;A style="text-decoration: none;" href="https://community.netapp.com/t5/Tech-OnTap-Editions/tkb-p/tech-ontap-editions"&gt;&lt;SPAN style="color: #0067c5; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"&gt;Archive&lt;/SPAN&gt;&lt;/A&gt;&lt;IMG src="https://community.netapp.com/t5/image/serverpage/image-id/2020i2EF929F16EEFC581/image-size/original?v=mpbl-1&amp;amp;px=-1" border="0" width="12" height="9" title="arrow-gray.jpg" alt="arrow-gray.jpg" /&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/TD&gt;
&lt;TD valign="top" style="border: 0; padding: 0px 0px; vertical-align: top;"&gt;
&lt;TABLE style="margin-bottom: 0px !important;" border="0" width="100" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style="border: 0; padding: 0px 0px; vertical-align: top;"&gt;&lt;IMG style="display: block;" src="http://www-download.netapp.com/edm/TOT/images/trans.gif" border="0" width="1" height="4" /&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD valign="top" style="border: 0; padding: 0px 0px; vertical-align: top;"&gt;&lt;A style="text-decoration: none;" href="https://community.netapp.com/t5/Tech-OnTap-Articles/PDF-Preview/ta-p/119094"&gt;&lt;SPAN style="color: #0067c5; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"&gt;PDF&lt;/SPAN&gt;&lt;/A&gt;&lt;IMG src="https://community.netapp.com/t5/image/serverpage/image-id/2020i2EF929F16EEFC581/image-size/original?v=mpbl-1&amp;amp;px=-1" border="0" width="12" height="9" title="arrow-gray.jpg" alt="arrow-gray.jpg" /&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;</description>
    <pubDate>Wed, 11 May 2016 19:08:17 GMT</pubDate>
    <dc:creator>Tech_OnTap</dc:creator>
    <dc:date>2016-05-11T19:08:17Z</dc:date>
    <item>
      <title>ONTAP Automation: How to Do a 4-hour Configuration in 5 Minutes</title>
      <link>https://community.netapp.com/t5/Tech-ONTAP-Articles/ONTAP-Automation-How-to-Do-a-4-hour-Configuration-in-5-Minutes/ta-p/119040</link>
      <description>&lt;DIV class="lia-message-template-content-zone"&gt;&lt;DIV class="main" style="background: #fff; padding: 10px;"&gt;
&lt;DIV class="header" style="height: 40px; min-width: 640px; border-bottom: 1px solid silver; margin-bottom: 40px;"&gt;
&lt;DIV style="margin: 0pt; padding-right: 10px; width: 100px; height: 40px; float: right;"&gt;&lt;A href="https://community.netapp.com/t5/Tech-OnTap-Articles/PDF-Preview/ta-p/119094"&gt;&lt;IMG style="float: right;" class="jive-image" src="https://community.netapp.com/legacyfs/online/9614_pdf-icon.gif" border="0" alt="pdf-icon.gif" /&gt;&lt;/A&gt;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="article"&gt;
&lt;DIV class="aside" style="float: right; margin: 0 0 1em 1em; padding: 0 0 0 2em; width: 250px;"&gt;
&lt;P style="font-size: 15px; padding-bottom: 8px; padding-top: 30px;"&gt;&lt;STRONG&gt;May 2016&lt;/STRONG&gt;&lt;/P&gt;
&lt;DIV class="sidebar_box" style="margin: 0pt; padding: 0pt; width: 250px; background: none repeat scroll 0% 0% #ffffff; border: 0pt none;"&gt;
&lt;P&gt;&lt;IFRAME src="http://www.netapp.com/us/forms/communities-tot-new-reg.html" width="230" height="570" frameborder="0" scrolling="no" style="border: 0px; padding-left: 20px;"&gt; &lt;/IFRAME&gt;&lt;/P&gt;
&lt;/DIV&gt;
&lt;DIV class="sidetext" style="text-align: left;"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="author1"&gt;&lt;IMG style="border: 0; margin-right: 10px; margin-bottom: 10px;" class="jive-image" src="https://community.netapp.com/t5/image/serverpage/image-id/5286i673E12E0D05C3AF4/image-size/original?v=v2&amp;amp;px=-1" border="0" align="left" title="author_ezra_tingler_86x86.jpg" alt="author_ezra_tingler_86x86.jpg" /&gt;&lt;BR /&gt; &lt;A class="active_link" href="#author1"&gt;&lt;STRONG&gt;Ezra Tingler &lt;/STRONG&gt;&lt;/A&gt;&lt;BR /&gt;Senior Storage Engineer&lt;BR /&gt; NetApp&lt;/DIV&gt;
&lt;DIV style="clear: left;"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;P style="margin-top: 5px;"&gt;My name is Ezra Tingler, and I work in NetApp’s Customer-1 Storage Services organization. The Customer-1 Storage Services team is responsible for the architecture, procurement, deployment, and maintenance of the storage infrastructure that services all of our internal applications. The team is organized into service line owners, each of whom owns a particular aspect of our storage technologies. As expected, our storage infrastructure is built on the latest and greatest NetApp technologies. As a large consumer of NetApp technology, the Customer-1 Storage Services team also serves as a reference to external NetApp customers when it comes to showcasing the correct utilization of NetApp products.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;On this team, I own the Storage Ecosystem Service line, which means I am responsible for storage hardware lifecycle management. My main goal is to ensure that our storage software and hardware creates a stable, functioning storage ecosystem from which other service lines and applications are provided data services. Currently, our team is migrating all data hosted on NetApp siloed storage (i.e. 7-mode) to clustered storage.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Challenge&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As part of this migration project, I’ve been installing additional storage nodes and clusters. When I first started this project, the average configuration time for a high availability (HA) clustered controller pair was about four hours, spread out over two to three days. The four hours did not include the time needed to configure the cluster inter-connect switches or initialize disks; that took another two to twelve hours depending on disk type. Typical office interruptions added even more time as I had to figure out where I had left off and what I still needed to configure. This sporadic schedule resulted in missed deadlines and some configuration inconsistencies. I knew there had to be a better way to go about this project.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;The Solution&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I challenged myself to see if I could automate the storage configuration process to save time and reduce errors. Although I’m not a developer, I found it easy to write a configuration script using the &lt;A href="https://community.netapp.com/t5/Software-Development-Kit-SDK-and-API-Discussions/NetApp-Manageability-NM-SDK-5-4-Introduction-and-Download-Information/td-p/108181"&gt;NetApp Manageability Software Development Kit&lt;/A&gt; (NM SDK). I run my script once the disks are initialized, cluster setup is complete, and the cluster inter-connect switches are properly configured. All in all, the script configures 23 specific items:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Rename the cluster nodes&lt;/LI&gt;
&lt;LI&gt;Rename the any existing interfaces to match the new node names&lt;/LI&gt;
&lt;LI&gt;Cluster interfaces and node management interfaces&lt;/LI&gt;
&lt;LI&gt;Rename the root aggregates to match the new node names&lt;/LI&gt;
&lt;LI&gt;Install licenses&lt;/LI&gt;
&lt;LI&gt;Configure the service processors&lt;/LI&gt;
&lt;LI&gt;Set the flow control to none on all 10g ports&lt;/LI&gt;
&lt;LI&gt;Create broadcast domains and assigns the proper ports&lt;/LI&gt;
&lt;LI&gt;Create interface groups and add the correct ports&lt;/LI&gt;
&lt;LI&gt;Create VLANs&lt;/LI&gt;
&lt;LI&gt;Create failover groups and assign the correct ports&lt;/LI&gt;
&lt;LI&gt;Create backup interfaces (intercluster)&lt;/LI&gt;
&lt;LI&gt;Create user roles&lt;/LI&gt;
&lt;LI&gt;Create users&lt;/LI&gt;
&lt;LI&gt;Set the RAID scrub schedule&lt;/LI&gt;
&lt;LI&gt;Create aggregates&lt;/LI&gt;
&lt;LI&gt;Disable aggregate snapshots on all aggregates&lt;/LI&gt;
&lt;LI&gt;Create cluster peers&lt;/LI&gt;
&lt;LI&gt;Configure NTP&lt;/LI&gt;
&lt;LI&gt;Configure SNMP&lt;/LI&gt;
&lt;LI&gt;Configure CDP&lt;/LI&gt;
&lt;LI&gt;Configure web services&lt;/LI&gt;
&lt;LI&gt;Configure AutoSupport&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As the script runs, it reads predefined configuration information from a file I create, and applies this configuration to the cluster nodes. The only thing I need to do before running the script is to edit the config file with unique information, such as node names, IP addresses, and password keys.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;After using this script, I was amazed by the results. The four-hours it used to take has been reduced to about five minutes. Using the configuration script, I can now install 24 storage nodes in two hours rather than 96 hours, a time savings of 94 hours or 2 1/2 work weeks. Errors caused by interruptions have also been eliminated, and automating this process has freed up my time so that I can work on other projects.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you are a storage admin, you can easily create your own configuration script using the SDK. I used a tool included in the SDK called &lt;A href="https://community.netapp.com/fukiw75442/attachments/fukiw75442/developer-network-articles-and-resources/165/1/ZEDI+Detailed+User+Guide.pdf"&gt;Z-Explorer&lt;/A&gt; that contains a complete list of all ZAPI calls for the cluster. With Z-Explorer, most of the development work is done for you. It took me just a few weeks to fully automate my clustered storage builds. This &lt;A href="https://kb.netapp.com/support/index?page=content&amp;amp;id=1015361&amp;amp;locale=en_US" target="_blank"&gt;KnowledgeBase&lt;/A&gt; article is a good place to start.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It was a fun project because I could write the script without feeling like I had to be a developer. I wrote the scripts in Perl, but the SDK works with almost any language you are familiar with. I also used the &lt;A href="https://community.netapp.com/t5/Software-Development-Kit-SDK-and-API-Discussions/bd-p/sdk-and-api-discussions"&gt;SDK online forum&lt;/A&gt; to get advice from others. People on this forum were always quick to answer my questions.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;The Future&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt; I’m now using the SDK to automate and streamline other storage tasks to save time and reduce errors. My next project is a quality assurance (QA) script that will login to a cluster and verify if nodes are properly configured per NetApp IT Standards and NetApp best practice guidelines. I plan to automate the cluster interconnect switch configuration in the same way as well as create an E-Series configuration script.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you are interested in seeing the actual scripts, I am in the process of making them available on github.com. You can look for them &lt;A href="https://github.com/search?l=Perl&amp;amp;q=netapp&amp;amp;type=Repositories&amp;amp;utf8=%E2%9C%93" target="_blank"&gt;here&lt;/A&gt;. In future TechOnTap newsletters, I’ll make sure to post the URL links once they are available. I’ll also be appearing on an upcoming &lt;A href="https://soundcloud.com/techontap_podcast" target="_blank"&gt;Tech OnTap podcast&lt;/A&gt; to speak more about my automation process with other subject-matter experts from across the industry.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class="author"&gt;
&lt;P&gt;&lt;EM&gt;Ezra Tingler, Senior Storage Engineer at NetApp, has more than 20 years of experience in storage administration and UNIX systems.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;DIV class="footer" style="margin: 0 auto; min-width: 640px;"&gt;
&lt;DIV class="quick-links" style="margin: 0 auto;"&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="463" style="border: 0; padding: 0px 0px; vertical-align: top;"&gt;
&lt;TABLE style="margin-bottom: 0px !important;" border="0" width="463" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD valign="top" style="border: 0; padding: 0px 0px; vertical-align: top;"&gt;
&lt;TABLE style="margin-bottom: 0px !important;" border="0" width="103" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style="border: 0; padding: 0px 0px; vertical-align: top;"&gt;
&lt;P style="font-size: 15px;"&gt;&lt;STRONG&gt;Quick Links&lt;/STRONG&gt;&lt;/P&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/TD&gt;
&lt;TD valign="top" style="border: 0; padding: 0px 0px; vertical-align: top;"&gt;
&lt;TABLE style="margin-bottom: 0px !important;" border="0" width="360" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD valign="top" style="border: 0; padding: 0px 0px; vertical-align: top;"&gt;
&lt;TABLE style="margin-bottom: 0px !important;" border="0" width="175" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style="border: 0; padding: 0px 0px; vertical-align: top;"&gt;&lt;IMG style="display: block;" src="http://www-download.netapp.com/edm/TOT/images/trans.gif" border="0" width="1" height="4" /&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD valign="top" style="border: 0; padding: 0px 0px; vertical-align: top;"&gt;&lt;A style="text-decoration: none;" href="https://community.netapp.com/t5/Tech-OnTap-Newsletter/ct-p/tech-ontap"&gt;&lt;SPAN style="color: #0067c5; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"&gt;Tech OnTap Community&lt;/SPAN&gt;&lt;/A&gt;&lt;IMG src="https://community.netapp.com/t5/image/serverpage/image-id/2020i2EF929F16EEFC581/image-size/original?v=mpbl-1&amp;amp;px=-1" border="0" width="12" height="9" title="arrow-gray.jpg" alt="arrow-gray.jpg" /&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/TD&gt;
&lt;TD valign="top" style="border: 0; padding: 0px 0px; vertical-align: top;"&gt;
&lt;TABLE style="margin-bottom: 0px !important;" border="0" width="100" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style="border: 0; padding: 0px 0px; vertical-align: top;"&gt;&lt;IMG style="display: block;" src="http://www-download.netapp.com/edm/TOT/images/trans.gif" border="0" width="1" height="4" /&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD valign="top" style="border: 0; padding: 0px 0px; vertical-align: top;"&gt;&lt;A style="text-decoration: none;" href="https://community.netapp.com/t5/Tech-OnTap-Editions/tkb-p/tech-ontap-editions"&gt;&lt;SPAN style="color: #0067c5; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"&gt;Archive&lt;/SPAN&gt;&lt;/A&gt;&lt;IMG src="https://community.netapp.com/t5/image/serverpage/image-id/2020i2EF929F16EEFC581/image-size/original?v=mpbl-1&amp;amp;px=-1" border="0" width="12" height="9" title="arrow-gray.jpg" alt="arrow-gray.jpg" /&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/TD&gt;
&lt;TD valign="top" style="border: 0; padding: 0px 0px; vertical-align: top;"&gt;
&lt;TABLE style="margin-bottom: 0px !important;" border="0" width="100" cellspacing="0" cellpadding="0"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style="border: 0; padding: 0px 0px; vertical-align: top;"&gt;&lt;IMG style="display: block;" src="http://www-download.netapp.com/edm/TOT/images/trans.gif" border="0" width="1" height="4" /&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD valign="top" style="border: 0; padding: 0px 0px; vertical-align: top;"&gt;&lt;A style="text-decoration: none;" href="https://community.netapp.com/t5/Tech-OnTap-Articles/PDF-Preview/ta-p/119094"&gt;&lt;SPAN style="color: #0067c5; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"&gt;PDF&lt;/SPAN&gt;&lt;/A&gt;&lt;IMG src="https://community.netapp.com/t5/image/serverpage/image-id/2020i2EF929F16EEFC581/image-size/original?v=mpbl-1&amp;amp;px=-1" border="0" width="12" height="9" title="arrow-gray.jpg" alt="arrow-gray.jpg" /&gt;&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Wed, 11 May 2016 19:08:17 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Tech-ONTAP-Articles/ONTAP-Automation-How-to-Do-a-4-hour-Configuration-in-5-Minutes/ta-p/119040</guid>
      <dc:creator>Tech_OnTap</dc:creator>
      <dc:date>2016-05-11T19:08:17Z</dc:date>
    </item>
    <item>
      <title>Re: ONTAP Automation: How to Do a 4-hour Configuration in 5 Minutes</title>
      <link>https://community.netapp.com/t5/Tech-ONTAP-Articles/ONTAP-Automation-How-to-Do-a-4-hour-Configuration-in-5-Minutes/tac-p/119236#M536</link>
      <description>&lt;P&gt;Saluting Ezra!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Henry PAN&lt;/P&gt;</description>
      <pubDate>Thu, 12 May 2016 17:33:25 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Tech-ONTAP-Articles/ONTAP-Automation-How-to-Do-a-4-hour-Configuration-in-5-Minutes/tac-p/119236#M536</guid>
      <dc:creator>HENRYPAN2</dc:creator>
      <dc:date>2016-05-12T17:33:25Z</dc:date>
    </item>
    <item>
      <title>Re: ONTAP Automation: How to Do a 4-hour Configuration in 5 Minutes</title>
      <link>https://community.netapp.com/t5/Tech-ONTAP-Articles/ONTAP-Automation-How-to-Do-a-4-hour-Configuration-in-5-Minutes/tac-p/119276#M538</link>
      <description>&lt;P&gt;"&lt;SPAN&gt;My next project is a quality assurance (QA) script that will login to a cluster and verify if nodes are properly configured per NetApp IT Standards and NetApp best practice guidelines"&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;How will this be different from Config Advisor which already does a very good job of this?&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thanks&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Adrian&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 13 May 2016 22:59:04 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Tech-ONTAP-Articles/ONTAP-Automation-How-to-Do-a-4-hour-Configuration-in-5-Minutes/tac-p/119276#M538</guid>
      <dc:creator>itdavisllp</dc:creator>
      <dc:date>2016-05-13T22:59:04Z</dc:date>
    </item>
    <item>
      <title>Re: ONTAP Automation: How to Do a 4-hour Configuration in 5 Minutes</title>
      <link>https://community.netapp.com/t5/Tech-ONTAP-Articles/ONTAP-Automation-How-to-Do-a-4-hour-Configuration-in-5-Minutes/tac-p/119277#M539</link>
      <description>&lt;P&gt;Cool Adrian,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Wish your script better than&amp;nbsp;&lt;SPAN&gt;Config Advisor.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Be careful in this Friday the 13th.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Henry&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 13 May 2016 23:05:35 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Tech-ONTAP-Articles/ONTAP-Automation-How-to-Do-a-4-hour-Configuration-in-5-Minutes/tac-p/119277#M539</guid>
      <dc:creator>HENRYPAN2</dc:creator>
      <dc:date>2016-05-13T23:05:35Z</dc:date>
    </item>
    <item>
      <title>Re: ONTAP Automation: How to Do a 4-hour Configuration in 5 Minutes</title>
      <link>https://community.netapp.com/t5/Tech-ONTAP-Articles/ONTAP-Automation-How-to-Do-a-4-hour-Configuration-in-5-Minutes/tac-p/119301#M540</link>
      <description>&lt;P&gt;&lt;a href="https://community.netapp.com/t5/user/viewprofilepage/user-id/2843"&gt;@itdavisllp﻿&lt;/a&gt;, Config advisor does an excelent job for validating the majority of the configuration and proper cabliing. It is and will continue to be part of our standard QA process.&amp;nbsp; The QA script and workflow will go a step further to ensure the configuration is completed to our internal IT standards.&amp;nbsp; Its like an deeper verification of naming standards and settings which are not checked by Config Advisor.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Ezra Tingler&lt;/P&gt;</description>
      <pubDate>Mon, 16 May 2016 13:45:35 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Tech-ONTAP-Articles/ONTAP-Automation-How-to-Do-a-4-hour-Configuration-in-5-Minutes/tac-p/119301#M540</guid>
      <dc:creator>EzraTingler</dc:creator>
      <dc:date>2016-05-16T13:45:35Z</dc:date>
    </item>
    <item>
      <title>Re: ONTAP Automation: How to Do a 4-hour Configuration in 5 Minutes</title>
      <link>https://community.netapp.com/t5/Tech-ONTAP-Articles/ONTAP-Automation-How-to-Do-a-4-hour-Configuration-in-5-Minutes/tac-p/119834#M541</link>
      <description>&lt;P&gt;&lt;FONT size="3"&gt;This seems like something that would be very useful, can you tell us exactly where it's located? I clicked on the link, I see lots of repositories in the link, I can't which one is yours. Thanks.&lt;BR /&gt;&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 01 Jun 2016 20:39:07 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Tech-ONTAP-Articles/ONTAP-Automation-How-to-Do-a-4-hour-Configuration-in-5-Minutes/tac-p/119834#M541</guid>
      <dc:creator>johnh703</dc:creator>
      <dc:date>2016-06-01T20:39:07Z</dc:date>
    </item>
    <item>
      <title>Re: ONTAP Automation: How to Do a 4-hour Configuration in 5 Minutes</title>
      <link>https://community.netapp.com/t5/Tech-ONTAP-Articles/ONTAP-Automation-How-to-Do-a-4-hour-Configuration-in-5-Minutes/tac-p/126544#M576</link>
      <description>&lt;P&gt;Did anyone ever reply to johnh703's request on exactly where this script is in github? &amp;nbsp;I too would like to review this script, but don't see it in any of the repos?&lt;/P&gt;</description>
      <pubDate>Fri, 23 Dec 2016 22:24:51 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Tech-ONTAP-Articles/ONTAP-Automation-How-to-Do-a-4-hour-Configuration-in-5-Minutes/tac-p/126544#M576</guid>
      <dc:creator>ADailey</dc:creator>
      <dc:date>2016-12-23T22:24:51Z</dc:date>
    </item>
    <item>
      <title>Re: ONTAP Automation: How to Do a 4-hour Configuration in 5 Minutes</title>
      <link>https://community.netapp.com/t5/Tech-ONTAP-Articles/ONTAP-Automation-How-to-Do-a-4-hour-Configuration-in-5-Minutes/tac-p/140952#M588</link>
      <description>&lt;P&gt;Did this script become available?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;We've got a new controller pair on the way, and this might be useful!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Cheers,&lt;/P&gt;
&lt;P&gt;Stuart&lt;/P&gt;</description>
      <pubDate>Mon, 18 Jun 2018 04:02:59 GMT</pubDate>
      <guid>https://community.netapp.com/t5/Tech-ONTAP-Articles/ONTAP-Automation-How-to-Do-a-4-hour-Configuration-in-5-Minutes/tac-p/140952#M588</guid>
      <dc:creator>OZWALKERZ</dc:creator>
      <dc:date>2018-06-18T04:02:59Z</dc:date>
    </item>
  </channel>
</rss>

