{"id":3231,"date":"2024-01-23T18:56:34","date_gmt":"2024-01-23T22:56:34","guid":{"rendered":"https:\/\/arielantigua.com\/weblog\/?p=3231"},"modified":"2024-01-23T18:56:34","modified_gmt":"2024-01-23T22:56:34","slug":"convertir-cloudbuilder-excel-file-a-json","status":"publish","type":"post","link":"https:\/\/arielantigua.com\/weblog\/2024\/01\/convertir-cloudbuilder-excel-file-a-json\/","title":{"rendered":"Convertir CloudBuilder Excel file a JSON!"},"content":{"rendered":"<p>Convertir CloudBuilder Excel file a JSON!<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" width=\"977\" height=\"249\" class=\"wp-image-3232\" src=\"https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2024\/01\/a-white-rectangular-frame-with-blue-and-white-text.png\" alt=\"A white rectangular frame with blue and white text\n\nDescription automatically generated\" srcset=\"https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2024\/01\/a-white-rectangular-frame-with-blue-and-white-text.png 977w, https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2024\/01\/a-white-rectangular-frame-with-blue-and-white-text-300x76.png 300w, https:\/\/arielantigua.com\/weblog\/wp-content\/uploads\/2024\/01\/a-white-rectangular-frame-with-blue-and-white-text-768x196.png 768w\" sizes=\"auto, (max-width: 977px) 100vw, 977px\" \/><\/p>\n<p>Creo que el primer paso para levantar un entorno de VMware SDDC (VCF) es completar el documento de Excel (<strong><a href=\"https:\/\/docs.vmware.com\/en\/VMware-Cloud-Foundation\/4.5\/vcf-deploy\/GUID-4E339ECA-087B-489E-B32A-1BBFE30B46BB.html\">Deployment Parameter Workbook<\/a><\/strong>), este documento lo podemos ver como la receta con la cual se construira nuestro entorno SDDC.<\/p>\n<p>Hace unos meses me encontr\u00e9 con la necesidad de automatizar la creaci\u00f3n de un SDDC y tenia a mano el Paramenter Workbook, sin embargo, utilizar este documento de Excel en Ansible creo que no ser\u00eda una tarea f\u00e1cil y tampoco tengo el tiempo o conocimientos para lidear con eso.<\/p>\n<p>CloudBuilder, es la VM que necesitamos desplegar inicialmente para proceder con la parametrizaci\u00f3n de nuestro entorno SDDC. CB nos permite hacer llamadas API (<a href=\"https:\/\/developer.vmware.com\/apis\/vcf\/latest\/\">https:\/\/developer.vmware.com\/apis\/vcf\/latest\/<\/a>), pero primero debemos convertir ese documento en Excel a JSON.<\/p>\n<p>Dentro de CB contamos con una herramienta la cual nos permite hacer exactamento eso!<\/p>\n<p>He visto muchos blog-post que ya nos presentan el archivo en JSON, pero creo que, si necesitamos hacer cambios, la manera m\u00e1s r\u00e1pida y c\u00f3moda es editar el Paramenter Workbook.<\/p>\n<p><strong>Supportability and Serviceability (SoS) Utility<\/strong><\/p>\n<p><a href=\"https:\/\/docs.vmware.com\/en\/VMware-Cloud-Foundation\/5.1\/vcf-admin\/GUID-8B3E36D5-E98B-47CF-852A-8C96F406D6E1.html\">https:\/\/docs.vmware.com\/en\/VMware-Cloud-Foundation\/5.1\/vcf-admin\/GUID-8B3E36D5-E98B-47CF-852A-8C96F406D6E1.html<\/a><\/p>\n<p><strong>SoS<\/strong> adem\u00e1s de permitirnos convertir excel a json, es una herramienta CLI que se puede usar para revisar la salud y colectar logs de un ambiente VCF.<\/p>\n<pre>sudo \/opt\/vmware\/sddc-support\/sos --help\r\n\r\nsudo \/opt\/vmware\/sddc-support\/sos -h<\/pre>\n<p>En nuestro caso, primero debemos colocar nuestro documento excel en el home-directory del usuario admin, esto lo podemos hacer con WinSCP o scp (si estas en macOS o Linux), ya con el documento en el home-directory, procedemos a convertirlo a json usando el siguiente comando.<\/p>\n<pre>\/opt\/vmware\/sddc-support\/sos --jsongenerator --jsongenerator-input \/home\/admin\/CB-Workbook.xlsx --jsongenerator-design vcf-ems<\/pre>\n<p>Ahora se preguntar\u00e1n, que hago con este archive en JSON?<\/p>\n<p><strong>Automatizar \u00a1!<\/strong><\/p>\n<p>En mi caso particular, la forma m\u00e1s r\u00e1pida de crear un entorno de pruebas es automatizando el proceso, el cual est\u00e1 basado en Ansible usando AWX como UI.<\/p>\n<p>En este caso particular usaremos el mismo host de CloudBuilder para lanzar la creaci\u00f3n del SDDC, para esto usaremos cURL.<\/p>\n<pre>curl 'https:\/\/localhost\/v1\/sddcs\/validations' -i -u 'admin:VMware1!' -X POST \\\r\n-H 'Content-Type: application\/json' \\\r\n-H 'Accept: application\/json' \\\r\n-d '@vcf-ems.json'<\/pre>\n<p>Se iniciar\u00e1 un proceso de validaci\u00f3n el cual se puede monitorear usando el ID que nos devuelve el POST anterior.<\/p>\n<pre>curl 'https:\/\/localhost\/v1\/sddcs\/validations\/<strong>&lt;ID&gt;<\/strong>\/report' -i -u 'admin:VMware1!' -X GET \\\r\n-H 'Content-Type: application\/json\u2019<\/pre>\n<p>En esta respuesta nos interesa:<\/p>\n<p><strong>executionStatus<\/strong> \u2013 este campo puede tener un valor entre IN_PROGRESS o COMPLETED.<\/p>\n<p><strong>resultStatus<\/strong> \u2013 este campo puede tener un valor entre SUCCEEDED o FAILED.<\/p>\n<p>Podr\u00edamos continuar siempre que executionStatus sea igual a COMPLETED y resultStatus sea igual a SUCCEEDED.<\/p>\n<pre>curl 'https:\/\/localhost\/v1\/sddcs' -i -u 'admin:VMware1!' -X POST \\\r\n-H 'Content-Type: application\/json' \\\r\n-H 'Accept: application\/json' \\\r\n-d '@vcf-ems.json'<\/pre>\n<p>La diferencia ahora es que la llamada API se hace directo a \/v1\/sddcs y la anterior la hicimos a \/v1\/sddc\/validations.<\/p>\n<p>Ya todo depende de que tan rapido sea el ambiente en el cual se esta ejecutando la creacion del entorno SDDC, en mi caso, en un ambiente nested, esto tomaba alrededor de 2 horas y 30 minutos.<\/p>\n<p>Si se preguntan, porque pasar por todo esto si podiamos usar el Web UI de CloudBuilder?<\/p>\n<p>La respuesta es que de esta manera podemos tener un ambiente que puede ser solicitado en demanda por otros miembros de un equipo, en mi caso lo usamos para crear ambientes de prueba donde validamos ciertas configuraciones de VCF y necesitamos una forma rapida de crear SDDC sin intervencion humana!<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Convertir CloudBuilder Excel file a JSON! Creo que el primer paso para levantar un entorno de VMware SDDC (VCF) es completar el documento de Excel (Deployment Parameter Workbook), este documento lo podemos ver como la receta con la cual se construira nuestro entorno SDDC. Hace unos meses me encontr\u00e9 con la necesidad de automatizar la [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,19,20],"tags":[151,119],"class_list":["post-3231","post","type-post","status-publish","format-standard","hentry","category-general","category-virtualizacion","category-vmware","tag-sddc","tag-vmware"],"_links":{"self":[{"href":"https:\/\/arielantigua.com\/weblog\/wp-json\/wp\/v2\/posts\/3231","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/arielantigua.com\/weblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/arielantigua.com\/weblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/arielantigua.com\/weblog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/arielantigua.com\/weblog\/wp-json\/wp\/v2\/comments?post=3231"}],"version-history":[{"count":1,"href":"https:\/\/arielantigua.com\/weblog\/wp-json\/wp\/v2\/posts\/3231\/revisions"}],"predecessor-version":[{"id":3233,"href":"https:\/\/arielantigua.com\/weblog\/wp-json\/wp\/v2\/posts\/3231\/revisions\/3233"}],"wp:attachment":[{"href":"https:\/\/arielantigua.com\/weblog\/wp-json\/wp\/v2\/media?parent=3231"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/arielantigua.com\/weblog\/wp-json\/wp\/v2\/categories?post=3231"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/arielantigua.com\/weblog\/wp-json\/wp\/v2\/tags?post=3231"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}