-
Notifications
You must be signed in to change notification settings - Fork 21
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
Issues with Ontap Deploy 9.7 #2
Comments
Hey Matt, were you ever able to figure out your problem with this? Can you give me some details on what exactly you were trying to do? (it looks like you were trying to install a 2 node cluster, was it on ESX? Did you try a single node just for fun? I'm starting to take a look at this module and will test a two node cluster next week. |
No not yet....I am pretty new to ansible, but I was able to get a ansible playbook working to configured a freshly deployed cluster after the cluster is deployed but This na_ots_cluster ONTap Select Cluster config/deployment module gave me a really hard time. Here is some detailed info from an email that I had been shooting around with my coworkers and some of my netapp support guys as I was working on it. Specifically with relation to the "na_ots_cluster" module to configure the OnTap Select Cluster in the Deploy utility...I think there may be some flawed logic in a couple of the tasks in this module but i wasn't able to nail it down. I spent a ton of time trying to get it to work. I even went so far as to running the json manually. This became apparent when I tried to use custom node name as opposed to the default node names of Cluster "-01" and "-02". When I would revert my node name to the default I could get further in the process however cluster deployment ultimately still failed and it became apparent the nodes weren't being configured to the appropriate size 2TB vs. their default size 1.67 The Prossess goes further in success if the default node names are used but ultimately fails to deploy due to failure to configure the storage of the nodes. From what I see The high level steps go as follows and the bold skipped are the problem area's.
Main playbook execution:..... judsonm@cent8matt:/home/judsonm/OTS>ansible-playbook CreateSelectTSTCluster.yml PLAY [Create ONTAP Select cluster (ESXi)] **************************************************************************************** TASK [na_ots_cluster : Verify settings] ****************************************************************************************** TASK [na_ots_cluster : .....set fact (cluster_nodes_count)] ********************************************************************** TASK [na_ots_cluster : .....set fact (actual_nodes_count)] *********************************************************************** TASK [na_ots_cluster : ....compare node_count to cluster_nodes count] ************************************************************ TASK [na_ots_cluster : .....verify image] **************************************************************************************** TASK [na_ots_cluster : .....stop task if ONTAP image is not available] *********************************************************** TASK [na_ots_cluster : Add Vcenter credentials] ********************************************************************************** TASK [na_ots_cluster : .....check credential svc_vmadmin@palmbeach.k12.fl.us - vctest.palmbeach.k12.fl.us] *********************** TASK [na_ots_cluster : .....add credential svc_vmadmin@palmbeach.k12.fl.us - vctest.palmbeach.k12.fl.us] ************************* TASK [na_ots_cluster : Add ESXi host credentials (no vCenter )] ****************************************************************** TASK [na_ots_cluster : Add KVM host credentials] ********************************************************************************* TASK [na_ots_cluster : Get existing host IDs] ************************************************************************************ TASK [na_ots_cluster : Get Host IDs] ********************************************************************************************* TASK [na_ots_cluster : .....clear list] ****************************************************************************************** TASK [na_ots_cluster : .....build list of host IDs] ****************************************************************************** TASK [na_ots_cluster : Register ESXi hosts (vCenter)] **************************************************************************** TASK [na_ots_cluster : Register new ESXi Host - esxtst01.palmbeach.k12.fl.us] **************************************************** TASK [na_ots_cluster : .....monitor host registration job] *********************************************************************** TASK [na_ots_cluster : .....monitor job (89525a3a-80d2-11ea-b7df-00505694379e) until "success" or "failure"] ********************* TASK [na_ots_cluster : Fail check] *********************************************************************************************** TASK [na_ots_cluster : Register new ESXi Host - esxtst03.palmbeach.k12.fl.us] **************************************************** TASK [na_ots_cluster : .....monitor host registration job] *********************************************************************** TASK [na_ots_cluster : .....monitor job (9317b4d4-80d2-11ea-b7df-00505694379e) until "success" or "failure"] ********************* TASK [na_ots_cluster : Fail check] *********************************************************************************************** TASK [na_ots_cluster : Register ESXi hosts (no vCenter)] ************************************************************************* TASK [na_ots_cluster : Register KVM hosts] *************************************************************************************** TASK [na_ots_cluster : Update host IDs list] ************************************************************************************* TASK [na_ots_cluster : Get Host IDs] ********************************************************************************************* TASK [na_ots_cluster : .....clear list] ****************************************************************************************** TASK [na_ots_cluster : .....build list of host IDs] ****************************************************************************** TASK [na_ots_cluster : Validate internal network] ******************************************************************************** TASK [na_ots_cluster : Check for existing cluster] ******************************************************************************* TASK [na_ots_cluster : .....checking] ******************************************************************************************** TASK [na_ots_cluster : .....set fact ( cluster_new (true) - no cluster exists )] ************************************************* TASK [na_ots_cluster : .....set fact ( cluster_new (false) - if cluster exists )] ************************************************ TASK [na_ots_cluster : Create cluster - SelectTST x 2 nodes] ********************************************************************* TASK [na_ots_cluster : Fail check] *********************************************************************************************** TASK [na_ots_cluster : .....creating cluster] ************************************************************************************ TASK [na_ots_cluster : Get cluster ID - SelectTST] ******************************************************************************* TASK [na_ots_cluster : .....retrieving cluster id] ******************************************************************************* TASK [na_ots_cluster : .....set fact ( cluster_id (9d9cad88-80d2-11ea-b7df-00505694379e) )] ************************************** TASK [na_ots_cluster : Get cluster state - SelectTST] **************************************************************************** TASK [na_ots_cluster : .....retrieving cluster state] **************************************************************************** TASK [na_ots_cluster : .....set fact ( cluster_deployed (False) )] *************************************************************** TASK [na_ots_cluster : Get node IDs] ********************************************************************************************* TASK [na_ots_cluster : .....retrieving node IDs] ********************************************************************************* TASK [na_ots_cluster : .....build list of node IDs] ****************************************************************************** TASK [na_ots_cluster : Configure nodes] ****************************************************************************************** TASK [na_ots_cluster : Configure Node - SelectTST-01 - 9d9d5b02-80d2-11ea-b7df-00505694379e] ************************************* TASK [na_ots_cluster : Configure Node - SelectTST-02 - 9d9ec744-80d2-11ea-b7df-00505694379e] ************************************* TASK [na_ots_cluster : Configure networks] *************************************************************************************** TASK [na_ots_cluster : Retrieve Node Network IDs] ******************************************************************************** TASK [na_ots_cluster : Node SelectTST-01 - Management Network - "Core60-FHtest"] ************************************************* TASK [na_ots_cluster : Node SelectTST-01 - Data Network - "iSCSI-FHtest"] ******************************************************** TASK [na_ots_cluster : Node SelectTST-01 - Internal Network - "OnTap-FHtest"] **************************************************** TASK [na_ots_cluster : Retrieve Node Network IDs] ******************************************************************************** TASK [na_ots_cluster : Node SelectTST-02 - Management Network - "Core60-FHtest"] ************************************************* TASK [na_ots_cluster : Node SelectTST-02 - Data Network - "iSCSI-FHtest"] ******************************************************** TASK [na_ots_cluster : Node SelectTST-02 - Internal Network - "OnTap-FHtest"] **************************************************** TASK [na_ots_cluster : Configure storage pool] *********************************************************************************** TASK [na_ots_cluster : .....check for existing storage pool] ********************************************************************* TASK [na_ots_cluster : .....clear (sp_id)] *************************************************************************************** TASK [na_ots_cluster : .....set fact (sp_id)] ************************************************************************************ TASK [na_ots_cluster : .....detach existing storage pool] ************************************************************************ TASK [na_ots_cluster : .....attach storage pool] ********************************************************************************* TASK [na_ots_cluster : .....check for existing storage pool] ********************************************************************* TASK [na_ots_cluster : .....clear (sp_id)] *************************************************************************************** TASK [na_ots_cluster : .....set fact (sp_id)] ************************************************************************************ TASK [na_ots_cluster : .....detach existing storage pool] ************************************************************************ TASK [na_ots_cluster : .....attach storage pool] ********************************************************************************* TASK [na_ots_cluster : Deploy cluster] ******************************************************************************************* TASK [na_ots_cluster : .....start deployment - SelectTST] ************************************************************************ PLAY RECAP *********************************************************************************************************************** Contents of CreateSelectTSTCluster.yml
|
Thanks for the details! That is helpful. I didn't write this role but I did write the playbook a few years ago that was the "inspiration" for the role. So, I am a bit rusty but have a general idea whats going on and I know the product well. I was planning on doing some testing this week anyway so I will see if I can help you as well! Update: after the first tests, I am able to successfully install a 2 node cluster as well... |
I think I see the problem - I believe ONTAP Deploy automatically names the nodes with a "-0x". The query in "get_node_ids.yml" gets a list of the node names from the cluster and then in "configure_node.yml" it compares the node-name as defined in your variable yaml file:
It skips it as it doesn't find a match between the node name it defined and the node names you defined. If you are wanting to change the name of the node, you will need to do it after cluster creation, which I'm almost 100% is possible with Ansible as well. Try to change your variable yaml to "-01" & "-02" for the node names instead of just 1 & 2 and test it again. I bet everything will run through without problem, also the storage bit! |
I'm still not sure what you mean that I would have to change the node names after cluster creation, but for now to try and proceed further I have changed the names back to the default node names. I ran the playbook again and as previous it succeeded further but ran into an error configuring the storage......Here is the verbose output of the storage section. TASK [na_ots_cluster : Configure storage pool] *********************************************************************************** TASK [na_ots_cluster : .....check for existing storage pool] ********************************************************************* TASK [na_ots_cluster : .....clear (sp_id)] *************************************************************************************** TASK [na_ots_cluster : .....set fact (sp_id)] ************************************************************************************ TASK [na_ots_cluster : .....detach existing storage pool] ************************************************************************ TASK [na_ots_cluster : .....attach storage pool] ********************************************************************************* PLAY RECAP *********************************************************************************************************************** |
Was there any information in ONTAP Deploy / Events? Those error messages there might be more helpful and point you in the right direction. |
No the OnTap Deploy event shows Everything is fine up until that point. The Cluster info is there but seems to have stopped at configuring the storage. To me the python errors on that step indicate that it didn't even attempt communication to the Deploy Appliance. I think this has something to do with the capacity calculation line but i'm not sure how to verify that.... -----------------------Attach the storage pool-----------------------
|
I just wanted to let you know that I finally got a deployment to to run fully from start to finish using the na_ots_cluster module..... Unfortunately, I had to hard code the size in this line with the one after it. I'm not sure why that formula doens't work and causing all the errors i previously referenced. body: '{"pool_array": [{"capacity": {{ ( (item.capacityTB * TBinBytes) - Overhead - (item.capacityTB * TB2Percent) ) | int | abs }},"name": "{{ item.storage_pool }}" }]}' body: '{"pool_array": [{"capacity": {{(2748779069440 | int)}},"name": "{{ item.storage_pool }}" }]}' I still would like to go back to my First question/problem which is how I can modify the names of the nodes from anything but the default names and get it to run and deploy properly node_name: "{{ cluster_name }}-01" to node_name: "{{ cluster_name }}1" So From what I have seen there are 2 issues..... #1 Changes the names of the nodes will not work and halts the process |
Just want to update that this this NA_OTS_Cluster Module is still flawed when using anything but the deafult node-01 and node-02 names..... I have 2 clusters to deploy soon and I figured i would try again with the latest Ontap 9.15 but i'm still running in to the same issues. I really don't want to use those default names for my cluster nodes or VM's and it's not something I think I should be changing after the fact for a deployment. These 1st issue still persists. I haven't bypassed yet to try the 2nd issue again. I made a modification to get it to run the Configuration of the nodes for non-default names by changin the configure_Node yml from
After ward It will attempt to configure the nodes when a different name is used but The Logic to configure the Nodes seems flawed though somehow. It attempts to configure the nodes twice. I can't figure out how these loops are working to configure the nodes under the default names only and to account for other node names Looking at the playbook run I can see it attempts to configure the nodes twice before or after this change but when the names are default it skips one in each section IE. Both nodes are configured in two sepearate tasks which is what looks like it's configuring each node in a separate task but it's NOT. TASK [na_ots_cluster : Configure nodes] ********************************************************************************************************************************************************************************************************************** TASK [na_ots_cluster : Configure Node - SelectFH-01 - b6f45fc4-88ed-11ef-87fb-005056a64467] ****************************************************************************************************************************************************************** TASK [na_ots_cluster : Configure Node - SelectFH-02 - b6f578f0-88ed-11ef-87fb-005056a64467] ****************************************************************************************************************************************************************** PLAY RECAP *************************************************************************************************************************************************************************************************************************************************** |
I have been racking my head for weeks trying to automate an ontap select cluster deployment with OnTap Select Deploy 9.7. I have found that the nodes aren't being configured properly when anything but the default name is used "clustername-01" IE. Clustername1 Clustername2.
Also, once I got that figured out there was still issues configuring the storage pools approriately. The correct capacity isn't being specified and is causing the deployment to fail.
The configure_nodes.yml and configure_nodes_storage.yml actions in the na_ots_cluster module seem to need some attention.... This is my first shot at ansible, so it's been a weeks long struggle for me. For now I'm giving up automating the OnTap Select Cluster Creation and will move on to attempting to use the other netapp modules in related to actually configuring the cluster I.E. create Aggs, Volumes, SVM's etc after the cluster is deployed.
The text was updated successfully, but these errors were encountered: