Welcome to the VCO Team website! vCenter Orchestrator details, demos and advice. 2012-02-05T13:10:37Z vCenter Orchestrator Developers VMware Opens Online Virtualization and Cloud Solutions Marketplace featuring vCenter Orchestrator 2012-01-25T08:14:18Z 2012-01-25T08:14:18Z http://www.vcoteam.info/newsflash/vmware-opens-online-virtualization-and-cloud-solutions-marketplace-featuring-vcenter-orchestrator.html Christophe Decanini webmaster@vcoteam.info <p><img src="http://www.vcoteam.info/images/phocagallery/vsx_logo.png" alt="alt" /></p> <p><cite>VMware Solution Exchange (VSX) Enables Customers to Discover, Evaluate and Expedite Buying Process for Joint Solutions through Direct Engagement with Partners and Developers.</cite> This are important news for vCenter Orchestrator. Here is what these involve:</p> <ul> <li>vSphere customers will now find all the vCenter Orchestrator plug-ins in a single location. vCenter Orchestrator is bundled with some plug-ins but VMware and partners have provided several additional ones. The solution exchange will feature the latest version of all VMware and all VMware partners vCenter Orchestrator plug-ins.</li> </ul> <ul> <li>For VMware partners it will be significantly easier to publish their plug-ins to make them available to the hundreds of thousands VMware vSphere Customers that are entitled to use vCenter Orchestrator.</li> </ul> <ul> <li>The VMware Solution eXchange improves the customer experience with providing rich, multi-media content, white papers, user guides, blog postings and search tools allowing to engage with partners and developers to help ease the process of finding the right solution for their businesses.</li> </ul> <ul> <li>The VMware Solution eXchange provides customers with the opportunity to use a five-star rating system and provide a written review about their experience with the solution.</li> </ul> <p> </p> <p>For more information:</p> <ul> <li><span style="font-family: Cambria;">Visit the <a href="http://solutionexchange.vmware.com/">VMware Solution Exchange</a> home page.</span><span style="font-family: Cambria;"> </span></li> <li><span style="font-family: Cambria;">Visit the <a href="https://solutionexchange.vmware.com/store/categories/21?cg_id=15" target="_blank">vCenter Orchestrator section</a>.</span></li> <li><span style="font-family: Cambria;">Read the <a href="http://www.vmware.com/company/news/releases/vmw-tap-vsx-1-25-12.html" target="_blank">official press release</a>.<br /></span></li> <li><span style="font-family: Cambria;">The VMware <a href="http://blogs.vmware.com/orchestrator/" target="_blank">vCenter Orchestrator blog</a><br /></span></li> <li>Twitter hashtag <span style="font-family: Calibri; color: #1f497d;">#VMwareVSX</span></li> </ul> <p> </p> <p><a href="https://solutionexchange.vmware.com/store/categories/21?cg_id=15"></a><img src="http://www.vcoteam.info/images/vsx.png" alt="alt" /></p> <p><img src="http://www.vcoteam.info/images/phocagallery/vsx_logo.png" alt="alt" /></p> <p><cite>VMware Solution Exchange (VSX) Enables Customers to Discover, Evaluate and Expedite Buying Process for Joint Solutions through Direct Engagement with Partners and Developers.</cite> This are important news for vCenter Orchestrator. Here is what these involve:</p> <ul> <li>vSphere customers will now find all the vCenter Orchestrator plug-ins in a single location. vCenter Orchestrator is bundled with some plug-ins but VMware and partners have provided several additional ones. The solution exchange will feature the latest version of all VMware and all VMware partners vCenter Orchestrator plug-ins.</li> </ul> <ul> <li>For VMware partners it will be significantly easier to publish their plug-ins to make them available to the hundreds of thousands VMware vSphere Customers that are entitled to use vCenter Orchestrator.</li> </ul> <ul> <li>The VMware Solution eXchange improves the customer experience with providing rich, multi-media content, white papers, user guides, blog postings and search tools allowing to engage with partners and developers to help ease the process of finding the right solution for their businesses.</li> </ul> <ul> <li>The VMware Solution eXchange provides customers with the opportunity to use a five-star rating system and provide a written review about their experience with the solution.</li> </ul> <p> </p> <p>For more information:</p> <ul> <li><span style="font-family: Cambria;">Visit the <a href="http://solutionexchange.vmware.com/">VMware Solution Exchange</a> home page.</span><span style="font-family: Cambria;"> </span></li> <li><span style="font-family: Cambria;">Visit the <a href="https://solutionexchange.vmware.com/store/categories/21?cg_id=15" target="_blank">vCenter Orchestrator section</a>.</span></li> <li><span style="font-family: Cambria;">Read the <a href="http://www.vmware.com/company/news/releases/vmw-tap-vsx-1-25-12.html" target="_blank">official press release</a>.<br /></span></li> <li><span style="font-family: Cambria;">The VMware <a href="http://blogs.vmware.com/orchestrator/" target="_blank">vCenter Orchestrator blog</a><br /></span></li> <li>Twitter hashtag <span style="font-family: Calibri; color: #1f497d;">#VMwareVSX</span></li> </ul> <p> </p> <p><a href="https://solutionexchange.vmware.com/store/categories/21?cg_id=15"></a><img src="http://www.vcoteam.info/images/vsx.png" alt="alt" /></p> @PowerScripting chat with vCO Managers 2012-01-17T13:33:21Z 2012-01-17T13:33:21Z http://www.vcoteam.info/newsflash/powerscripting-chat-with-vco-managers.html Burke Azbill webmaster@vcoteam.info <p>Did you miss the <a title="Follow PowerScripting on Twitter" href="http://twitter.com/PowerScripting" target="_blank">@PowerScripting</a> folks as they interviewed the vCO Management Team?</p> <p>If so, don't worry - the session was recorded! See below for details:</p> <ul> <li><a title="Follow Thomas Corfmat on Twitter" href="http://twitter.com/tcorfmat" target="_blank">Thomas Corfmat</a> - vCO Product Manager</li> <li>Hemant Gaidhani - vCO Product Marketing Manager</li> </ul> <p>with bonus commentary from one of VMware's PowerShell gurus: <a title="Follow Alan Renouf on Twitter" href="http://twitter.com/AlanRenouf" target="_blank">Alan Renouf</a></p> <p>Learn more about vCO and the new support/integrations with PowerShell.</p> <p>Links/Resources:</p> <ul> <li>PowerScripting Blog Article: <a href="http://powerscripting.wordpress.com/2012/01/16/episode-172-vcenter-orchestrator/">http://powerscripting.wordpress.com/2012/01/16/episode-172-vcenter-orchestrator/</a></li> <li>Video: <a href="http://static.bambuser.com/r/player.swf?username=PowerScripting">http://static.bambuser.com/r/player.swf?username=PowerScripting</a></li> <li>PodCast: <a href="http://feeds.feedburner.com/PowerScripting">http://feeds.feedburner.com/PowerScripting</a></li> </ul> <p>Did you miss the <a title="Follow PowerScripting on Twitter" href="http://twitter.com/PowerScripting" target="_blank">@PowerScripting</a> folks as they interviewed the vCO Management Team?</p> <p>If so, don't worry - the session was recorded! See below for details:</p> <ul> <li><a title="Follow Thomas Corfmat on Twitter" href="http://twitter.com/tcorfmat" target="_blank">Thomas Corfmat</a> - vCO Product Manager</li> <li>Hemant Gaidhani - vCO Product Marketing Manager</li> </ul> <p>with bonus commentary from one of VMware's PowerShell gurus: <a title="Follow Alan Renouf on Twitter" href="http://twitter.com/AlanRenouf" target="_blank">Alan Renouf</a></p> <p>Learn more about vCO and the new support/integrations with PowerShell.</p> <p>Links/Resources:</p> <ul> <li>PowerScripting Blog Article: <a href="http://powerscripting.wordpress.com/2012/01/16/episode-172-vcenter-orchestrator/">http://powerscripting.wordpress.com/2012/01/16/episode-172-vcenter-orchestrator/</a></li> <li>Video: <a href="http://static.bambuser.com/r/player.swf?username=PowerScripting">http://static.bambuser.com/r/player.swf?username=PowerScripting</a></li> <li>PodCast: <a href="http://feeds.feedburner.com/PowerScripting">http://feeds.feedburner.com/PowerScripting</a></li> </ul> VMware is hiring Integration Orchestration Development Engineers and Practice Managers 2012-01-12T12:49:46Z 2012-01-12T12:49:46Z http://www.vcoteam.info/newsflash/vmware-is-hiring-integration-orchestration-development-engineers-and-practice-managers.html Christophe Decanini webmaster@vcoteam.info <p><img src="http://www.vcoteam.info/images/vmware.jpg" alt="alt" width="168" height="58" /></p> <p>If you are interested in a possible career change to work in the most exciting, most ground breaking company in the software industry here is a chace to do it !</p> <p><strong> </strong><strong><a title="Integration/Orchestration Development Engineer-PSO Cloud Practice Job" href="http://jobs.vmware.com/job/Los-Angeles-IntegrationOrchestration-Development-Engineer-PSO-Cloud-Practice-Job-CA-90001/1567378/" target="_blank">Integration Orchestration Development Engineers</a></strong></p> <p>VMware is seeking several <a title="Integration Orchestration Development Engineer role" href="http://jobs.vmware.com/job/Los-Angeles-IntegrationOrchestration-Development-Engineer-PSO-Cloud-Practice-Job-CA-90001/1567378/" target="_blank">Integration Orchestration Development engineers</a> and they must have strong infrastructure integration scripting knowledge using scripting languages like JavaScript, Perl, Python, PowerShell, Ruby, Bash, MSDOS, etc&hellip; This is a backend developer role with little to no client interfacing responsibilities. <a title="VMware Facebook page" href="http://www.facebook.com/vmware?ref=ts" target="_blank">VMware</a> is looking for candidates that have experience in tying together several technology point products into a cohesive solution, particularly through automation, scripting or custom modifications. The individuals will work under direction of VMware Architects, and take direction from on-site consulting teams that are collecting and coordinating customer requirements.<strong></strong></p> <p><strong></strong><a title="Integration/Orchestration Practice Manager Job" href="http://jobs.vmware.com/job/IntegrationOrchestration-Practice-Manager-Job-NV/1605275/" target="_blank"><strong>Integration Orchestration Practice Manager</strong></a></p> <p>VMware is seeking an <a title="Integration Orchestration Practice Manager role" href="http://jobs.vmware.com/job/IntegrationOrchestration-Practice-Manager-Job-NV/1605275/" target="_blank">Integration Orchestration Practice Manager</a> that will supervise a team performing custom integration & orchestration (i.e. Automation). Candidates should come from a strong software development lifecycle (SDLC) background and ideally have managed teams consisting of skill sets within SOAP, REST, vendor SDK interfaces and strong infrastructure scripting languages such as JavaScript, Perl, Python, PowerShell, Ruby, Bash, MSDOS, etc... The candidate should have experience as an engineer or architect with Virtualized Datacenter design and implementations.</p> <p>Learn ore about this <a href="http://blogs.vmware.com/careers/2012/01/vmware-is-hiring-professional-services-organization.html" target="_blank">here</a>.</p> <p><img src="http://www.vcoteam.info/images/vmware.jpg" alt="alt" width="168" height="58" /></p> <p>If you are interested in a possible career change to work in the most exciting, most ground breaking company in the software industry here is a chace to do it !</p> <p><strong> </strong><strong><a title="Integration/Orchestration Development Engineer-PSO Cloud Practice Job" href="http://jobs.vmware.com/job/Los-Angeles-IntegrationOrchestration-Development-Engineer-PSO-Cloud-Practice-Job-CA-90001/1567378/" target="_blank">Integration Orchestration Development Engineers</a></strong></p> <p>VMware is seeking several <a title="Integration Orchestration Development Engineer role" href="http://jobs.vmware.com/job/Los-Angeles-IntegrationOrchestration-Development-Engineer-PSO-Cloud-Practice-Job-CA-90001/1567378/" target="_blank">Integration Orchestration Development engineers</a> and they must have strong infrastructure integration scripting knowledge using scripting languages like JavaScript, Perl, Python, PowerShell, Ruby, Bash, MSDOS, etc&hellip; This is a backend developer role with little to no client interfacing responsibilities. <a title="VMware Facebook page" href="http://www.facebook.com/vmware?ref=ts" target="_blank">VMware</a> is looking for candidates that have experience in tying together several technology point products into a cohesive solution, particularly through automation, scripting or custom modifications. The individuals will work under direction of VMware Architects, and take direction from on-site consulting teams that are collecting and coordinating customer requirements.<strong></strong></p> <p><strong></strong><a title="Integration/Orchestration Practice Manager Job" href="http://jobs.vmware.com/job/IntegrationOrchestration-Practice-Manager-Job-NV/1605275/" target="_blank"><strong>Integration Orchestration Practice Manager</strong></a></p> <p>VMware is seeking an <a title="Integration Orchestration Practice Manager role" href="http://jobs.vmware.com/job/IntegrationOrchestration-Practice-Manager-Job-NV/1605275/" target="_blank">Integration Orchestration Practice Manager</a> that will supervise a team performing custom integration & orchestration (i.e. Automation). Candidates should come from a strong software development lifecycle (SDLC) background and ideally have managed teams consisting of skill sets within SOAP, REST, vendor SDK interfaces and strong infrastructure scripting languages such as JavaScript, Perl, Python, PowerShell, Ruby, Bash, MSDOS, etc... The candidate should have experience as an engineer or architect with Virtualized Datacenter design and implementations.</p> <p>Learn ore about this <a href="http://blogs.vmware.com/careers/2012/01/vmware-is-hiring-professional-services-organization.html" target="_blank">here</a>.</p> vCloud Director blocking tasks and notifications integration with vCO implementation 2012-01-12T12:19:54Z 2012-01-12T12:19:54Z http://www.vcoteam.info/learn-vco/vcloud-director-blocking-tasks-and-notifications-integration-with-vco-implementation.html Christophe Decanini webmaster@vcoteam.info <p>You may already have seen the theory on <a href="http://www.vcoteam.info/learn-vco/extend-vcloud-director-with-vcenter-orchestrator.html" target="_blank">how to extend vCloud Director capabilities with vCenter Orchestrator</a>, you may even have completed the first steps to do it following this <a href="http://www.vcoteam.info/learn-vco/configure-the-amqp-plug-in.html" target="_blank">tutorial</a>. What about having a complete real use case implementation example such as a vApp Approval, adding Windows VM in Active Directory ? It is now available.</p> <p>The goal of <a href="http://communities.vmware.com/docs/DOC-18002" target="_blank">publishing this package</a> is to give a good starting point implementation with working examples that can be adapted for other requirements. This include setting all the AMQP configuration automatically for listening for a particular blocking task notification, converting the AMQP message to vCloud Director objects, extracting the necessary information from this object, including using the vCloud Director query service, and calling back vCloud Director to resume / cancel / fail the task.</p> <p>In addition to this package we provided a walk through video.</p> <p>http://www.youtube.com/watch?v=OXg2GmPGRW0</p> <p>You may already have seen the theory on <a href="http://www.vcoteam.info/learn-vco/extend-vcloud-director-with-vcenter-orchestrator.html" target="_blank">how to extend vCloud Director capabilities with vCenter Orchestrator</a>, you may even have completed the first steps to do it following this <a href="http://www.vcoteam.info/learn-vco/configure-the-amqp-plug-in.html" target="_blank">tutorial</a>. What about having a complete real use case implementation example such as a vApp Approval, adding Windows VM in Active Directory ? It is now available.</p> <p>The goal of <a href="http://communities.vmware.com/docs/DOC-18002" target="_blank">publishing this package</a> is to give a good starting point implementation with working examples that can be adapted for other requirements. This include setting all the AMQP configuration automatically for listening for a particular blocking task notification, converting the AMQP message to vCloud Director objects, extracting the necessary information from this object, including using the vCloud Director query service, and calling back vCloud Director to resume / cancel / fail the task.</p> <p>In addition to this package we provided a walk through video.</p> <p>http://www.youtube.com/watch?v=OXg2GmPGRW0</p> VMware released the vCenter Orchestrator SQL Plug-in 2011-12-09T08:52:52Z 2011-12-09T08:52:52Z http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-sql-plug-in.html Christophe Decanini webmaster@vcoteam.info <p><img src="http://www.vcoteam.info/images/phocagallery/web_database_icon1.jpg" alt="alt" width="67" height="67" /></p> <p> </p> <p>If you ever wanted to integrate your workflows with a database with having your database records available as part of the inventory then this plug-in will help you to do so.</p> <p>Chances are that at some point you will need to read or write information from an SQL database as part of your workflows. vCenter Orchestrator provides some scripter / developper capabilities such as the JDBC plug-in and the integration with the hybernate framework. These requires quite some development and test to have a well integrated solution.</p> <p>With the vCenter Orchestrator SQL plug-in allows to:</p> <ul> <li> expose in the vCO enventory your database records and to perform read, create, update, and delete operations without writing SQL statements. </li> <li>generate workflows from these operations.</li> </ul> <p><img src="http://www.vcoteam.info/images/phocagallery/sql_plug-in.png" alt="alt" /></p> <p> </p> <p>For more information pleae check the VMware vCenter Orchestrator SQL Plug-In: <a href="https://www.vmware.com/support/orchestrator/doc/sql-plugin-10-release-notes.html" target="_blank">release notes</a>, <a title="documentation" href="http://pubs.vmware.com/orchestrator-plugins/index.jsp?topic=/com.vmware.using.sql.plugin.doc_10/GUID-66110FFD-EB0F-484A-937B-8C131C8DFFB2.html" target="_blank">documentation</a> and <a title="download" href="http://downloads.vmware.com/d/details/vco_sql_plugin_10/dHRAYnRAZCViZHAlJQ==" target="_blank">download.</a></p> <ul> </ul> <p><img src="http://www.vcoteam.info/images/phocagallery/web_database_icon1.jpg" alt="alt" width="67" height="67" /></p> <p> </p> <p>If you ever wanted to integrate your workflows with a database with having your database records available as part of the inventory then this plug-in will help you to do so.</p> <p>Chances are that at some point you will need to read or write information from an SQL database as part of your workflows. vCenter Orchestrator provides some scripter / developper capabilities such as the JDBC plug-in and the integration with the hybernate framework. These requires quite some development and test to have a well integrated solution.</p> <p>With the vCenter Orchestrator SQL plug-in allows to:</p> <ul> <li> expose in the vCO enventory your database records and to perform read, create, update, and delete operations without writing SQL statements. </li> <li>generate workflows from these operations.</li> </ul> <p><img src="http://www.vcoteam.info/images/phocagallery/sql_plug-in.png" alt="alt" /></p> <p> </p> <p>For more information pleae check the VMware vCenter Orchestrator SQL Plug-In: <a href="https://www.vmware.com/support/orchestrator/doc/sql-plugin-10-release-notes.html" target="_blank">release notes</a>, <a title="documentation" href="http://pubs.vmware.com/orchestrator-plugins/index.jsp?topic=/com.vmware.using.sql.plugin.doc_10/GUID-66110FFD-EB0F-484A-937B-8C131C8DFFB2.html" target="_blank">documentation</a> and <a title="download" href="http://downloads.vmware.com/d/details/vco_sql_plugin_10/dHRAYnRAZCViZHAlJQ==" target="_blank">download.</a></p> <ul> </ul> VMware released the vCenter Orchestrator Plug-in for vSphere Auto Deploy 2011-12-09T08:34:51Z 2011-12-09T08:34:51Z http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-plug-in-for-vsphere-auto-deploy.html Christophe Decanini webmaster@vcoteam.info <p>If you are booting your ESXi servers from the network using vSphere Auto Deploy then this plug-in allows you to automate tasks for configuring and provisioning stateless ESXi hosts.</p> <p>The plug-in exposes an inventory and CRUD opratons for:</p> <ul> <li>ESXi depots</li> <li>Host profiles</li> <li>Rule sets</li> </ul> <p>There are workflows to manage answer files and to reprovision a host using answer files, host profiles, new image.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/auto_deploy_workflows.png" alt="alt" width="292" height="322" /></p> <p><img src="http://www.vcoteam.info/images/phocagallery/autodeploy_inventory2.png" alt="alt" /></p> <p>For more information check the VMware vCenter Orchestrator Plug-In for vSphere Auto Deploy<a href="https://www.vmware.com/support/orchestrator/doc/auto-deploy-plugin-10-release-notes.html" target="_blank"> release notes</a>, <a title="documentation" href="http://pubs.vmware.com/orchestrator-plugins/index.jsp?topic=/com.vmware.using.autodeploy.plugin.doc_10/GUID-88D609D1-029E-4FF9-B50F-F9FF57851DD8.html" target="_blank">documentation</a> and <a title="download" href="http://downloads.vmware.com/d/details/vco_autodeploy_plugin_1_0/dHRAYnRAZGRiZHAlJQ==" target="_blank">download</a></p> <p>If you are booting your ESXi servers from the network using vSphere Auto Deploy then this plug-in allows you to automate tasks for configuring and provisioning stateless ESXi hosts.</p> <p>The plug-in exposes an inventory and CRUD opratons for:</p> <ul> <li>ESXi depots</li> <li>Host profiles</li> <li>Rule sets</li> </ul> <p>There are workflows to manage answer files and to reprovision a host using answer files, host profiles, new image.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/auto_deploy_workflows.png" alt="alt" width="292" height="322" /></p> <p><img src="http://www.vcoteam.info/images/phocagallery/autodeploy_inventory2.png" alt="alt" /></p> <p>For more information check the VMware vCenter Orchestrator Plug-In for vSphere Auto Deploy<a href="https://www.vmware.com/support/orchestrator/doc/auto-deploy-plugin-10-release-notes.html" target="_blank"> release notes</a>, <a title="documentation" href="http://pubs.vmware.com/orchestrator-plugins/index.jsp?topic=/com.vmware.using.autodeploy.plugin.doc_10/GUID-88D609D1-029E-4FF9-B50F-F9FF57851DD8.html" target="_blank">documentation</a> and <a title="download" href="http://downloads.vmware.com/d/details/vco_autodeploy_plugin_1_0/dHRAYnRAZGRiZHAlJQ==" target="_blank">download</a></p> VMware released the vCenter Orchestrator Multi-Node Plug-in 2011-12-09T08:09:15Z 2011-12-09T08:09:15Z http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-multi-node-plug-in.html Christophe Decanini webmaster@vcoteam.info <p><img src="http://www.vcoteam.info/images/phocagallery/remote-class.png" alt="alt" width="117" height="50" /></p> <p>If you are designing enterprise wide Orchestration you may need to consider more than a single instance of vCenter Orchestrator. The vCenter Orchestrator Multi-Node Plug-in can help you doing so with offering the ability of a vCenter Orchestrator server to remote control other vCenter Orchestrator servers.</p> <p>What this plug-in provides is:</p> <ul> <li>Publish the remote vCenter Orchestrator library elements  (Configurations, Packgaesm Workflows, Actions and Resources) in the master vCenter Orchestrator inventory</li> <li>Publish the remote vCenter Orchestrator inventory elements (vCenter, vCloud Director, Microsoft AD, Cisco UCS, ...) in the master vCenter Orchestrator inventory</li> <li>Provide remote operations to start, stop, cancel remote workflows</li> <li>Provide remote operation to synchronize packages</li> </ul> <p>These are advanced remoting capabilities providing a lot more flexibility than the existing nested remote workflow capability. Despite the name it is not a clustering capability.</p> <p>For more information check the VMware vCenter Orchestrator Multi-Node Plug-In: <a href="https://www.vmware.com/support/orchestrator/doc/multi-node-plugin-10-release-notes.html" target="_blank">release notes</a>, <a title="documentation" href="http://pubs.vmware.com/orchestrator-plugins/index.jsp?topic=/com.vmware.using.multi_node.plugin.doc_10/GUID-B44231A7-6DA0-43D1-9D69-022811CA7F74.html" target="_blank">documentation</a> and <a title="download" href="http://downloads.vmware.com/d/details/vco_multinode_plugin_1_0/dHRAYnRAZHRiZHAlJQ==" target="_blank">download</a></p> <p><img src="http://www.vcoteam.info/images/phocagallery/remote-class.png" alt="alt" width="117" height="50" /></p> <p>If you are designing enterprise wide Orchestration you may need to consider more than a single instance of vCenter Orchestrator. The vCenter Orchestrator Multi-Node Plug-in can help you doing so with offering the ability of a vCenter Orchestrator server to remote control other vCenter Orchestrator servers.</p> <p>What this plug-in provides is:</p> <ul> <li>Publish the remote vCenter Orchestrator library elements  (Configurations, Packgaesm Workflows, Actions and Resources) in the master vCenter Orchestrator inventory</li> <li>Publish the remote vCenter Orchestrator inventory elements (vCenter, vCloud Director, Microsoft AD, Cisco UCS, ...) in the master vCenter Orchestrator inventory</li> <li>Provide remote operations to start, stop, cancel remote workflows</li> <li>Provide remote operation to synchronize packages</li> </ul> <p>These are advanced remoting capabilities providing a lot more flexibility than the existing nested remote workflow capability. Despite the name it is not a clustering capability.</p> <p>For more information check the VMware vCenter Orchestrator Multi-Node Plug-In: <a href="https://www.vmware.com/support/orchestrator/doc/multi-node-plugin-10-release-notes.html" target="_blank">release notes</a>, <a title="documentation" href="http://pubs.vmware.com/orchestrator-plugins/index.jsp?topic=/com.vmware.using.multi_node.plugin.doc_10/GUID-B44231A7-6DA0-43D1-9D69-022811CA7F74.html" target="_blank">documentation</a> and <a title="download" href="http://downloads.vmware.com/d/details/vco_multinode_plugin_1_0/dHRAYnRAZHRiZHAlJQ==" target="_blank">download</a></p> VMware released the vCenter Orchestrator Plug-in for Microsoft Windows PowerShell 2011-12-09T07:57:33Z 2011-12-09T07:57:33Z http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-plug-in-for-microsoft-windows-powershell.html Christophe Decanini webmaster@vcoteam.info <p><img src="http://www.vcoteam.info/images/phocagallery/powershell.jpg" alt="alt" width="117" height="117" /></p> <p>If you have an investment in PowerShell cmdlets such as VMware vSphere PowerCLI but also snapins from other vendors the VMware vCenter Orchestrator plug-in for Microsoft Windows PowerShell can help you to integrate these as part of workflows steps in vCenter Orchestrator.</p> <p>Citing the release notes:</p> <p><cite title="Powershell plug-in release notes">The plug-in offers many capabilities to workflow developers, such as:</cite></p> <p><cite title="Powershell plug-in release notes"> </cite></p> <ul> <li><cite title="Powershell plug-in release notes">Invoking unmodified scripts by copying and pasting them into workflows</cite></li> <li><cite title="Powershell plug-in release notes">Invoking external scripts and passing workflow parameters as script inputs</cite></li> <li><cite title="Powershell plug-in release notes">Generating a new Orchestrator action from a PowerShell script</cite></li> <li><cite title="Powershell plug-in release notes">Generating a new Orchestrator action for a PowerCLI cmdlet</cite></li> <li><cite title="Powershell plug-in release notes">Browsing snap-ins and their associated cmdlets in the Orchestrator workflow editor</cite></li> <li><cite title="Powershell plug-in release notes">Invoking scripts from the Orchestrator JavaScript API</cite></li> <li><cite title="Powershell plug-in release notes">Converting vCenter Server objects in Orchestrator workflows to PowerShell objects and the reverse</cite></li> </ul> <p><cite title="Powershell plug-in release notes"> The VMware vCenter Orchestrator plug-in for Microsoft Windows PowerShell 1.0 release runs on VMware vCenter Orchestrator 4.2. The plug-in is compatible with Windows PowerShell 1.0 and 2.0, and requires WinRM 2.0 or OpenSSH</cite></p> <p>For more information please check the VMware vCenter Orchestrator Plug-In for Microsoft Windows PowerShell: <a href="https://www.vmware.com/support/orchestrator/doc/powershell-plugin-10-release-notes.html" target="_blank">release notes</a>, <a title="documentation" href="http://pubs.vmware.com/orchestrator-plugins/index.jsp?topic=/com.vmware.using.powershell.plugin.doc_10/GUID-8AE1CFF2-F6F0-4233-BDD9-F318E461AB2F.html" target="_blank">documentation</a> and <a title="download" href="http://downloads.vmware.com/d/details/vco_powershell_plugin_1_0/dHRAYnRAZHdiZHAlJQ==" target="_blank">download</a></p> <p><img src="http://www.vcoteam.info/images/phocagallery/powershell.jpg" alt="alt" width="117" height="117" /></p> <p>If you have an investment in PowerShell cmdlets such as VMware vSphere PowerCLI but also snapins from other vendors the VMware vCenter Orchestrator plug-in for Microsoft Windows PowerShell can help you to integrate these as part of workflows steps in vCenter Orchestrator.</p> <p>Citing the release notes:</p> <p><cite title="Powershell plug-in release notes">The plug-in offers many capabilities to workflow developers, such as:</cite></p> <p><cite title="Powershell plug-in release notes"> </cite></p> <ul> <li><cite title="Powershell plug-in release notes">Invoking unmodified scripts by copying and pasting them into workflows</cite></li> <li><cite title="Powershell plug-in release notes">Invoking external scripts and passing workflow parameters as script inputs</cite></li> <li><cite title="Powershell plug-in release notes">Generating a new Orchestrator action from a PowerShell script</cite></li> <li><cite title="Powershell plug-in release notes">Generating a new Orchestrator action for a PowerCLI cmdlet</cite></li> <li><cite title="Powershell plug-in release notes">Browsing snap-ins and their associated cmdlets in the Orchestrator workflow editor</cite></li> <li><cite title="Powershell plug-in release notes">Invoking scripts from the Orchestrator JavaScript API</cite></li> <li><cite title="Powershell plug-in release notes">Converting vCenter Server objects in Orchestrator workflows to PowerShell objects and the reverse</cite></li> </ul> <p><cite title="Powershell plug-in release notes"> The VMware vCenter Orchestrator plug-in for Microsoft Windows PowerShell 1.0 release runs on VMware vCenter Orchestrator 4.2. The plug-in is compatible with Windows PowerShell 1.0 and 2.0, and requires WinRM 2.0 or OpenSSH</cite></p> <p>For more information please check the VMware vCenter Orchestrator Plug-In for Microsoft Windows PowerShell: <a href="https://www.vmware.com/support/orchestrator/doc/powershell-plugin-10-release-notes.html" target="_blank">release notes</a>, <a title="documentation" href="http://pubs.vmware.com/orchestrator-plugins/index.jsp?topic=/com.vmware.using.powershell.plugin.doc_10/GUID-8AE1CFF2-F6F0-4233-BDD9-F318E461AB2F.html" target="_blank">documentation</a> and <a title="download" href="http://downloads.vmware.com/d/details/vco_powershell_plugin_1_0/dHRAYnRAZHdiZHAlJQ==" target="_blank">download</a></p> vCloud Director orchestrated infrastructure provisioning featuring VCE UIM vCO plug-in preview 2011-12-05T19:16:44Z 2011-12-05T19:16:44Z http://www.vcoteam.info/newsflash/vcloud-director-orchestrated-infrastructure-provisioning-featuring-vce-uim-vco-plug-in-preview.html Christophe Decanini webmaster@vcoteam.info <p><img src="http://www.vcoteam.info/images/71266_vce_logo_fullcolor.jpg" alt="alt" /></p> <p>VCE, the company formed by Cisco and EMC with investments from VMware and Intel is showing a demonstration of their vCenter Orchestrator powered infrastructure provisioning for vCloud Director. This is done with using EMC Unified Infrastructure Manager (UIM) which is the single pane of glass managing the stand alone Vblock Element Management applications.</p> <p>If you followed the vCenter Orchestrator plug-in releases you must have noticed the <a href="http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-plug-in-for-the-cisco-ucs-manager.html" target="_blank">UCS Manager release</a>. So, how is a UIM plug-in different ? It covers some of the functionality in the UCS Manager plug-in but also Cisco MCS and Nexus, EMC Unisphere & SMC and some vCenter functionality. The advantage of orchestrating the top management application is that all the integration between the different parts is already included and can be automated from vCO. The exception is for vCloud Director which is orchestrated directly from <a href="http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-plug-in-update-for-vcloud-director-15.html" target="_blank">vCO vCloud Director Plug-in</a>. This integration is done by a demo workflow provided with the UIM plug-in by the VCE folks and has the following steps:</p> <ul> <li>Instantiate a Service from a UIM service offering using Vblock resources</li> <li>Reserve and activate the service from the Service offering</li> <li>Synchronize vCenter with the service</li> <li>Add a provider Virtual Data Center to vCloud Director</li> </ul> <p>As a result the vCloud Director administrator get additional resources he can allocate to be consumed by the different organizations Virtual Data Centers.</p> <p>The UIM plug-in exposes an inventory listing:</p> <ul> <li>Service offerings</li> <li>Services</li> <li>tasks</li> <li>vBlocks</li> <li>vCenters</li> <li>vCenter Clusters</li> </ul> <p>Watch the full workflow demonstration video here:</p> <p>http://www.youtube.com/watch?v=pckoF0s3nHA</p> <p><img src="http://www.vcoteam.info/images/71266_vce_logo_fullcolor.jpg" alt="alt" /></p> <p>VCE, the company formed by Cisco and EMC with investments from VMware and Intel is showing a demonstration of their vCenter Orchestrator powered infrastructure provisioning for vCloud Director. This is done with using EMC Unified Infrastructure Manager (UIM) which is the single pane of glass managing the stand alone Vblock Element Management applications.</p> <p>If you followed the vCenter Orchestrator plug-in releases you must have noticed the <a href="http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-plug-in-for-the-cisco-ucs-manager.html" target="_blank">UCS Manager release</a>. So, how is a UIM plug-in different ? It covers some of the functionality in the UCS Manager plug-in but also Cisco MCS and Nexus, EMC Unisphere & SMC and some vCenter functionality. The advantage of orchestrating the top management application is that all the integration between the different parts is already included and can be automated from vCO. The exception is for vCloud Director which is orchestrated directly from <a href="http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-plug-in-update-for-vcloud-director-15.html" target="_blank">vCO vCloud Director Plug-in</a>. This integration is done by a demo workflow provided with the UIM plug-in by the VCE folks and has the following steps:</p> <ul> <li>Instantiate a Service from a UIM service offering using Vblock resources</li> <li>Reserve and activate the service from the Service offering</li> <li>Synchronize vCenter with the service</li> <li>Add a provider Virtual Data Center to vCloud Director</li> </ul> <p>As a result the vCloud Director administrator get additional resources he can allocate to be consumed by the different organizations Virtual Data Centers.</p> <p>The UIM plug-in exposes an inventory listing:</p> <ul> <li>Service offerings</li> <li>Services</li> <li>tasks</li> <li>vBlocks</li> <li>vCenters</li> <li>vCenter Clusters</li> </ul> <p>Watch the full workflow demonstration video here:</p> <p>http://www.youtube.com/watch?v=pckoF0s3nHA</p> Building your custom cloud portal - Knowing when to use the vCloud API and the vCenter Orchestrator web service 2011-11-30T05:00:00Z 2011-11-30T05:00:00Z http://www.vcoteam.info/learn-vco/building-your-custom-cloud-when-to-use-the-vcloud-api-or-the-vcenter-orchestrator-web-service.html Christophe Decanini webmaster@vcoteam.info <p><img src="http://www.vcoteam.info/images/phocagallery/api.png" alt="alt" width="190" height="93" /></p> <p>My team and I have helped customers to build private and public clouds using vCenter Orchestrator for the last 5 years. Adding vCloud Director in the picture tremendously helps with providing customers a scalable standardized cloud solution. Most people will think at orchestration as a single entry point on top of the cloud when in fact for several use cases it is recommended to have vCloud Director and vCenter Orchestrator running side by side.</p> <p>If you are running out of the box vCloud Director user interface or API you can use vCloud notifications and blocking tasks to delegate underlying processes to vCenter Orchestrator as shown in this <a href="http://www.vcoteam.info/learn-vco/extend-vcloud-director-with-vcenter-orchestrator.html" target="_blank">article</a>. This works well when there is a requirement to extend existing vCloud Director functionalities.</p> <p>If you are building your own customized portal using a web framework or a Service Management solution such as <a href="http://www.vcoteam.info/newsflash/vmware-released-service-manager-90-with-a-vco.html" target="_blank">VMware Service Manager</a> you may wonder when you should consume the vCloud Director API and when you should consume the vCenter Orchestrator web service.</p> <p>Consuming the vCloud API should be preferred for:</p> <ul> <li>All close to real time interactive operations such as: <ul> <li>Listing Cloud objects and their properties (For example a Web portal user interface or data extraction)</li> <li>Running vCloud single step operations (For example Start / Stop vApp)</li> <li>Operations requiring direct connection from a client to the cloud API such as: <ul> <li>Uploading of resources to the cloud.</li> <li>The ones being initiated by the cloud ecosystem. </li> </ul> </li> </ul> </li> </ul> <p>Consuming the vCenter Orchestrator Web Service, which in turn can calls the vCloud API with using the vCloud Director plug-in for vCenter Orchestrator should be preferred for operations :</p> <ul> <li>That should not or cannot be triggerred with extending the vCloud API / UI operations using <a href="http://www.vcoteam.info/newsflash/vmware-released-the-amqp-plug-in.html" target="_blank">AMQP</a>: <ul> <li>A workflow requiring input parameters not available in the vCloud API (For examplee vApp placement based on project code input).</li> </ul> <ul> <li>Operations that have no equivalent in the cloud API (For example : "Backup vApp")</li> </ul> </li> </ul> <ul> <li>Involving multiple steps, long running operations and computed decisions that should not affect regular operations in vCloud Director<br /> <ul> <li>For example a workflow for the end users including vApp approval, vApp placement, pre-provisioning (i.e load balancer), provisioning, post provisioning (i.e adding the computer account in Microsoft Active Directory) that should not apply for the other applications leveraging the vCloud API.</li> </ul> </li> <li>Leveraging operations not covered in the vCloud API <ul> <li>Preparing the physical infrastructure for the Virtual Infrastructure (For Example provisioning a <a href="http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-plug-in-for-the-cisco-ucs-manager.html" target="_blank">Cisco UCS</a> blade).</li> <li>Setting up resources in vCenter for vCloud Director</li> </ul> </li> <li>Requiring auditing <ul> <li>Each step of the workflow, each decision is recorded so process compliance can be observed.</li> <li>vCenter Orchestrator communicate back and forth with an external Change Management application.</li> </ul> </li> <li>Requiring resiliency <ul> <li>A process running in a vCO workflow can be on vCO host shut down or failure stopped and resumed on the same or a different vCO server.</li> <li>Workflows can trap error and apply remediation</li> </ul> </li> </ul> <p> </p> <p>On the same subject, at a higher level my colleague Massimo Re Ferre wrote a good article <a href="http://blogs.vmware.com/vcloud/2011/11/vcd-custom-portals-and-backend-integrations-in-a-service-provider-environment.html" target="_blank">here</a>.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/api.png" alt="alt" width="190" height="93" /></p> <p>My team and I have helped customers to build private and public clouds using vCenter Orchestrator for the last 5 years. Adding vCloud Director in the picture tremendously helps with providing customers a scalable standardized cloud solution. Most people will think at orchestration as a single entry point on top of the cloud when in fact for several use cases it is recommended to have vCloud Director and vCenter Orchestrator running side by side.</p> <p>If you are running out of the box vCloud Director user interface or API you can use vCloud notifications and blocking tasks to delegate underlying processes to vCenter Orchestrator as shown in this <a href="http://www.vcoteam.info/learn-vco/extend-vcloud-director-with-vcenter-orchestrator.html" target="_blank">article</a>. This works well when there is a requirement to extend existing vCloud Director functionalities.</p> <p>If you are building your own customized portal using a web framework or a Service Management solution such as <a href="http://www.vcoteam.info/newsflash/vmware-released-service-manager-90-with-a-vco.html" target="_blank">VMware Service Manager</a> you may wonder when you should consume the vCloud Director API and when you should consume the vCenter Orchestrator web service.</p> <p>Consuming the vCloud API should be preferred for:</p> <ul> <li>All close to real time interactive operations such as: <ul> <li>Listing Cloud objects and their properties (For example a Web portal user interface or data extraction)</li> <li>Running vCloud single step operations (For example Start / Stop vApp)</li> <li>Operations requiring direct connection from a client to the cloud API such as: <ul> <li>Uploading of resources to the cloud.</li> <li>The ones being initiated by the cloud ecosystem. </li> </ul> </li> </ul> </li> </ul> <p>Consuming the vCenter Orchestrator Web Service, which in turn can calls the vCloud API with using the vCloud Director plug-in for vCenter Orchestrator should be preferred for operations :</p> <ul> <li>That should not or cannot be triggerred with extending the vCloud API / UI operations using <a href="http://www.vcoteam.info/newsflash/vmware-released-the-amqp-plug-in.html" target="_blank">AMQP</a>: <ul> <li>A workflow requiring input parameters not available in the vCloud API (For examplee vApp placement based on project code input).</li> </ul> <ul> <li>Operations that have no equivalent in the cloud API (For example : "Backup vApp")</li> </ul> </li> </ul> <ul> <li>Involving multiple steps, long running operations and computed decisions that should not affect regular operations in vCloud Director<br /> <ul> <li>For example a workflow for the end users including vApp approval, vApp placement, pre-provisioning (i.e load balancer), provisioning, post provisioning (i.e adding the computer account in Microsoft Active Directory) that should not apply for the other applications leveraging the vCloud API.</li> </ul> </li> <li>Leveraging operations not covered in the vCloud API <ul> <li>Preparing the physical infrastructure for the Virtual Infrastructure (For Example provisioning a <a href="http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-plug-in-for-the-cisco-ucs-manager.html" target="_blank">Cisco UCS</a> blade).</li> <li>Setting up resources in vCenter for vCloud Director</li> </ul> </li> <li>Requiring auditing <ul> <li>Each step of the workflow, each decision is recorded so process compliance can be observed.</li> <li>vCenter Orchestrator communicate back and forth with an external Change Management application.</li> </ul> </li> <li>Requiring resiliency <ul> <li>A process running in a vCO workflow can be on vCO host shut down or failure stopped and resumed on the same or a different vCO server.</li> <li>Workflows can trap error and apply remediation</li> </ul> </li> </ul> <p> </p> <p>On the same subject, at a higher level my colleague Massimo Re Ferre wrote a good article <a href="http://blogs.vmware.com/vcloud/2011/11/vcd-custom-portals-and-backend-integrations-in-a-service-provider-environment.html" target="_blank">here</a>.</p> Code snippets : Use vCenter Orchestrator API explorer to write your own custom getGuestCustomization workflow 2011-11-23T10:44:52Z 2011-11-23T10:44:52Z http://www.vcoteam.info/learn-vco/code-snippets-use-the-api-explorer-to-write-your-own-custom-workflows.html Christophe Decanini webmaster@vcoteam.info <p><img src="http://www.vcoteam.info/images/phocagallery/searchapi.png" alt="alt" /></p> <p>The vCenter Orchestrator plug-ins are coming with a lot of built in workflows and action scripts. The first thing to do when looking for functionality is to browse the library or use the search filter to find these.</p> <p>If you do not get exactly what you are looking for, there are chances that some of the existing workflows and actions will contain close enough examples. If you do not find any of these you can still use the API explorer to create your own.</p> <p>Today there was a <a href="http://communities.vmware.com/thread/337419?tstart=0" target="_blank">community post</a> about getting VM Guest information using the vCloud Director plug-in for vCO. While I answered there I thought it would be helpful to publish it here. Here is how I do it:</p> <p>For the sake of simplicity I am assuming starting with a vApp input in the workflow set as an input of a scriptable box.</p> <p>First I need to get the VMs within this vApp.</p> <p>In the API explorator look at the vApp methods & properties:</p> <p><img class="jive-image-thumbnail jive-image" src="http://communities.vmware.com/servlet/JiveServlet/downloadImage/17248/Screen+shot+2011-11-23+at+11.23.48+AM.png" alt="Screen shot 2011-11-23 at 11.23.48 AM.png" width="450" /></p> <p>You can see there is vApp.getChildrenVms();</p> <p>To avoid doing typos press ctrl espace after the "." : This will bring the completion window like this:</p> <p> </p> <p><img class="jive-image" src="http://communities.vmware.com/servlet/JiveServlet/downloadImage/17249/Screen+shot+2011-11-23+at+11.27.50+AM.png" alt="Screen shot 2011-11-23 at 11.27.50 AM.png" /></p> <p> </p> <p>Now that you have got the VMs in the vApp you need to get their guestCustomization:</p> <p> </p> <p><img class="jive-image" src="http://communities.vmware.com/servlet/JiveServlet/downloadImage/17250/Screen+shot+2011-11-23+at+11.29.33+AM.png" alt="Screen shot 2011-11-23 at 11.29.33 AM.png" /></p> <p>Once you have identified the right method to do it, you need to check VclGuestCustomizationSection to know what properties are available.</p> <p><img class="jive-image" src="http://communities.vmware.com/servlet/JiveServlet/downloadImage/17247/Screen+shot+2011-11-23+at+11.21.20+AM.png" alt="Screen shot 2011-11-23 at 11.21.20 AM.png" /></p> <p> So if for example we need the Guest OS computer name we can use the computername property.</p> <p>So to get guest information:</p> <p>{code}</p> <p>var vms = vApp.getChildrenVms();</p> <p>for each (var vm in vms) { //iterating the vms<br />     var getGuestCustomizationSection = vm.getGuestCustomizationSection();<br />     System.log(getGuestCustomizationSection.computerName);<br /> }</p> <p>{/code}</p> <p>The methodology above applies to any vCenter Orchestrator plug-in.</p> <p>to be re-usable, versionable this peace of code can be embedded in an action that would return an array of vm names (strings)</p> <p>{code}</p> <p>var vmNames = new Array();</p> <p>var vms = vApp.getChildrenVms();</p> <p>for each (var vm in vms) { //iterating the vms<br />     var getGuestCustomizationSection = vm.getGuestCustomizationSection();<br />     vmNames.push(getGuestCustomizationSection.computerName);<br /> }</p> <p>return vmNames;</p> <p>{/code}</p> <p><img src="http://www.vcoteam.info/images/phocagallery/searchapi.png" alt="alt" /></p> <p>The vCenter Orchestrator plug-ins are coming with a lot of built in workflows and action scripts. The first thing to do when looking for functionality is to browse the library or use the search filter to find these.</p> <p>If you do not get exactly what you are looking for, there are chances that some of the existing workflows and actions will contain close enough examples. If you do not find any of these you can still use the API explorer to create your own.</p> <p>Today there was a <a href="http://communities.vmware.com/thread/337419?tstart=0" target="_blank">community post</a> about getting VM Guest information using the vCloud Director plug-in for vCO. While I answered there I thought it would be helpful to publish it here. Here is how I do it:</p> <p>For the sake of simplicity I am assuming starting with a vApp input in the workflow set as an input of a scriptable box.</p> <p>First I need to get the VMs within this vApp.</p> <p>In the API explorator look at the vApp methods & properties:</p> <p><img class="jive-image-thumbnail jive-image" src="http://communities.vmware.com/servlet/JiveServlet/downloadImage/17248/Screen+shot+2011-11-23+at+11.23.48+AM.png" alt="Screen shot 2011-11-23 at 11.23.48 AM.png" width="450" /></p> <p>You can see there is vApp.getChildrenVms();</p> <p>To avoid doing typos press ctrl espace after the "." : This will bring the completion window like this:</p> <p> </p> <p><img class="jive-image" src="http://communities.vmware.com/servlet/JiveServlet/downloadImage/17249/Screen+shot+2011-11-23+at+11.27.50+AM.png" alt="Screen shot 2011-11-23 at 11.27.50 AM.png" /></p> <p> </p> <p>Now that you have got the VMs in the vApp you need to get their guestCustomization:</p> <p> </p> <p><img class="jive-image" src="http://communities.vmware.com/servlet/JiveServlet/downloadImage/17250/Screen+shot+2011-11-23+at+11.29.33+AM.png" alt="Screen shot 2011-11-23 at 11.29.33 AM.png" /></p> <p>Once you have identified the right method to do it, you need to check VclGuestCustomizationSection to know what properties are available.</p> <p><img class="jive-image" src="http://communities.vmware.com/servlet/JiveServlet/downloadImage/17247/Screen+shot+2011-11-23+at+11.21.20+AM.png" alt="Screen shot 2011-11-23 at 11.21.20 AM.png" /></p> <p> So if for example we need the Guest OS computer name we can use the computername property.</p> <p>So to get guest information:</p> <p>{code}</p> <p>var vms = vApp.getChildrenVms();</p> <p>for each (var vm in vms) { //iterating the vms<br />     var getGuestCustomizationSection = vm.getGuestCustomizationSection();<br />     System.log(getGuestCustomizationSection.computerName);<br /> }</p> <p>{/code}</p> <p>The methodology above applies to any vCenter Orchestrator plug-in.</p> <p>to be re-usable, versionable this peace of code can be embedded in an action that would return an array of vm names (strings)</p> <p>{code}</p> <p>var vmNames = new Array();</p> <p>var vms = vApp.getChildrenVms();</p> <p>for each (var vm in vms) { //iterating the vms<br />     var getGuestCustomizationSection = vm.getGuestCustomizationSection();<br />     vmNames.push(getGuestCustomizationSection.computerName);<br /> }</p> <p>return vmNames;</p> <p>{/code}</p> VMware released the vCenter Orchestrator Plug-in update for vCloud Director 1.5 2011-11-17T20:34:30Z 2011-11-17T20:34:30Z http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-plug-in-update-for-vcloud-director-15.html Christophe Decanini webmaster@vcoteam.info <p><img src="http://www.vcoteam.info/images/phocagallery/vcloud-director.jpg" alt="alt" /></p> <p>I will re-iterate what I have said about nine months ago : Today VMware released the most complete automation solution for vCloud Director as a free download ! This is a plug-in for vCenter Orchestrator allowing to orchestrate vCloud Director 1.5 with a large collection of out of the box workflows. The previous version of this plug-in (1.02) is used at several service providers and enterprise customers.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/vcloud_director_plug-in 1.5.png" alt="alt" /></p> <p> </p> <p>As before in terms of functionality the plug-in allows:</p> <ul> <li> Tenants to automate catalogs and vApp provisioning and decommissioning operations within their organization.</li> <li>Service providers to automate the configuration and management of the tenant organizations, their virtual data centers and their resources.</li> <li>Service providers to automate the addition and carve up of new Virtual Infrastructure resources such as Provider vDC, External networks and network pools.</li> </ul> <p>Technically the plug-in implements the User, Admin, and Admin Extensions APIs using the latest release of the vCloud Java SDK. The vCloud Java SDK communicates with vCloud Director REST API. All this complexity happens in the background by being abstracted for the vCO Admin. The plug-in provides a total of <a href="http://www.vcoteam.info/product/how-many-workflows-come-with-the-vcloud-15-plug-in.html" target="_blank">138 building block workflows</a> and <a href="http://www.vcoteam.info/product/how-many-actions-come-with-the-vcloud-15-plug-in.html" target="_blank">250 actions</a>. Some high level workflows are also provided and are great examples of the combination of these.</p> <p>So what is new ?</p> <ul> <li>The blocking tasks and notifications. Using this plug-in in combination with the <a href="http://www.vcoteam.info/newsflash/vmware-released-the-amqp-plug-in.html" target="_blank">AMQP plug-in</a> allows vCO to dynamicaly respond to vCloud Director tasks and notifications.</li> <li>The query service. The query service allows to gather information on a lot of objects very quickly.</li> <li>47 new out of the box workflows and 142 new actions allowing to develop complex automation in a lot less time than with any other solution.</li> <li>The support of the 1.5 API adds a LOT of new objects (close to 500 instead of about 160 before !!!).</li> </ul> <table border="0"> <tbody> <tr> <td><img src="http://www.vcoteam.info/images/phocagallery/vcd1.5_network.png" alt="alt" /></td> <td><img src="http://www.vcoteam.info/images/phocagallery/vcd1.5_vm.png" alt="alt" /></td> </tr> <tr> <td>Network related workflows</td> <td>VM related workflows</td> </tr> </tbody> </table> <p>There were also a lot of other improvements such as better cache handling / object fetching, new objects in the inventory and several fixes.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/vcd1.5_inventory.png" alt="alt" /></p> <p> </p> <p>The <a href="http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-virtual-appliance.html" target="_blank">vCenter Orchestrator virtual appliance</a> can be deployed in minutes for being used in combination with this plug-in to automate your cloud and integrate it with other solutions.</p> <p>If you are new to vCenter Orchestrator, you can leverage the <a href="http://www.vcoteam.info/learn-vco/developing-your-first-vmware-vco-workflow-video-series.html" target="_blank">video tutorials</a> to create your own workflows. Then you can share your experience, ask questions on the <a href="http://communities.vmware.com/community/vmtn/server/vcenter/orchestrator" target="_self">VMware vCenter Orchestrator Communities</a>.</p> <p>The VMware vCenter Orchestrator plug-in for vCloud Director 1.5 release runs on VMware vCenter Orchestrator 4.1 and the subsequent update releases, as well as VMware vCenter Orchestrator 4.2.</p> <p>For more information, check the vCenter Orchestrator Plug-in for vCloud Director<a href="https://www.vmware.com/support/orchestrator/doc/vcd-plugin-15-release-notes.html" target="_blank"> release notes</a>.</p> <p>The vCenter Orchestrator Plug-in for vCloud Director is is available for download <a href="http://downloads.vmware.com/d/details/vcd_vco_plugin_150/ZGhoYnRwKiViZEAqaA==" target="_blank">here</a> and the user guide for the plug-in is <a href="http://pubs.vmware.com/orchestrator-plugins/index.jsp?topic=/com.vmware.using.vcloud_director.plugin.doc_15/GUID-20B31427-3E27-481B-9C1D-6ABC187098E7.html" target="_blank">here</a>.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/vcloud-director.jpg" alt="alt" /></p> <p>I will re-iterate what I have said about nine months ago : Today VMware released the most complete automation solution for vCloud Director as a free download ! This is a plug-in for vCenter Orchestrator allowing to orchestrate vCloud Director 1.5 with a large collection of out of the box workflows. The previous version of this plug-in (1.02) is used at several service providers and enterprise customers.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/vcloud_director_plug-in 1.5.png" alt="alt" /></p> <p> </p> <p>As before in terms of functionality the plug-in allows:</p> <ul> <li> Tenants to automate catalogs and vApp provisioning and decommissioning operations within their organization.</li> <li>Service providers to automate the configuration and management of the tenant organizations, their virtual data centers and their resources.</li> <li>Service providers to automate the addition and carve up of new Virtual Infrastructure resources such as Provider vDC, External networks and network pools.</li> </ul> <p>Technically the plug-in implements the User, Admin, and Admin Extensions APIs using the latest release of the vCloud Java SDK. The vCloud Java SDK communicates with vCloud Director REST API. All this complexity happens in the background by being abstracted for the vCO Admin. The plug-in provides a total of <a href="http://www.vcoteam.info/product/how-many-workflows-come-with-the-vcloud-15-plug-in.html" target="_blank">138 building block workflows</a> and <a href="http://www.vcoteam.info/product/how-many-actions-come-with-the-vcloud-15-plug-in.html" target="_blank">250 actions</a>. Some high level workflows are also provided and are great examples of the combination of these.</p> <p>So what is new ?</p> <ul> <li>The blocking tasks and notifications. Using this plug-in in combination with the <a href="http://www.vcoteam.info/newsflash/vmware-released-the-amqp-plug-in.html" target="_blank">AMQP plug-in</a> allows vCO to dynamicaly respond to vCloud Director tasks and notifications.</li> <li>The query service. The query service allows to gather information on a lot of objects very quickly.</li> <li>47 new out of the box workflows and 142 new actions allowing to develop complex automation in a lot less time than with any other solution.</li> <li>The support of the 1.5 API adds a LOT of new objects (close to 500 instead of about 160 before !!!).</li> </ul> <table border="0"> <tbody> <tr> <td><img src="http://www.vcoteam.info/images/phocagallery/vcd1.5_network.png" alt="alt" /></td> <td><img src="http://www.vcoteam.info/images/phocagallery/vcd1.5_vm.png" alt="alt" /></td> </tr> <tr> <td>Network related workflows</td> <td>VM related workflows</td> </tr> </tbody> </table> <p>There were also a lot of other improvements such as better cache handling / object fetching, new objects in the inventory and several fixes.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/vcd1.5_inventory.png" alt="alt" /></p> <p> </p> <p>The <a href="http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-virtual-appliance.html" target="_blank">vCenter Orchestrator virtual appliance</a> can be deployed in minutes for being used in combination with this plug-in to automate your cloud and integrate it with other solutions.</p> <p>If you are new to vCenter Orchestrator, you can leverage the <a href="http://www.vcoteam.info/learn-vco/developing-your-first-vmware-vco-workflow-video-series.html" target="_blank">video tutorials</a> to create your own workflows. Then you can share your experience, ask questions on the <a href="http://communities.vmware.com/community/vmtn/server/vcenter/orchestrator" target="_self">VMware vCenter Orchestrator Communities</a>.</p> <p>The VMware vCenter Orchestrator plug-in for vCloud Director 1.5 release runs on VMware vCenter Orchestrator 4.1 and the subsequent update releases, as well as VMware vCenter Orchestrator 4.2.</p> <p>For more information, check the vCenter Orchestrator Plug-in for vCloud Director<a href="https://www.vmware.com/support/orchestrator/doc/vcd-plugin-15-release-notes.html" target="_blank"> release notes</a>.</p> <p>The vCenter Orchestrator Plug-in for vCloud Director is is available for download <a href="http://downloads.vmware.com/d/details/vcd_vco_plugin_150/ZGhoYnRwKiViZEAqaA==" target="_blank">here</a> and the user guide for the plug-in is <a href="http://pubs.vmware.com/orchestrator-plugins/index.jsp?topic=/com.vmware.using.vcloud_director.plugin.doc_15/GUID-20B31427-3E27-481B-9C1D-6ABC187098E7.html" target="_blank">here</a>.</p> Unattended deployment of vCenter Orchestrator Appliance 2011-11-14T16:38:51Z 2011-11-14T16:38:51Z http://www.vcoteam.info/learn-vco/unnattended-deployment-of-vcenter-orchestrator-appliance.html Christophe Decanini webmaster@vcoteam.info <p><img src="http://www.vcoteam.info/images/vcova.png" alt="alt" /></p> <p>The <a href="http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-virtual-appliance.html">vCO appliance</a> makes it very easy to deploy vCenter Orchestrator in minutes. My colleague William Lam went a bit further with providing a script that let you pre-define a lot of the configuration settings.</p> <p>The script leverage the OVF format to set a number of parameters such as the appliance network settings, placement on the virtual infrastucture datastores and network.</p> <p>You can find out more about it <a href="http://www.virtuallyghetto.com/2011/11/unattended-deployment-of-vcenter.html" target="_blank">here</a>.</p> <p>I am looking forward to see more vCO articles from William since he has a very successfull <a href="http://www.virtuallyghetto.com/2011/11/unattended-deployment-of-vcenter.html" target="_blank">VMware scripting blog </a>with a lot of interesting articles. I encourage you to browse it if you did not knew it yet.</p> <p><img src="http://www.vcoteam.info/images/vcova.png" alt="alt" /></p> <p>The <a href="http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-virtual-appliance.html">vCO appliance</a> makes it very easy to deploy vCenter Orchestrator in minutes. My colleague William Lam went a bit further with providing a script that let you pre-define a lot of the configuration settings.</p> <p>The script leverage the OVF format to set a number of parameters such as the appliance network settings, placement on the virtual infrastucture datastores and network.</p> <p>You can find out more about it <a href="http://www.virtuallyghetto.com/2011/11/unattended-deployment-of-vcenter.html" target="_blank">here</a>.</p> <p>I am looking forward to see more vCO articles from William since he has a very successfull <a href="http://www.virtuallyghetto.com/2011/11/unattended-deployment-of-vcenter.html" target="_blank">VMware scripting blog </a>with a lot of interesting articles. I encourage you to browse it if you did not knew it yet.</p> Get trained on vCenter Orchestrator: 10 classes planned in EMEA 2011-11-09T23:06:07Z 2011-11-09T23:06:07Z http://www.vcoteam.info/newsflash/get-trained-on-vcenter-orchestrator-10-classes-planned-in-emea.html Christophe Decanini webmaster@vcoteam.info <p><img src="http://www.vcoteam.info/images/phocagallery/vco_training1.png" alt="alt" width="624" height="111" /></p> <p>If you are in EMEA and would like to be trained on using vCenter Orchestrator to create custom workflows here is your chance.</p> <p>VMware is providing not one but <span style="text-decoration: underline;"><strong>10</strong></span> instructor lead training classes in EMEA in the next months !</p> <p>I can attest the training content is really good since I have given this training recently. Also the EMEA trainer is the person who developped the content and has several years of experience with implementing vCO solutions at enterprise customers.</p> <p>To find out all the details please visit <a href="http://www.vcoportal.de/2011/11/get-trained-on-vco/" target="_blank">vcoportal</a>.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/vco_training1.png" alt="alt" width="624" height="111" /></p> <p>If you are in EMEA and would like to be trained on using vCenter Orchestrator to create custom workflows here is your chance.</p> <p>VMware is providing not one but <span style="text-decoration: underline;"><strong>10</strong></span> instructor lead training classes in EMEA in the next months !</p> <p>I can attest the training content is really good since I have given this training recently. Also the EMEA trainer is the person who developped the content and has several years of experience with implementing vCO solutions at enterprise customers.</p> <p>To find out all the details please visit <a href="http://www.vcoportal.de/2011/11/get-trained-on-vco/" target="_blank">vcoportal</a>.</p> VMware released vFabric Application Performance Manager featuring vCenter Orchestrator integration 2011-11-02T21:57:05Z 2011-11-02T21:57:05Z http://www.vcoteam.info/newsflash/vmware-released-vfabric-application-performance-manager-featuring-vcenter-orchestrator-integration.html Christophe Decanini webmaster@vcoteam.info <p>vFabric Application Performance Manager is VMware solution for cloud applications performance monitoring and remediation.</p> <p>This is a nice solution for monitoring throughput, latency, hit rate and error rates, it provides code level diagnostics and a nice user interface to fix problems quickly.The automation expert reading here certainly expect more and will be pleased to know it also offer built-in automation and policy-based alerting and remediation.</p> <p>If you go on the <a href="http://www.vmware.com/products/datacenter-virtualization/vfabric-application-performance-manager/features.html" target="_blank">product page features</a> you can see that this is the kind of flexible remediation we want to see in such a product:</p> <p><img src="http://www.vcoteam.info/images/phocagallery/apm_features.png" alt="alt" /></p> <p>How is this integration implemented you may wonder ?  A screenshot is worth a thousand words !</p> <p><img src="http://www.vcoteam.info/images/phocagallery/apm2.png" alt="alt" /></p> <p>vCenter Orchestrator provides the most advanced, the most flexible VMware cloud orchestration and as such the most capapble remediation automation extension for vFabric Application Performance Manager !</p> <p>For more information on vFabric Application Performance Manager please visit the <a href="http://www.vmware.com/products/datacenter-virtualization/vfabric-application-performance-manager/overview.html" target="_blank">product page</a>.</p> <p> </p> <p>vFabric Application Performance Manager is VMware solution for cloud applications performance monitoring and remediation.</p> <p>This is a nice solution for monitoring throughput, latency, hit rate and error rates, it provides code level diagnostics and a nice user interface to fix problems quickly.The automation expert reading here certainly expect more and will be pleased to know it also offer built-in automation and policy-based alerting and remediation.</p> <p>If you go on the <a href="http://www.vmware.com/products/datacenter-virtualization/vfabric-application-performance-manager/features.html" target="_blank">product page features</a> you can see that this is the kind of flexible remediation we want to see in such a product:</p> <p><img src="http://www.vcoteam.info/images/phocagallery/apm_features.png" alt="alt" /></p> <p>How is this integration implemented you may wonder ?  A screenshot is worth a thousand words !</p> <p><img src="http://www.vcoteam.info/images/phocagallery/apm2.png" alt="alt" /></p> <p>vCenter Orchestrator provides the most advanced, the most flexible VMware cloud orchestration and as such the most capapble remediation automation extension for vFabric Application Performance Manager !</p> <p>For more information on vFabric Application Performance Manager please visit the <a href="http://www.vmware.com/products/datacenter-virtualization/vfabric-application-performance-manager/overview.html" target="_blank">product page</a>.</p> <p> </p> Code snippets : Change the name of a vCloud Director organization 2011-11-02T20:43:12Z 2011-11-02T20:43:12Z http://www.vcoteam.info/learn-vco/code-snippets-change-the-name-of-a-vcloud-director-organization.html Christophe Decanini webmaster@vcoteam.info <p>Sometimes the user interfaces are limiting you by design. The APIs are often more permissive and if you know what you are doing you can do great things.</p> <p>Previously we showed you <a href="http://www.vcoteam.info/learn-vco/vcloud-director-vapp-hot-clone.html" target="_blank">how to hot clone vCloud Director vApps</a>. We even did a <a href="http://www.vcoteam.info/learn-vco/vcloud-director-vapp-hot-clone-in-less-than-one-hour-solution-video.html" target="_blank">video tutorial</a> for it. Now it is time to do something else the vCloud Director User Interface will not let you do : rename an organization.</p> <p> </p> <p>My test org has my name so my colleagues know it is mine. For a demo I needed to rename it. I opened the organization properties and saw the read only organization name.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/rename-org1.png" alt="alt" /></p> <p> </p> <p>In less then a minute I created a new workflow just doing this:</p> <p><img src="http://www.vcoteam.info/images/phocagallery/rename_org2.png" alt="alt" /></p> <p> </p> <p>Ran it.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/rename_org3.png" alt="alt" /></p> <p> </p> <p>And voilà. Org renamed.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/rename-org4.png" alt="alt" /></p> <p> </p> <p>Now there may be very good reasons not to do this on a production org such as the change of the URL to access this org.</p> <p>Hopefully this can be usefull and can add one more bullet point to this <a href="http://geekafterfive.com/2011/11/01/vcloud-apigui-throwdown/" target="_blank">article</a>. All the item listed there and a lot more have been done with vCO already.</p> <p> </p> <p>Sometimes the user interfaces are limiting you by design. The APIs are often more permissive and if you know what you are doing you can do great things.</p> <p>Previously we showed you <a href="http://www.vcoteam.info/learn-vco/vcloud-director-vapp-hot-clone.html" target="_blank">how to hot clone vCloud Director vApps</a>. We even did a <a href="http://www.vcoteam.info/learn-vco/vcloud-director-vapp-hot-clone-in-less-than-one-hour-solution-video.html" target="_blank">video tutorial</a> for it. Now it is time to do something else the vCloud Director User Interface will not let you do : rename an organization.</p> <p> </p> <p>My test org has my name so my colleagues know it is mine. For a demo I needed to rename it. I opened the organization properties and saw the read only organization name.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/rename-org1.png" alt="alt" /></p> <p> </p> <p>In less then a minute I created a new workflow just doing this:</p> <p><img src="http://www.vcoteam.info/images/phocagallery/rename_org2.png" alt="alt" /></p> <p> </p> <p>Ran it.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/rename_org3.png" alt="alt" /></p> <p> </p> <p>And voilà. Org renamed.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/rename-org4.png" alt="alt" /></p> <p> </p> <p>Now there may be very good reasons not to do this on a production org such as the change of the URL to access this org.</p> <p>Hopefully this can be usefull and can add one more bullet point to this <a href="http://geekafterfive.com/2011/11/01/vcloud-apigui-throwdown/" target="_blank">article</a>. All the item listed there and a lot more have been done with vCO already.</p> <p> </p> How to handle vCenter Orchestrator logs? 2011-10-31T05:00:00Z 2011-10-31T05:00:00Z http://www.vcoteam.info/learn-vco/how-to-handle-vcenter-orchestrator-logs.html Christophe Decanini webmaster@vcoteam.info <p>vCenter Orchestrator uses a powerful log service. This article explains the basics of this service and possible configuration changes.</p> <p>This article will identify the log files currently in use for a typical vCO server installation. Additionally, it will address the following areas of interest:</p> <ul> <li>Server Log rollover control: MaxFileSize and MaxBackupIndex</li> <li>Enable REST call logging in the vCloud Director Plug-in</li> <li>Enable logging to a SYSLOG server</li> <li>Setting the server and all components to debug mode</li> </ul> <p>The vCenter Orchestrator application server log files are located in <em>install_directory\app- server\server\vmo\log</em></p> <p>The <strong>server.log</strong> file the most relevant file for auditing the vCenter Orchestrator application server components, the plug-in adapters and the scripts contained in workflows, policies and actions. For convenience the script-logs.log only contains logs produced by the scripts.</p> <h2><span style="text-decoration: underline;">Log levels and persistence</span></h2> <p>Each of the vCenter Orchestrator application server components, plug-in adapter provides logs in different levels including fatal, error, warning, info and debug.</p> <p>During normal operations it is recommended to use the default info level to maximize the server performance while keeping quite detailed level information. Using the debug level for a single component or for all server components is recommended for troubleshooting.</p> <p>A vCenter Orchestrator script in an action, workflow or policy can generate an error, warning, info and debug log by invoking the System.log(), System.warn(), System.error() and System.debug() methods with a single log content string parameter.</p> <p>A vCenter Orchestrator script in an action, workflow or policy can generate an error, warning, info and debug log and an action, workflow or policy event by invoking the Server.log(), Server.warn(), Server.error() and Server.debug() methods with an event description string parameter and an event content string parameter.</p> <p>The events will be saved in vCenter Orchestrator database and stay attached to their action, workflow or policy until deleted by the purge daemon when reaching a total of 5000 events or more than 100 runs for a given workflow. These values can be changed in the vmo.properties configuration file using the max-log-events and max-workflow-tokens values. Substantial increases will lead to database performance decrease requiring database admin regular maintenance operations such as re-indexing the event and workflow token tables.</p> <h2><span style="text-decoration: underline;">Log configuration</span></h2> <p>vCenter Orchestrator uses Apache log4j allowing to configure and enable granular logging at runtime without modifying the application. The target of the log output is a configured by default to a set files but can be changed to different output targets such as a remote Unix Syslog daemon.</p> <p>The log configuration file is named log4j.xml and is located in <em>install_directory\app- server\server\vmo\conf.</em></p> <div class="alert"> <div class="typo-icon">Before editing this file, stop the vCenter Orchestrator Configuration service - Edit the file - then re-start the service.</div> </div> <p>Changes made by editing the configuration file manually may be lost when using vCenter Orchestrator web configuration to perform log configuration changes. This should be avoided once manual changes have been provided.</p> <h3><span style="text-decoration: underline;">Common configuration changes use cases</span></h3> <p>The server log files may be rolling over in a short period of time when the log verbosity is increased substantially. This can be prevented by changing the default size and number of files as follows (Here multiplying the MaxFileSize and the MaxBackupInded by four times the default value).</p> <p>{code class="brush: xml; gutter: false;" }<br />&lt;param name="MaxFileSize" value="8192KB"/&gt;<br />&lt;param name="MaxBackupIndex" value="16"/&gt;<br />{/code}</p> <p>When troubleshooting vCenter Orchestrator with vCloud Director setting the vCloud Director Plug-in in debug mode logs the REST calls and responses. This can be changed in the following section as follows:<br />{code class="brush: xml; gutter: false;" }<br />&lt;category additivity="true" name="com.vmware.vmo.plugin.vcloud"&gt;<br />&lt;priority value="DEBUG"/&gt;<br />&lt;/category&gt;<br />{/code}</p> <p>Using log centralization to a Unix Syslog Daemon for all the cloud management applications is recommended. This can be done by adding the following section:<br />{code class="brush: xml; gutter: false;" }</p> <p>&lt;!-- ============================== --&gt;<br />&nbsp; &nbsp;&lt;!-- Append messages to the syslog--&gt;<br />&nbsp; &nbsp;&lt;!-- ============================== --&gt;<br />&nbsp; &nbsp;&lt;appender name="SYSLOG" class="org.apache.log4j.net.SyslogAppender"&gt;<br />&nbsp; &nbsp; &nbsp;&lt;param name="SyslogHost" value="X.X.X.X"/&gt;&nbsp;<br />&nbsp; &nbsp; &nbsp;&lt;param name="Facility" value="USER"/&gt;&nbsp;<br />&nbsp; &nbsp; &nbsp;&lt;param name="FacilityPrinting" value="true"/&gt;&nbsp;<br />&nbsp; &nbsp; &nbsp;&lt;layout class="org.apache.log4j.PatternLayout"&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;param name="ConversionPattern"<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;value="%t %5r %-5p %-21d{yyyyMMdd HH:mm:ss,SSS} %c{2} [%x] %m %n"/&gt;&nbsp;<br />&nbsp; &nbsp; &nbsp;&lt;/layout&gt;&nbsp;<br />&nbsp; &nbsp;&lt;/appender&gt;<br />{/code}</p> <p>X.X.X.X must be changed to the Syslog server and USER replaced with the right log facility for your specific environment.</p> <p>Scroll down to the bottom of the file and locate the following section:<br />{code class="brush: xml; gutter: false;"}</p> <p>&lt;!-- ======================= --&gt;<br />&nbsp;&nbsp; &lt;!-- Setup the Root category --&gt;<br />&nbsp;&nbsp; &lt;!-- ======================= --&gt;<br />&nbsp;&nbsp; &lt;root&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;priority value="INFO"/&gt;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;appender-ref ref="CONSOLE"/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;appender-ref ref="FILE"/&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp; &lt;/root&gt;<br />{/code}<br />Next, add the following in that empty line between INFO and CONSOLE:<br />{code class="brush: xml; gutter: false;" }<br />&lt;appender-ref ref="SYSLOG"/&gt; &nbsp;&nbsp;<br />{/code}</p> <h2>Enabling DEBUG mode</h2> <p>During overall server troubleshooting it is recommended to set the server and all the components in debug mode. This can be done by changing the log level in the three following sections.</p> <p>In the section:<br /> {code class="brush: xml; gutter: false;" }<br />&lt;appender class="org.jboss.logging.appender.RollingFileAppender" name="FILE"&gt;<br />{/code}</p> <p>Update this line as follows:<br />{code class="brush: xml; gutter: false;" }<br />&lt;param name="Threshold" value="DEBUG"/&gt;<br />{/code}</p> <p>In the section:<br />{code class="brush: xml; gutter: false;" }<br />&lt;appender name="CONSOLE"&gt;<br />{/code}</p> <p>Update this line as follows:<br />{code class="brush: xml; gutter: false;" }<br />&lt;param name="Threshold" value="DEBUG"/&gt;<br />{/code}</p> <p>In the section:<br />{code class="brush: xml; gutter: false;" }<br />&lt;!-- VMware vCO --&gt;<br />{/code}</p> <p>Update this section as follows:</p> <p>{code class="brush: xml; gutter: false;" }<br />&lt;category additivity="true" name="ch.dunes"&gt;<br />&nbsp; &nbsp; &lt;priority value="DEBUG"/&gt;<br />&lt;/category&gt;<br />{/code}</p> <p>Putting a vCO server in debug mode slow down considerably the server. It is recommended to use DEBUG mode temporarely.</p> <p>vCenter Orchestrator uses a powerful log service. This article explains the basics of this service and possible configuration changes.</p> <p>This article will identify the log files currently in use for a typical vCO server installation. Additionally, it will address the following areas of interest:</p> <ul> <li>Server Log rollover control: MaxFileSize and MaxBackupIndex</li> <li>Enable REST call logging in the vCloud Director Plug-in</li> <li>Enable logging to a SYSLOG server</li> <li>Setting the server and all components to debug mode</li> </ul> <p>The vCenter Orchestrator application server log files are located in <em>install_directory\app- server\server\vmo\log</em></p> <p>The <strong>server.log</strong> file the most relevant file for auditing the vCenter Orchestrator application server components, the plug-in adapters and the scripts contained in workflows, policies and actions. For convenience the script-logs.log only contains logs produced by the scripts.</p> <h2><span style="text-decoration: underline;">Log levels and persistence</span></h2> <p>Each of the vCenter Orchestrator application server components, plug-in adapter provides logs in different levels including fatal, error, warning, info and debug.</p> <p>During normal operations it is recommended to use the default info level to maximize the server performance while keeping quite detailed level information. Using the debug level for a single component or for all server components is recommended for troubleshooting.</p> <p>A vCenter Orchestrator script in an action, workflow or policy can generate an error, warning, info and debug log by invoking the System.log(), System.warn(), System.error() and System.debug() methods with a single log content string parameter.</p> <p>A vCenter Orchestrator script in an action, workflow or policy can generate an error, warning, info and debug log and an action, workflow or policy event by invoking the Server.log(), Server.warn(), Server.error() and Server.debug() methods with an event description string parameter and an event content string parameter.</p> <p>The events will be saved in vCenter Orchestrator database and stay attached to their action, workflow or policy until deleted by the purge daemon when reaching a total of 5000 events or more than 100 runs for a given workflow. These values can be changed in the vmo.properties configuration file using the max-log-events and max-workflow-tokens values. Substantial increases will lead to database performance decrease requiring database admin regular maintenance operations such as re-indexing the event and workflow token tables.</p> <h2><span style="text-decoration: underline;">Log configuration</span></h2> <p>vCenter Orchestrator uses Apache log4j allowing to configure and enable granular logging at runtime without modifying the application. The target of the log output is a configured by default to a set files but can be changed to different output targets such as a remote Unix Syslog daemon.</p> <p>The log configuration file is named log4j.xml and is located in <em>install_directory\app- server\server\vmo\conf.</em></p> <div class="alert"> <div class="typo-icon">Before editing this file, stop the vCenter Orchestrator Configuration service - Edit the file - then re-start the service.</div> </div> <p>Changes made by editing the configuration file manually may be lost when using vCenter Orchestrator web configuration to perform log configuration changes. This should be avoided once manual changes have been provided.</p> <h3><span style="text-decoration: underline;">Common configuration changes use cases</span></h3> <p>The server log files may be rolling over in a short period of time when the log verbosity is increased substantially. This can be prevented by changing the default size and number of files as follows (Here multiplying the MaxFileSize and the MaxBackupInded by four times the default value).</p> <p>{code class="brush: xml; gutter: false;" }<br />&lt;param name="MaxFileSize" value="8192KB"/&gt;<br />&lt;param name="MaxBackupIndex" value="16"/&gt;<br />{/code}</p> <p>When troubleshooting vCenter Orchestrator with vCloud Director setting the vCloud Director Plug-in in debug mode logs the REST calls and responses. This can be changed in the following section as follows:<br />{code class="brush: xml; gutter: false;" }<br />&lt;category additivity="true" name="com.vmware.vmo.plugin.vcloud"&gt;<br />&lt;priority value="DEBUG"/&gt;<br />&lt;/category&gt;<br />{/code}</p> <p>Using log centralization to a Unix Syslog Daemon for all the cloud management applications is recommended. This can be done by adding the following section:<br />{code class="brush: xml; gutter: false;" }</p> <p>&lt;!-- ============================== --&gt;<br />&nbsp; &nbsp;&lt;!-- Append messages to the syslog--&gt;<br />&nbsp; &nbsp;&lt;!-- ============================== --&gt;<br />&nbsp; &nbsp;&lt;appender name="SYSLOG" class="org.apache.log4j.net.SyslogAppender"&gt;<br />&nbsp; &nbsp; &nbsp;&lt;param name="SyslogHost" value="X.X.X.X"/&gt;&nbsp;<br />&nbsp; &nbsp; &nbsp;&lt;param name="Facility" value="USER"/&gt;&nbsp;<br />&nbsp; &nbsp; &nbsp;&lt;param name="FacilityPrinting" value="true"/&gt;&nbsp;<br />&nbsp; &nbsp; &nbsp;&lt;layout class="org.apache.log4j.PatternLayout"&gt;<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;param name="ConversionPattern"<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;value="%t %5r %-5p %-21d{yyyyMMdd HH:mm:ss,SSS} %c{2} [%x] %m %n"/&gt;&nbsp;<br />&nbsp; &nbsp; &nbsp;&lt;/layout&gt;&nbsp;<br />&nbsp; &nbsp;&lt;/appender&gt;<br />{/code}</p> <p>X.X.X.X must be changed to the Syslog server and USER replaced with the right log facility for your specific environment.</p> <p>Scroll down to the bottom of the file and locate the following section:<br />{code class="brush: xml; gutter: false;"}</p> <p>&lt;!-- ======================= --&gt;<br />&nbsp;&nbsp; &lt;!-- Setup the Root category --&gt;<br />&nbsp;&nbsp; &lt;!-- ======================= --&gt;<br />&nbsp;&nbsp; &lt;root&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;priority value="INFO"/&gt;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;appender-ref ref="CONSOLE"/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;appender-ref ref="FILE"/&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp; &lt;/root&gt;<br />{/code}<br />Next, add the following in that empty line between INFO and CONSOLE:<br />{code class="brush: xml; gutter: false;" }<br />&lt;appender-ref ref="SYSLOG"/&gt; &nbsp;&nbsp;<br />{/code}</p> <h2>Enabling DEBUG mode</h2> <p>During overall server troubleshooting it is recommended to set the server and all the components in debug mode. This can be done by changing the log level in the three following sections.</p> <p>In the section:<br /> {code class="brush: xml; gutter: false;" }<br />&lt;appender class="org.jboss.logging.appender.RollingFileAppender" name="FILE"&gt;<br />{/code}</p> <p>Update this line as follows:<br />{code class="brush: xml; gutter: false;" }<br />&lt;param name="Threshold" value="DEBUG"/&gt;<br />{/code}</p> <p>In the section:<br />{code class="brush: xml; gutter: false;" }<br />&lt;appender name="CONSOLE"&gt;<br />{/code}</p> <p>Update this line as follows:<br />{code class="brush: xml; gutter: false;" }<br />&lt;param name="Threshold" value="DEBUG"/&gt;<br />{/code}</p> <p>In the section:<br />{code class="brush: xml; gutter: false;" }<br />&lt;!-- VMware vCO --&gt;<br />{/code}</p> <p>Update this section as follows:</p> <p>{code class="brush: xml; gutter: false;" }<br />&lt;category additivity="true" name="ch.dunes"&gt;<br />&nbsp; &nbsp; &lt;priority value="DEBUG"/&gt;<br />&lt;/category&gt;<br />{/code}</p> <p>Putting a vCO server in debug mode slow down considerably the server. It is recommended to use DEBUG mode temporarely.</p> Developing Your First VMware vCO Workflow Video Series 2011-10-27T12:25:23Z 2011-10-27T12:25:23Z http://www.vcoteam.info/learn-vco/developing-your-first-vmware-vco-workflow-video-series.html Burke Azbill webmaster@vcoteam.info <p>One of our contributing authors, Sergio Sanchez, has just published a three-part video series on Developing your first VMware vCO Workflow. In this series, Sergio steps you through the process of creating a new workflow to power on a VM and send e-mail from scratch. A couple library actions, a decision box, scriptable tasks, and error handling will be used throughout the series. The actions taken during this video series will be common across nearly all custom workflow development you perform in the future so it serves as a great basis to get you started.</p> <p>&nbsp;</p> <p>Concepts covered during the course of the series include:</p> <p>&nbsp;</p> <p>Part 1<br /> http://www.youtube.com/watch?v=_J5w7Nvv9PQ</p> <ul> <li>Create a workflow</li> <li>Defne input parameters</li> <li>Create the schema</li> </ul> <p>&nbsp;</p> <p>Part 2<br /> http://www.youtube.com/watch?v=EcOVTg236ag</p> <ul> <li>Bind workflow elements with input parameters and attributes</li> </ul> <p>&nbsp;</p> <p>Part 3<br /> http://www.youtube.com/watch?v=TOcGYTsh6Eg</p> <ul> <li>JavaScript code for the scriptable task elements</li> <li>Create the workflow presentation</li> <li>Validate the workflow</li> </ul> <p>One of our contributing authors, Sergio Sanchez, has just published a three-part video series on Developing your first VMware vCO Workflow. In this series, Sergio steps you through the process of creating a new workflow to power on a VM and send e-mail from scratch. A couple library actions, a decision box, scriptable tasks, and error handling will be used throughout the series. The actions taken during this video series will be common across nearly all custom workflow development you perform in the future so it serves as a great basis to get you started.</p> <p>&nbsp;</p> <p>Concepts covered during the course of the series include:</p> <p>&nbsp;</p> <p>Part 1<br /> http://www.youtube.com/watch?v=_J5w7Nvv9PQ</p> <ul> <li>Create a workflow</li> <li>Defne input parameters</li> <li>Create the schema</li> </ul> <p>&nbsp;</p> <p>Part 2<br /> http://www.youtube.com/watch?v=EcOVTg236ag</p> <ul> <li>Bind workflow elements with input parameters and attributes</li> </ul> <p>&nbsp;</p> <p>Part 3<br /> http://www.youtube.com/watch?v=TOcGYTsh6Eg</p> <ul> <li>JavaScript code for the scriptable task elements</li> <li>Create the workflow presentation</li> <li>Validate the workflow</li> </ul> Code snippets : Create your database plug-in 2011-10-20T05:00:00Z 2011-10-20T05:00:00Z http://www.vcoteam.info/learn-vco/code-snippets-create-your-database-plug-in.html Christophe Decanini webmaster@vcoteam.info <p><img src="http://www.vcoteam.info/images/phocagallery/database_export.png" alt="alt" /></p> <p>&nbsp;</p> <p>Need vCO to fetch some data from a database for integration purposes ? There is an easy solution with creating a plug-in ...</p> <p>J&ouml;erg Lew wrote an excellent article on the different options to integrate vCO with a database <a href="http://www.vcoportal.de/category/integrate-vco/integrate-database/">here</a>. Creating a <a href="http://www.hibernate.org/" target="_blank">hibernate</a> based plug-in is definitely the best way to map a database as vCO objects but it is a lot of effort and can get quite complex.</p> <p>Since there is another much simpler way to create a database plug-in (with read only rights on the database) I thought I should share it.</p> <p>First thing is to create your plug-in structure. Create a directory with a name and a "dar" extension.</p> <p>In this directory create two directories: VSO-INF and resources. In VSO-INF create a text file name vso.xml. This is the file defining the plug-in interface.</p> <p>Optionaly add a 32x32 pixel picture in the resources directory. This is the picture that will be used in the vCO client.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/plug-in-structure.png" alt="alt" /></p> <p>Now edit the vso.xml file as follows.</p> <p>This is an example on how to create your database plug-in:<br /> {code class="brush:xml"}<br /> &lt;module name="LogEventDB" display-name="Log event database plug-in" version="1.0.0" build-number="001" image="db-32x32.png" xsi:noNamespaceSchemaLocation="http://www.vmware.com/support/orchestrator/plugin-4-1.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;<br /> &lt;description&gt;This is an example on how to create your database plug-in&lt;/description&gt;<br /> &lt;enumerations&gt;<br /> &lt;dynamic-enumeration type="logevent"&gt;<br /> &lt;datasource type="jdbc" driver-class="net.sourceforge.jtds.jdbc.Driver" connection-url="jdbc:jtds:sqlserver://localhost:1433/vco;instance=sqlexpress" username="vco" password="vmware" refetch-timeout="300"&gt;<br /> &lt;datasource-select&gt;SELECT severity, logtimestamp, shortdescription, longdescription, originatorusername FROM vmo_logevent ORDER BY logtimestamp&lt;/datasource-select&gt;<br /> &lt;datasource-id id-element="shortdescription"/&gt;<br /> &lt;datasource-entry name="severity" element-name="severity" display="Severity"/&gt;<br /> &lt;datasource-entry name="logtimestamp" element-name="logtimestamp" display="Log Timestamp"/&gt;<br /> &lt;datasource-entry name="shortdescription" element-name="shortdescription" display="Short Description"/&gt;<br /> &lt;datasource-entry name="longdescription" element-name="longdescription" display="Long Description"/&gt;<br /> &lt;datasource-entry name="originatorusername" element-name="originatorusername" display="Originator Username"/&gt;<br /> &lt;/datasource&gt;<br /> &lt;description&gt;Dynamic list from logevent&lt;/description&gt;<br /> &lt;/dynamic-enumeration&gt;<br /> &lt;/enumerations&gt;<br /> &lt;/module&gt; {/code}</p> <p>&nbsp;</p> <p>Some explanations on the code:</p> <ul> <li>Module name: The prefix of all the objects in this plug-in.</li> <li>Display name: The name that will show up in vCO configuration.</li> <li>version, build: Used by the vCO configuration to update on new version.</li> <li>Image: The image you have in the resources directory, used as the icon for the plug-in.</li> <li>Description: Will show up in the API explorer.</li> <li>Dynamic Enumeration logEvent: This is an object of the plug-in.</li> <li>Datasource type="jdbc" ... : This is where your object will be fetched from. Here it is with using the JDBC driver that allows to connect to Microsoft SQL Server, Oracle, PostgreSQL, mySQL and other databases (drivers must be downlaoded separately). You will need to change the connection-url. You can generate this URL automatically and test it on your database with running the "JDBC URL generator" workflow in the workflow library. Make sure to set up your username and password as well.</li> <li>Datasource-select : This defines the data source for your object properties in the form of a SELECT statement</li> <li>datasource-id : This defines the ID of the object. this will be the one showing as a label once you have selected an object. It does not necessarely have to be an unique ID.</li> <li>datasource-entry: This defines the name of a property of an object, the matching column from the SELECT statement and the display name shown to the end user.</li> </ul> <p>As you can see this is not very complicated and in my example I am fetching the vCO log events.</p> <p>Once you have completed this copy the JDBCPlug-in.dar in [your vCO install directory]/app-server/server/vmo/plugins</p> <p>Open your vCO web configure and go in the plug-ins tab. You should see this.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/jdbc_plug-in_configuration.png" alt="alt" /></p> <p>Restart your vCO service to enable the plug-in.</p> <p>Open the vCO client. If you look in the inventory you will not see the plug-in since we have not created an inventory in the vso.xml. Create a new workflow, edit it, add a scriptable box. Click on Search API, enter logeventdb or the custom name you gave to your plug-in:</p> <p>&nbsp;</p> <p><img src="http://www.vcoteam.info/images/phocagallery/jdbc_plug-in-api-search1.png" alt="alt" /></p> <p>it will find the LogEventDB:logevent object. Double click on it.</p> <p>It will show you the plug-in with the nice icon you had set in the first step and the LogEventDB:logevent object.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/jdbc_plug-in-api-search2.png" alt="alt" /></p> <p>Now let's use it as an input parameter. Create a new workflow with a scriptable task. In the workflow inputs tab, add an input called "log", search for logEvent. You will find 2 objects: vCO native LogEvent and the one from your plug-in. Select yours.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/jdbc_plug-in-add-input.png" alt="alt" /></p> <p>&nbsp;</p> <p>Edit your scriptable task box to add the log input and enter the following script:</p> <p>System.log(log.logtimestamp + " : " + log.shortdescription);</p> <p>Link the elements, validate, save.</p> <p>Start your workflow. Enter something in the filter (here I look for my username). You will see all the records from your SELECT statement listed. Select one and submit.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/jdbc_plug-in-run-workflow.png" alt="alt" /></p> <p>&nbsp;</p> <p>It will display the Log Timestamp and the short description as defined in the script. You could use any of the information in these columns to feed information into a workflow.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/database_export.png" alt="alt" /></p> <p>&nbsp;</p> <p>Need vCO to fetch some data from a database for integration purposes ? There is an easy solution with creating a plug-in ...</p> <p>J&ouml;erg Lew wrote an excellent article on the different options to integrate vCO with a database <a href="http://www.vcoportal.de/category/integrate-vco/integrate-database/">here</a>. Creating a <a href="http://www.hibernate.org/" target="_blank">hibernate</a> based plug-in is definitely the best way to map a database as vCO objects but it is a lot of effort and can get quite complex.</p> <p>Since there is another much simpler way to create a database plug-in (with read only rights on the database) I thought I should share it.</p> <p>First thing is to create your plug-in structure. Create a directory with a name and a "dar" extension.</p> <p>In this directory create two directories: VSO-INF and resources. In VSO-INF create a text file name vso.xml. This is the file defining the plug-in interface.</p> <p>Optionaly add a 32x32 pixel picture in the resources directory. This is the picture that will be used in the vCO client.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/plug-in-structure.png" alt="alt" /></p> <p>Now edit the vso.xml file as follows.</p> <p>This is an example on how to create your database plug-in:<br /> {code class="brush:xml"}<br /> &lt;module name="LogEventDB" display-name="Log event database plug-in" version="1.0.0" build-number="001" image="db-32x32.png" xsi:noNamespaceSchemaLocation="http://www.vmware.com/support/orchestrator/plugin-4-1.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;<br /> &lt;description&gt;This is an example on how to create your database plug-in&lt;/description&gt;<br /> &lt;enumerations&gt;<br /> &lt;dynamic-enumeration type="logevent"&gt;<br /> &lt;datasource type="jdbc" driver-class="net.sourceforge.jtds.jdbc.Driver" connection-url="jdbc:jtds:sqlserver://localhost:1433/vco;instance=sqlexpress" username="vco" password="vmware" refetch-timeout="300"&gt;<br /> &lt;datasource-select&gt;SELECT severity, logtimestamp, shortdescription, longdescription, originatorusername FROM vmo_logevent ORDER BY logtimestamp&lt;/datasource-select&gt;<br /> &lt;datasource-id id-element="shortdescription"/&gt;<br /> &lt;datasource-entry name="severity" element-name="severity" display="Severity"/&gt;<br /> &lt;datasource-entry name="logtimestamp" element-name="logtimestamp" display="Log Timestamp"/&gt;<br /> &lt;datasource-entry name="shortdescription" element-name="shortdescription" display="Short Description"/&gt;<br /> &lt;datasource-entry name="longdescription" element-name="longdescription" display="Long Description"/&gt;<br /> &lt;datasource-entry name="originatorusername" element-name="originatorusername" display="Originator Username"/&gt;<br /> &lt;/datasource&gt;<br /> &lt;description&gt;Dynamic list from logevent&lt;/description&gt;<br /> &lt;/dynamic-enumeration&gt;<br /> &lt;/enumerations&gt;<br /> &lt;/module&gt; {/code}</p> <p>&nbsp;</p> <p>Some explanations on the code:</p> <ul> <li>Module name: The prefix of all the objects in this plug-in.</li> <li>Display name: The name that will show up in vCO configuration.</li> <li>version, build: Used by the vCO configuration to update on new version.</li> <li>Image: The image you have in the resources directory, used as the icon for the plug-in.</li> <li>Description: Will show up in the API explorer.</li> <li>Dynamic Enumeration logEvent: This is an object of the plug-in.</li> <li>Datasource type="jdbc" ... : This is where your object will be fetched from. Here it is with using the JDBC driver that allows to connect to Microsoft SQL Server, Oracle, PostgreSQL, mySQL and other databases (drivers must be downlaoded separately). You will need to change the connection-url. You can generate this URL automatically and test it on your database with running the "JDBC URL generator" workflow in the workflow library. Make sure to set up your username and password as well.</li> <li>Datasource-select : This defines the data source for your object properties in the form of a SELECT statement</li> <li>datasource-id : This defines the ID of the object. this will be the one showing as a label once you have selected an object. It does not necessarely have to be an unique ID.</li> <li>datasource-entry: This defines the name of a property of an object, the matching column from the SELECT statement and the display name shown to the end user.</li> </ul> <p>As you can see this is not very complicated and in my example I am fetching the vCO log events.</p> <p>Once you have completed this copy the JDBCPlug-in.dar in [your vCO install directory]/app-server/server/vmo/plugins</p> <p>Open your vCO web configure and go in the plug-ins tab. You should see this.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/jdbc_plug-in_configuration.png" alt="alt" /></p> <p>Restart your vCO service to enable the plug-in.</p> <p>Open the vCO client. If you look in the inventory you will not see the plug-in since we have not created an inventory in the vso.xml. Create a new workflow, edit it, add a scriptable box. Click on Search API, enter logeventdb or the custom name you gave to your plug-in:</p> <p>&nbsp;</p> <p><img src="http://www.vcoteam.info/images/phocagallery/jdbc_plug-in-api-search1.png" alt="alt" /></p> <p>it will find the LogEventDB:logevent object. Double click on it.</p> <p>It will show you the plug-in with the nice icon you had set in the first step and the LogEventDB:logevent object.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/jdbc_plug-in-api-search2.png" alt="alt" /></p> <p>Now let's use it as an input parameter. Create a new workflow with a scriptable task. In the workflow inputs tab, add an input called "log", search for logEvent. You will find 2 objects: vCO native LogEvent and the one from your plug-in. Select yours.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/jdbc_plug-in-add-input.png" alt="alt" /></p> <p>&nbsp;</p> <p>Edit your scriptable task box to add the log input and enter the following script:</p> <p>System.log(log.logtimestamp + " : " + log.shortdescription);</p> <p>Link the elements, validate, save.</p> <p>Start your workflow. Enter something in the filter (here I look for my username). You will see all the records from your SELECT statement listed. Select one and submit.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/jdbc_plug-in-run-workflow.png" alt="alt" /></p> <p>&nbsp;</p> <p>It will display the Log Timestamp and the short description as defined in the script. You could use any of the information in these columns to feed information into a workflow.</p> EMC VMAX, VNX, VMware vSphere, vCloud Director integration powered by vCenter Orchestrator 2011-10-19T21:36:10Z 2011-10-19T21:36:10Z http://www.vcoteam.info/newsflash/emc-vmax-vnx-vmware-vsphere-vcloud-director-integration-powered-by-vcenter-orchestrator.html Christophe Decanini webmaster@vcoteam.info <p><img src="http://www.vcoteam.info/images/phocagallery/04095076-photo-emc-logo.jpg" alt="alt" width="178" height="71" /></p> <p>EMC released a Compute as a Service white paper documenting design considerations leveraging vCenter Orchestrator and its vCloud Director, AMQP and REST plug-in</p> <p>With these components EMC created a workflow running the following operations:</p> <ul> <li>Provision storage from EMC Symmetrix VMAX or EMC VNX based on the vCenter High Availability cluster.</li> <li>Create the datastore.</li> <li>Create the provider virtual datacenter.</li> <li>Create the organization virtual datacenter within the provider virtual datacenter.</li> <li>Create the catalog on the organization datacenter</li> </ul> <p>The whitepaper shows the workflow design, a simple custom web portal to start it and the workflow execution record.</p> <p>For more information check the <a href="http://www.emc.com/collateral/hardware/white-papers/h8924-caas-vnx-vmax-wp.pdf" target="_blank">EMC Compute as a Service white paper</a>. vCenter Orchestrator is covered from page 27 to page 34.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/04095076-photo-emc-logo.jpg" alt="alt" width="178" height="71" /></p> <p>EMC released a Compute as a Service white paper documenting design considerations leveraging vCenter Orchestrator and its vCloud Director, AMQP and REST plug-in</p> <p>With these components EMC created a workflow running the following operations:</p> <ul> <li>Provision storage from EMC Symmetrix VMAX or EMC VNX based on the vCenter High Availability cluster.</li> <li>Create the datastore.</li> <li>Create the provider virtual datacenter.</li> <li>Create the organization virtual datacenter within the provider virtual datacenter.</li> <li>Create the catalog on the organization datacenter</li> </ul> <p>The whitepaper shows the workflow design, a simple custom web portal to start it and the workflow execution record.</p> <p>For more information check the <a href="http://www.emc.com/collateral/hardware/white-papers/h8924-caas-vnx-vmax-wp.pdf" target="_blank">EMC Compute as a Service white paper</a>. vCenter Orchestrator is covered from page 27 to page 34.</p> VMware released the vCenter Orchestrator Virtual Appliance 2011-10-19T08:16:48Z 2011-10-19T08:16:48Z http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-virtual-appliance.html Christophe Decanini webmaster@vcoteam.info <p><img src="http://www.vcoteam.info/images/vcova.png" alt="alt" /></p> <p>You have now no more excuses for not using vCenter Orchestrator: you can now have it up and running in a few minutes.</p> <p>With the vCenter Orchestrator Virtual Appliance the configuration is now reduced to the bare minimum (on the Windows version there is quite a lot of <a href="http://www.vcoteam.info/new-to-vcenter-orchestrator-vco/how-to-configure-vcenter-orchestrator-vco.html" target="_blank">configuration</a> to do and important pre-requisites including a directory service and database).</p> <p>This is ideal for loading a vCO dev / test environment (including a mobile lab on your laptop) either by importing the provided OVF in vCenter or in Workstation or Fusion (For fusion you will need to use  ovftool in command line).</p> <p>Here is my Fusion lab after importing the vCO 4.2 VA:</p> <p><img src="http://www.vcoteam.info/images/phocagallery/fusionlab.png" alt="alt" width="545" height="266" /></p> <p> </p> <p>Once you will have imported and started it you will be greated by a "To manage this appliance browse to [hostname]" message. Once you open this in your browser you have a new page with links to everything you need to operate the appliance and get to useful online resources.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/vcovaweb.png" alt="alt" width="744" height="524" /></p> <p> </p> <h2>Configuration</h2> <p>The first thing you should do is to go to Orchestrator Configuration.</p> <p>You will be prompted twice to set the Appliance configuration & root password and the access to the web configuration. You will also have the usual browsers certificate warnings. Apart from the orchestrated technologies the appliance is free from external dependencies with embedding OpenLDAP, postgreSQL and sendmail servers. You will see these configured.</p> <p>The appliance is coming with the same plug-ins as bundled with vCO 4.2 such as vCenter Server 5. There are a few things that still may require configuration:</p> <ul> <li>To make the vCenter 5 plug-in active a vCenter host needs to be configured. You can add either a vCenter 5 VA or a Windows based vCenter 5. </li> <li>For other plug-ins you will need to download them from <a href="http://www.vmware.com/products/datacenter-virtualization/vcenter-orchestrator/plugins.html" target="_blank">here</a> (or the resource link on the appliance main page), install and configure them through the vCO web configuration.</li> <li>The appliance is coming with a 90 days license. If you have a vCenter license you can enter the key or point to your vcenter to get unlimited usage granted.</li> <li>if you want to use an appliance for production use you will certainly need to set an external directory (openLDAP, Microsoft AD, Novell eDirectory or Sun java Directory) and database (PostgreSQL, Oracle or Microsoft SQL server).</li> </ul> <p>One great thing about the appliance is that the vCenter Orchestrator service restarts very quickly. On my setup it is done in close to 20 seconds whereas on a similar Windows setup it requires between 2 and 3 times more.</p> <p>The appliance configuration allows to change IP & timezone from the UI & to perform future appliance updates.</p> <h2></h2> <h2>vCenter Orchestrator Client</h2> <p>Apart from the convenience provided by the super easy configuration there is a feature I really like about this appliance: When you click on "Start Orchestrator Client" the browser will download a JNLP file which will be loaded by java webstart. The first time you will be promped for a certificate, then the client will start almost instantanously. The great thing is the client will start on any JAVA enabled platforms. I am running the client on MacOS 10 but it can run on Linux or Windows as well !</p> <p>Once prompted by the client you have to enter the hostname or the IP of the server you want to connect to and one of the default account set in openLDAP (user: vcoadmin, password / vcoadmin). There is no user interface driven option offered to change manage openLDAP users and their passwords. You can always do it in command line if you have experience with handling LDIF files. here is the client running on MacOS and for the first time available to VMware customers.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/macvco.png" alt="alt" width="572" height="437" /></p> <p> </p> <h2>Get it now !</h2> <ul> <li><a href="http://downloads.vmware.com/d/details/vco_va_420/dHRAYnRoamViZHAlZA" target="_blank">vCenter Orchestrator Virtual Appliance</a></li> <li><a href="https://www.vmware.com/support/orchestrator/doc/vco-appliance-release-notes.html" target="_blank">vCenter Orchestrator Virtual Appliance Release notes</a></li> <li><a href="http://pubs.vmware.com/vsphere-50/index.jsp?topic=/com.vmware.vsphere.vco_appliance.doc_42/GUID-8A5F8DF7-7EEF-443B-8E83-84609F2C0985.html" target="_blank">vCenter Orchestrator virtual Appliance User guide</a></li> </ul> <p> </p> <!-- <p> </p> <h2>Gotchas</h2> <p>If like me you are a long time vCO power user you may be interested to know the following. if you are new to vCO this will not concern you.</p> <p>While the appliance is a vCenter Orchestrator 4.2 it is not the exact same versions of the released Windows version. This version has got several updates for enhanced security. This has some consequences:</p> <ul> <li>Your installed vCenter Orchestrator 4.2 client cannot connect to the vCenter Appliance Server.</li> <li>Your web start vCenter Orchestrator client cannot connect to a Windows based 4.2 server.</li> </ul> <p><img src="http://www.vcoteam.info/images/phocagallery/incompatible_server_version.png" alt="alt" width="225" height="180" /></p> <ul> <li>If you wonder why the appliance is 1.2 GB it is partly because it holds installable versions of 32 & 64 bit clients for Windows, Linux and MacOS. Unfortunately since these clients are incompatible with your existing 4.1 & 4.2 servers the choice was made not to offer these for the moment. I have found a way to activate a hiden section below but this is not supported / at your own risk and I will not provide info on how to do it. <span style="text-decoration: underline;">Now that you are informed use the web start client, otherwise you may mess up your client installation.<br /></span></li> </ul> <p><img src="http://www.vcoteam.info/images/phocagallery/vcova_secretmenu.png" alt="alt" width="472" height="177" /></p> <ul> <li>HTML tags in the workflow presentation are not rendered.</li> <li> The link to a user interaction such as used in the "example interaction with email workflow" result on error 500. The work around is to link to the user interaction page. </li> </ul> <p>On MacOSX:</p> <ul> <li>The web start client does not set the default user preferences. This has for consequence for example to have workflow validation</li> <li>The workflow schema link system changed from straight lines to "corner" connectors. It does not affect workflow </li> </ul> --> <p><img src="http://www.vcoteam.info/images/vcova.png" alt="alt" /></p> <p>You have now no more excuses for not using vCenter Orchestrator: you can now have it up and running in a few minutes.</p> <p>With the vCenter Orchestrator Virtual Appliance the configuration is now reduced to the bare minimum (on the Windows version there is quite a lot of <a href="http://www.vcoteam.info/new-to-vcenter-orchestrator-vco/how-to-configure-vcenter-orchestrator-vco.html" target="_blank">configuration</a> to do and important pre-requisites including a directory service and database).</p> <p>This is ideal for loading a vCO dev / test environment (including a mobile lab on your laptop) either by importing the provided OVF in vCenter or in Workstation or Fusion (For fusion you will need to use  ovftool in command line).</p> <p>Here is my Fusion lab after importing the vCO 4.2 VA:</p> <p><img src="http://www.vcoteam.info/images/phocagallery/fusionlab.png" alt="alt" width="545" height="266" /></p> <p> </p> <p>Once you will have imported and started it you will be greated by a "To manage this appliance browse to [hostname]" message. Once you open this in your browser you have a new page with links to everything you need to operate the appliance and get to useful online resources.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/vcovaweb.png" alt="alt" width="744" height="524" /></p> <p> </p> <h2>Configuration</h2> <p>The first thing you should do is to go to Orchestrator Configuration.</p> <p>You will be prompted twice to set the Appliance configuration & root password and the access to the web configuration. You will also have the usual browsers certificate warnings. Apart from the orchestrated technologies the appliance is free from external dependencies with embedding OpenLDAP, postgreSQL and sendmail servers. You will see these configured.</p> <p>The appliance is coming with the same plug-ins as bundled with vCO 4.2 such as vCenter Server 5. There are a few things that still may require configuration:</p> <ul> <li>To make the vCenter 5 plug-in active a vCenter host needs to be configured. You can add either a vCenter 5 VA or a Windows based vCenter 5. </li> <li>For other plug-ins you will need to download them from <a href="http://www.vmware.com/products/datacenter-virtualization/vcenter-orchestrator/plugins.html" target="_blank">here</a> (or the resource link on the appliance main page), install and configure them through the vCO web configuration.</li> <li>The appliance is coming with a 90 days license. If you have a vCenter license you can enter the key or point to your vcenter to get unlimited usage granted.</li> <li>if you want to use an appliance for production use you will certainly need to set an external directory (openLDAP, Microsoft AD, Novell eDirectory or Sun java Directory) and database (PostgreSQL, Oracle or Microsoft SQL server).</li> </ul> <p>One great thing about the appliance is that the vCenter Orchestrator service restarts very quickly. On my setup it is done in close to 20 seconds whereas on a similar Windows setup it requires between 2 and 3 times more.</p> <p>The appliance configuration allows to change IP & timezone from the UI & to perform future appliance updates.</p> <h2></h2> <h2>vCenter Orchestrator Client</h2> <p>Apart from the convenience provided by the super easy configuration there is a feature I really like about this appliance: When you click on "Start Orchestrator Client" the browser will download a JNLP file which will be loaded by java webstart. The first time you will be promped for a certificate, then the client will start almost instantanously. The great thing is the client will start on any JAVA enabled platforms. I am running the client on MacOS 10 but it can run on Linux or Windows as well !</p> <p>Once prompted by the client you have to enter the hostname or the IP of the server you want to connect to and one of the default account set in openLDAP (user: vcoadmin, password / vcoadmin). There is no user interface driven option offered to change manage openLDAP users and their passwords. You can always do it in command line if you have experience with handling LDIF files. here is the client running on MacOS and for the first time available to VMware customers.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/macvco.png" alt="alt" width="572" height="437" /></p> <p> </p> <h2>Get it now !</h2> <ul> <li><a href="http://downloads.vmware.com/d/details/vco_va_420/dHRAYnRoamViZHAlZA" target="_blank">vCenter Orchestrator Virtual Appliance</a></li> <li><a href="https://www.vmware.com/support/orchestrator/doc/vco-appliance-release-notes.html" target="_blank">vCenter Orchestrator Virtual Appliance Release notes</a></li> <li><a href="http://pubs.vmware.com/vsphere-50/index.jsp?topic=/com.vmware.vsphere.vco_appliance.doc_42/GUID-8A5F8DF7-7EEF-443B-8E83-84609F2C0985.html" target="_blank">vCenter Orchestrator virtual Appliance User guide</a></li> </ul> <p> </p> <!-- <p> </p> <h2>Gotchas</h2> <p>If like me you are a long time vCO power user you may be interested to know the following. if you are new to vCO this will not concern you.</p> <p>While the appliance is a vCenter Orchestrator 4.2 it is not the exact same versions of the released Windows version. This version has got several updates for enhanced security. This has some consequences:</p> <ul> <li>Your installed vCenter Orchestrator 4.2 client cannot connect to the vCenter Appliance Server.</li> <li>Your web start vCenter Orchestrator client cannot connect to a Windows based 4.2 server.</li> </ul> <p><img src="http://www.vcoteam.info/images/phocagallery/incompatible_server_version.png" alt="alt" width="225" height="180" /></p> <ul> <li>If you wonder why the appliance is 1.2 GB it is partly because it holds installable versions of 32 & 64 bit clients for Windows, Linux and MacOS. Unfortunately since these clients are incompatible with your existing 4.1 & 4.2 servers the choice was made not to offer these for the moment. I have found a way to activate a hiden section below but this is not supported / at your own risk and I will not provide info on how to do it. <span style="text-decoration: underline;">Now that you are informed use the web start client, otherwise you may mess up your client installation.<br /></span></li> </ul> <p><img src="http://www.vcoteam.info/images/phocagallery/vcova_secretmenu.png" alt="alt" width="472" height="177" /></p> <ul> <li>HTML tags in the workflow presentation are not rendered.</li> <li> The link to a user interaction such as used in the "example interaction with email workflow" result on error 500. The work around is to link to the user interaction page. </li> </ul> <p>On MacOSX:</p> <ul> <li>The web start client does not set the default user preferences. This has for consequence for example to have workflow validation</li> <li>The workflow schema link system changed from straight lines to "corner" connectors. It does not affect workflow </li> </ul> --> VMware Labs released the vCenter Orchestrator CIM Plug-in 2011-10-18T13:06:06Z 2011-10-18T13:06:06Z http://www.vcoteam.info/newsflash/vmware-labs-released-the-vcenter-orchestrator-cim-plug-in.html Christophe Decanini webmaster@vcoteam.info <p><img src="http://www.vcoteam.info/images/phocagallery/cim.png" alt="alt" width="154" height="84" /></p> <p>&nbsp;</p> <p>Here is yet another vCenter Orchestrator (vCO) plug-in. This time to enable a set of discovery and monitoring features.</p> <p>Citing the CIM plug-in summary page:</p> <p><cite> </cite></p> <p>ESX includes a CIM Object Manager (CIMOM) that implements a set of server discovery and monitoring features. With the VMware CIM SMASH/Server Management API, clients that use industry-standard protocols can do the following:</p> <ul> <li> Enumerate system resources</li> <li>Monitor system health data</li> </ul> <p>The plugin is general enough to support other CIM compliant services and is not limited only to ESX. However the primary goal for developing the plugin was to expose ESX CIMOM in the vCenter Orchestrator. This affected the API design.</p> <p><strong>Features</strong></p> <p>Enables the following use-cases without being limited to them.</p> <ul> <li>Reporting Manufacturer, Model, and Serial Number</li> <li>Reporting the BIOS Version</li> <li>Monitoring State of All Sensors</li> <li>Monitoring State of All Sensors By Using Only the Implementation Namespace</li> <li>Reporting Fan Redundancy</li> <li>Reporting CPU Cores and Threads</li> <li>Reporting Memory Slots</li> </ul> <p>&nbsp;</p> <p>&nbsp;</p> <p>For more information and access to the download please visit the <a href="http://labs.vmware.com/flings/cim-plugin" target="_blank">CIM plug-in page</a> on VMware labs.</p> <p>&nbsp;</p> <p><a href="http://labs.vmware.com/flings/cim-plugin"><br /></a></p> <p><img src="http://www.vcoteam.info/images/phocagallery/cim.png" alt="alt" width="154" height="84" /></p> <p>&nbsp;</p> <p>Here is yet another vCenter Orchestrator (vCO) plug-in. This time to enable a set of discovery and monitoring features.</p> <p>Citing the CIM plug-in summary page:</p> <p><cite> </cite></p> <p>ESX includes a CIM Object Manager (CIMOM) that implements a set of server discovery and monitoring features. With the VMware CIM SMASH/Server Management API, clients that use industry-standard protocols can do the following:</p> <ul> <li> Enumerate system resources</li> <li>Monitor system health data</li> </ul> <p>The plugin is general enough to support other CIM compliant services and is not limited only to ESX. However the primary goal for developing the plugin was to expose ESX CIMOM in the vCenter Orchestrator. This affected the API design.</p> <p><strong>Features</strong></p> <p>Enables the following use-cases without being limited to them.</p> <ul> <li>Reporting Manufacturer, Model, and Serial Number</li> <li>Reporting the BIOS Version</li> <li>Monitoring State of All Sensors</li> <li>Monitoring State of All Sensors By Using Only the Implementation Namespace</li> <li>Reporting Fan Redundancy</li> <li>Reporting CPU Cores and Threads</li> <li>Reporting Memory Slots</li> </ul> <p>&nbsp;</p> <p>&nbsp;</p> <p>For more information and access to the download please visit the <a href="http://labs.vmware.com/flings/cim-plugin" target="_blank">CIM plug-in page</a> on VMware labs.</p> <p>&nbsp;</p> <p><a href="http://labs.vmware.com/flings/cim-plugin"><br /></a></p> Getting Started With Perspectives Webview 2011-10-05T05:00:00Z 2011-10-05T05:00:00Z http://www.vcoteam.info/learn-vco/getting-started-with-perspectives-webview.html Burke webmaster@vcoteam.info <h1>Getting started with Perspectives Webview</h1> <p><img src="http://www.vcoteam.info/images/phocagallery/tutorials/getting-started-with-perspectives/perspectives-webview-list.png" alt="vCO Web View List - Perspectives" width="280" /><br /> If you have been following VMware vCenter Orchestrator (vCO) for a while, it is likely that you have already seen the Perspectives webview in action. It has been used in one or more vCO demos as a web-based interface to launch a specific set of workflows. A web-based interface for launching workflows is a common requirement in organizations and likely a more secure method.</p> <p>What is Perspectives? How can you start using it? Learn more in our previous article: <a title="VMware Labs released the Perspectives Plugin" href="http://www.vcoteam.info/newsflash/vmware-labs-released-the-perspectives-plug-in.html">VMware Labs released the Perspectives Plug-in<br /></a></p> <p>Read on to learn how to install, configure, and use the Perspectives Web View!</p> <h2>Overview</h2> <p><img src="http://www.vcoteam.info/images/phocagallery/tutorials/getting-started-with-perspectives/perspectives-in-action-2010-vmworld.png" alt="Perspectives in action - VMworld 2010" width="500" /><br /> Perspectives provides a clean, consistent interface that may be used to present a limited number of workflows for execution. It is a plug-in that consists of:</p> <ul> <li>Database</li> <li>Webview</li> <li>Workflows</li> <li>Actions</li> </ul> <p>The database stores various details surrounding each of the Perspectives you have created, things like LDAP Group, which workflows the group has access to, etc... The Webview presents the appropriate workflows in the form of Task lists to members of the LDAP groups with access to those workflows. Actions provide scripting support to the workflows and webview.</p> <p>Now that you have a general idea of what Perspectives provides, it's time to get it installed and ready to use!</p> <h2>INSTALLATION</h2> <ul> <li>Download and Install the Perspectives Plugin<br /> Link:<a href="http://labs.vmware.com/flings/perspectives-plug-in-for-vcenter-orchestrator"> http://labs.vmware.com/flings/perspectives-plug-in-for-vcenter-orchestrator</a></li> </ul> <ul> <li> <ul> <li>Login to <a href="http://yourvCOserver:8282">http://yourvCOserver:8282</a> as vmware / vmware if you have not changed the default password</li> <li>Click on the <strong>Plug-in</strong> tab in the right pane</li> <li>Browse for and upload the Perspectives dar file, then click the <strong>Apply Changes</strong> button in the bottom-right corner of the right pane</li> </ul> </li> <li>Click on <strong>Perspectives</strong> in the left pane, then Configure Perspectives plugin database for &ldquo;Same as vCO&rdquo; and <strong>Apply Changes</strong>. (you may optionally create a separate database for perspectives if you wish.</li> <li>Restart the vCenter Orchestrator Server service to complete plugin installation</li> <li>Initialize the system by logging in as a vCO Admin to:<br /> http://yourVCOserver:8280/vmo/perspectives/default.html<br /><img src="http://www.vcoteam.info/images/phocagallery/tutorials/getting-started-with-perspectives/perspectives-login.png" alt="Perspectives Login" width="504" height="265" /><br /><br /></li> <li>Upon login, you'll be prompted to <em><strong>Create your first perspective</strong> - </em>click that link to get started<br /> <div class="notice"> <div class="typo-icon">Perspectives created through this web interface using the default workflows are valid for vCO Admins only. Even when specifying another group, that group will be unable to login to the webview using this method.</div> </div> <br /><img src="http://www.vcoteam.info/images/phocagallery/tutorials/getting-started-with-perspectives/perspectives-welcome-create-first.png" alt="Create Your First Perspective" width="500" /><br /><br /></li> <li>Give the perspective a name - Admin Workflows would be appropriate since non-vCO admins cannot be assigned permission via the default library workflows without modification.</li> <li>Choose your vCO Admin Group, and specify one or more Workflows. For this example, I'll specify the Enter maintenance mode, Exit maintenance mode, Suspend virtual machine and wait, and Start virtual machine and wait workflows<br /><img src="http://www.vcoteam.info/images/phocagallery/tutorials/getting-started-with-perspectives/first-perspective-form.png" alt="First Perspective Form" width="500" /><br /><br /></li> <li>Click Submit. The Web view will automatically restart, requiring you to log back in. <br /> <div class="doc"> <div class="typo-icon">Perspectives required that first initial run to get the database started and initial objects set.</div> </div> </li> <li>Upon login as a vCO Admin, you'll be presented with the All perspectives view:<br /><img src="http://www.vcoteam.info/images/phocagallery/tutorials/getting-started-with-perspectives/vcoadmin-all-perspectives.png" alt="vCO Admin All Perspectives View" width="500" /><br /> The all perspectives view presents you with a list of all the perspectives that have been created so far. Additionally, it provides a link to "Manage perspectives" at the bottom of the list and a "Manage" link in the top bar at the right of the screen.<br /> Reminder: Using these links within the interface to create new perspectives results in admin-only perspectives as the permissions are not properly assigned to other LDAP groups unless core workflows are modified. Instead, stay tuned for our upcoming artcile on <em>Creating Custom Perspectives</em>. <br /><br /></li> <li>Choose the Perspective you wish to use and click it to load the Perspectives Dashboard:<br /><img src="http://www.vcoteam.info/images/phocagallery/tutorials/getting-started-with-perspectives/admin-workflows-dashboard.png" alt="Admin Workflows Dashboard" width="500" /></li> </ul> <p>Each Perspective Dashboard is a two-paned view as shown above. The left pane lists the Tasks (Workflows) that are available for the user to execute. The right pane provides details on the selected task and options to:</p> <ul> <li>Start Task<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/getting-started-with-perspectives/start-task.png" alt="Start Task" width="500" /><br /> This screen provides you with a form to fill in the workflow inputs. Upon clicking the Submit button, the workflow is executed immediately.<br /> <br /> </li> <li>Schedule Task<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/getting-started-with-perspectives/schedule-task.png" alt="Schedule Task" width="500" /><br /> This screen provides you with a form with a variety of scheduling options. After clicking next, you are presented with the form to provide the workflow inputs (see Start Task above). Upon clicking submit, the workflow will be scheduled as specified. (see Scheduled runs below)<br /> <br /> </li> <li>Active Runs<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/getting-started-with-perspectives/task-selected.png" alt="Task Selected" width="500" /><br /> If the workflow is actively running, this screen will display details of that execution. <br /> <br /> </li> <li>Scheduled runs<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/getting-started-with-perspectives/scheduled-runs.png" alt="Scheduled Runs" width="500" /><br /> <br /> </li> <li>Completed runs<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/getting-started-with-perspectives/perspectives-completed-runs.png" alt="Completed Runs" width="500" /><br /> <br /> </li> <li>Events<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/getting-started-with-perspectives/events.png" alt="Events" width="500" /></li> </ul> <p>Your first perspective is now operational! Congratulations! If you wish to Edit, Remove, Clone, or Create additional Administrative Perspectives, read-on.</p> <h2 id="Createing Custom Perspectives">Perspectives Management</h2> <p>At the top right corner of the Perspectives page is a "Manage" link that takes you in to the Perspectives Management Dashboard.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/tutorials/getting-started-with-perspectives/perspectives-management.png" alt="Perspectives Management" width="500" /></p> <p>Each of the tasks shown above are similar to the tasks that were shown earlier; they are each workflows. These workflows create or modify perspectives. In our earlier example, you may want to go back in and remove a few workflows or add some additional ones to the <strong>Admin Workflows</strong> perspective. This management interface will allow you to do just that.</p> <p>This article has covered the installation and configuration of the Perspectives webview. In the next article on Perspectives, you'll learn how to create your own custom initialization workflow that will help you deliver a Perspectives based web interface to your clients for custom workflows that you are delivering to them. In the resulting Perspectives, you'll have an Admin interface used by client administrators to set general configuration settings around the solution and you'll have a User interface that allows the client end-users to launch your workflows!</p> <h1>Getting started with Perspectives Webview</h1> <p><img src="http://www.vcoteam.info/images/phocagallery/tutorials/getting-started-with-perspectives/perspectives-webview-list.png" alt="vCO Web View List - Perspectives" width="280" /><br /> If you have been following VMware vCenter Orchestrator (vCO) for a while, it is likely that you have already seen the Perspectives webview in action. It has been used in one or more vCO demos as a web-based interface to launch a specific set of workflows. A web-based interface for launching workflows is a common requirement in organizations and likely a more secure method.</p> <p>What is Perspectives? How can you start using it? Learn more in our previous article: <a title="VMware Labs released the Perspectives Plugin" href="http://www.vcoteam.info/newsflash/vmware-labs-released-the-perspectives-plug-in.html">VMware Labs released the Perspectives Plug-in<br /></a></p> <p>Read on to learn how to install, configure, and use the Perspectives Web View!</p> <h2>Overview</h2> <p><img src="http://www.vcoteam.info/images/phocagallery/tutorials/getting-started-with-perspectives/perspectives-in-action-2010-vmworld.png" alt="Perspectives in action - VMworld 2010" width="500" /><br /> Perspectives provides a clean, consistent interface that may be used to present a limited number of workflows for execution. It is a plug-in that consists of:</p> <ul> <li>Database</li> <li>Webview</li> <li>Workflows</li> <li>Actions</li> </ul> <p>The database stores various details surrounding each of the Perspectives you have created, things like LDAP Group, which workflows the group has access to, etc... The Webview presents the appropriate workflows in the form of Task lists to members of the LDAP groups with access to those workflows. Actions provide scripting support to the workflows and webview.</p> <p>Now that you have a general idea of what Perspectives provides, it's time to get it installed and ready to use!</p> <h2>INSTALLATION</h2> <ul> <li>Download and Install the Perspectives Plugin<br /> Link:<a href="http://labs.vmware.com/flings/perspectives-plug-in-for-vcenter-orchestrator"> http://labs.vmware.com/flings/perspectives-plug-in-for-vcenter-orchestrator</a></li> </ul> <ul> <li> <ul> <li>Login to <a href="http://yourvCOserver:8282">http://yourvCOserver:8282</a> as vmware / vmware if you have not changed the default password</li> <li>Click on the <strong>Plug-in</strong> tab in the right pane</li> <li>Browse for and upload the Perspectives dar file, then click the <strong>Apply Changes</strong> button in the bottom-right corner of the right pane</li> </ul> </li> <li>Click on <strong>Perspectives</strong> in the left pane, then Configure Perspectives plugin database for &ldquo;Same as vCO&rdquo; and <strong>Apply Changes</strong>. (you may optionally create a separate database for perspectives if you wish.</li> <li>Restart the vCenter Orchestrator Server service to complete plugin installation</li> <li>Initialize the system by logging in as a vCO Admin to:<br /> http://yourVCOserver:8280/vmo/perspectives/default.html<br /><img src="http://www.vcoteam.info/images/phocagallery/tutorials/getting-started-with-perspectives/perspectives-login.png" alt="Perspectives Login" width="504" height="265" /><br /><br /></li> <li>Upon login, you'll be prompted to <em><strong>Create your first perspective</strong> - </em>click that link to get started<br /> <div class="notice"> <div class="typo-icon">Perspectives created through this web interface using the default workflows are valid for vCO Admins only. Even when specifying another group, that group will be unable to login to the webview using this method.</div> </div> <br /><img src="http://www.vcoteam.info/images/phocagallery/tutorials/getting-started-with-perspectives/perspectives-welcome-create-first.png" alt="Create Your First Perspective" width="500" /><br /><br /></li> <li>Give the perspective a name - Admin Workflows would be appropriate since non-vCO admins cannot be assigned permission via the default library workflows without modification.</li> <li>Choose your vCO Admin Group, and specify one or more Workflows. For this example, I'll specify the Enter maintenance mode, Exit maintenance mode, Suspend virtual machine and wait, and Start virtual machine and wait workflows<br /><img src="http://www.vcoteam.info/images/phocagallery/tutorials/getting-started-with-perspectives/first-perspective-form.png" alt="First Perspective Form" width="500" /><br /><br /></li> <li>Click Submit. The Web view will automatically restart, requiring you to log back in. <br /> <div class="doc"> <div class="typo-icon">Perspectives required that first initial run to get the database started and initial objects set.</div> </div> </li> <li>Upon login as a vCO Admin, you'll be presented with the All perspectives view:<br /><img src="http://www.vcoteam.info/images/phocagallery/tutorials/getting-started-with-perspectives/vcoadmin-all-perspectives.png" alt="vCO Admin All Perspectives View" width="500" /><br /> The all perspectives view presents you with a list of all the perspectives that have been created so far. Additionally, it provides a link to "Manage perspectives" at the bottom of the list and a "Manage" link in the top bar at the right of the screen.<br /> Reminder: Using these links within the interface to create new perspectives results in admin-only perspectives as the permissions are not properly assigned to other LDAP groups unless core workflows are modified. Instead, stay tuned for our upcoming artcile on <em>Creating Custom Perspectives</em>. <br /><br /></li> <li>Choose the Perspective you wish to use and click it to load the Perspectives Dashboard:<br /><img src="http://www.vcoteam.info/images/phocagallery/tutorials/getting-started-with-perspectives/admin-workflows-dashboard.png" alt="Admin Workflows Dashboard" width="500" /></li> </ul> <p>Each Perspective Dashboard is a two-paned view as shown above. The left pane lists the Tasks (Workflows) that are available for the user to execute. The right pane provides details on the selected task and options to:</p> <ul> <li>Start Task<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/getting-started-with-perspectives/start-task.png" alt="Start Task" width="500" /><br /> This screen provides you with a form to fill in the workflow inputs. Upon clicking the Submit button, the workflow is executed immediately.<br /> <br /> </li> <li>Schedule Task<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/getting-started-with-perspectives/schedule-task.png" alt="Schedule Task" width="500" /><br /> This screen provides you with a form with a variety of scheduling options. After clicking next, you are presented with the form to provide the workflow inputs (see Start Task above). Upon clicking submit, the workflow will be scheduled as specified. (see Scheduled runs below)<br /> <br /> </li> <li>Active Runs<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/getting-started-with-perspectives/task-selected.png" alt="Task Selected" width="500" /><br /> If the workflow is actively running, this screen will display details of that execution. <br /> <br /> </li> <li>Scheduled runs<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/getting-started-with-perspectives/scheduled-runs.png" alt="Scheduled Runs" width="500" /><br /> <br /> </li> <li>Completed runs<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/getting-started-with-perspectives/perspectives-completed-runs.png" alt="Completed Runs" width="500" /><br /> <br /> </li> <li>Events<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/getting-started-with-perspectives/events.png" alt="Events" width="500" /></li> </ul> <p>Your first perspective is now operational! Congratulations! If you wish to Edit, Remove, Clone, or Create additional Administrative Perspectives, read-on.</p> <h2 id="Createing Custom Perspectives">Perspectives Management</h2> <p>At the top right corner of the Perspectives page is a "Manage" link that takes you in to the Perspectives Management Dashboard.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/tutorials/getting-started-with-perspectives/perspectives-management.png" alt="Perspectives Management" width="500" /></p> <p>Each of the tasks shown above are similar to the tasks that were shown earlier; they are each workflows. These workflows create or modify perspectives. In our earlier example, you may want to go back in and remove a few workflows or add some additional ones to the <strong>Admin Workflows</strong> perspective. This management interface will allow you to do just that.</p> <p>This article has covered the installation and configuration of the Perspectives webview. In the next article on Perspectives, you'll learn how to create your own custom initialization workflow that will help you deliver a Perspectives based web interface to your clients for custom workflows that you are delivering to them. In the resulting Perspectives, you'll have an Admin interface used by client administrators to set general configuration settings around the solution and you'll have a User interface that allows the client end-users to launch your workflows!</p> VMware Labs released the Perspectives Plug-in 2011-10-04T09:18:54Z 2011-10-04T09:18:54Z http://www.vcoteam.info/newsflash/vmware-labs-released-the-perspectives-plug-in.html Christophe Decanini webmaster@vcoteam.info <p><img src="http://www.vcoteam.info/images/phocagallery/perspectives.png" alt="alt" /></p> <p>&nbsp;</p> <p>You may wonder what "Perspectives" application this may be orchestrating. In fact this plug-in offers a simple way for the VI administrator to give the vCO users access to specific workflows through a web interface.</p> <p>Citing the official documentation:</p> <div class="doc"> <div class="typo-icon">"Perspectives is an Orchestrator Web view that allows a limited group of users to run or schedule certain tasks through a Web browser, without logging in to the Orchestrator client. vCenter administrators can use<br />Perspectives to create subsets of the standard Orchestrator workflow library and define the LDAP groups of users who can access each of these subsets. A user perspective is the set of workflows that an LDAP user group can run. The members of the vCO Admin group can run all tasks in all user perspectives and can perform tasks that are related to the Perspectives Web view management."</div> </div> <p>Basically the VI Administrator can create a separate perspective with workflows for each LDAP group of users and this way he can give a web access to these workflows to the users in this group. Perpectives allows these users to run these workflows, schedule them, check active, scheduled. completed wokflow runs and events.</p> <p>&nbsp;</p> <p>Here is an example of my vCloud Director vApp Backup Admin perspective that allows me to define a Backup Virtual Data Center for all backups started by the backup operator.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/perpectives_backup_admin.png" alt="alt" width="600" /></p> <p>&nbsp;</p> <p>Here is the vCloud Director vApp Backup Operator perspective that allows the backup operator to backup and restore vApps on demand or on schedule and to check active, scheduled. completed wokflow runs and events.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/perspectives_backup_op.png" alt="alt" width="600" /></p> <p>&nbsp;</p> <p>Running the backup manualy.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/perpectives_operator.png" alt="alt" width="600" /></p> <p>&nbsp;</p> <p>And scheduling the vApp Backup</p> <p><img src="http://www.vcoteam.info/images/phocagallery/perpectives_schedule.png" alt="alt" width="600" /></p> <p>&nbsp;</p> <p>OK, so we now have a great way to make available workflows to end users using Perspectives. Now do not forget this is a fling and does not come with GSS support. You can certainly test this out with small groups of users in your company but do not intend to use it for a public cloud ... You may wonder why such great functionality is not built in. In fact Perspectives was released previously with a vCO build for the Lifecycle Manager product but it was not advertised, not understood and not leveraged by end users. Without communicating internal information a fling is a way for VMware to release an attempt of implementing a functionality that could not make it in the main release (or could not stay in this case) for various reasons such as not meeting all the quality and system tests requirements. See this as an early preview as what may come next.</p> <p>For further information, documentation and plug-in download please visit the <a href="http://labs.vmware.com/flings/perspectives-plug-in-for-vcenter-orchestrator" target="_blank">VMware labs Perspectives fling page</a>.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/perspectives.png" alt="alt" /></p> <p>&nbsp;</p> <p>You may wonder what "Perspectives" application this may be orchestrating. In fact this plug-in offers a simple way for the VI administrator to give the vCO users access to specific workflows through a web interface.</p> <p>Citing the official documentation:</p> <div class="doc"> <div class="typo-icon">"Perspectives is an Orchestrator Web view that allows a limited group of users to run or schedule certain tasks through a Web browser, without logging in to the Orchestrator client. vCenter administrators can use<br />Perspectives to create subsets of the standard Orchestrator workflow library and define the LDAP groups of users who can access each of these subsets. A user perspective is the set of workflows that an LDAP user group can run. The members of the vCO Admin group can run all tasks in all user perspectives and can perform tasks that are related to the Perspectives Web view management."</div> </div> <p>Basically the VI Administrator can create a separate perspective with workflows for each LDAP group of users and this way he can give a web access to these workflows to the users in this group. Perpectives allows these users to run these workflows, schedule them, check active, scheduled. completed wokflow runs and events.</p> <p>&nbsp;</p> <p>Here is an example of my vCloud Director vApp Backup Admin perspective that allows me to define a Backup Virtual Data Center for all backups started by the backup operator.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/perpectives_backup_admin.png" alt="alt" width="600" /></p> <p>&nbsp;</p> <p>Here is the vCloud Director vApp Backup Operator perspective that allows the backup operator to backup and restore vApps on demand or on schedule and to check active, scheduled. completed wokflow runs and events.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/perspectives_backup_op.png" alt="alt" width="600" /></p> <p>&nbsp;</p> <p>Running the backup manualy.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/perpectives_operator.png" alt="alt" width="600" /></p> <p>&nbsp;</p> <p>And scheduling the vApp Backup</p> <p><img src="http://www.vcoteam.info/images/phocagallery/perpectives_schedule.png" alt="alt" width="600" /></p> <p>&nbsp;</p> <p>OK, so we now have a great way to make available workflows to end users using Perspectives. Now do not forget this is a fling and does not come with GSS support. You can certainly test this out with small groups of users in your company but do not intend to use it for a public cloud ... You may wonder why such great functionality is not built in. In fact Perspectives was released previously with a vCO build for the Lifecycle Manager product but it was not advertised, not understood and not leveraged by end users. Without communicating internal information a fling is a way for VMware to release an attempt of implementing a functionality that could not make it in the main release (or could not stay in this case) for various reasons such as not meeting all the quality and system tests requirements. See this as an early preview as what may come next.</p> <p>For further information, documentation and plug-in download please visit the <a href="http://labs.vmware.com/flings/perspectives-plug-in-for-vcenter-orchestrator" target="_blank">VMware labs Perspectives fling page</a>.</p> Code snippets : Change the name of a workflow run 2011-10-04T08:39:00Z 2011-10-04T08:39:00Z http://www.vcoteam.info/learn-vco/code-snippets-change-the-name-of-a-workflow-run.html Christophe Decanini webmaster@vcoteam.info <p>In some use cases you may want to customize the name of the workflow run/execution to suit your needs. For example it may be more practical to browse the workflow runs with having the name of the object the operation ran on such as "Deploy vApp tcWebServer" instead of the default "Deploy vApp". It can also be usefull if you use the workflow run as a way to identify a particular one from an external application having an ID for it. You can always add this ID as an input variable and search matching IDs in all the workflow runs but it makes it a bt more complicated. The issue with this is that the workflow run uses the name of his parent workflow by design. Some of my colleagues found ways to <a href="http://communities.vmware.com/message/1676263?tstart=0">hack into the vCO database</a> but there is a simpler solution.</p> <div class="attention"> <div class="typo-icon"></div> <div class="typo-icon">Warning: The following is not documented, not supported and may not work in future vCO versions.</div> </div> <p> </p> <p>Edit the workflow you want to have custom workflow run name. Add a __tokenName input</p> <p><img src="http://www.vcoteam.info/images/phocagallery/__tokenname_input.png" alt="alt" /></p> <p> </p> <p>Now in the presentation add a "Show parameter input" set to false to this will not show up when starting a workflow and a "Default value" with custom title (Here the original name of the workflow + name of the main input parameter and the user name.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/__tokenname_presentation.png" alt="alt" /></p> <p> </p> <p>Save & close, test your workflow. Voila !</p> <p><img src="http://www.vcoteam.info/images/phocagallery/__tokenname_workflow_run.png" alt="alt" /></p> <p>In some use cases you may want to customize the name of the workflow run/execution to suit your needs. For example it may be more practical to browse the workflow runs with having the name of the object the operation ran on such as "Deploy vApp tcWebServer" instead of the default "Deploy vApp". It can also be usefull if you use the workflow run as a way to identify a particular one from an external application having an ID for it. You can always add this ID as an input variable and search matching IDs in all the workflow runs but it makes it a bt more complicated. The issue with this is that the workflow run uses the name of his parent workflow by design. Some of my colleagues found ways to <a href="http://communities.vmware.com/message/1676263?tstart=0">hack into the vCO database</a> but there is a simpler solution.</p> <div class="attention"> <div class="typo-icon"></div> <div class="typo-icon">Warning: The following is not documented, not supported and may not work in future vCO versions.</div> </div> <p> </p> <p>Edit the workflow you want to have custom workflow run name. Add a __tokenName input</p> <p><img src="http://www.vcoteam.info/images/phocagallery/__tokenname_input.png" alt="alt" /></p> <p> </p> <p>Now in the presentation add a "Show parameter input" set to false to this will not show up when starting a workflow and a "Default value" with custom title (Here the original name of the workflow + name of the main input parameter and the user name.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/__tokenname_presentation.png" alt="alt" /></p> <p> </p> <p>Save & close, test your workflow. Voila !</p> <p><img src="http://www.vcoteam.info/images/phocagallery/__tokenname_workflow_run.png" alt="alt" /></p> No Code Required For Functional Workflows 2011-10-03T18:31:21Z 2011-10-03T18:31:21Z http://www.vcoteam.info/newsflash/no-code-required-for-functional-workflows.html Burke Azbill webmaster@vcoteam.info <p><img src="http://www.vcoteam.info/images/phocagallery/tutorials/nocode-thumb.png" alt="nocode-thumb" width="104" height="90" /></p> <p>If you think you have to be a development guru that knows programming languages in order to create functional workflows with vCenter Orchestrator (vCO) then think again! With hundreds of worfklows and actions to use as building blocks with a vanilla install of vCO, you can be on your way to creating workflows in no time. While it is true that JavaScript is used for the scriptable tasks within Orchestrator, you don't actually have to write any code for some simple, but functional, workflows.</p> <p>Our colleague, Bill Call, has put together just such a workflow. He has been kind enough to write it up in the format of a tutorial over at the <a title="No Code Workflow Reconnects ESXi Hosts" href="http://blogs.vmware.com/orchestrator/2011/10/no-code-workflow-reconnects-esxi-hosts.html" target="_blank">VMware Blogs</a> so be sure to check it out!</p> <p><img src="http://www.vcoteam.info/images/phocagallery/tutorials/nocode-thumb.png" alt="nocode-thumb" width="104" height="90" /></p> <p>If you think you have to be a development guru that knows programming languages in order to create functional workflows with vCenter Orchestrator (vCO) then think again! With hundreds of worfklows and actions to use as building blocks with a vanilla install of vCO, you can be on your way to creating workflows in no time. While it is true that JavaScript is used for the scriptable tasks within Orchestrator, you don't actually have to write any code for some simple, but functional, workflows.</p> <p>Our colleague, Bill Call, has put together just such a workflow. He has been kind enough to write it up in the format of a tutorial over at the <a title="No Code Workflow Reconnects ESXi Hosts" href="http://blogs.vmware.com/orchestrator/2011/10/no-code-workflow-reconnects-esxi-hosts.html" target="_blank">VMware Blogs</a> so be sure to check it out!</p> How to provide vCenter Orchestrator customized workflows to your customers ? 2011-09-27T07:34:44Z 2011-09-27T07:34:44Z http://www.vcoteam.info/learn-vco/how-to-provide-vcenter-orchestrator-customized-workflows-to-your-customers.html Christophe Decanini webmaster@vcoteam.info <p><img src="http://www.vcoteam.info/images/phocagallery/vco_lifecycle.png" alt="alt" width="180" height="184" /></p> <p>Providing customized workflows to an internal or an external customer is a process following a typical software development lifecycle with specific orchestration requirements and best practices for setting up the environments and managing the content lifecycle.</p> <h2>1.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Workflow Development life cycle</h2> <p>This section summarizes briefly the different steps to observe to deliver custom workflows (or any custom application).</p> <h3>1.1.1&nbsp;&nbsp;&nbsp;&nbsp; Requirement gathering</h3> <p>Gathering requirement consists of interviewing the customer on project characteristics such as planning, budget, scope, prioritization and constraints but also particular specific technical requirements such as:</p> <ul> <li>The operations to be automated (must be defined, documented, reliable, repeatable)</li> <li>The system environment, the external system to be integrated, their interfaces </li> <li>The data flows</li> <li>The users and roles</li> </ul> <h3>1.1.2&nbsp;&nbsp;&nbsp;&nbsp; Functional specifications and Effort estimate</h3> <p>Functional specifications and level of effort consists of a restatement of the requirements with a matching high-level workflows based implementation and an effort estimate for each resulting task. The tasks may be broken down into different milestones to adjust to the aforementioned project characteristics. This should be documented and signed off by the customer. In the case of an external customer effort will be translated to cost and be included with the functional specifications in a Statement of Work.</p> <h3>1.1.3&nbsp;&nbsp;&nbsp;&nbsp; Design</h3> <p>Upon agreement between the customer and the delivery team the solution is designed following the high level implementation defined in the functional specification. This consists of architecting how the different elements of the solution work together with the external systems, the use of existing components such as plug-ins and workflows, and the development of custom ones.</p> <h3>1.1.4&nbsp;&nbsp;&nbsp;&nbsp; Development</h3> <p>The development consists of breaking down the different development tasks and assigning them to available development resources that will create the elements of the solution.</p> <h3>1.1.5&nbsp;&nbsp;&nbsp;&nbsp; Test</h3> <p>The test consists of checking that the solution is reliable and conforms to the functional specifications. Testing requires setting up an environment that simulates the target environment.</p> <h3>1.1.6&nbsp;&nbsp;&nbsp;&nbsp; Implementation</h3> <p>The solution implementation consists of installing and configuring the solution in a pre-production and / or production environment and demonstrating that it works as expected.</p> <h3>1.1.7&nbsp;&nbsp;&nbsp;&nbsp; Support</h3> <p>The solution support consists of handling support requests, checking that the solution conforms to the specification, and if not troubleshooting and providing bug fixes to the customer.</p> <h2></h2> <h2>1.2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Orchestration Content life cycle</h2> <p>The orchestration content life cycle is the process of staging the elements of the solution from development to test, test to pre-production and pre-production to production.</p> <p>&nbsp;</p> <p style="text-align: center;"><img src="http://www.vcoteam.info/images/phocagallery/orchestration_content_lifecycle.png" alt="alt" /></p> <p style="text-align: center;"><em>&nbsp;Figure 1. Orchestration Content Life Cycle</em></p> <p>&nbsp;</p> <p>Packages are used for exporting content from one Orchestrator server and importing them to another server. Packages can contain workflows, policies, actions, web views, configurations, and resources. Packages and/or their individual elements can also be synchronized directly from one server to another one as long as they are interconnected.</p> <p>At creation time, Packages manage dependencies between package elements by adding automatically the missing elements. During a package import the server analyzes and displays differences giving control to the admin on which element to import or not. Packages use X509 certificates to monitor which users export and redistribute elements.</p> <p>After meeting the required quality criteria for a release the package should be exported and stored either on a backed up file system or on a repository vCenter Orchestrator server (a server used specifically for storing packages). At export time to the file system there are options to:</p> <ul> <li>Encrypt the package.</li> <li>Set Digital Rights management (prevent customer who imported the package from seeing the JavaScript code, modify or re-package elements).</li> <li>Not export the elements version history.</li> </ul> <p>It is also possible to use the synchronization feature to synchronize the packages from one vCenter Orchestrator server to another one.</p> <p>vCenter Orchestrator configuration elements should be used for all the attributes that have dependencies on the environment. This allows moving the orchestration content from an orchestration server to another one without having to edit the workflows to modify the attribute values. It is recommended to provide configuration workflows with the solution to set these once and to update the configuration attribute values when needed.</p> <h2>1.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Orchestrated Cloud Environments</h2> <p>There are specific environments for some of the solution development life cycle. Here the orchestrated environment are clouds but these could be virtual iinfrastructure as well.</p> <p>&nbsp;</p> <p style="text-align: center;"><img src="http://www.vcoteam.info/images/phocagallery/orchestrated_cloud_environments.png" alt="alt" /></p> <p style="text-align: center;"><em>Figure 2. Orchestrated Cloud Environments</em></p> <p>&nbsp;</p> <h3>1.3.1&nbsp;&nbsp;&nbsp;&nbsp; Developer environment</h3> <p>The recommended development environment is as follows:</p> <ul> <li> One development server per developer. It is not recommended to share a single development server between different developers for the following reasons: <ul> <li>The server may have to be restarted to install or upgrade plug-ins under development thus creating downtime.</li> <li> The server may have to be configured for a particular environment for a given developer.</li> <li> Changing the same element (For example: editing a workflow) at the same time is not supported. </li> </ul> </li> </ul> <ul> <li>It is recommended to use the developer workstation as the vCO development server: <ul> <li>Integration within the development tool chain (For example the plug-in development environment).</li> <li> The vCenter Orchestrator client used to develop the workflows relies on its connection to the server. If there is a network disconnection the changes done since the last save are lost. </li> </ul> </li> </ul> <ul> <li>For unit testing purposes the developer server should be configured in a cloud development environment plus additional integrations when required. This can either be a simple small environment per developer or shared amongst developers. Ideally this environment should be local but can be remote. For example a vCenter orchestrator Client and server can be installed on a laptop and used to connect over the Wide Area Network to vCloud Director. </li> </ul> <ul> <li>The vCenter Orchestrator client is not optimized for connecting over the Wide Area Network to a vCenter Orchestrator server and not working through a firewall. If remote access is required to a vCenter Orchestrator server than remote desktop should be used to start a vCenter orchestrator client install on the same server as the vCenter Orchestrator server. </li> </ul> <h3>1.3.2&nbsp;&nbsp;&nbsp;&nbsp; Test Environment</h3> <p>There should be at least a vCenter Orchestrator server dedicated for testing:</p> <ul> <li>This server is mainly use for testing the solution and report bugs back to the development team. </li> <li>This should be a newly installed vCenter Orchestrator server with the same specifications as the target production vCenter Orchestrator server. This can be deployed from a template, reverted to snapshot when decommissioning an existing test environment or by creating a new vCenter Orchestrator Database.</li> <li>The cloud environment should be different than the developer environment and as close as possible in configuration to the production environment.</li> </ul> <h3>1.3.3&nbsp;&nbsp;&nbsp;&nbsp; Pre-production environment</h3> <p>For validating the solution with the customer there should be a vCenter Orchestrator test server in a pre-production environment (connected to the production environment but not orchestrating business critical items or orchestrating copies of these). This server will be used for final validation testing and demonstration to the customer.</p> <h3>1.3.4&nbsp;&nbsp;&nbsp;&nbsp; Production Environment</h3> <p>If the end customer is a cloud provider and the orchestration solution applies to multiple organizations workflows should be used as a cloud back-end extension with respecting the organization multi-tenancy.</p> <p>If the end customer is an organization tenant and the orchestration solution is to automate and integrate with his specific environment than a vCenter Orchestrator should be deployed within his organization and connected to an external network having access to the vCloud Director API.</p> <h3>1.3.5&nbsp;&nbsp;&nbsp;&nbsp; Support Environment</h3> <p>In order to provide support in a timely manner it is necessary to stand up the customer environment quickly. While this could be rebuilt from the customer delivered packages and plug-ins archives, keeping a copy of the customer environment as a vApp allows resuming the specific environment quickly.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/vco_lifecycle.png" alt="alt" width="180" height="184" /></p> <p>Providing customized workflows to an internal or an external customer is a process following a typical software development lifecycle with specific orchestration requirements and best practices for setting up the environments and managing the content lifecycle.</p> <h2>1.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Workflow Development life cycle</h2> <p>This section summarizes briefly the different steps to observe to deliver custom workflows (or any custom application).</p> <h3>1.1.1&nbsp;&nbsp;&nbsp;&nbsp; Requirement gathering</h3> <p>Gathering requirement consists of interviewing the customer on project characteristics such as planning, budget, scope, prioritization and constraints but also particular specific technical requirements such as:</p> <ul> <li>The operations to be automated (must be defined, documented, reliable, repeatable)</li> <li>The system environment, the external system to be integrated, their interfaces </li> <li>The data flows</li> <li>The users and roles</li> </ul> <h3>1.1.2&nbsp;&nbsp;&nbsp;&nbsp; Functional specifications and Effort estimate</h3> <p>Functional specifications and level of effort consists of a restatement of the requirements with a matching high-level workflows based implementation and an effort estimate for each resulting task. The tasks may be broken down into different milestones to adjust to the aforementioned project characteristics. This should be documented and signed off by the customer. In the case of an external customer effort will be translated to cost and be included with the functional specifications in a Statement of Work.</p> <h3>1.1.3&nbsp;&nbsp;&nbsp;&nbsp; Design</h3> <p>Upon agreement between the customer and the delivery team the solution is designed following the high level implementation defined in the functional specification. This consists of architecting how the different elements of the solution work together with the external systems, the use of existing components such as plug-ins and workflows, and the development of custom ones.</p> <h3>1.1.4&nbsp;&nbsp;&nbsp;&nbsp; Development</h3> <p>The development consists of breaking down the different development tasks and assigning them to available development resources that will create the elements of the solution.</p> <h3>1.1.5&nbsp;&nbsp;&nbsp;&nbsp; Test</h3> <p>The test consists of checking that the solution is reliable and conforms to the functional specifications. Testing requires setting up an environment that simulates the target environment.</p> <h3>1.1.6&nbsp;&nbsp;&nbsp;&nbsp; Implementation</h3> <p>The solution implementation consists of installing and configuring the solution in a pre-production and / or production environment and demonstrating that it works as expected.</p> <h3>1.1.7&nbsp;&nbsp;&nbsp;&nbsp; Support</h3> <p>The solution support consists of handling support requests, checking that the solution conforms to the specification, and if not troubleshooting and providing bug fixes to the customer.</p> <h2></h2> <h2>1.2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Orchestration Content life cycle</h2> <p>The orchestration content life cycle is the process of staging the elements of the solution from development to test, test to pre-production and pre-production to production.</p> <p>&nbsp;</p> <p style="text-align: center;"><img src="http://www.vcoteam.info/images/phocagallery/orchestration_content_lifecycle.png" alt="alt" /></p> <p style="text-align: center;"><em>&nbsp;Figure 1. Orchestration Content Life Cycle</em></p> <p>&nbsp;</p> <p>Packages are used for exporting content from one Orchestrator server and importing them to another server. Packages can contain workflows, policies, actions, web views, configurations, and resources. Packages and/or their individual elements can also be synchronized directly from one server to another one as long as they are interconnected.</p> <p>At creation time, Packages manage dependencies between package elements by adding automatically the missing elements. During a package import the server analyzes and displays differences giving control to the admin on which element to import or not. Packages use X509 certificates to monitor which users export and redistribute elements.</p> <p>After meeting the required quality criteria for a release the package should be exported and stored either on a backed up file system or on a repository vCenter Orchestrator server (a server used specifically for storing packages). At export time to the file system there are options to:</p> <ul> <li>Encrypt the package.</li> <li>Set Digital Rights management (prevent customer who imported the package from seeing the JavaScript code, modify or re-package elements).</li> <li>Not export the elements version history.</li> </ul> <p>It is also possible to use the synchronization feature to synchronize the packages from one vCenter Orchestrator server to another one.</p> <p>vCenter Orchestrator configuration elements should be used for all the attributes that have dependencies on the environment. This allows moving the orchestration content from an orchestration server to another one without having to edit the workflows to modify the attribute values. It is recommended to provide configuration workflows with the solution to set these once and to update the configuration attribute values when needed.</p> <h2>1.3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Orchestrated Cloud Environments</h2> <p>There are specific environments for some of the solution development life cycle. Here the orchestrated environment are clouds but these could be virtual iinfrastructure as well.</p> <p>&nbsp;</p> <p style="text-align: center;"><img src="http://www.vcoteam.info/images/phocagallery/orchestrated_cloud_environments.png" alt="alt" /></p> <p style="text-align: center;"><em>Figure 2. Orchestrated Cloud Environments</em></p> <p>&nbsp;</p> <h3>1.3.1&nbsp;&nbsp;&nbsp;&nbsp; Developer environment</h3> <p>The recommended development environment is as follows:</p> <ul> <li> One development server per developer. It is not recommended to share a single development server between different developers for the following reasons: <ul> <li>The server may have to be restarted to install or upgrade plug-ins under development thus creating downtime.</li> <li> The server may have to be configured for a particular environment for a given developer.</li> <li> Changing the same element (For example: editing a workflow) at the same time is not supported. </li> </ul> </li> </ul> <ul> <li>It is recommended to use the developer workstation as the vCO development server: <ul> <li>Integration within the development tool chain (For example the plug-in development environment).</li> <li> The vCenter Orchestrator client used to develop the workflows relies on its connection to the server. If there is a network disconnection the changes done since the last save are lost. </li> </ul> </li> </ul> <ul> <li>For unit testing purposes the developer server should be configured in a cloud development environment plus additional integrations when required. This can either be a simple small environment per developer or shared amongst developers. Ideally this environment should be local but can be remote. For example a vCenter orchestrator Client and server can be installed on a laptop and used to connect over the Wide Area Network to vCloud Director. </li> </ul> <ul> <li>The vCenter Orchestrator client is not optimized for connecting over the Wide Area Network to a vCenter Orchestrator server and not working through a firewall. If remote access is required to a vCenter Orchestrator server than remote desktop should be used to start a vCenter orchestrator client install on the same server as the vCenter Orchestrator server. </li> </ul> <h3>1.3.2&nbsp;&nbsp;&nbsp;&nbsp; Test Environment</h3> <p>There should be at least a vCenter Orchestrator server dedicated for testing:</p> <ul> <li>This server is mainly use for testing the solution and report bugs back to the development team. </li> <li>This should be a newly installed vCenter Orchestrator server with the same specifications as the target production vCenter Orchestrator server. This can be deployed from a template, reverted to snapshot when decommissioning an existing test environment or by creating a new vCenter Orchestrator Database.</li> <li>The cloud environment should be different than the developer environment and as close as possible in configuration to the production environment.</li> </ul> <h3>1.3.3&nbsp;&nbsp;&nbsp;&nbsp; Pre-production environment</h3> <p>For validating the solution with the customer there should be a vCenter Orchestrator test server in a pre-production environment (connected to the production environment but not orchestrating business critical items or orchestrating copies of these). This server will be used for final validation testing and demonstration to the customer.</p> <h3>1.3.4&nbsp;&nbsp;&nbsp;&nbsp; Production Environment</h3> <p>If the end customer is a cloud provider and the orchestration solution applies to multiple organizations workflows should be used as a cloud back-end extension with respecting the organization multi-tenancy.</p> <p>If the end customer is an organization tenant and the orchestration solution is to automate and integrate with his specific environment than a vCenter Orchestrator should be deployed within his organization and connected to an external network having access to the vCloud Director API.</p> <h3>1.3.5&nbsp;&nbsp;&nbsp;&nbsp; Support Environment</h3> <p>In order to provide support in a timely manner it is necessary to stand up the customer environment quickly. While this could be rebuilt from the customer delivered packages and plug-ins archives, keeping a copy of the customer environment as a vApp allows resuming the specific environment quickly.</p> Monitoring the vCenter Orchestrator Java Virtual Machine 2011-09-19T10:00:36Z 2011-09-19T10:00:36Z http://www.vcoteam.info/learn-vco/monitoring-the-vcenter-orchestrator-java-virtual-machine.html Christophe Decanini webmaster@vcoteam.info <p><img src="http://www.vcoteam.info/images/phocagallery/java_monitoring.png" mce_src="http://www.vcoteam.info/images/phocagallery/java_monitoring.png" alt="alt" height="130" width="130" /><br /></p><p>Ever wondered how your vCenter Orchestrator is doing on memory usage ? vCenter Orchestrator Java Virtual Machine allocates a default of 2 GB Heap space. </p><p>It will consume more heap space as processes are running and will ultimately call the garbage collector to keep in memory only the used items.<br /></p><p><span style="font-family: Calibri,Verdana,Helvetica,Arial;" mce_style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;" mce_style="font-size: 11pt;"></span></span>If you are running a lot of workflows on your server or if you are experimenting custom workflows and plug-ins you may want to know how much of this memory is consumed. The easiest way is to download this <a target="_blank" mce_href="http://communities.vmware.com/docs/DOC-17109" href="http://communities.vmware.com/docs/DOC-17109">utility</a>.<br /></p><p>You can copy it in <span style="font-family: Calibri,Verdana,Helvetica,Arial;" mce_style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;" mce_style="font-size: 11pt;">$INSTALL_DIR/app-server/server/vmo/deploy/ then restart your server and check the server.log file. Every ten seconds the memory usage will be written in the log as follow: <br /></span></span></p><p><code>2011-09-19 11:59:22.149+0200 INFO  [Server] JBoss (MX MicroKernel) [4.2.2.GA (build: SVNTag=JBoss_4_2_2_GA date=200710221139)] Started in 28s:819ms<br />2011-09-19 11:59:22.233+0200 INFO  [STDOUT] ============================ VMO server ready ==============================<br />2011-09-19 11:59:32.010+0200 INFO  [MEMORY_DUMP] 281.561 MB / 1.926 GB<br />2011-09-19 11:59:42.010+0200 INFO  [MEMORY_DUMP] 282.606 MB / 1.926 GB </code></p><p><br /></p><p>If you want to follow this real time instead of checking the logs after the facts you can <a target="_blank" mce_href="http://visualvm.java.net/" href="http://visualvm.java.net/">download</a> VisualVM, install it on your vCO server and run it to monitor the ch.dunes.jboss.Main. Below is a capture of vCO running hundreds or workflows in parallel. <br /></p><p><img src="http://www.vcoteam.info/images/phocagallery/vco_running_hundreds_of_workflows.png" mce_src="http://www.vcoteam.info/images/phocagallery/vco_running_hundreds_of_workflows.png" alt="alt" /><br /></p><p><br /></p><p>Now if you are getting serious about this because you need to include vCenter Orchestrator in your enterprise monitoring solution you should use the Java Management Extensions (JMX). To enable JMX for a vCenter Orchestrator server started as a service:</p> <ul> <li>Create a <b>jmxremote.password</b> file in <i>install_directory\app- server\server\vmo\conf</i>. The file takes the form of a username and a password separated by a space on each line. An example is: monitor password</li> <li>Create a <b>jmxremote.access</b> file in <i>install_directory\app- server\server\vmo\conf</i>. The file takes the form of a username and a permission separated by a space on each line. An example is: monitor readonly</li> <li>Secure each of the jmxremote files on Windows as described here: <a href="http://download.oracle.com/javase/6/docs/technotes/guides/management/security-windows.html" mce_href="http://download.oracle.com/javase/6/docs/technotes/guides/management/security-windows.html">http://download.oracle.com/javase/6/docs/technotes/guides/management/security-windows.html</a>, and for non-Windows systems simply use the following command:<br /> chmod 600 jmxremote.password jmxremote.password</li> </ul> <p><b>Note: </b>Essentially, each of the jmxremote files must only be accessible to the owner. Final security properties on a Windows server should show Full Access to the owner (default is <i>Administrators</i> group) and no other users, groups, or SYSTEM listed for access. Additionally, windows explorer will add a lock icon next to the filename. </p><p>Edit <i>install_directory\app- server\bin\wrapper.conf</i> by adding the lines below after line "wrapper.java.additional.9 ...": </p> <ul> </ul><p><code> wrapper.java.additional.10=-Dcom.sun.management.jmxremote.authenticate=true wrapper.java.additional.11=-Dcom.sun.management.jmxremote.password.file= ../server/vmo/conf/jmxremote.password wrapper.java.additional.12=-Dcom.sun.management.jmxremote.access.file=../server/vmo/conf/jmxremote.access wrapper.java.additional.13=-Dcom.sun.management.jmxremote.ssl=false wrapper.java.additional.14=-Dcom.sun.management.jmxremote.port=1099 wrapper.java.additional.15=-Djavax.management.builder.initial=org.jboss.system.server.jmx.MBeanServerBuilderImpl wrapper.java.additional.16=-Djboss.platform.mbeanserver </code></p><ul> </ul><p><b>Note:</b> The numbers in wrapper.java.additional.## must be in order without gap between them, otherwise wrapper ignores them. If the last property is wrapper.java.additional.10 then all above properties should be shift by 1 starting at wrapper.java.additional.11<br />JMX monitoring will be available after restarting the vCenter Orchestrator server.</p><p><br /><u>Testing of the monitoring</u><br />JConsole is a GUI application from the Java Development Kit designed for monitoring Java applications.<br />The jconsole executable is in <i>JDK_HOME</i>/bin, where <i>JDK_HOME</i> is the directory where the JDK is installed.  If this directory is in system path, the tool can be started by typing jconsole in a command (shell) prompt. Otherwise, it is necessary to change the current directory.<br />JConsole will list local processes and give the option to enter a remote one with the hostname:port syntax.<br />Once connected it is possible to monitor in details the memory, threads and managed beans.<br />The following table represents a subset of MBeans that can be used for monitoring the performance of a vCenter Orchestrator instance.<br /> <br /></p><table border="1" cellpadding="0" cellspacing="0"> <tbody> <tr> <td valign="top" width="101"> <p><b>Workflow Execution</b></p> </td> <td valign="top" width="317"> <p><br /></p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Mbean</b></p> </td> <td valign="top" width="317"> <p>ch.dunes.workflow.engine.mbean.WorkflowEngine</p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Description</b></p> </td> <td valign="top" width="317"> <p>Statistics about active workflows</p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Attribute</b></p> </td> <td valign="top" width="317"> <p><b>Description</b></p> </td> </tr> <tr> <td valign="top" width="101"> <p>ExecutorsActiveCount</p> </td> <td valign="top" width="317"> <p>Number of currently active workflows</p> </td> </tr> <tr> <td valign="top" width="101"> <p>ExecutorsQueueSize</p> </td> <td valign="top" width="317"> <p>Number of workflows queued</p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Web views</b></p> </td> <td valign="top" width="317"> <p><b> </b></p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Mbean</b></p> </td> <td valign="top" width="317"> <p>jboss.web:type=Cache,host=[<b>hostname</b>],path=/vmo</p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Description</b></p> </td> <td valign="top" width="317"> <p>webview statistics</p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Attribute</b></p> </td> <td valign="top" width="317"> <p><b>Description</b></p> </td> </tr> <tr> <td valign="top" width="101"> <p>accessCount</p> </td> <td valign="top" width="317"> <p>Number of accesses to the cache</p> </td> </tr> <tr> <td valign="top" width="101"> <p>cacheMaxSize</p> </td> <td valign="top" width="317"> <p>Max size of resources which will have their content cached</p> </td> </tr> <tr> <td valign="top" width="101"> <p>cacheSize</p> </td> <td valign="top" width="317"> <p>Max size of resources which will have their content cached</p> </td> </tr> <tr> <td valign="top" width="101"> <p>desiredEntryAccessRatio</p> </td> <td valign="top" width="317"> <p>Entry hit ratio at which an entry will never be removed from the cache.</p> </td> </tr> <tr> <td valign="top" width="101"> <p>hitsCount</p> </td> <td valign="top" width="317"> <p>Number of cache hits</p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Apache Tomcat Global Request Processor Metrics</b></p> </td> <td valign="top" width="317"> <p><b> </b></p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Mbean</b></p> </td> <td valign="top" width="317"> <p>jboss.web:type=GlobalRequestProcessor,name=http-[<b>hostname</b>]-[<b>port</b>]</p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Description</b></p> </td> <td valign="top" width="317"> <p>Apache Tomcat Global Request Processor Metrics</p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Attribute</b></p> </td> <td valign="top" width="317"> <p><b>Description</b></p> </td> </tr> <tr> <td valign="top" width="101"> <p>bytesSent</p> </td> <td valign="top" width="317"> <p>Bytes sent by all the request processors running on the Apache Tomcat container</p> </td> </tr> <tr> <td valign="top" width="101"> <p>bytesReceived</p> </td> <td valign="top" width="317"> <p>Bytes received by all the request processors running on the Apache Tomcat container</p> </td> </tr> <tr> <td valign="top" width="101"> <p>processingTime</p> </td> <td valign="top" width="317"> <p>Total processing time (in milliseconds) since startup</p> </td> </tr> <tr> <td valign="top" width="101"> <p>errorCount</p> </td> <td valign="top" width="317"> <p>Error count on all the request processors running on the Apache Tomcat container</p> </td> </tr> <tr> <td valign="top" width="101"> <p>maxTime</p> </td> <td valign="top" width="317"> <p>Maximum time it took to process a request</p> </td> </tr> <tr> <td valign="top" width="101"> <p>requestCount</p> </td> <td valign="top" width="317"> <p>Request count on all the request processors running on the Apache Tomcat container</p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>vCO web service</b></p> </td> <td valign="top" width="317"> <p><b> </b></p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Mbean</b></p> </td> <td valign="top" width="317"> <p>jboss.web:type=Manager,path=/vmware-vmo-webcontrol,host=[<b>hostname</b>]</p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Description</b></p> </td> <td valign="top" width="317"> <p><br /></p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Attribute</b></p> </td> <td valign="top" width="317"> <p><b>Description</b></p> </td> </tr> <tr> <td valign="top" width="101"> <p>activeSessions</p> </td> <td valign="top" width="317"> <p>Number of currently active sessions</p> </td> </tr> <tr> <td valign="top" width="101"> <p>expiredSessions</p> </td> <td valign="top" width="317"> <p>Number of sessions that have expired</p> </td> </tr> <tr> <td valign="top" width="101"> <p>maxActive</p> </td> <td valign="top" width="317"> <p>Maximum number of sessions that have been active at the same time</p> </td> </tr> <tr> <td valign="top" width="101"> <p>processingTime</p> </td> <td valign="top" width="317"> <p>Total processing time (in milliseconds) since startup</p> </td> </tr> <tr> <td valign="top" width="101"> <p>sessionAverageAliveTime</p> </td> <td valign="top" width="317"> <p>Average time (in seconds) that expired sessions had been alive</p> </td> </tr> <tr> <td valign="top" width="101"> <p>sessionCounter</p> </td> <td valign="top" width="317"> <p>Total number of sessions created by this manager</p> </td> </tr> <tr> <td valign="top" width="101"> <p>sessionMaxAliveTime</p> </td> <td valign="top" width="317"> <p>Longest time (in seconds) that an expired session had been alive</p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>WebViewEngine</b></p> </td> <td valign="top" width="317"> <p><b> </b></p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Mbean</b></p> </td> <td valign="top" width="317"> <p>jboss.web:j2eeType=Servlet,name=VSO-WebViewEngine,WebModule=//localhost/vmo,J2EEApplication=none,J2EEServer=none</p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Description</b></p> </td> <td valign="top" width="317"> <p><br /></p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Attribute</b></p> </td> <td valign="top" width="317"> <p><b>Description</b></p> </td> </tr> <tr> <td valign="top" width="101"> <p>maxTime</p> </td> <td valign="top" width="317"> <p>Maximum time taken (in milliseconds) for processing a request</p> </td> </tr> <tr> <td valign="top" width="101"> <p>processingTime</p> </td> <td valign="top" width="317"> <p>Total processing time (in milliseconds) since startup</p> </td> </tr> <tr> <td valign="top" width="101"> <p>sessionMaxAliveTime</p> </td> <td valign="top" width="317"> <p>The longest time (in seconds) that an expired session had been alive</p> </td> </tr> <tr> <td valign="top" width="101"> <p>requestCount</p> </td> <td valign="top" width="317"> <p>Total number of requests served since startup</p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Web Tread pool</b></p> </td> <td valign="top" width="317"> <p><br /></p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Mbean</b></p> </td> <td valign="top" width="317"> <p>jboss.web:type=ThreadPool,name=http-[<b>hostname</b>]-[<b>port</b>]</p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Description</b></p> </td> <td valign="top" width="317"> <p><br /></p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Attribute</b></p> </td> <td valign="top" width="317"> <p><b>Description</b></p> </td> </tr> <tr> <td valign="top" width="101"> <p>currentThreadCount</p> </td> <td valign="top" width="317"> <p>Number of threads created on the Apache Tomcat container</p> </td> </tr> <tr> <td valign="top" width="101"> <p>currentThreadsBusy</p> </td> <td valign="top" width="317"> <p>Number of busy threads on the Apache Tomcat container</p> </td> </tr> <tr> <td valign="top" width="101"> <p><br /></p> </td> <td valign="top" width="317"> <p><br /></p> </td> </tr> </tbody> </table><p> <br />Possible implementation through JMX includes <a mce_href="http://www.vmware.com/products/vfabric-hyperic/" href="http://www.vmware.com/products/vfabric-hyperic/">VMware vFabric Hyperic</a>. It can be used to collect, store metrics from JMX and custom MBeans, and produce graphs over a long period of time.</p><p>vCenter Orchestrator has a throttling mechanism limiting the number of running workflows to 300 (default value). if additional workflows are started they will be stored in an execution queue. Even under heavy load I have never seen memory usage after garbage collecting over 1500 MB. Now this depends a lot in how the plug-ins and associated workflows were designed. In a next article I will write guidelines on how to minimize vCO resource footprint.<br /></p> <p><img src="http://www.vcoteam.info/images/phocagallery/java_monitoring.png" mce_src="http://www.vcoteam.info/images/phocagallery/java_monitoring.png" alt="alt" height="130" width="130" /><br /></p><p>Ever wondered how your vCenter Orchestrator is doing on memory usage ? vCenter Orchestrator Java Virtual Machine allocates a default of 2 GB Heap space. </p><p>It will consume more heap space as processes are running and will ultimately call the garbage collector to keep in memory only the used items.<br /></p><p><span style="font-family: Calibri,Verdana,Helvetica,Arial;" mce_style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;" mce_style="font-size: 11pt;"></span></span>If you are running a lot of workflows on your server or if you are experimenting custom workflows and plug-ins you may want to know how much of this memory is consumed. The easiest way is to download this <a target="_blank" mce_href="http://communities.vmware.com/docs/DOC-17109" href="http://communities.vmware.com/docs/DOC-17109">utility</a>.<br /></p><p>You can copy it in <span style="font-family: Calibri,Verdana,Helvetica,Arial;" mce_style="font-family: Calibri,Verdana,Helvetica,Arial;"><span style="font-size: 11pt;" mce_style="font-size: 11pt;">$INSTALL_DIR/app-server/server/vmo/deploy/ then restart your server and check the server.log file. Every ten seconds the memory usage will be written in the log as follow: <br /></span></span></p><p><code>2011-09-19 11:59:22.149+0200 INFO  [Server] JBoss (MX MicroKernel) [4.2.2.GA (build: SVNTag=JBoss_4_2_2_GA date=200710221139)] Started in 28s:819ms<br />2011-09-19 11:59:22.233+0200 INFO  [STDOUT] ============================ VMO server ready ==============================<br />2011-09-19 11:59:32.010+0200 INFO  [MEMORY_DUMP] 281.561 MB / 1.926 GB<br />2011-09-19 11:59:42.010+0200 INFO  [MEMORY_DUMP] 282.606 MB / 1.926 GB </code></p><p><br /></p><p>If you want to follow this real time instead of checking the logs after the facts you can <a target="_blank" mce_href="http://visualvm.java.net/" href="http://visualvm.java.net/">download</a> VisualVM, install it on your vCO server and run it to monitor the ch.dunes.jboss.Main. Below is a capture of vCO running hundreds or workflows in parallel. <br /></p><p><img src="http://www.vcoteam.info/images/phocagallery/vco_running_hundreds_of_workflows.png" mce_src="http://www.vcoteam.info/images/phocagallery/vco_running_hundreds_of_workflows.png" alt="alt" /><br /></p><p><br /></p><p>Now if you are getting serious about this because you need to include vCenter Orchestrator in your enterprise monitoring solution you should use the Java Management Extensions (JMX). To enable JMX for a vCenter Orchestrator server started as a service:</p> <ul> <li>Create a <b>jmxremote.password</b> file in <i>install_directory\app- server\server\vmo\conf</i>. The file takes the form of a username and a password separated by a space on each line. An example is: monitor password</li> <li>Create a <b>jmxremote.access</b> file in <i>install_directory\app- server\server\vmo\conf</i>. The file takes the form of a username and a permission separated by a space on each line. An example is: monitor readonly</li> <li>Secure each of the jmxremote files on Windows as described here: <a href="http://download.oracle.com/javase/6/docs/technotes/guides/management/security-windows.html" mce_href="http://download.oracle.com/javase/6/docs/technotes/guides/management/security-windows.html">http://download.oracle.com/javase/6/docs/technotes/guides/management/security-windows.html</a>, and for non-Windows systems simply use the following command:<br /> chmod 600 jmxremote.password jmxremote.password</li> </ul> <p><b>Note: </b>Essentially, each of the jmxremote files must only be accessible to the owner. Final security properties on a Windows server should show Full Access to the owner (default is <i>Administrators</i> group) and no other users, groups, or SYSTEM listed for access. Additionally, windows explorer will add a lock icon next to the filename. </p><p>Edit <i>install_directory\app- server\bin\wrapper.conf</i> by adding the lines below after line "wrapper.java.additional.9 ...": </p> <ul> </ul><p><code> wrapper.java.additional.10=-Dcom.sun.management.jmxremote.authenticate=true wrapper.java.additional.11=-Dcom.sun.management.jmxremote.password.file= ../server/vmo/conf/jmxremote.password wrapper.java.additional.12=-Dcom.sun.management.jmxremote.access.file=../server/vmo/conf/jmxremote.access wrapper.java.additional.13=-Dcom.sun.management.jmxremote.ssl=false wrapper.java.additional.14=-Dcom.sun.management.jmxremote.port=1099 wrapper.java.additional.15=-Djavax.management.builder.initial=org.jboss.system.server.jmx.MBeanServerBuilderImpl wrapper.java.additional.16=-Djboss.platform.mbeanserver </code></p><ul> </ul><p><b>Note:</b> The numbers in wrapper.java.additional.## must be in order without gap between them, otherwise wrapper ignores them. If the last property is wrapper.java.additional.10 then all above properties should be shift by 1 starting at wrapper.java.additional.11<br />JMX monitoring will be available after restarting the vCenter Orchestrator server.</p><p><br /><u>Testing of the monitoring</u><br />JConsole is a GUI application from the Java Development Kit designed for monitoring Java applications.<br />The jconsole executable is in <i>JDK_HOME</i>/bin, where <i>JDK_HOME</i> is the directory where the JDK is installed.  If this directory is in system path, the tool can be started by typing jconsole in a command (shell) prompt. Otherwise, it is necessary to change the current directory.<br />JConsole will list local processes and give the option to enter a remote one with the hostname:port syntax.<br />Once connected it is possible to monitor in details the memory, threads and managed beans.<br />The following table represents a subset of MBeans that can be used for monitoring the performance of a vCenter Orchestrator instance.<br /> <br /></p><table border="1" cellpadding="0" cellspacing="0"> <tbody> <tr> <td valign="top" width="101"> <p><b>Workflow Execution</b></p> </td> <td valign="top" width="317"> <p><br /></p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Mbean</b></p> </td> <td valign="top" width="317"> <p>ch.dunes.workflow.engine.mbean.WorkflowEngine</p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Description</b></p> </td> <td valign="top" width="317"> <p>Statistics about active workflows</p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Attribute</b></p> </td> <td valign="top" width="317"> <p><b>Description</b></p> </td> </tr> <tr> <td valign="top" width="101"> <p>ExecutorsActiveCount</p> </td> <td valign="top" width="317"> <p>Number of currently active workflows</p> </td> </tr> <tr> <td valign="top" width="101"> <p>ExecutorsQueueSize</p> </td> <td valign="top" width="317"> <p>Number of workflows queued</p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Web views</b></p> </td> <td valign="top" width="317"> <p><b> </b></p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Mbean</b></p> </td> <td valign="top" width="317"> <p>jboss.web:type=Cache,host=[<b>hostname</b>],path=/vmo</p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Description</b></p> </td> <td valign="top" width="317"> <p>webview statistics</p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Attribute</b></p> </td> <td valign="top" width="317"> <p><b>Description</b></p> </td> </tr> <tr> <td valign="top" width="101"> <p>accessCount</p> </td> <td valign="top" width="317"> <p>Number of accesses to the cache</p> </td> </tr> <tr> <td valign="top" width="101"> <p>cacheMaxSize</p> </td> <td valign="top" width="317"> <p>Max size of resources which will have their content cached</p> </td> </tr> <tr> <td valign="top" width="101"> <p>cacheSize</p> </td> <td valign="top" width="317"> <p>Max size of resources which will have their content cached</p> </td> </tr> <tr> <td valign="top" width="101"> <p>desiredEntryAccessRatio</p> </td> <td valign="top" width="317"> <p>Entry hit ratio at which an entry will never be removed from the cache.</p> </td> </tr> <tr> <td valign="top" width="101"> <p>hitsCount</p> </td> <td valign="top" width="317"> <p>Number of cache hits</p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Apache Tomcat Global Request Processor Metrics</b></p> </td> <td valign="top" width="317"> <p><b> </b></p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Mbean</b></p> </td> <td valign="top" width="317"> <p>jboss.web:type=GlobalRequestProcessor,name=http-[<b>hostname</b>]-[<b>port</b>]</p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Description</b></p> </td> <td valign="top" width="317"> <p>Apache Tomcat Global Request Processor Metrics</p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Attribute</b></p> </td> <td valign="top" width="317"> <p><b>Description</b></p> </td> </tr> <tr> <td valign="top" width="101"> <p>bytesSent</p> </td> <td valign="top" width="317"> <p>Bytes sent by all the request processors running on the Apache Tomcat container</p> </td> </tr> <tr> <td valign="top" width="101"> <p>bytesReceived</p> </td> <td valign="top" width="317"> <p>Bytes received by all the request processors running on the Apache Tomcat container</p> </td> </tr> <tr> <td valign="top" width="101"> <p>processingTime</p> </td> <td valign="top" width="317"> <p>Total processing time (in milliseconds) since startup</p> </td> </tr> <tr> <td valign="top" width="101"> <p>errorCount</p> </td> <td valign="top" width="317"> <p>Error count on all the request processors running on the Apache Tomcat container</p> </td> </tr> <tr> <td valign="top" width="101"> <p>maxTime</p> </td> <td valign="top" width="317"> <p>Maximum time it took to process a request</p> </td> </tr> <tr> <td valign="top" width="101"> <p>requestCount</p> </td> <td valign="top" width="317"> <p>Request count on all the request processors running on the Apache Tomcat container</p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>vCO web service</b></p> </td> <td valign="top" width="317"> <p><b> </b></p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Mbean</b></p> </td> <td valign="top" width="317"> <p>jboss.web:type=Manager,path=/vmware-vmo-webcontrol,host=[<b>hostname</b>]</p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Description</b></p> </td> <td valign="top" width="317"> <p><br /></p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Attribute</b></p> </td> <td valign="top" width="317"> <p><b>Description</b></p> </td> </tr> <tr> <td valign="top" width="101"> <p>activeSessions</p> </td> <td valign="top" width="317"> <p>Number of currently active sessions</p> </td> </tr> <tr> <td valign="top" width="101"> <p>expiredSessions</p> </td> <td valign="top" width="317"> <p>Number of sessions that have expired</p> </td> </tr> <tr> <td valign="top" width="101"> <p>maxActive</p> </td> <td valign="top" width="317"> <p>Maximum number of sessions that have been active at the same time</p> </td> </tr> <tr> <td valign="top" width="101"> <p>processingTime</p> </td> <td valign="top" width="317"> <p>Total processing time (in milliseconds) since startup</p> </td> </tr> <tr> <td valign="top" width="101"> <p>sessionAverageAliveTime</p> </td> <td valign="top" width="317"> <p>Average time (in seconds) that expired sessions had been alive</p> </td> </tr> <tr> <td valign="top" width="101"> <p>sessionCounter</p> </td> <td valign="top" width="317"> <p>Total number of sessions created by this manager</p> </td> </tr> <tr> <td valign="top" width="101"> <p>sessionMaxAliveTime</p> </td> <td valign="top" width="317"> <p>Longest time (in seconds) that an expired session had been alive</p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>WebViewEngine</b></p> </td> <td valign="top" width="317"> <p><b> </b></p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Mbean</b></p> </td> <td valign="top" width="317"> <p>jboss.web:j2eeType=Servlet,name=VSO-WebViewEngine,WebModule=//localhost/vmo,J2EEApplication=none,J2EEServer=none</p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Description</b></p> </td> <td valign="top" width="317"> <p><br /></p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Attribute</b></p> </td> <td valign="top" width="317"> <p><b>Description</b></p> </td> </tr> <tr> <td valign="top" width="101"> <p>maxTime</p> </td> <td valign="top" width="317"> <p>Maximum time taken (in milliseconds) for processing a request</p> </td> </tr> <tr> <td valign="top" width="101"> <p>processingTime</p> </td> <td valign="top" width="317"> <p>Total processing time (in milliseconds) since startup</p> </td> </tr> <tr> <td valign="top" width="101"> <p>sessionMaxAliveTime</p> </td> <td valign="top" width="317"> <p>The longest time (in seconds) that an expired session had been alive</p> </td> </tr> <tr> <td valign="top" width="101"> <p>requestCount</p> </td> <td valign="top" width="317"> <p>Total number of requests served since startup</p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Web Tread pool</b></p> </td> <td valign="top" width="317"> <p><br /></p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Mbean</b></p> </td> <td valign="top" width="317"> <p>jboss.web:type=ThreadPool,name=http-[<b>hostname</b>]-[<b>port</b>]</p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Description</b></p> </td> <td valign="top" width="317"> <p><br /></p> </td> </tr> <tr> <td valign="top" width="101"> <p><b>Attribute</b></p> </td> <td valign="top" width="317"> <p><b>Description</b></p> </td> </tr> <tr> <td valign="top" width="101"> <p>currentThreadCount</p> </td> <td valign="top" width="317"> <p>Number of threads created on the Apache Tomcat container</p> </td> </tr> <tr> <td valign="top" width="101"> <p>currentThreadsBusy</p> </td> <td valign="top" width="317"> <p>Number of busy threads on the Apache Tomcat container</p> </td> </tr> <tr> <td valign="top" width="101"> <p><br /></p> </td> <td valign="top" width="317"> <p><br /></p> </td> </tr> </tbody> </table><p> <br />Possible implementation through JMX includes <a mce_href="http://www.vmware.com/products/vfabric-hyperic/" href="http://www.vmware.com/products/vfabric-hyperic/">VMware vFabric Hyperic</a>. It can be used to collect, store metrics from JMX and custom MBeans, and produce graphs over a long period of time.</p><p>vCenter Orchestrator has a throttling mechanism limiting the number of running workflows to 300 (default value). if additional workflows are started they will be stored in an execution queue. Even under heavy load I have never seen memory usage after garbage collecting over 1500 MB. Now this depends a lot in how the plug-ins and associated workflows were designed. In a next article I will write guidelines on how to minimize vCO resource footprint.<br /></p> VMware published the vCenter Orchestrator Plug-ins Documentation Center 2011-09-17T13:40:19Z 2011-09-17T13:40:19Z http://www.vcoteam.info/newsflash/vmware-published-the-vcenter-orchestrator-plug-ins-documentation-center.html Christophe Decanini webmaster@vcoteam.info <p><img src="http://www.vcoteam.info/images/phocagallery/doccenter.png" mce_src="http://www.vcoteam.info/images/phocagallery/doccenter.png" alt="alt" /><br /></p><p>VMware released <u><b>nine</b></u> plug-ins for vCenter Orchestrator this year (and there is more than a quarter left !) and decided that it would be best for customers to have all of the docs gathered in one place in a more user friendly and searchable format.</p><p></p><p></p><p>vCenter Orchestrator Plug-ins Documentation Center allows from one single page to browse the different plug-ins documentation.<br /></p><p><img src="http://www.vcoteam.info/images/phocagallery/plug-ins_doc.png" mce_src="http://www.vcoteam.info/images/phocagallery/plug-ins_doc.png" alt="alt" /><br /></p> <p><br /></p><p>Also these documentation guides are also made available in .epub and .mobi formats. These file formats allow to read the documentation on their mobile devices and Kindles.</p><p>For more information check the <a target="_blank" mce_href="http://pubs.vmware.com/orchestrator-plugins/index.jsp" href="http://pubs.vmware.com/orchestrator-plugins/index.jsp">vCenter Orchestrator Plug-ins Documentation Center</a>.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/doccenter.png" mce_src="http://www.vcoteam.info/images/phocagallery/doccenter.png" alt="alt" /><br /></p><p>VMware released <u><b>nine</b></u> plug-ins for vCenter Orchestrator this year (and there is more than a quarter left !) and decided that it would be best for customers to have all of the docs gathered in one place in a more user friendly and searchable format.</p><p></p><p></p><p>vCenter Orchestrator Plug-ins Documentation Center allows from one single page to browse the different plug-ins documentation.<br /></p><p><img src="http://www.vcoteam.info/images/phocagallery/plug-ins_doc.png" mce_src="http://www.vcoteam.info/images/phocagallery/plug-ins_doc.png" alt="alt" /><br /></p> <p><br /></p><p>Also these documentation guides are also made available in .epub and .mobi formats. These file formats allow to read the documentation on their mobile devices and Kindles.</p><p>For more information check the <a target="_blank" mce_href="http://pubs.vmware.com/orchestrator-plugins/index.jsp" href="http://pubs.vmware.com/orchestrator-plugins/index.jsp">vCenter Orchestrator Plug-ins Documentation Center</a>.</p> VMware released an update for the vCenter Orchestrator for vCloud Director 1.01 2011-09-17T13:05:29Z 2011-09-17T13:05:29Z http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-plug-in-update-for-vcloud-director-101.html Christophe Decanini webmaster@vcoteam.info <p><img src="http://www.vcoteam.info/images/phocagallery/vcloud-director.jpg" mce_src="http://www.vcoteam.info/images/phocagallery/vcloud-director.jpg" alt="alt" /></p><p><br /></p><p>VMware release a version 1.02 of the vCenter Orchestrator Plug-in for vCloud Director (1.0 or 1.01).</p><p></p><p></p><p>This is a maintenance release.</p><p>Quoting the release notes :</p><p><cite>Version 1.0.2 of the vCloud Director plug-in improves the performance, addresses a number of issues, and includes the sample workflow package. To upgrade the plug-in, you must install version 1.0.2 on top of your existing installation.</cite></p><p>It is recommended to update to this version since it corrects a problem happening when workflows waiting for a vCloud Director task are running concurrently and other issues. It is stated as being for vCenter Orchestrator 4.1 but it is also compatible with the <a target="_blank" mce_href="http://www.vcoteam.info/newsflash/vmware-released-vcenter-orchestrator-42.html" href="http://www.vcoteam.info/newsflash/vmware-released-vcenter-orchestrator-42.html">recently released</a> vCenter Orchestrator 4.2.</p><p>You can get further details with reading the <a target="_blank" mce_href="https://www.vmware.com/support/orchestrator/doc/vcd-plugin-102-release-notes.html" href="https://www.vmware.com/support/orchestrator/doc/vcd-plugin-102-release-notes.html">release notes</a>. You can get it from the <a target="_blank" mce_href="http://downloads.vmware.com/d/details/vco_vcd_plugin_102/ZGhoYnQqJWViZGpoKg==" href="http://downloads.vmware.com/d/details/vco_vcd_plugin_102/ZGhoYnQqJWViZGpoKg==">download page</a>.<br /></p><p><br /></p> <p><img src="http://www.vcoteam.info/images/phocagallery/vcloud-director.jpg" mce_src="http://www.vcoteam.info/images/phocagallery/vcloud-director.jpg" alt="alt" /></p><p><br /></p><p>VMware release a version 1.02 of the vCenter Orchestrator Plug-in for vCloud Director (1.0 or 1.01).</p><p></p><p></p><p>This is a maintenance release.</p><p>Quoting the release notes :</p><p><cite>Version 1.0.2 of the vCloud Director plug-in improves the performance, addresses a number of issues, and includes the sample workflow package. To upgrade the plug-in, you must install version 1.0.2 on top of your existing installation.</cite></p><p>It is recommended to update to this version since it corrects a problem happening when workflows waiting for a vCloud Director task are running concurrently and other issues. It is stated as being for vCenter Orchestrator 4.1 but it is also compatible with the <a target="_blank" mce_href="http://www.vcoteam.info/newsflash/vmware-released-vcenter-orchestrator-42.html" href="http://www.vcoteam.info/newsflash/vmware-released-vcenter-orchestrator-42.html">recently released</a> vCenter Orchestrator 4.2.</p><p>You can get further details with reading the <a target="_blank" mce_href="https://www.vmware.com/support/orchestrator/doc/vcd-plugin-102-release-notes.html" href="https://www.vmware.com/support/orchestrator/doc/vcd-plugin-102-release-notes.html">release notes</a>. You can get it from the <a target="_blank" mce_href="http://downloads.vmware.com/d/details/vco_vcd_plugin_102/ZGhoYnQqJWViZGpoKg==" href="http://downloads.vmware.com/d/details/vco_vcd_plugin_102/ZGhoYnQqJWViZGpoKg==">download page</a>.<br /></p><p><br /></p> Infoblox released a Tech Note on their vCenter Orchestrator plug-in 2011-09-16T07:06:14Z 2011-09-16T07:06:14Z http://www.vcoteam.info/newsflash/infoblox-released-a-tech-note-on-their-vcenter-orchestrator-plug-in.html Christophe Decanini webmaster@vcoteam.info <p><img src="http://www.vcoteam.info/images/infoblox-logo.png" mce_src="http://www.vcoteam.info/images/infoblox-logo.png" alt="alt" /><br /></p> <p>Following their <a target="_blank" mce_href="http://www.infoblox.com/en/news/press-releases/2011/new-infoblox-plug-in-for-vmware-vcenter-accelerates-cloud-deployment.html?orgSearch=vcoteam.info" href="http://www.infoblox.com/en/news/press-releases/2011/new-infoblox-plug-in-for-vmware-vcenter-accelerates-cloud-deployment.html?orgSearch=vcoteam.info">press-release</a> and VMworld 2011 presentation Infoblox has now published a technical note which can help you to learn how the Infoblox VMware vCenter Orchestrator Plug-in alleviates the challenges of IP Address Management within rapidly expanding virtualized environments.</p><p>Quoting a part of the Tech Note:</p><p>The plug-in was developed for and is delivered with the VMware vCenter Orchestrator (vCO), which works in tandem with the VMware vCloud Director (vCD). The vCD provides automated IP addressing and related management capabilities in real time as virtual machines are created and destroyed.</p><p><br /></p><p><img src="http://www.vcoteam.info/images/phocagallery/infoblox_architecture.png" mce_src="http://www.vcoteam.info/images/phocagallery/infoblox_architecture.png" alt="alt" /><br /></p><p>Using the Infoblox VMware plug-in solution, an IT professional managing a virtualized environment can now:<br />• Provision systems in minutes, instead of days, with automated IP address provisioning for Cloud infrastructure and services by enabling automatic IP allocation and de-allocation as VMs are spun up and shut down<br />• Simplify troubleshooting and reduce downtime with real-time visibility into physical and virtualized network<br />infrastructure<br />• Manage movement between VM clusters easily with synchronization of critical DNS, DHCP and IP address services<br />• Eliminate errors introduced by manual processes</p><p>Find the full Tech note <a target="_blank" mce_href="http://www.infoblox.com/content/dam/infoblox/documents/solution-notes/infoblox-note-vmware-plug-in.pdf?orgSearch=google.com" href="http://www.infoblox.com/content/dam/infoblox/documents/solution-notes/infoblox-note-vmware-plug-in.pdf?orgSearch=google.com">here</a>.</p><p><br /></p> <p><img src="http://www.vcoteam.info/images/infoblox-logo.png" mce_src="http://www.vcoteam.info/images/infoblox-logo.png" alt="alt" /><br /></p> <p>Following their <a target="_blank" mce_href="http://www.infoblox.com/en/news/press-releases/2011/new-infoblox-plug-in-for-vmware-vcenter-accelerates-cloud-deployment.html?orgSearch=vcoteam.info" href="http://www.infoblox.com/en/news/press-releases/2011/new-infoblox-plug-in-for-vmware-vcenter-accelerates-cloud-deployment.html?orgSearch=vcoteam.info">press-release</a> and VMworld 2011 presentation Infoblox has now published a technical note which can help you to learn how the Infoblox VMware vCenter Orchestrator Plug-in alleviates the challenges of IP Address Management within rapidly expanding virtualized environments.</p><p>Quoting a part of the Tech Note:</p><p>The plug-in was developed for and is delivered with the VMware vCenter Orchestrator (vCO), which works in tandem with the VMware vCloud Director (vCD). The vCD provides automated IP addressing and related management capabilities in real time as virtual machines are created and destroyed.</p><p><br /></p><p><img src="http://www.vcoteam.info/images/phocagallery/infoblox_architecture.png" mce_src="http://www.vcoteam.info/images/phocagallery/infoblox_architecture.png" alt="alt" /><br /></p><p>Using the Infoblox VMware plug-in solution, an IT professional managing a virtualized environment can now:<br />• Provision systems in minutes, instead of days, with automated IP address provisioning for Cloud infrastructure and services by enabling automatic IP allocation and de-allocation as VMs are spun up and shut down<br />• Simplify troubleshooting and reduce downtime with real-time visibility into physical and virtualized network<br />infrastructure<br />• Manage movement between VM clusters easily with synchronization of critical DNS, DHCP and IP address services<br />• Eliminate errors introduced by manual processes</p><p>Find the full Tech note <a target="_blank" mce_href="http://www.infoblox.com/content/dam/infoblox/documents/solution-notes/infoblox-note-vmware-plug-in.pdf?orgSearch=google.com" href="http://www.infoblox.com/content/dam/infoblox/documents/solution-notes/infoblox-note-vmware-plug-in.pdf?orgSearch=google.com">here</a>.</p><p><br /></p> VMware released the vCenter Orchestrator SNMP Plug-in 2011-09-14T06:44:30Z 2011-09-14T06:44:30Z http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-snmp-plug-in.html Christophe Decanini webmaster@vcoteam.info <p><img src="http://www.vcoteam.info/images/phocagallery/snmpbrowser.png" mce_src="http://www.vcoteam.info/images/phocagallery/snmpbrowser.png" alt="alt" /><br /></p><p>This <a target="_blank" mce_href="http://en.wikipedia.org/wiki/Simple_Network_Management_Protocol" href="http://en.wikipedia.org/wiki/Simple_Network_Management_Protocol"><span id="PRODUCTNAME_DA85D5E8BEF34F2DBD71DACFD698B283">SNMP</span></a> plug-in allows vCenter Orchestrator to connect and receive information from Simple Network Management Protocol enabled systems.</p><p>In terms of capabilities the plug-ins allows to:<br /></p><ul><li>Register SNMP hosts, Add SNMP GET, GETNEXT and GETBULK queries to retrieve device from host MIBs (Management Information Base) using OIDs (Object Identifier): Running these workflows will add new items to the inventory.</li></ul><p style="padding-left: 30px;" mce_style="padding-left: 30px;"><img src="http://www.vcoteam.info/images/phocagallery/snmp.01.inventory.png" mce_src="http://www.vcoteam.info/images/phocagallery/snmp.01.inventory.png" border="0" /> </p><p><br /></p><ul><li>Set policies to listen to trap events coming from SNMP hosts and to start remediation workflows</li></ul><p style="padding-left: 30px;" mce_style="padding-left: 30px;"><img src="http://www.vcoteam.info/images/phocagallery/snmppolicy.png" mce_src="http://www.vcoteam.info/images/phocagallery/snmppolicy.png" alt="alt" /><br /></p><p><br /></p><ul><li>Send SNMP traps to monitoring systems<br /></li></ul><p><br /></p><p>The included workflows are the following:</p><p><img src="http://www.vcoteam.info/images/phocagallery/snmp-workflows.png" mce_src="http://www.vcoteam.info/images/phocagallery/snmp-workflows.png" alt="alt" /><br /></p><p>All these workflows are documented <a target="_blank" mce_href="http://pubs.vmware.com//orchestrator-plugins/topic/com.vmware.using.snmp.plugin.doc_10/GUID-A0865FD4-7AFC-43D8-ACD6-9987B4DB20AA.html" href="http://pubs.vmware.com//orchestrator-plugins/topic/com.vmware.using.snmp.plugin.doc_10/GUID-A0865FD4-7AFC-43D8-ACD6-9987B4DB20AA.html">here</a>. </p><p>Note the sample workflows that wait on getting a trap from vCenter when a datastore is full and start a remediation workflow removing all unused files. <br /></p><p>You can use the plug-in to get information and traps from several network devices such as routers, switches, network printers, and UPS devices. The plug-in can also receive events from vCenter Server over the SNMP protocol. </p><p>The plug-in provides full coverage of SNMPv1 and SNMPv2c, and partial coverage of SNMPv3. The VMware vCenter Orchestrator SNMP Plug-In 1.0 release runs on VMware vCenter Orchestrator 4.1 and later.</p><p>For further information check vCenter Orchestrator SNMP Plug-in: <a href="http://www.vmware.com/support/orchestrator/doc/snmp-plugin-10-release-notes.html" mce_href="http://www.vmware.com/support/orchestrator/doc/snmp-plugin-10-release-notes.html" target="_blank">release notes</a>, <a href="http://pubs.vmware.com/orchestrator-plugins/topic/com.vmware.ICbase/PDF/using-snmp-plugin-10-guide.pdf" mce_href="http://pubs.vmware.com/orchestrator-plugins/topic/com.vmware.ICbase/PDF/using-snmp-plugin-10-guide.pdf" target="_blank">documentation</a>, and <a href="http://downloads.vmware.com/d/details/vco_snmp_plugin_10/dHRAYnQqJWpiZHBqaA==" mce_href="http://downloads.vmware.com/d/details/vco_snmp_plugin_10/dHRAYnQqJWpiZHBqaA==" target="_blank">download</a>.<br mce_bogus="1" /></p> <p><img src="http://www.vcoteam.info/images/phocagallery/snmpbrowser.png" mce_src="http://www.vcoteam.info/images/phocagallery/snmpbrowser.png" alt="alt" /><br /></p><p>This <a target="_blank" mce_href="http://en.wikipedia.org/wiki/Simple_Network_Management_Protocol" href="http://en.wikipedia.org/wiki/Simple_Network_Management_Protocol"><span id="PRODUCTNAME_DA85D5E8BEF34F2DBD71DACFD698B283">SNMP</span></a> plug-in allows vCenter Orchestrator to connect and receive information from Simple Network Management Protocol enabled systems.</p><p>In terms of capabilities the plug-ins allows to:<br /></p><ul><li>Register SNMP hosts, Add SNMP GET, GETNEXT and GETBULK queries to retrieve device from host MIBs (Management Information Base) using OIDs (Object Identifier): Running these workflows will add new items to the inventory.</li></ul><p style="padding-left: 30px;" mce_style="padding-left: 30px;"><img src="http://www.vcoteam.info/images/phocagallery/snmp.01.inventory.png" mce_src="http://www.vcoteam.info/images/phocagallery/snmp.01.inventory.png" border="0" /> </p><p><br /></p><ul><li>Set policies to listen to trap events coming from SNMP hosts and to start remediation workflows</li></ul><p style="padding-left: 30px;" mce_style="padding-left: 30px;"><img src="http://www.vcoteam.info/images/phocagallery/snmppolicy.png" mce_src="http://www.vcoteam.info/images/phocagallery/snmppolicy.png" alt="alt" /><br /></p><p><br /></p><ul><li>Send SNMP traps to monitoring systems<br /></li></ul><p><br /></p><p>The included workflows are the following:</p><p><img src="http://www.vcoteam.info/images/phocagallery/snmp-workflows.png" mce_src="http://www.vcoteam.info/images/phocagallery/snmp-workflows.png" alt="alt" /><br /></p><p>All these workflows are documented <a target="_blank" mce_href="http://pubs.vmware.com//orchestrator-plugins/topic/com.vmware.using.snmp.plugin.doc_10/GUID-A0865FD4-7AFC-43D8-ACD6-9987B4DB20AA.html" href="http://pubs.vmware.com//orchestrator-plugins/topic/com.vmware.using.snmp.plugin.doc_10/GUID-A0865FD4-7AFC-43D8-ACD6-9987B4DB20AA.html">here</a>. </p><p>Note the sample workflows that wait on getting a trap from vCenter when a datastore is full and start a remediation workflow removing all unused files. <br /></p><p>You can use the plug-in to get information and traps from several network devices such as routers, switches, network printers, and UPS devices. The plug-in can also receive events from vCenter Server over the SNMP protocol. </p><p>The plug-in provides full coverage of SNMPv1 and SNMPv2c, and partial coverage of SNMPv3. The VMware vCenter Orchestrator SNMP Plug-In 1.0 release runs on VMware vCenter Orchestrator 4.1 and later.</p><p>For further information check vCenter Orchestrator SNMP Plug-in: <a href="http://www.vmware.com/support/orchestrator/doc/snmp-plugin-10-release-notes.html" mce_href="http://www.vmware.com/support/orchestrator/doc/snmp-plugin-10-release-notes.html" target="_blank">release notes</a>, <a href="http://pubs.vmware.com/orchestrator-plugins/topic/com.vmware.ICbase/PDF/using-snmp-plugin-10-guide.pdf" mce_href="http://pubs.vmware.com/orchestrator-plugins/topic/com.vmware.ICbase/PDF/using-snmp-plugin-10-guide.pdf" target="_blank">documentation</a>, and <a href="http://downloads.vmware.com/d/details/vco_snmp_plugin_10/dHRAYnQqJWpiZHBqaA==" mce_href="http://downloads.vmware.com/d/details/vco_snmp_plugin_10/dHRAYnQqJWpiZHBqaA==" target="_blank">download</a>.<br mce_bogus="1" /></p> VMware released the vCenter Orchestrator Plug-in for vCenter Server 5.0 2011-09-14T06:16:56Z 2011-09-14T06:16:56Z http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-plug-in-for-vcenter-server-50.html Christophe Decanini webmaster@vcoteam.info <p><img src="http://www.vcoteam.info/images/phocagallery/vcenter5.png" mce_src="http://www.vcoteam.info/images/phocagallery/vcenter5.png" alt="alt" /><br /></p><p><br /></p><p>vCenter Orchestrator 4.2 shipped with vCenter 5 including a vCenter 4.1 plug-in. While being usable with vCenter 5 it does not leverage the new functionality of vCenter 5. This has now being taken care of with the release of the vCenter 5 plug-in. Not only the plug-in exposes 100% of the vCenter 5 API it also provides a lot of additional workflows for networking and host configuration.</p><p></p><p></p><p>Some of these workflows include:</p><ul> <li>Connect a virtual machine NIC number to distributed virtual port group</li> <li>Create distributed virtual switch</li> <li>Update port group in standard virtual switch</li> <li>Attach host system to distributed virtual switch</li> <li>Add datastore on NFS</li> <li>Add datastore on iSCSI/FC/local SCSI</li> <li>Add datastore to cluster</li> <li>Create VMDK anti-affinity rule</li> </ul><p><br /></p><p>The full list of available workflows for the vCenter 5 plug-in (and other vCenter Orchestrator plug-ins) is available <a target="_blank" mce_href="http://pubs.vmware.com/orchestrator-plugins/index.jsp?topic=/com.vmware.using.vcenter_server.plugin.doc_50/GUID-A080AF4D-95D2-4316-8840-9B199BF26BBC.html" href="http://pubs.vmware.com/orchestrator-plugins/index.jsp?topic=/com.vmware.using.vcenter_server.plugin.doc_50/GUID-A080AF4D-95D2-4316-8840-9B199BF26BBC.html">here</a>. </p><p>The vCenter Orchestrator Plug-In for vCenter Server 5.0 runs on VMware vCenter Orchestrator 4.1 and later.</p><p>vCenter Orchestrator Plug-in for vCenter Server 5.0: <a href="http://www.vmware.com/support/orchestrator/doc/vcenter-server-plugin-50-release-notes.html" mce_href="http://www.vmware.com/support/orchestrator/doc/vcenter-server-plugin-50-release-notes.html" target="_blank">release notes</a>, <a href="http://pubs.vmware.com/orchestrator-plugins/topic/com.vmware.ICbase/PDF/using-vcenter-server-plugin-50-guide.pdf" mce_href="http://pubs.vmware.com/orchestrator-plugins/topic/com.vmware.ICbase/PDF/using-vcenter-server-plugin-50-guide.pdf" target="_blank">documentation</a>, and <a href="http://downloads.vmware.com/d/details/vco_vc50_plugin_1_0/dHRAYnQqJXdiZHBqaA==" mce_href="http://downloads.vmware.com/d/details/vco_vc50_plugin_1_0/dHRAYnQqJXdiZHBqaA==" target="_blank">download</a>.</p><p><br /></p> <p><img src="http://www.vcoteam.info/images/phocagallery/vcenter5.png" mce_src="http://www.vcoteam.info/images/phocagallery/vcenter5.png" alt="alt" /><br /></p><p><br /></p><p>vCenter Orchestrator 4.2 shipped with vCenter 5 including a vCenter 4.1 plug-in. While being usable with vCenter 5 it does not leverage the new functionality of vCenter 5. This has now being taken care of with the release of the vCenter 5 plug-in. Not only the plug-in exposes 100% of the vCenter 5 API it also provides a lot of additional workflows for networking and host configuration.</p><p></p><p></p><p>Some of these workflows include:</p><ul> <li>Connect a virtual machine NIC number to distributed virtual port group</li> <li>Create distributed virtual switch</li> <li>Update port group in standard virtual switch</li> <li>Attach host system to distributed virtual switch</li> <li>Add datastore on NFS</li> <li>Add datastore on iSCSI/FC/local SCSI</li> <li>Add datastore to cluster</li> <li>Create VMDK anti-affinity rule</li> </ul><p><br /></p><p>The full list of available workflows for the vCenter 5 plug-in (and other vCenter Orchestrator plug-ins) is available <a target="_blank" mce_href="http://pubs.vmware.com/orchestrator-plugins/index.jsp?topic=/com.vmware.using.vcenter_server.plugin.doc_50/GUID-A080AF4D-95D2-4316-8840-9B199BF26BBC.html" href="http://pubs.vmware.com/orchestrator-plugins/index.jsp?topic=/com.vmware.using.vcenter_server.plugin.doc_50/GUID-A080AF4D-95D2-4316-8840-9B199BF26BBC.html">here</a>. </p><p>The vCenter Orchestrator Plug-In for vCenter Server 5.0 runs on VMware vCenter Orchestrator 4.1 and later.</p><p>vCenter Orchestrator Plug-in for vCenter Server 5.0: <a href="http://www.vmware.com/support/orchestrator/doc/vcenter-server-plugin-50-release-notes.html" mce_href="http://www.vmware.com/support/orchestrator/doc/vcenter-server-plugin-50-release-notes.html" target="_blank">release notes</a>, <a href="http://pubs.vmware.com/orchestrator-plugins/topic/com.vmware.ICbase/PDF/using-vcenter-server-plugin-50-guide.pdf" mce_href="http://pubs.vmware.com/orchestrator-plugins/topic/com.vmware.ICbase/PDF/using-vcenter-server-plugin-50-guide.pdf" target="_blank">documentation</a>, and <a href="http://downloads.vmware.com/d/details/vco_vc50_plugin_1_0/dHRAYnQqJXdiZHBqaA==" mce_href="http://downloads.vmware.com/d/details/vco_vc50_plugin_1_0/dHRAYnQqJXdiZHBqaA==" target="_blank">download</a>.</p><p><br /></p> Take cloud automation scripting to another level with cloud orchestration 2011-09-12T05:00:00Z 2011-09-12T05:00:00Z http://www.vcoteam.info/learn-vco/take-cloud-automation-scripting-to-another-level-with-cloud-orchestration.html Christophe Decanini webmaster@vcoteam.info <p><img src="http://www.vcoteam.info/images/phocagallery/hidden_treasure.png" mce_src="http://www.vcoteam.info/images/phocagallery/hidden_treasure.png" alt="alt" /></p> <p><br /></p> <p>I am always asked why choose orchestration over scripting. The short answer is that orchestration has a lot more to offer; the long answer is below.</p> <p>I started to work in IT in 1995 after getting my analyst-programmer degree. Naturally I used scripted automation right away and never stopped since then. I have used batch, shell, vbscript, kix, perl and various other scripting languages to automate desktop and server automated provisioning and operations in physical and then virtual environments in the early 2000s. With such a profile I joined a Swiss orchestration start-up on a Wednesday and delivered my first workflows the week after ... I have provided such workflows to large service providers and enterprise customers that are running them in production. Orchestration became my most important tool and I can not imagine automation anymore without it.</p> <p>Scripting people have preferences for different scripting languages such as JavaScript, Perl, PowerShell, Python. Each of these have advantages and drawbacks. All of these are used in one way or another at VMware and we provide SDKs supporting these. vCenter Orchestrator uses JavaScript for his scripting engine. Javascript has a simplistic syntax and is widely used for web pages interaction and web apps (HTML5 and Flash).</p> <p>The specific value of a scripting language versus another is, in my opinion, irrelevant as long as you can get to the same result with a similar effort. It took me a few days to go from Perl to a JavaScript level good enough to do what I needed.</p> <p>What is making a big difference is the orchestration platform around the scripting engine and how it will help the different actors in the business including the different actors developing, operating and using the solution.</p> <p><b><u>For the end Users</u></b></p> <p>vCenter Orchestrator workflows span across IT departments and can delegate operational procedures to the end user.</p> <ul> <li>To do this the workflow engine implements security access control with setting permissions on different workflows or even different parts of the same workflow. Some operations can be run as the user while others can run as service accounts.</li> </ul> <p>The end user can use workflows with a web front-end either directly through the web views or indirectly through the web service which includes:</p> <ul> <li>Presentation forms with content validation. This allows to run scripts to control inputs as they are typed, manage dependencies between fields, calculate defaults.</li> </ul> <ul> <li>A real time inventory of all orchestrated objects providing single sign on capabilities, a cache mechanism and automatic updates. <br /> This provides a single pane of glass across all the systems allowing the end user to select object and check their main characteristics before submitting a workflow.</li> </ul> <table class="mceItemTable" border="0"> <tbody> <tr> <td><i><img src="http://www.vcoteam.info/images/phocagallery/vco_inventory.png" mce_src="http://www.vcoteam.info/images/phocagallery/vco_inventory.png" alt="vCO Inventory" border="0" /> <br /></i></td> <td><img src="http://www.vcoteam.info/images/phocagallery/vsm_inventory.png" mce_src="http://www.vcoteam.info/images/phocagallery/vsm_inventory.png" alt="VSM Inventory" border="0" /> <br /></td> </tr> <tr> <td style="text-align: center;" mce_style="text-align: center;"><i>vCenter Orchestrator <br /> Webview inventory<br /></i></td> <td style="text-align: center;" mce_style="text-align: center;"><i>Service Manager CMDB linking diagram <br /> leveraging Orchestrator Inventory</i><br /></td> </tr> </tbody> </table> <p><br /></p> <p><u><b>For the system administrators</b></u></p> <p>High availability:</p> <ul> <li>A workflow can resumes where it stopped if the vCenter Orchestrator host fails</li> <li>vCO can fail over to another vCO server and fail back</li> </ul> <p>vCenter Orchestrator is a stateless workflow engine server. All the process flows and data flows are stored in a database.</p> <p>Compliance:</p> <ul> <li>Each workflow has a life record containing start, end time, state, inputs, outputs, variables that can be used during or after execution</li> <li>All workflows have events that can trace all the operations information, warnings, errors </li> <li>The Log4J facility allows fine grained monitoring configuration</li> <li>All the workflows are centralized and versioned. No scripts scattered across all the orchestrated entities.</li> </ul> <p>Ease of understanding / development / maintenance:</p> <ul> <li><b>Out of the box <u>VMware supported </u>workflows</b>: vCenter Orchestrator plug-in library contains several hundreds supported open source workflows.</li> <li>No need to have script experience to understand what the sequencing, the logic and operations in a workflow. A workflow can be understood by management.</li> </ul> <table class="mceItemTable" border="0"> <tbody> <tr> <td><img src="http://www.vcoteam.info/images/phocagallery/wfexample.png" mce_src="http://www.vcoteam.info/images/phocagallery/wfexample.png" alt="Workflow Example" border="0" height="324" width="389" /></td> </tr> <tr> <td style="text-align: center;" mce_style="text-align: center;"><i>vCenter Orchestrator Workflow example<br /></i></td> </tr> </tbody> </table> <p><u><b>For the workflow developer<br /></b></u></p> <ul> <li>It is much easier to troubleshoot / maintain / modularize - reuse workflows than scripting : As an example: Before using vCenter Orchestrator I had spent a large effort on a very long script to handle site disaster recovery. It was difficult for me to troubleshoot and maintain it particularly when I had to do it a few months after the first time I put it in production . With vCenter Orchestrator I delivered something similar to the Perl script, except I did it in one week and it was multithreaded and load balancing the VM copy operations on different ESX servers. I reused part of this workflow in several occasions and I have met with the customer years after delivery: he was still running it and had done his own changes / improvement on it).</li> </ul> <p><br /></p> <ul> <li>Workflow development studio: <br /> <ul> <li>vCenter Orchestrator drag and drop workflow development environment with its library of modular, re-usable workflows</li> </ul> <ul> <li>API explorer: A single interface to check all orchestrated objects and methods.</li> </ul> </li> </ul> <p><br /></p> <ul> <li>Content life cycle management:  vCenter orchestrator provides -<br /> <ul> <li><b><i>A packager managing dependencies:</i></b> This allows simple distribution of a set of functionality you need to deliver to your customer.</li> <li><b><i>Version history: </i></b>This allows to manage workflow versions when shared across different packages or synchronized across vCenter Orchestrator servers.</li> <li><b><i>Signed Certificates and Digital Right Management:</i></b> This allows you to protect the workflows you have developed against changes, redistribution or copy of the source code.</li> <li><b><i>Synchronization: </i></b>Synchronize the workflows, packages across vCO servers. Need to move workflows from dev to test or test to pre-prod. Synchronization do it automatically for you.</li> </ul></li> </ul><table class="mceItemTable" border="0"><tbody><tr><td><p><img src="http://www.vcoteam.info/images/phocagallery/vco_synchronization.png" alt="vCO Synchronization" border="0" height="415" width="500" /></p></td></tr><tr><td><table border="0" height="22" width="500"> <tbody> <tr> <td style="text-align: center;"><em>Content synchronization between vCenter Orchestrator servers<br /></em></td> </tr> </tbody> </table></td></tr></tbody></table> <p><br /></p> <ul> <li><b><i>Environment abstraction:</i></b> server specific configurations elements allows to copy a workflow from a vCenter Orchestrator server (i.e Development / test environment) to another one (i.e customer prod) and it automatically uses the specific environment it performs operations on or use specific settings for this environment.</li> </ul> <table class="mceItemTable" border="0"> <tbody> <tr> <td><img src="http://www.vcoteam.info/images/phocagallery/config_element.png" mce_src="http://www.vcoteam.info/images/phocagallery/config_element.png" alt="Config Element" border="0" width="500" /></td> </tr> <tr> <td style="text-align: center;" mce_style="text-align: center;"><i>vCenter Orchestrator Server specific configurations example</i></td> </tr> </tbody> </table> <ul> <li><b><i>Resources centralization: </i></b> File resources can be loaded in vCenter Orchestrator and be used from there making them highly available (vs having them in a filesystem somewhere). For example a registry file can be stored for being applied to a VM post installation.</li> </ul> <ul> <li><b><i>Custom properties: </i></b>Attach key, value pairs to any orchestrated object. This allows to extend each object with custom properties allowing their lifecycle management.</li> </ul> <p><br /></p> <p><b><u>Superior Cloud Orchestration</u></b></p> <ul> <li>vCenter Orchestrator has the most complete cloud integration (vCenter, <a href="http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-plug-in-for-vcloud-director.html" mce_href="http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-plug-in-for-vcloud-director.html" target="_blank">VMware vCloud Director</a>, <a href="http://www.vcoteam.info/newsflash/vmware-released-the-amqp-plug-in.html" mce_href="http://www.vcoteam.info/newsflash/vmware-released-the-amqp-plug-in.html" target="_blank">AMQP</a>, <a href="http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-plug-in-for-vcenter-update-manager.html" mce_href="http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-plug-in-for-vcenter-update-manager.html" target="_blank">Update Manager</a>)</li> <li>Third party APIs support through the use of generic <a href="http://www.vcoteam.info/newsflash/vmware-released-the-generic-soap-and-rest-plug-ins.html" mce_href="http://www.vcoteam.info/newsflash/vmware-released-the-generic-soap-and-rest-plug-ins.html" target="_blank">SOAP and REST plug-ins</a>. Integration is <a href="http://blogs.vmware.com/orchestrator/2011/07/vcloud-director-twitter-yahoo-and-foursquarecom-http-rest-plug-in-use-case-examples.html" mce_href="http://blogs.vmware.com/orchestrator/2011/07/vcloud-director-twitter-yahoo-and-foursquarecom-http-rest-plug-in-use-case-examples.html" target="_blank">easy</a>.</li> <li>Specific third parties integration (<a href="http://www.vcoteam.info/newsflash/vcenter-orchestrator-plug-in-for-microsoft-active-directory-released.html" mce_href="http://www.vcoteam.info/newsflash/vcenter-orchestrator-plug-in-for-microsoft-active-directory-released.html" target="_blank">Microsoft Active Directory</a>, <a href="http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-plug-in-for-the-cisco-ucs-manager.html" mce_href="http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-plug-in-for-the-cisco-ucs-manager.html" target="_blank">CISCO UCS</a>) as seen at VMworld (<a href="http://www.vcoteam.info/newsflash/vcloud-director-orchestrated-infrastructure-provisioning-featuring-netapp-storage-service-catalog.html" mce_href="http://www.vcoteam.info/newsflash/vcloud-director-orchestrated-infrastructure-provisioning-featuring-netapp-storage-service-catalog.html">NetApp</a>, <a href="http://www.vcoteam.info/newsflash/infoblox-announced-a-vcenter-orchestrator-plug-in.html" mce_href="http://www.vcoteam.info/newsflash/infoblox-announced-a-vcenter-orchestrator-plug-in.html">Infoblox</a>, <a href="http://www.vcoteam.info/vco-features/radware-adc-virtualization-a-vmware-orchestrator-an-integration-demo.html" mce_href="http://www.vcoteam.info/vco-features/radware-adc-virtualization-a-vmware-orchestrator-an-integration-demo.html" target="_blank">Radware</a>). More will come as the <a href="http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-plug-in-sdk.html" mce_href="http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-plug-in-sdk.html" target="_blank">plug-in SDK has now been released</a>.</li> <li>Cached inventory supporting automatic object updates.</li> <li>2 ways communication: workflows can start operations on orchestrated systems or workflows can be triggered based on policy events received form the orchestrated systems such as inventory object updates.</li> </ul> <p><br /></p> <p><u><b>Designed for the cloud</b></u></p> <ul> <li>vCenter Orchestrator is java based and as a "natural" integration with Java / Spring. vCenter Orchestrator Customers build their own plug-in leveraging their java code.</li> <li>vCO is platform independent, it can run on its own in a virtual appliance.</li> </ul> <p><br /></p> <p><u><b>A clear choice for the most demanding customers</b></u></p> <ul> <li>Large service providers use vCenter Orchestrator as their cloud workflow engine (i.e T-Systems presentation at VMworld and I know at least two others do).</li> <li>Enterprise customers use it for their private cloud, integrations, virtual infrastructure and cloud lifecycle and operation automation.</li> </ul> <p><br /></p> <p><b><u>Already installed</u></b></p> <p>vCenter Orchestrator was installed as part of the vCenter Installation. It is waiting for you to take advantage of it for free with <a href="http://www.vcoteam.info/new-to-vcenter-orchestrator-vco/how-to-configure-vcenter-orchestrator-vco.html" mce_href="http://www.vcoteam.info/new-to-vcenter-orchestrator-vco/how-to-configure-vcenter-orchestrator-vco.html" target="_blank">configuring it</a> as did <a target="_blank" mce_href="http://www.vcoteam.info/videos/viewvideo/16/how-to/how-to-configure-vmware-vcenter-orchestrator-41.html" href="http://www.vcoteam.info/videos/viewvideo/16/how-to/how-to-configure-vmware-vcenter-orchestrator-41.html">thousands of VMware customers</a> (also <a href="http://www.vcoteam.info/videos/viewvideo/17/how-to/objective-82-administer-vcenter-orchestrator.html" mce_href="http://www.vcoteam.info/videos/viewvideo/17/how-to/objective-82-administer-vcenter-orchestrator.html" target="_blank">here</a>).</p> <p><br /></p> <p><u><b>Does not prevent you from using other scripts</b></u></p> <p>vCenter Orchestrator can start external command lines, SSH or use SOAP / REST. The scripts can be centralized as resource files in vCenter Orchestrator to benefit from high availability.</p> <p><br /></p> <p><b><u>OK, great but how much ?</u></b></p> <p>An advanced orchestration engine, plug-in adapters, library of workflows cost a fortune compared to a scripting engine. vCenter Orchestrator is coming <a href="http://www.vcoteam.info/product/how-is-it-licensed.html" mce_href="http://www.vcoteam.info/product/how-is-it-licensed.html" target="_blank">free</a> with vCenter.</p> <p><br /></p> <p><img src="http://www.vcoteam.info/images/phocagallery/zero_dollar_bill.png" mce_src="http://www.vcoteam.info/images/phocagallery/zero_dollar_bill.png" alt="alt" /></p> <p><img src="http://www.vcoteam.info/images/phocagallery/hidden_treasure.png" mce_src="http://www.vcoteam.info/images/phocagallery/hidden_treasure.png" alt="alt" /></p> <p><br /></p> <p>I am always asked why choose orchestration over scripting. The short answer is that orchestration has a lot more to offer; the long answer is below.</p> <p>I started to work in IT in 1995 after getting my analyst-programmer degree. Naturally I used scripted automation right away and never stopped since then. I have used batch, shell, vbscript, kix, perl and various other scripting languages to automate desktop and server automated provisioning and operations in physical and then virtual environments in the early 2000s. With such a profile I joined a Swiss orchestration start-up on a Wednesday and delivered my first workflows the week after ... I have provided such workflows to large service providers and enterprise customers that are running them in production. Orchestration became my most important tool and I can not imagine automation anymore without it.</p> <p>Scripting people have preferences for different scripting languages such as JavaScript, Perl, PowerShell, Python. Each of these have advantages and drawbacks. All of these are used in one way or another at VMware and we provide SDKs supporting these. vCenter Orchestrator uses JavaScript for his scripting engine. Javascript has a simplistic syntax and is widely used for web pages interaction and web apps (HTML5 and Flash).</p> <p>The specific value of a scripting language versus another is, in my opinion, irrelevant as long as you can get to the same result with a similar effort. It took me a few days to go from Perl to a JavaScript level good enough to do what I needed.</p> <p>What is making a big difference is the orchestration platform around the scripting engine and how it will help the different actors in the business including the different actors developing, operating and using the solution.</p> <p><b><u>For the end Users</u></b></p> <p>vCenter Orchestrator workflows span across IT departments and can delegate operational procedures to the end user.</p> <ul> <li>To do this the workflow engine implements security access control with setting permissions on different workflows or even different parts of the same workflow. Some operations can be run as the user while others can run as service accounts.</li> </ul> <p>The end user can use workflows with a web front-end either directly through the web views or indirectly through the web service which includes:</p> <ul> <li>Presentation forms with content validation. This allows to run scripts to control inputs as they are typed, manage dependencies between fields, calculate defaults.</li> </ul> <ul> <li>A real time inventory of all orchestrated objects providing single sign on capabilities, a cache mechanism and automatic updates. <br /> This provides a single pane of glass across all the systems allowing the end user to select object and check their main characteristics before submitting a workflow.</li> </ul> <table class="mceItemTable" border="0"> <tbody> <tr> <td><i><img src="http://www.vcoteam.info/images/phocagallery/vco_inventory.png" mce_src="http://www.vcoteam.info/images/phocagallery/vco_inventory.png" alt="vCO Inventory" border="0" /> <br /></i></td> <td><img src="http://www.vcoteam.info/images/phocagallery/vsm_inventory.png" mce_src="http://www.vcoteam.info/images/phocagallery/vsm_inventory.png" alt="VSM Inventory" border="0" /> <br /></td> </tr> <tr> <td style="text-align: center;" mce_style="text-align: center;"><i>vCenter Orchestrator <br /> Webview inventory<br /></i></td> <td style="text-align: center;" mce_style="text-align: center;"><i>Service Manager CMDB linking diagram <br /> leveraging Orchestrator Inventory</i><br /></td> </tr> </tbody> </table> <p><br /></p> <p><u><b>For the system administrators</b></u></p> <p>High availability:</p> <ul> <li>A workflow can resumes where it stopped if the vCenter Orchestrator host fails</li> <li>vCO can fail over to another vCO server and fail back</li> </ul> <p>vCenter Orchestrator is a stateless workflow engine server. All the process flows and data flows are stored in a database.</p> <p>Compliance:</p> <ul> <li>Each workflow has a life record containing start, end time, state, inputs, outputs, variables that can be used during or after execution</li> <li>All workflows have events that can trace all the operations information, warnings, errors </li> <li>The Log4J facility allows fine grained monitoring configuration</li> <li>All the workflows are centralized and versioned. No scripts scattered across all the orchestrated entities.</li> </ul> <p>Ease of understanding / development / maintenance:</p> <ul> <li><b>Out of the box <u>VMware supported </u>workflows</b>: vCenter Orchestrator plug-in library contains several hundreds supported open source workflows.</li> <li>No need to have script experience to understand what the sequencing, the logic and operations in a workflow. A workflow can be understood by management.</li> </ul> <table class="mceItemTable" border="0"> <tbody> <tr> <td><img src="http://www.vcoteam.info/images/phocagallery/wfexample.png" mce_src="http://www.vcoteam.info/images/phocagallery/wfexample.png" alt="Workflow Example" border="0" height="324" width="389" /></td> </tr> <tr> <td style="text-align: center;" mce_style="text-align: center;"><i>vCenter Orchestrator Workflow example<br /></i></td> </tr> </tbody> </table> <p><u><b>For the workflow developer<br /></b></u></p> <ul> <li>It is much easier to troubleshoot / maintain / modularize - reuse workflows than scripting : As an example: Before using vCenter Orchestrator I had spent a large effort on a very long script to handle site disaster recovery. It was difficult for me to troubleshoot and maintain it particularly when I had to do it a few months after the first time I put it in production . With vCenter Orchestrator I delivered something similar to the Perl script, except I did it in one week and it was multithreaded and load balancing the VM copy operations on different ESX servers. I reused part of this workflow in several occasions and I have met with the customer years after delivery: he was still running it and had done his own changes / improvement on it).</li> </ul> <p><br /></p> <ul> <li>Workflow development studio: <br /> <ul> <li>vCenter Orchestrator drag and drop workflow development environment with its library of modular, re-usable workflows</li> </ul> <ul> <li>API explorer: A single interface to check all orchestrated objects and methods.</li> </ul> </li> </ul> <p><br /></p> <ul> <li>Content life cycle management:  vCenter orchestrator provides -<br /> <ul> <li><b><i>A packager managing dependencies:</i></b> This allows simple distribution of a set of functionality you need to deliver to your customer.</li> <li><b><i>Version history: </i></b>This allows to manage workflow versions when shared across different packages or synchronized across vCenter Orchestrator servers.</li> <li><b><i>Signed Certificates and Digital Right Management:</i></b> This allows you to protect the workflows you have developed against changes, redistribution or copy of the source code.</li> <li><b><i>Synchronization: </i></b>Synchronize the workflows, packages across vCO servers. Need to move workflows from dev to test or test to pre-prod. Synchronization do it automatically for you.</li> </ul></li> </ul><table class="mceItemTable" border="0"><tbody><tr><td><p><img src="http://www.vcoteam.info/images/phocagallery/vco_synchronization.png" alt="vCO Synchronization" border="0" height="415" width="500" /></p></td></tr><tr><td><table border="0" height="22" width="500"> <tbody> <tr> <td style="text-align: center;"><em>Content synchronization between vCenter Orchestrator servers<br /></em></td> </tr> </tbody> </table></td></tr></tbody></table> <p><br /></p> <ul> <li><b><i>Environment abstraction:</i></b> server specific configurations elements allows to copy a workflow from a vCenter Orchestrator server (i.e Development / test environment) to another one (i.e customer prod) and it automatically uses the specific environment it performs operations on or use specific settings for this environment.</li> </ul> <table class="mceItemTable" border="0"> <tbody> <tr> <td><img src="http://www.vcoteam.info/images/phocagallery/config_element.png" mce_src="http://www.vcoteam.info/images/phocagallery/config_element.png" alt="Config Element" border="0" width="500" /></td> </tr> <tr> <td style="text-align: center;" mce_style="text-align: center;"><i>vCenter Orchestrator Server specific configurations example</i></td> </tr> </tbody> </table> <ul> <li><b><i>Resources centralization: </i></b> File resources can be loaded in vCenter Orchestrator and be used from there making them highly available (vs having them in a filesystem somewhere). For example a registry file can be stored for being applied to a VM post installation.</li> </ul> <ul> <li><b><i>Custom properties: </i></b>Attach key, value pairs to any orchestrated object. This allows to extend each object with custom properties allowing their lifecycle management.</li> </ul> <p><br /></p> <p><b><u>Superior Cloud Orchestration</u></b></p> <ul> <li>vCenter Orchestrator has the most complete cloud integration (vCenter, <a href="http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-plug-in-for-vcloud-director.html" mce_href="http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-plug-in-for-vcloud-director.html" target="_blank">VMware vCloud Director</a>, <a href="http://www.vcoteam.info/newsflash/vmware-released-the-amqp-plug-in.html" mce_href="http://www.vcoteam.info/newsflash/vmware-released-the-amqp-plug-in.html" target="_blank">AMQP</a>, <a href="http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-plug-in-for-vcenter-update-manager.html" mce_href="http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-plug-in-for-vcenter-update-manager.html" target="_blank">Update Manager</a>)</li> <li>Third party APIs support through the use of generic <a href="http://www.vcoteam.info/newsflash/vmware-released-the-generic-soap-and-rest-plug-ins.html" mce_href="http://www.vcoteam.info/newsflash/vmware-released-the-generic-soap-and-rest-plug-ins.html" target="_blank">SOAP and REST plug-ins</a>. Integration is <a href="http://blogs.vmware.com/orchestrator/2011/07/vcloud-director-twitter-yahoo-and-foursquarecom-http-rest-plug-in-use-case-examples.html" mce_href="http://blogs.vmware.com/orchestrator/2011/07/vcloud-director-twitter-yahoo-and-foursquarecom-http-rest-plug-in-use-case-examples.html" target="_blank">easy</a>.</li> <li>Specific third parties integration (<a href="http://www.vcoteam.info/newsflash/vcenter-orchestrator-plug-in-for-microsoft-active-directory-released.html" mce_href="http://www.vcoteam.info/newsflash/vcenter-orchestrator-plug-in-for-microsoft-active-directory-released.html" target="_blank">Microsoft Active Directory</a>, <a href="http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-plug-in-for-the-cisco-ucs-manager.html" mce_href="http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-plug-in-for-the-cisco-ucs-manager.html" target="_blank">CISCO UCS</a>) as seen at VMworld (<a href="http://www.vcoteam.info/newsflash/vcloud-director-orchestrated-infrastructure-provisioning-featuring-netapp-storage-service-catalog.html" mce_href="http://www.vcoteam.info/newsflash/vcloud-director-orchestrated-infrastructure-provisioning-featuring-netapp-storage-service-catalog.html">NetApp</a>, <a href="http://www.vcoteam.info/newsflash/infoblox-announced-a-vcenter-orchestrator-plug-in.html" mce_href="http://www.vcoteam.info/newsflash/infoblox-announced-a-vcenter-orchestrator-plug-in.html">Infoblox</a>, <a href="http://www.vcoteam.info/vco-features/radware-adc-virtualization-a-vmware-orchestrator-an-integration-demo.html" mce_href="http://www.vcoteam.info/vco-features/radware-adc-virtualization-a-vmware-orchestrator-an-integration-demo.html" target="_blank">Radware</a>). More will come as the <a href="http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-plug-in-sdk.html" mce_href="http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-plug-in-sdk.html" target="_blank">plug-in SDK has now been released</a>.</li> <li>Cached inventory supporting automatic object updates.</li> <li>2 ways communication: workflows can start operations on orchestrated systems or workflows can be triggered based on policy events received form the orchestrated systems such as inventory object updates.</li> </ul> <p><br /></p> <p><u><b>Designed for the cloud</b></u></p> <ul> <li>vCenter Orchestrator is java based and as a "natural" integration with Java / Spring. vCenter Orchestrator Customers build their own plug-in leveraging their java code.</li> <li>vCO is platform independent, it can run on its own in a virtual appliance.</li> </ul> <p><br /></p> <p><u><b>A clear choice for the most demanding customers</b></u></p> <ul> <li>Large service providers use vCenter Orchestrator as their cloud workflow engine (i.e T-Systems presentation at VMworld and I know at least two others do).</li> <li>Enterprise customers use it for their private cloud, integrations, virtual infrastructure and cloud lifecycle and operation automation.</li> </ul> <p><br /></p> <p><b><u>Already installed</u></b></p> <p>vCenter Orchestrator was installed as part of the vCenter Installation. It is waiting for you to take advantage of it for free with <a href="http://www.vcoteam.info/new-to-vcenter-orchestrator-vco/how-to-configure-vcenter-orchestrator-vco.html" mce_href="http://www.vcoteam.info/new-to-vcenter-orchestrator-vco/how-to-configure-vcenter-orchestrator-vco.html" target="_blank">configuring it</a> as did <a target="_blank" mce_href="http://www.vcoteam.info/videos/viewvideo/16/how-to/how-to-configure-vmware-vcenter-orchestrator-41.html" href="http://www.vcoteam.info/videos/viewvideo/16/how-to/how-to-configure-vmware-vcenter-orchestrator-41.html">thousands of VMware customers</a> (also <a href="http://www.vcoteam.info/videos/viewvideo/17/how-to/objective-82-administer-vcenter-orchestrator.html" mce_href="http://www.vcoteam.info/videos/viewvideo/17/how-to/objective-82-administer-vcenter-orchestrator.html" target="_blank">here</a>).</p> <p><br /></p> <p><u><b>Does not prevent you from using other scripts</b></u></p> <p>vCenter Orchestrator can start external command lines, SSH or use SOAP / REST. The scripts can be centralized as resource files in vCenter Orchestrator to benefit from high availability.</p> <p><br /></p> <p><b><u>OK, great but how much ?</u></b></p> <p>An advanced orchestration engine, plug-in adapters, library of workflows cost a fortune compared to a scripting engine. vCenter Orchestrator is coming <a href="http://www.vcoteam.info/product/how-is-it-licensed.html" mce_href="http://www.vcoteam.info/product/how-is-it-licensed.html" target="_blank">free</a> with vCenter.</p> <p><br /></p> <p><img src="http://www.vcoteam.info/images/phocagallery/zero_dollar_bill.png" mce_src="http://www.vcoteam.info/images/phocagallery/zero_dollar_bill.png" alt="alt" /></p> Configure the AMQP plug-in to monitor vCloud Director 2011-09-09T05:00:00Z 2011-09-09T05:00:00Z http://www.vcoteam.info/learn-vco/configure-the-amqp-plug-in.html Christophe Decanini webmaster@vcoteam.info <p>OK, so we told you about the great new plug-in that VMware has made available for vCO to work with AMQP, but now what? You'll need a couple things to get started before you can run off and code a bunch of cool workflows so let's step through this initial process...</p> <ul> <li>Get and Install AMQP Server (RabbitMQ)</li> <li>Configure Publisher (vCloud Director 1.5)</li> <li>Configure Consumer (vCenter Orchestrator) <ul> <li>Apply Policy Template to create new Policy</li> <li>How to create new Policy manually</li> <li>Starting the Policy</li> </ul> </li> </ul> <h2>Get and install an AMQP server.</h2> <p>For the tutorial I used a Debian based Linux and got rabbitMQ and installed it doing: sudo apt-get install rabbitmq-server</p> <p>If you do not have an AMQP server yet you can do this or get RabbitMQ from <a href="http://www.rabbitmq.com/download.html">here</a>. There are versions for different platforms. If you did not install your AMQP broker yet you can follow these <a href="http://www.rabbitmq.com/install.html">directions</a>.</p> <p>The AMQP plug-in documentation does not mention which versions are compatible. The plug-in was done using AMQP version 0-9-1 and tested against RabbitMQ. This tutorial was done using version 2.4 but newer version should work as well.</p> <h2>AMQP configuration</h2> <p>The AMQP installation provides a default configuration allowing to start the server and use it right away. This is what I used in this tutorial.</p> <p>If you intend to run AMQP in production it is recommended to configure the server to make it secure.</p> <h2>Publisher Configuration</h2> <p>We need to feed the message bus. Configure your message publisher with your AMQP host information. In this tutorial vCloud Director 1.5 is used as the publisher.</p> <p>Log in as a system administrator to vCloud Director (A tenant administrator cannot configure AMQP settings) and go to Administration / System Settings / Blocking Tasks. On the settings tab Enable Notifications and the AMQP Settings as follows (or differently if you customized the settings - be sure to use the FQDN or IP of your AMQP server).</p> <p><img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/vcdamqp_settings.png" alt="vCD AMQP Settings" /></p> <p>The default password is guest.</p> <p>Once done, click on Test AMQP Connection. If successful your vCloud Director Server will now send notification messages for all kind of events.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/amqp-connection-succeeded.png" alt="AMQP Connection Succeeded" width="250" height="125" /></p> <h2>Step by step AMQP consumer vCO configuration.</h2> <ol> <li>Open your vCO client, search for the "Add a broker" workflow. Start it and set it as follows:<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/001_add_amqp_broker.png" alt="Add AMQP broker" width="500" /><br /> <br /> </li> <li> This will create a new broker connection in the inventory. We are now going to declare a message queue for vCO. Search and start the "Declare a queue" workflow. Select the broker you have just created, name your queue and its options.<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/002_declare_a_queue.png" alt="Declare a queue" width="500" /><br /> <br /> </li> <li> The vCloud Director is publishing the messages to an Exchange named systemExchange. <span style="color: #0000ff;">[edited] <span style="text-decoration: line-through;">We do not need to declare an exchange since it was already declared by vCloud Director</span>. It seems vCD does not necessarely declare the exchange. To make sure it is done declare it on vCO side run the "Declare an exchange" workflow and select the following options. <img src="http://www.vcoteam.info/images/phocagallery/amqp_exchange.png" alt="alt" width="307" height="110" /> [/edited] </span></li> <br /> <li>What we need to do next is to bind the systemExchange to the vCO queue. For this search for the "bind" workflow and declare the binding as follows:<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/003b_bind.png" alt="Declare a binding" width="500" /><br /> <br /> </li> <li> The vCloud notification messages routing key has the following syntax format:<br /> <strong>{operationSuccess}.{entityUUID}.{orgUUID}.{userUUID}.{subType1}.{subType2}...{subTypeN}.{taskName}</strong> <br /> <br /> <div class="attention"> <div class="typo-icon">The queue routing key supports the "*" and "#" wildcard characters to match a single segment and zero or more segments. For example true.*.*.*. com.vmware.vcloud.event.vm.create or true.#.com.vmware.vcloud.event.vm.create will route a notification to the queue with this binding key every time any user from any organization successfully creates a VM). In the example above we route every messages to the vco queue.</div> </div> </li> <li> Now that we have a vco queue we need to subscribe to it so the AMQP plug-in can receive new messages automatically. Search for "Subscribe to queues" workflow, start and set as follows:<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/004_subscribe_to_queues.png" alt="Subscribe to queues" width="500" /><br /> <br /> <div class="attention"> <div class="typo-icon">When a message queue is subscribed the existing and new messages stored in this queue are consumed: the become available in vCO and are deleted from the queue. Now we need to create a workflow consuming these messages. For educational purposes we are just going to list all the information available in these messages to monitor vCD.</div> </div> </li> <li>Create a new workflow and call it "Display AMQP Message properties". Edit the workflow. <ul> <li>Add an input parameter "subscription" of type AMQP:Subscription.</li> <li>Add a Scriptable task (Generic tab), rename it "Consume message"</li> <li>Link the subscription input as input to the scriptable task<br /> <br /> </li> </ul> </li> <li>Copy the following code into it. <p>{code} var props = subscription.retrieveLastOnMessageTrigger();<br /> var messageBody = props.get('body'); var headers = props.get('headers'); var properties = props.get('properties'); <br /> System.log("notification.type : " + headers.get("notification.type")); System.log("notification.orgUUID : " + headers.get("notification.orgUUID")); System.log("notification.entityType : " + headers.get("notification.entityType")); System.log("notification.entityUUID : " + headers.get("notification.entityUUID")); System.log("notification.userUUID : " + headers.get("notification.userUUID")); System.log("notification.operationSuccess : " + headers.get("notification.operationSuccess")+ "\n"); System.log("messageBody : " + messageBody + "\n"); System.log("receivedRoutingKey : " + properties.get("receivedRoutingKey")); System.log("messageCount : " + properties.get("messageCount")); System.log("deliveryMode : " + properties.get("deliveryMode")); System.log("priority : " + properties.get("priority")); System.log("deliveryTag : " + properties.get("deliveryTag")); System.log("contentType : " + properties.get("contentType")); System.log("contentEncoding : " + properties.get("contentEncoding")); System.log("receivedExchange : " + properties.get("receivedExchange")); System.log("contentLength : " + properties.get("contentLength"));{/code}</p> </li> <li>Add an end, link it, validate the workflow.<br /> <br /> </li> <li>Save and close. The workflow should look like below:<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/display_amqp_properties.png" alt="Display AMQP properties" /></li> </ol> <p>Now that we have a subscription to the message queue and a workflow to consume messages we need to create a policy starting this workflow on new messages. The AMQP Plug-in provides a Subscription Policy Template that we can apply.</p> <h2>Apply a Policy Template to create new Policy</h2> <ol> <li>In the Policy Templates tab, expand out the tree to display the Library\AMQP\Subscription entry<br /> <br /> </li> <li>Right click on the <strong>Subscription</strong> Policy Template and click Apply Policy <br /><img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/apply-subscription-policy-template.png" alt="Apply Subscription Policy Template" width="354" height="313" /> <br /> <br /> </li> <li>When prompted for the inputs, select your <strong>vco</strong> Subscription that was created earlier, for the first two fields you may keep the defaults. Click Submit when done:<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/amqp-apply-policy.png" alt="Apply Policy" width="500" /><br /> <br /> </li> <li>Next, the new policy must be edited to specify which workflow is to be executed. Click the Policies tab on the left, then select and edit the <strong>Subscription </strong>policy:<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/edit-subscription-policy.png" alt="Edit Subscription Policy" width="288" height="182" /><br /> <br /> </li> <li>On the General tab, for startup: Select <strong>On server startup, start the policy</strong>. This tells vCO to start the policy each time the server is started or rebooted.<br /> <br /> </li> <li>Next, click on the Scripting tab, then select the <strong>OnMessage</strong> trigger event. In the bottom pane, click the magnifying glass icon to browse for and select the <strong>Display AMQP Message properties</strong> workflow that was created earlier. <br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/select-onmessage-set-workflow.png" alt="Select onMessage and set workflow" width="500" /><br /> <br /> </li> <li> Under the <strong>Source Parameter</strong> column, click <em><strong>not set</strong></em> and use the chooser to set that value to self:<br /><img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/amqp-choose-self.png" alt="Choose Self" width="500" /><br /> <br /> </li> <li>Once you have the Subscription specified, you may click Save and Close </li> </ol> <h3>To Create a new Policy Manually</h3> <div class="note"> <div class="typo-icon">NOTE: This step is not required if you applied the policy template as described in the previous section. This section is provided for reference on how to manually create a policy.</div> </div> <ol> <li>In the policy tab right click / Create a new policy<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/005_create_policy.png" alt="Create New Policy" /><br /> <br /> </li> <li>Name it as such:<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/006_create_policy.png" alt="Create Policy Name" /><br /> <br /> </li> <li> Click on "Add policy element" (gear icon on the left)<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/007_add_policy_element.png" alt="Add Policy Element" /><br /> <br /> </li> <li> Select AMQP:Subscription for type (the list below may vary depending on which plug-in is active on your server)<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/008_add_policy_element.png" alt="Select Type" width="500" /><br /> <br /> </li> <li> Type vco in the Filter to find the vco subscription you created previously.<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/009_add_policy_element.png" alt="Find Subscription" /><br /> <br /> </li> <li> Rename the policy element to "Subscription"<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/010_set_policy_element_name.png" alt="Set Policy Element Name" /><br /> <br /> </li> <li> With Subscription selected click on "Add trigger event..."<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/011_add_trigger_event.png" alt="Add Trigger Event" /><br /> <br /> </li> <li>Select "onMessage:<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/012_add_trigger_event.png" alt="Select onMessage" /><br /> <br /> </li> <li> Type "amqp in the filter" and select the workflow you have created to consume the message.<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/013_set_workflow.png" alt="Select amqp" width="500" /><br /> <br /> </li> <li> Click on the workflow "not set: workflow parameter <br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/014_set_workflow_parameter.png" alt="Click Not Set" width="500" /><br /> <br /> </li> <li> Select "self"<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/015_set_workflow_parameter.png" alt="Select self" width="500" /><br /> <br /> </li> <li> On the general tab you can optionally set your policy to start on server startup.<br /> <br /> </li> <li> Save and close.</li> </ol> <h2>Starting the Policy</h2> <ol> <li>Right click on policy / start.<br /> <br /> </li> <li>Check the policy log tab to see if workflows where started.<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/policy_logs.png" alt="Policy Logs" width="500" /><br /> <br /> </li> <li> Open the "Display AMQP Message properties" workflow logs tab on the workflow runs to check the content of the messages.<br /> You should see something like this:<br /> <p>{code} [2011-08-17 21:55:54.724] [I] Started from policy : Handle vCD Messages [2011-08-17 21:55:54.893] [I] notification.type : com/vmware/vcloud/event/task/complete [2011-08-17 21:55:54.894] [I] notification.orgUUID : 853ebd05-a19a-438e-9d85-1b528c69ca12 [2011-08-17 21:55:54.894] [I] notification.entityType : com.vmware.vcloud.entity.task [2011-08-17 21:55:54.894] [I] notification.entityUUID : 634a2aaa-0e4c-47c5-9ad7-dc20df251f83 [2011-08-17 21:55:54.894] [I] notification.userUUID : c1d18808-7685-439b-84b5-654862c0f5c0 [2011-08-17 21:55:54.895] [I] notification.operationSuccess : false [2011-08-17 21:55:54.895] [I] messageBody : {/code}</p> <p>{code class="brush: xml; gutter: false;" }<br /><br /><br /><br /><br /><br /><br /><br />2011-08-17T15:44:35.573-04:00<br />false<br /><br /> {/code}</p> <p>{code} 2011-08-17T15:44:35.573-04:00 false [2011-08-17 21:55:54.895] [I] receivedRoutingKey : false.634a2aaa-0e4c-47c5-9ad7-dc20df251f83.853ebd05-a19a-438e-9d85-1b528c69ca12.c1d18808-7685-439b-84b5-654862c0f5c0.com.vmware.vcloud.event.task.complete.vappDeploy [2011-08-17 21:55:54.895] [I] messageCount : 0 [2011-08-17 21:55:54.895] [I] deliveryMode : 2 [2011-08-17 21:55:54.896] [I] priority : 0 [2011-08-17 21:55:54.896] [I] deliveryTag : 18 [2011-08-17 21:55:54.896] [I] contentType : application/xml [2011-08-17 21:55:54.896] [I] contentEncoding : UTF-8 [2011-08-17 21:55:54.896] [I] receivedExchange : systemExchange [2011-08-17 21:55:54.897] [I] contentLength : 0 {/code}</p> </li> </ol> <p>The first block is the information in the headers. It contains:</p> <ul> <li> the operation (here a task completed)</li> <li> the type of the object concerned (a task)</li> <li>the Universally Unique Identifiers for this task, the organization it belongs to and the user who started it</li> <li>the result of the operation (here the task failed)</li> </ul> <p>Using the header is useful for triaging events to take different actions (for example log success, log errors and start a remediation workflow). The UUIDs can be useful for matching against the catalog of object stored in a CMDB.</p> <p>The second block is the body of the message. It contains additional information such as:</p> <ul> <li>The URL link to the vCD server</li> <li>Links, names and IDs of the entity, user, org</li> <li>Time of the event</li> </ul> <p>(Here the administrator unsuccessfully deployed a vApp 2011-08-17 15:44:35.573 US Eastern time in the organization Christophe). This allows to have basic human readable information without getting further information in a CMDB and optionally use the links to to get further information and take action on objects using the vCloud API.</p> <p>The last block contains properties on the message such as the routing key and the exchange it was received from. This can be useful information to fine tune the binding between the exchange and queue to avoid handling messages that are of no interest.</p> <p>OK, so we told you about the great new plug-in that VMware has made available for vCO to work with AMQP, but now what? You'll need a couple things to get started before you can run off and code a bunch of cool workflows so let's step through this initial process...</p> <ul> <li>Get and Install AMQP Server (RabbitMQ)</li> <li>Configure Publisher (vCloud Director 1.5)</li> <li>Configure Consumer (vCenter Orchestrator) <ul> <li>Apply Policy Template to create new Policy</li> <li>How to create new Policy manually</li> <li>Starting the Policy</li> </ul> </li> </ul> <h2>Get and install an AMQP server.</h2> <p>For the tutorial I used a Debian based Linux and got rabbitMQ and installed it doing: sudo apt-get install rabbitmq-server</p> <p>If you do not have an AMQP server yet you can do this or get RabbitMQ from <a href="http://www.rabbitmq.com/download.html">here</a>. There are versions for different platforms. If you did not install your AMQP broker yet you can follow these <a href="http://www.rabbitmq.com/install.html">directions</a>.</p> <p>The AMQP plug-in documentation does not mention which versions are compatible. The plug-in was done using AMQP version 0-9-1 and tested against RabbitMQ. This tutorial was done using version 2.4 but newer version should work as well.</p> <h2>AMQP configuration</h2> <p>The AMQP installation provides a default configuration allowing to start the server and use it right away. This is what I used in this tutorial.</p> <p>If you intend to run AMQP in production it is recommended to configure the server to make it secure.</p> <h2>Publisher Configuration</h2> <p>We need to feed the message bus. Configure your message publisher with your AMQP host information. In this tutorial vCloud Director 1.5 is used as the publisher.</p> <p>Log in as a system administrator to vCloud Director (A tenant administrator cannot configure AMQP settings) and go to Administration / System Settings / Blocking Tasks. On the settings tab Enable Notifications and the AMQP Settings as follows (or differently if you customized the settings - be sure to use the FQDN or IP of your AMQP server).</p> <p><img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/vcdamqp_settings.png" alt="vCD AMQP Settings" /></p> <p>The default password is guest.</p> <p>Once done, click on Test AMQP Connection. If successful your vCloud Director Server will now send notification messages for all kind of events.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/amqp-connection-succeeded.png" alt="AMQP Connection Succeeded" width="250" height="125" /></p> <h2>Step by step AMQP consumer vCO configuration.</h2> <ol> <li>Open your vCO client, search for the "Add a broker" workflow. Start it and set it as follows:<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/001_add_amqp_broker.png" alt="Add AMQP broker" width="500" /><br /> <br /> </li> <li> This will create a new broker connection in the inventory. We are now going to declare a message queue for vCO. Search and start the "Declare a queue" workflow. Select the broker you have just created, name your queue and its options.<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/002_declare_a_queue.png" alt="Declare a queue" width="500" /><br /> <br /> </li> <li> The vCloud Director is publishing the messages to an Exchange named systemExchange. <span style="color: #0000ff;">[edited] <span style="text-decoration: line-through;">We do not need to declare an exchange since it was already declared by vCloud Director</span>. It seems vCD does not necessarely declare the exchange. To make sure it is done declare it on vCO side run the "Declare an exchange" workflow and select the following options. <img src="http://www.vcoteam.info/images/phocagallery/amqp_exchange.png" alt="alt" width="307" height="110" /> [/edited] </span></li> <br /> <li>What we need to do next is to bind the systemExchange to the vCO queue. For this search for the "bind" workflow and declare the binding as follows:<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/003b_bind.png" alt="Declare a binding" width="500" /><br /> <br /> </li> <li> The vCloud notification messages routing key has the following syntax format:<br /> <strong>{operationSuccess}.{entityUUID}.{orgUUID}.{userUUID}.{subType1}.{subType2}...{subTypeN}.{taskName}</strong> <br /> <br /> <div class="attention"> <div class="typo-icon">The queue routing key supports the "*" and "#" wildcard characters to match a single segment and zero or more segments. For example true.*.*.*. com.vmware.vcloud.event.vm.create or true.#.com.vmware.vcloud.event.vm.create will route a notification to the queue with this binding key every time any user from any organization successfully creates a VM). In the example above we route every messages to the vco queue.</div> </div> </li> <li> Now that we have a vco queue we need to subscribe to it so the AMQP plug-in can receive new messages automatically. Search for "Subscribe to queues" workflow, start and set as follows:<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/004_subscribe_to_queues.png" alt="Subscribe to queues" width="500" /><br /> <br /> <div class="attention"> <div class="typo-icon">When a message queue is subscribed the existing and new messages stored in this queue are consumed: the become available in vCO and are deleted from the queue. Now we need to create a workflow consuming these messages. For educational purposes we are just going to list all the information available in these messages to monitor vCD.</div> </div> </li> <li>Create a new workflow and call it "Display AMQP Message properties". Edit the workflow. <ul> <li>Add an input parameter "subscription" of type AMQP:Subscription.</li> <li>Add a Scriptable task (Generic tab), rename it "Consume message"</li> <li>Link the subscription input as input to the scriptable task<br /> <br /> </li> </ul> </li> <li>Copy the following code into it. <p>{code} var props = subscription.retrieveLastOnMessageTrigger();<br /> var messageBody = props.get('body'); var headers = props.get('headers'); var properties = props.get('properties'); <br /> System.log("notification.type : " + headers.get("notification.type")); System.log("notification.orgUUID : " + headers.get("notification.orgUUID")); System.log("notification.entityType : " + headers.get("notification.entityType")); System.log("notification.entityUUID : " + headers.get("notification.entityUUID")); System.log("notification.userUUID : " + headers.get("notification.userUUID")); System.log("notification.operationSuccess : " + headers.get("notification.operationSuccess")+ "\n"); System.log("messageBody : " + messageBody + "\n"); System.log("receivedRoutingKey : " + properties.get("receivedRoutingKey")); System.log("messageCount : " + properties.get("messageCount")); System.log("deliveryMode : " + properties.get("deliveryMode")); System.log("priority : " + properties.get("priority")); System.log("deliveryTag : " + properties.get("deliveryTag")); System.log("contentType : " + properties.get("contentType")); System.log("contentEncoding : " + properties.get("contentEncoding")); System.log("receivedExchange : " + properties.get("receivedExchange")); System.log("contentLength : " + properties.get("contentLength"));{/code}</p> </li> <li>Add an end, link it, validate the workflow.<br /> <br /> </li> <li>Save and close. The workflow should look like below:<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/display_amqp_properties.png" alt="Display AMQP properties" /></li> </ol> <p>Now that we have a subscription to the message queue and a workflow to consume messages we need to create a policy starting this workflow on new messages. The AMQP Plug-in provides a Subscription Policy Template that we can apply.</p> <h2>Apply a Policy Template to create new Policy</h2> <ol> <li>In the Policy Templates tab, expand out the tree to display the Library\AMQP\Subscription entry<br /> <br /> </li> <li>Right click on the <strong>Subscription</strong> Policy Template and click Apply Policy <br /><img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/apply-subscription-policy-template.png" alt="Apply Subscription Policy Template" width="354" height="313" /> <br /> <br /> </li> <li>When prompted for the inputs, select your <strong>vco</strong> Subscription that was created earlier, for the first two fields you may keep the defaults. Click Submit when done:<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/amqp-apply-policy.png" alt="Apply Policy" width="500" /><br /> <br /> </li> <li>Next, the new policy must be edited to specify which workflow is to be executed. Click the Policies tab on the left, then select and edit the <strong>Subscription </strong>policy:<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/edit-subscription-policy.png" alt="Edit Subscription Policy" width="288" height="182" /><br /> <br /> </li> <li>On the General tab, for startup: Select <strong>On server startup, start the policy</strong>. This tells vCO to start the policy each time the server is started or rebooted.<br /> <br /> </li> <li>Next, click on the Scripting tab, then select the <strong>OnMessage</strong> trigger event. In the bottom pane, click the magnifying glass icon to browse for and select the <strong>Display AMQP Message properties</strong> workflow that was created earlier. <br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/select-onmessage-set-workflow.png" alt="Select onMessage and set workflow" width="500" /><br /> <br /> </li> <li> Under the <strong>Source Parameter</strong> column, click <em><strong>not set</strong></em> and use the chooser to set that value to self:<br /><img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/amqp-choose-self.png" alt="Choose Self" width="500" /><br /> <br /> </li> <li>Once you have the Subscription specified, you may click Save and Close </li> </ol> <h3>To Create a new Policy Manually</h3> <div class="note"> <div class="typo-icon">NOTE: This step is not required if you applied the policy template as described in the previous section. This section is provided for reference on how to manually create a policy.</div> </div> <ol> <li>In the policy tab right click / Create a new policy<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/005_create_policy.png" alt="Create New Policy" /><br /> <br /> </li> <li>Name it as such:<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/006_create_policy.png" alt="Create Policy Name" /><br /> <br /> </li> <li> Click on "Add policy element" (gear icon on the left)<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/007_add_policy_element.png" alt="Add Policy Element" /><br /> <br /> </li> <li> Select AMQP:Subscription for type (the list below may vary depending on which plug-in is active on your server)<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/008_add_policy_element.png" alt="Select Type" width="500" /><br /> <br /> </li> <li> Type vco in the Filter to find the vco subscription you created previously.<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/009_add_policy_element.png" alt="Find Subscription" /><br /> <br /> </li> <li> Rename the policy element to "Subscription"<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/010_set_policy_element_name.png" alt="Set Policy Element Name" /><br /> <br /> </li> <li> With Subscription selected click on "Add trigger event..."<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/011_add_trigger_event.png" alt="Add Trigger Event" /><br /> <br /> </li> <li>Select "onMessage:<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/012_add_trigger_event.png" alt="Select onMessage" /><br /> <br /> </li> <li> Type "amqp in the filter" and select the workflow you have created to consume the message.<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/013_set_workflow.png" alt="Select amqp" width="500" /><br /> <br /> </li> <li> Click on the workflow "not set: workflow parameter <br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/014_set_workflow_parameter.png" alt="Click Not Set" width="500" /><br /> <br /> </li> <li> Select "self"<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/015_set_workflow_parameter.png" alt="Select self" width="500" /><br /> <br /> </li> <li> On the general tab you can optionally set your policy to start on server startup.<br /> <br /> </li> <li> Save and close.</li> </ol> <h2>Starting the Policy</h2> <ol> <li>Right click on policy / start.<br /> <br /> </li> <li>Check the policy log tab to see if workflows where started.<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/configure-amqp/policy_logs.png" alt="Policy Logs" width="500" /><br /> <br /> </li> <li> Open the "Display AMQP Message properties" workflow logs tab on the workflow runs to check the content of the messages.<br /> You should see something like this:<br /> <p>{code} [2011-08-17 21:55:54.724] [I] Started from policy : Handle vCD Messages [2011-08-17 21:55:54.893] [I] notification.type : com/vmware/vcloud/event/task/complete [2011-08-17 21:55:54.894] [I] notification.orgUUID : 853ebd05-a19a-438e-9d85-1b528c69ca12 [2011-08-17 21:55:54.894] [I] notification.entityType : com.vmware.vcloud.entity.task [2011-08-17 21:55:54.894] [I] notification.entityUUID : 634a2aaa-0e4c-47c5-9ad7-dc20df251f83 [2011-08-17 21:55:54.894] [I] notification.userUUID : c1d18808-7685-439b-84b5-654862c0f5c0 [2011-08-17 21:55:54.895] [I] notification.operationSuccess : false [2011-08-17 21:55:54.895] [I] messageBody : {/code}</p> <p>{code class="brush: xml; gutter: false;" }<br /><br /><br /><br /><br /><br /><br /><br />2011-08-17T15:44:35.573-04:00<br />false<br /><br /> {/code}</p> <p>{code} 2011-08-17T15:44:35.573-04:00 false [2011-08-17 21:55:54.895] [I] receivedRoutingKey : false.634a2aaa-0e4c-47c5-9ad7-dc20df251f83.853ebd05-a19a-438e-9d85-1b528c69ca12.c1d18808-7685-439b-84b5-654862c0f5c0.com.vmware.vcloud.event.task.complete.vappDeploy [2011-08-17 21:55:54.895] [I] messageCount : 0 [2011-08-17 21:55:54.895] [I] deliveryMode : 2 [2011-08-17 21:55:54.896] [I] priority : 0 [2011-08-17 21:55:54.896] [I] deliveryTag : 18 [2011-08-17 21:55:54.896] [I] contentType : application/xml [2011-08-17 21:55:54.896] [I] contentEncoding : UTF-8 [2011-08-17 21:55:54.896] [I] receivedExchange : systemExchange [2011-08-17 21:55:54.897] [I] contentLength : 0 {/code}</p> </li> </ol> <p>The first block is the information in the headers. It contains:</p> <ul> <li> the operation (here a task completed)</li> <li> the type of the object concerned (a task)</li> <li>the Universally Unique Identifiers for this task, the organization it belongs to and the user who started it</li> <li>the result of the operation (here the task failed)</li> </ul> <p>Using the header is useful for triaging events to take different actions (for example log success, log errors and start a remediation workflow). The UUIDs can be useful for matching against the catalog of object stored in a CMDB.</p> <p>The second block is the body of the message. It contains additional information such as:</p> <ul> <li>The URL link to the vCD server</li> <li>Links, names and IDs of the entity, user, org</li> <li>Time of the event</li> </ul> <p>(Here the administrator unsuccessfully deployed a vApp 2011-08-17 15:44:35.573 US Eastern time in the organization Christophe). This allows to have basic human readable information without getting further information in a CMDB and optionally use the links to to get further information and take action on objects using the vCloud API.</p> <p>The last block contains properties on the message such as the routing key and the exchange it was received from. This can be useful information to fine tune the binding between the exchange and queue to avoid handling messages that are of no interest.</p> VMware released a vCenter Orchestrator Training course 2011-09-06T19:25:13Z 2011-09-06T19:25:13Z http://www.vcoteam.info/newsflash/vmware-released-a-vcenter-orchestrator-training-course.html Christophe Decanini webmaster@vcoteam.info <p><img src="http://www.vcoteam.info/images/phocagallery/vco_training1.png" alt="alt" width="495" height="93" /></p> <p>&nbsp;</p> <p>Growing interest in vCenter and vCloud Orchestration has led to the creation of a new training course for vCenter Orchestrator.</p> <p>&nbsp;</p> <p>&nbsp;</p> <p>This three days hands on training is available in classroom, onsite or online. It is aimed at vCenter Orchestrator beginners and requires vSphere administrators and basic scripting skills. Areas covered are installation and configuration, architecture, use of the library workflows and development of custom workflows interacting with external systems.</p> <p>For knowing some of the folks involved in designing and giving the course (Brian and <a href="http://www.vcoportal.de" target="_blank">J&ouml;rg</a>) we heartily recommend it.</p> <p>&nbsp;</p> <p><img src="http://www.vcoteam.info/images/phocagallery/vco_training2.png" alt="alt" /></p> <p>Find the complete program please visit <a href="http://mylearn1.vmware.com/mgrreg/courses.cfm?ui=www_edu&amp;a=one&amp;id_subject=24347" target="_blank">VMware mylearn</a> and check the <a href="http://mylearn1.vmware.com/descriptions/EDU_DATASHEET_vCenterOrchestrator_V411.pdf" target="_blank">course datasheet</a>.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/vco_training1.png" alt="alt" width="495" height="93" /></p> <p>&nbsp;</p> <p>Growing interest in vCenter and vCloud Orchestration has led to the creation of a new training course for vCenter Orchestrator.</p> <p>&nbsp;</p> <p>&nbsp;</p> <p>This three days hands on training is available in classroom, onsite or online. It is aimed at vCenter Orchestrator beginners and requires vSphere administrators and basic scripting skills. Areas covered are installation and configuration, architecture, use of the library workflows and development of custom workflows interacting with external systems.</p> <p>For knowing some of the folks involved in designing and giving the course (Brian and <a href="http://www.vcoportal.de" target="_blank">J&ouml;rg</a>) we heartily recommend it.</p> <p>&nbsp;</p> <p><img src="http://www.vcoteam.info/images/phocagallery/vco_training2.png" alt="alt" /></p> <p>Find the complete program please visit <a href="http://mylearn1.vmware.com/mgrreg/courses.cfm?ui=www_edu&amp;a=one&amp;id_subject=24347" target="_blank">VMware mylearn</a> and check the <a href="http://mylearn1.vmware.com/descriptions/EDU_DATASHEET_vCenterOrchestrator_V411.pdf" target="_blank">course datasheet</a>.</p> Free preview of "Automating vSphere: With VMware vCenter Orchestrator" by Cody Bunch 2011-08-30T18:12:18Z 2011-08-30T18:12:18Z http://www.vcoteam.info/newsflash/free-preview-of-qautomating-vsphere-with-vmware-vcenter-orchestratorq-by-cody-bunch.html Christophe Decanini webmaster@vcoteam.info <p>Download the VMware Press FREE Preview sampler. Containing advance chapters from upcoming VMware Press books and from author Cody Bunch, Mike Laverick, and Mostafa Khalil.</p><p /></p><p>Automating vSphere: With VMware vCenter Orchestrator by Cody Bunch, ISBN: 9780321799913, December 2011</p> <ul> <li>CHAPTER 6: Introduction to Workflow-Fu</li> </ul><p>Administering VMware Site Recovery Manager 5.0 by Mike Laverick, ISBN: 9780321799920, December, 2011 </p><ul> <li>CHAPTER 9: Configuring the Protected Site</li> <li>CHAPTER 16: Upgrading from SRM 4.1 to SRM 5.0</li> </ul><p> Storage Design and Implementation in vSphere 5.0 by Mostafa Khalil, ISBN: 9780321799937, February 2012 </p><ul> <li>CHAPTER 6: ALUA</li> </ul><p>Check this out <a target="_blank" mce_href="http://promo.pearsonitcertification.com/pages/start/plp082011-vmware-press-free-preview-download/index.html?Campaign_Id=645&Activity_Id=1057" href="http://promo.pearsonitcertification.com/pages/start/plp082011-vmware-press-free-preview-download/index.html?Campaign_Id=645&Activity_Id=1057">here</a>.<br /></p> <p>Download the VMware Press FREE Preview sampler. Containing advance chapters from upcoming VMware Press books and from author Cody Bunch, Mike Laverick, and Mostafa Khalil.</p><p /></p><p>Automating vSphere: With VMware vCenter Orchestrator by Cody Bunch, ISBN: 9780321799913, December 2011</p> <ul> <li>CHAPTER 6: Introduction to Workflow-Fu</li> </ul><p>Administering VMware Site Recovery Manager 5.0 by Mike Laverick, ISBN: 9780321799920, December, 2011 </p><ul> <li>CHAPTER 9: Configuring the Protected Site</li> <li>CHAPTER 16: Upgrading from SRM 4.1 to SRM 5.0</li> </ul><p> Storage Design and Implementation in vSphere 5.0 by Mostafa Khalil, ISBN: 9780321799937, February 2012 </p><ul> <li>CHAPTER 6: ALUA</li> </ul><p>Check this out <a target="_blank" mce_href="http://promo.pearsonitcertification.com/pages/start/plp082011-vmware-press-free-preview-download/index.html?Campaign_Id=645&Activity_Id=1057" href="http://promo.pearsonitcertification.com/pages/start/plp082011-vmware-press-free-preview-download/index.html?Campaign_Id=645&Activity_Id=1057">here</a>.<br /></p> Infoblox announced a vCenter Orchestrator plug-in 2011-08-30T17:53:23Z 2011-08-30T17:53:23Z http://www.vcoteam.info/newsflash/infoblox-announced-a-vcenter-orchestrator-plug-in.html Christophe Decanini webmaster@vcoteam.info <p><img src="http://www.vcoteam.info/images/infoblox-logo.png" mce_src="http://www.vcoteam.info/images/infoblox-logo.png" alt="alt" /><br /></p><p>Quoting the Infoblox press-release:<br /></p><p><cite>Today at VMworld® 2011, <a href="http://www.infoblox.com/en/home.html" mce_href="http://www.infoblox.com/en/home.html">Infoblox</a> Inc. announced it is delivering a fully integrated plug-in for the VMware vCloud® Orchestrator community. Working with VMware vCloud Director™, the integrated solution provides automated IP addressing and related management capabilities in real-time as virtual machines are created. </cite></p><p><cite>As a result, the Infoblox plug-in accelerates private and public cloud deployment, simplifies management and bridges network and virtual IT team silos by enabling automated assignment of IP addresses to virtual machines. Additionally, VMware vCloud™ Director integrated with Infoblox delivers cloud infrastructure resources on-demand to provide maximum business agility using virtualized resources.</cite></p><p><br /></p><p><br /></p><p>Note the slip-up "vCloud Orchestrator"  </p><p>The plug-in allows to:<br /></p><ul> <li>Provision systems in minutes instead of days with automated IP address provisioning for Cloud infrastructure and services</li> <li>Improve reliability with automated HA/DR for critical underlying network services</li> <li>Simplify troubleshooting and reduce downtime with real-time visibility into physical and virtualized network infrastructure, including distributed VM-based Cloud stacks</li> <li>Manage movement between VM clusters easily with synchronization of critical DNS, DHCP and IP address services</li> <li>Eliminate errors introduced by manual processes</li> </ul><p><br /></p><p>See the full press release <a target="_blank" mce_href="http://www.infoblox.com/en/news/press-releases/2011/new-infoblox-plug-in-for-vmware-vcloud-orchestrator-simplifies-and-accelerates-private-and-public-cloud-deployment.html" href="http://www.infoblox.com/en/news/press-releases/2011/new-infoblox-plug-in-for-vmware-vcloud-orchestrator-simplifies-and-accelerates-private-and-public-cloud-deployment.html"><cite title="http://www.infoblox.com/en/news/press-releases/2011/new-infoblox-plug-in-for-vmware-vcloud-orchestrator-simplifies-and-accelerates-private-and-public-cloud-deployment.html">here</cite></a>.<br /></p><p><br /></p> <p><img src="http://www.vcoteam.info/images/infoblox-logo.png" mce_src="http://www.vcoteam.info/images/infoblox-logo.png" alt="alt" /><br /></p><p>Quoting the Infoblox press-release:<br /></p><p><cite>Today at VMworld® 2011, <a href="http://www.infoblox.com/en/home.html" mce_href="http://www.infoblox.com/en/home.html">Infoblox</a> Inc. announced it is delivering a fully integrated plug-in for the VMware vCloud® Orchestrator community. Working with VMware vCloud Director™, the integrated solution provides automated IP addressing and related management capabilities in real-time as virtual machines are created. </cite></p><p><cite>As a result, the Infoblox plug-in accelerates private and public cloud deployment, simplifies management and bridges network and virtual IT team silos by enabling automated assignment of IP addresses to virtual machines. Additionally, VMware vCloud™ Director integrated with Infoblox delivers cloud infrastructure resources on-demand to provide maximum business agility using virtualized resources.</cite></p><p><br /></p><p><br /></p><p>Note the slip-up "vCloud Orchestrator"  </p><p>The plug-in allows to:<br /></p><ul> <li>Provision systems in minutes instead of days with automated IP address provisioning for Cloud infrastructure and services</li> <li>Improve reliability with automated HA/DR for critical underlying network services</li> <li>Simplify troubleshooting and reduce downtime with real-time visibility into physical and virtualized network infrastructure, including distributed VM-based Cloud stacks</li> <li>Manage movement between VM clusters easily with synchronization of critical DNS, DHCP and IP address services</li> <li>Eliminate errors introduced by manual processes</li> </ul><p><br /></p><p>See the full press release <a target="_blank" mce_href="http://www.infoblox.com/en/news/press-releases/2011/new-infoblox-plug-in-for-vmware-vcloud-orchestrator-simplifies-and-accelerates-private-and-public-cloud-deployment.html" href="http://www.infoblox.com/en/news/press-releases/2011/new-infoblox-plug-in-for-vmware-vcloud-orchestrator-simplifies-and-accelerates-private-and-public-cloud-deployment.html"><cite title="http://www.infoblox.com/en/news/press-releases/2011/new-infoblox-plug-in-for-vmware-vcloud-orchestrator-simplifies-and-accelerates-private-and-public-cloud-deployment.html">here</cite></a>.<br /></p><p><br /></p> vCenter Orchestrator at VMworld 2011 2011-08-29T15:46:02Z 2011-08-29T15:46:02Z http://www.vcoteam.info/newsflash/vcenter-orchestrator-at-vmworld-2011.html Christophe Decanini webmaster@vcoteam.info <p>An <a target="_blank" mce_href="http://blogs.vmware.com/http://blogs.vmware.com/orchestrator/2011/08/vco-at-vmworld-2011.html/2011/08/vco-at-vmworld-2011.html" href="http://blogs.vmware.com/http://blogs.vmware.com/orchestrator/2011/08/vco-at-vmworld-2011.html/2011/08/vco-at-vmworld-2011.html">article</a> listing the vCenter Orchestrator sessions, demos and hands on labs has been posted on the vCO blog. </p><p />This year Orchestrator is present and used in the background in a lot more places than in the past.</p><p>Sessions:<br /></p><ul><li>Go to CIM3235 to hear about how customers use vCenter Orchestrator as an automation and integration platform for vCloud Director and how VMware IT did it. </li><li>Go to TEX2923 to learn about workflow development techniques from one of the most experienced vCenter Orchestrator partner / trainer and from VMware engineering.</li><li>Go to TEX1442 to know how to develop Orchestrator plug-ins and use vCO web service from VMware ecosystem engineering and vCenter Orchestrator engineering.<br /></li></ul><p>Solution Exchange Booth:</p><ul><li><span style="font-family: arial,helvetica,sans-serif;">EMC, Infoblox, NetApp and Radware present </span>vCenter Orchestrator<span style="font-family: arial,helvetica,sans-serif;"> integration: Ask them what integrations they are working on and when they plan to deliver these.</span></li><li><span style="font-family: arial,helvetica,sans-serif;">VMware </span><span style="font-family: arial,helvetica,sans-serif;">Cloud Service Management demo: See </span>cloud Orchestration and ask about Orchestration future plans at VMware.<br /></li></ul><p>Also play with Orchestrator in the different hands on labs. </p><p>Enjoy VMworld and you are welcome to comment here if you spot vCenter Orchestrator !<br /></p> <p>An <a target="_blank" mce_href="http://blogs.vmware.com/http://blogs.vmware.com/orchestrator/2011/08/vco-at-vmworld-2011.html/2011/08/vco-at-vmworld-2011.html" href="http://blogs.vmware.com/http://blogs.vmware.com/orchestrator/2011/08/vco-at-vmworld-2011.html/2011/08/vco-at-vmworld-2011.html">article</a> listing the vCenter Orchestrator sessions, demos and hands on labs has been posted on the vCO blog. </p><p />This year Orchestrator is present and used in the background in a lot more places than in the past.</p><p>Sessions:<br /></p><ul><li>Go to CIM3235 to hear about how customers use vCenter Orchestrator as an automation and integration platform for vCloud Director and how VMware IT did it. </li><li>Go to TEX2923 to learn about workflow development techniques from one of the most experienced vCenter Orchestrator partner / trainer and from VMware engineering.</li><li>Go to TEX1442 to know how to develop Orchestrator plug-ins and use vCO web service from VMware ecosystem engineering and vCenter Orchestrator engineering.<br /></li></ul><p>Solution Exchange Booth:</p><ul><li><span style="font-family: arial,helvetica,sans-serif;">EMC, Infoblox, NetApp and Radware present </span>vCenter Orchestrator<span style="font-family: arial,helvetica,sans-serif;"> integration: Ask them what integrations they are working on and when they plan to deliver these.</span></li><li><span style="font-family: arial,helvetica,sans-serif;">VMware </span><span style="font-family: arial,helvetica,sans-serif;">Cloud Service Management demo: See </span>cloud Orchestration and ask about Orchestration future plans at VMware.<br /></li></ul><p>Also play with Orchestrator in the different hands on labs. </p><p>Enjoy VMworld and you are welcome to comment here if you spot vCenter Orchestrator !<br /></p> VMware releases vCloud Architecture Toolkit (vCAT) version 2.0 2011-08-29T10:00:00Z 2011-08-29T10:00:00Z http://www.vcoteam.info/newsflash/vmware-releases-vcloud-architecture-toolkit-vcat-version-20.html Christophe Decanini webmaster@vcoteam.info <p><img src="http://www.vcoteam.info/images/phocagallery/vcat.jpg" mce_src="http://www.vcoteam.info/images/phocagallery/vcat.jpg" alt="alt" height="138" width="185" /><br /></p><p><br /></p><p>As part of the Cloud Infrastructure and Management Center of Excellence Team who worked on this project we are glad to announce the release of the new vCloud Architecture Toolkit. Amongst many enhancements, this version covers vCenter Orchestrator best practices that have been proven in real-world enterprise and service provider cloud deployments.<br /></p><p>Official announcement:<br /></p><p><cite>On Monday August 29, 2011 VMware is releasing version 2.0 of the VMware vCloud Architecture Tookit (vCAT).  vCAT is designed to help customers construct a working VMware vCloud solution leveraging technologies, best-practices and tools that have been proven in real-world enterprise and service provider cloud deployments.  It provides the foundation for building enterprise, service provider and hybrid clouds with a detailed explanation of architectural elements, component details and examples of working VMware vCloud deployments.<br />To date VMware customers and vCloud Powered Service Providers around the globe have used vCAT to guide their vCloud deployments and offer technical validation, saving them both time and money. vCAT has also been essential for VMware VSPP partners, serving as the foundation for the design and architecture of VSPP Cloud environments, and offering technical validation for Service Providers who desire to partner with VMware.<br />Version 2.0 of the Toolkit has been expanded to provide more detail on operational and organization considerations for building and running a VMware vCloud, design guidelines and examples to help customers build hybrid cloud environments, and updated to reflect the latest product releases from VMware – including vSphere 5 and vCloud Director 1.5.</cite><br /><br />To learn more, and download the Toolkit, visit the <a target="_blank" mce_href="http://www.vmware.com/cloud-computing/cloud-architecture/vcat-toolkit.html?src=vCAT_Blogs" href="http://www.vmware.com/cloud-computing/cloud-architecture/vcat-toolkit.html?src=vCAT_Blogs">vCAT Toolkit page</a>.<br /></p> <p><img src="http://www.vcoteam.info/images/phocagallery/vcat.jpg" mce_src="http://www.vcoteam.info/images/phocagallery/vcat.jpg" alt="alt" height="138" width="185" /><br /></p><p><br /></p><p>As part of the Cloud Infrastructure and Management Center of Excellence Team who worked on this project we are glad to announce the release of the new vCloud Architecture Toolkit. Amongst many enhancements, this version covers vCenter Orchestrator best practices that have been proven in real-world enterprise and service provider cloud deployments.<br /></p><p>Official announcement:<br /></p><p><cite>On Monday August 29, 2011 VMware is releasing version 2.0 of the VMware vCloud Architecture Tookit (vCAT).  vCAT is designed to help customers construct a working VMware vCloud solution leveraging technologies, best-practices and tools that have been proven in real-world enterprise and service provider cloud deployments.  It provides the foundation for building enterprise, service provider and hybrid clouds with a detailed explanation of architectural elements, component details and examples of working VMware vCloud deployments.<br />To date VMware customers and vCloud Powered Service Providers around the globe have used vCAT to guide their vCloud deployments and offer technical validation, saving them both time and money. vCAT has also been essential for VMware VSPP partners, serving as the foundation for the design and architecture of VSPP Cloud environments, and offering technical validation for Service Providers who desire to partner with VMware.<br />Version 2.0 of the Toolkit has been expanded to provide more detail on operational and organization considerations for building and running a VMware vCloud, design guidelines and examples to help customers build hybrid cloud environments, and updated to reflect the latest product releases from VMware – including vSphere 5 and vCloud Director 1.5.</cite><br /><br />To learn more, and download the Toolkit, visit the <a target="_blank" mce_href="http://www.vmware.com/cloud-computing/cloud-architecture/vcat-toolkit.html?src=vCAT_Blogs" href="http://www.vmware.com/cloud-computing/cloud-architecture/vcat-toolkit.html?src=vCAT_Blogs">vCAT Toolkit page</a>.<br /></p> Extend vCloud Director with vCenter Orchestrator 2011-08-29T08:00:00Z 2011-08-29T08:00:00Z http://www.vcoteam.info/learn-vco/extend-vcloud-director-with-vcenter-orchestrator.html Christophe Decanini webmaster@vcoteam.info <p>In a previous <a target="_blank" mce_href="http://www.vcoteam.info/learn-vco/vcloud-director-vapp-hot-clone.html" href="http://www.vcoteam.info/learn-vco/vcloud-director-vapp-hot-clone.html">article</a> we demonstrated how vCenter Orchestrator can leverage the vCloud Director plug-in to automate tasks or create new functionality by combining them. These workflows are initiated by vCenter Orchestrator.</p> <p>Now if you would like to have vCO triggering workflows based on vCloud Director events (For example an end user task started from the vCloud Director UI, a system event or a task started from the vCloud API) you will be able to leverage the vCloud Director 1.5 Messages feature (See details <a href="http://www.vmware.com/files/pdf/techpaper/Whats-New-VMware-vCloud-Director-15-Technical-Whitepaper.pdf" mce_href="http://www.vmware.com/files/pdf/techpaper/Whats-New-VMware-vCloud-Director-15-Technical-Whitepaper.pdf" target="_blank" style="style" mce_style="style">here</a>). It allows vCloud Director to post events notification to an AMQP message broker.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/vcoamqp.png" mce_src="http://www.vcoteam.info/images/phocagallery/vcoamqp.png" alt="alt" /><br /></p> <p>Since <a target="_blank" mce_href="http://www.vcoteam.info/newsflash/vmware-released-the-amqp-plug-in.html" href="http://www.vcoteam.info/newsflash/vmware-released-the-amqp-plug-in.html">VMware released the AMQP vCO plug-in</a> it will be possible to consume these messages and act upon them. Additionally, since vCO has a large library of plug-in adapters it becomes a multipurpose vCloud Director extension. </p> <p>Event notifications can be used to monitor tasks, update external databases, start an external process in any of the many systems that can be orchestrated by vCenter Orchestrator. This happens after the event has occurred. </p><p>vCloud Director tasks can also be configured to wait on a vCO workflow to complete and then to resume, abort gracefully or fail the task before it has a chance to start. This allows vCO to:</p><ul><li>Complete an approval or an operation that must run before the vCD task. </li><li>Replace the task by another one (vCloud Director or other).</li><li>Replace any parameters of the task.</li></ul><p>For example:</p><ul><li>Approve a vApp deployment by the end user manager and by the IT team.</li><li>Deleting the Active Directory Computer Account of all the VMs within a vApp when it is deleted.</li><li>Getting IP Addresses from an external System and use them for provisioning the VMs of a vApp.</li><li>Upgrade all the VMware tools in a vApp when capturing the vApp as a vApp Template.</li><li>Shutdown and Power of if shutdown fails instead of Powering off.</li><li>Record VM shutdown and power on time to calculate vApp time utilization.</li><li>Run a post deployment script in the VMs.</li><li>Run the Antivirus on a newly uploaded vApp Template.</li><li>Remediate a failure and send SNMP trap on remediation failure</li></ul><p>Basically the possibility are endless. You get the best of breed Cloud and Cloud Orchestration platform and integration.</p> <p>In a previous <a target="_blank" mce_href="http://www.vcoteam.info/learn-vco/vcloud-director-vapp-hot-clone.html" href="http://www.vcoteam.info/learn-vco/vcloud-director-vapp-hot-clone.html">article</a> we demonstrated how vCenter Orchestrator can leverage the vCloud Director plug-in to automate tasks or create new functionality by combining them. These workflows are initiated by vCenter Orchestrator.</p> <p>Now if you would like to have vCO triggering workflows based on vCloud Director events (For example an end user task started from the vCloud Director UI, a system event or a task started from the vCloud API) you will be able to leverage the vCloud Director 1.5 Messages feature (See details <a href="http://www.vmware.com/files/pdf/techpaper/Whats-New-VMware-vCloud-Director-15-Technical-Whitepaper.pdf" mce_href="http://www.vmware.com/files/pdf/techpaper/Whats-New-VMware-vCloud-Director-15-Technical-Whitepaper.pdf" target="_blank" style="style" mce_style="style">here</a>). It allows vCloud Director to post events notification to an AMQP message broker.</p> <p><img src="http://www.vcoteam.info/images/phocagallery/vcoamqp.png" mce_src="http://www.vcoteam.info/images/phocagallery/vcoamqp.png" alt="alt" /><br /></p> <p>Since <a target="_blank" mce_href="http://www.vcoteam.info/newsflash/vmware-released-the-amqp-plug-in.html" href="http://www.vcoteam.info/newsflash/vmware-released-the-amqp-plug-in.html">VMware released the AMQP vCO plug-in</a> it will be possible to consume these messages and act upon them. Additionally, since vCO has a large library of plug-in adapters it becomes a multipurpose vCloud Director extension. </p> <p>Event notifications can be used to monitor tasks, update external databases, start an external process in any of the many systems that can be orchestrated by vCenter Orchestrator. This happens after the event has occurred. </p><p>vCloud Director tasks can also be configured to wait on a vCO workflow to complete and then to resume, abort gracefully or fail the task before it has a chance to start. This allows vCO to:</p><ul><li>Complete an approval or an operation that must run before the vCD task. </li><li>Replace the task by another one (vCloud Director or other).</li><li>Replace any parameters of the task.</li></ul><p>For example:</p><ul><li>Approve a vApp deployment by the end user manager and by the IT team.</li><li>Deleting the Active Directory Computer Account of all the VMs within a vApp when it is deleted.</li><li>Getting IP Addresses from an external System and use them for provisioning the VMs of a vApp.</li><li>Upgrade all the VMware tools in a vApp when capturing the vApp as a vApp Template.</li><li>Shutdown and Power of if shutdown fails instead of Powering off.</li><li>Record VM shutdown and power on time to calculate vApp time utilization.</li><li>Run a post deployment script in the VMs.</li><li>Run the Antivirus on a newly uploaded vApp Template.</li><li>Remediate a failure and send SNMP trap on remediation failure</li></ul><p>Basically the possibility are endless. You get the best of breed Cloud and Cloud Orchestration platform and integration.</p> VMware released vCenter Orchestrator 4.2 2011-08-29T07:59:09Z 2011-08-29T07:59:09Z http://www.vcoteam.info/newsflash/vmware-released-vcenter-orchestrator-42.html Christophe Decanini webmaster@vcoteam.info <p>A few days ago vCenter Orchestrator 4.2 was released as part of vSphere 5 and as previous releases for <u>no extra cost</u>.<br /></p><p></p><p></p><p>This release focus is on bug fixing and improving documentation and providing it in different formats. 2011 effort was mostly on orchestrating more technologies with releasing a lot more <a target="_blank" mce_href="http://www.vmware.com/products/datacenter-virtualization/vcenter-orchestrator/plugins.html" href="http://www.vmware.com/products/datacenter-virtualization/vcenter-orchestrator/plugins.html">plug-ins</a> (7 listed as of now).</p><p>Resources:<br /></p><ul><li>vCenter Orchestrator 4.2 <a target="_blank" mce_href="http://www.vmware.com/support/orchestrator/doc/vcenter-orchestrator-42-release-notes.html" href="http://www.vmware.com/support/orchestrator/doc/vcenter-orchestrator-42-release-notes.html">release notes</a><br mce_bogus="1" /></li><li>vCenter Orchestrator 4.2 <a target="_blank" mce_href="http://www.vmware.com/support/pubs/orchestrator_pubs.html" href="http://www.vmware.com/support/pubs/orchestrator_pubs.html">documentation</a><br mce_bogus="1" /></li><li>vCenter Orchestrator 4.2 <a mce_href="http://downloads.vmware.com/d/info/datacenter_cloud_infrastructure/vmware_vsphere/5_0" href="http://downloads.vmware.com/d/info/datacenter_cloud_infrastructure/vmware_vsphere/5_0">download</a> (included in vCenter Server 5.0 and modules)<br /></li></ul><p><br /></p> <p>A few days ago vCenter Orchestrator 4.2 was released as part of vSphere 5 and as previous releases for <u>no extra cost</u>.<br /></p><p></p><p></p><p>This release focus is on bug fixing and improving documentation and providing it in different formats. 2011 effort was mostly on orchestrating more technologies with releasing a lot more <a target="_blank" mce_href="http://www.vmware.com/products/datacenter-virtualization/vcenter-orchestrator/plugins.html" href="http://www.vmware.com/products/datacenter-virtualization/vcenter-orchestrator/plugins.html">plug-ins</a> (7 listed as of now).</p><p>Resources:<br /></p><ul><li>vCenter Orchestrator 4.2 <a target="_blank" mce_href="http://www.vmware.com/support/orchestrator/doc/vcenter-orchestrator-42-release-notes.html" href="http://www.vmware.com/support/orchestrator/doc/vcenter-orchestrator-42-release-notes.html">release notes</a><br mce_bogus="1" /></li><li>vCenter Orchestrator 4.2 <a target="_blank" mce_href="http://www.vmware.com/support/pubs/orchestrator_pubs.html" href="http://www.vmware.com/support/pubs/orchestrator_pubs.html">documentation</a><br mce_bogus="1" /></li><li>vCenter Orchestrator 4.2 <a mce_href="http://downloads.vmware.com/d/info/datacenter_cloud_infrastructure/vmware_vsphere/5_0" href="http://downloads.vmware.com/d/info/datacenter_cloud_infrastructure/vmware_vsphere/5_0">download</a> (included in vCenter Server 5.0 and modules)<br /></li></ul><p><br /></p> Work with vCO over SSL 2011-08-25T19:50:00Z 2011-08-25T19:50:00Z http://www.vcoteam.info/learn-vco/work-with-vco-over-ssl.html Burke webmaster@vcoteam.info <p>With the increasing popularity of VMware vCenter Orchestrator, there is a growing desire to use it over SSL connections. While vCO supports this type of connectivity out of the box, it is not necessarily pre-configured automatically to have a proper SSL certificate. Regardless of how or where you import the default certificate, you are unlikely to get away from warnings such as:</p> <p><strong>Firefox Warning: <br /> </strong><img src="http://www.vcoteam.info/images/phocagallery/tutorials/vco-over-ssl/firefox-certificate-warning.png" alt="Firefox Certificate Warning" width="400" height="250" /><br /> <br /> <strong>Internet Explorer Warning:</strong> <span style="color: #ff0000;"><strong></strong></span></p> <p><img src="http://www.vcoteam.info/images/phocagallery/tutorials/vco-over-ssl/ie-certificate-warning.png" alt="IE Certificate Warning" width="400" height="240" /></p> <p>After clicking "Continue to this website (not recommended). ", you still get the "Certificate Error" red notification in the address bar - <br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/vco-over-ssl/ie-certificate-error.png" alt="IE Certificate Error" width="401" height="70" /><br /> even if you import the certificate as a trusted store! While you are able to continue working via a web browser, a third party system accessing the API over HTTPS may not be as cooperative!</p> <p><span style="color: #ff0000;"><strong></strong></span>The purpose of this tutorial is to give you step-by-step guidance on resolving the issue above by creating a certificate that matches your vCO's server name.</p> <p><span style="color: #ff0000;"><strong></strong></span>The following steps require the use of the <strong>keytool</strong> program found in your JRE install. Don't worry about getting it because if you're reading this, then you must have vCO installed and the file is already on your server!! Here are some important paths for you to be aware of:</p> <p><strong>Keytool:</strong> &lt;vCO install folder&gt;\jre\bin\keytool.exe<br /> <strong>jssecacerts file:</strong> &lt;vCO install folder&gt;\jre\lib\security\jssecacerts</p> <p>The following commands will directly modify the existing keystore file without the need to change any configuration files. <em><strong>Before proceeding, please be sure to create a backup copy of your jssecacerts file.</strong></em></p> <ol> <li>Stop your vCO Server Service</li> <li>Open a command prompt as administrator (Use the start menu to find command prompt, then right click and choose to 'run as administrator')</li> <li>Delete the current "dunes" key from the keystore using the following command: <br /> {code}keytool -delete -alias dunes -keystore "c:\program files\vmware\orchestrator\jre\lib\security\jssecacerts" -storepass "dunesdunes"{/code}</li> <li>Generate a new certificate for the "dunes" key (10 year cert shown in sample line below - adjust validity in days as desired)<br /> {code}keytool -genkey -keyalg RSA -alias dunes -keystore "c:\program files\vmware\orchestrator\jre\lib\security\jssecacerts" -storepass "dunesdunes" -validity 3650{/code}</li> <li>When prompted for your first and last name, enter the FQDN of your vCO server. <strong>This is very important as it will tie the certificate to the server!</strong> For my example here, I will enter vco-411.vcoteam.lab (my test server in my test domain):<br /> {code}What is your first and last name?<br /> [Unknown]: vco-411.vcoteam.lab{/code}</li> <li>For each of the remaining prompts (Organizational Unit, Organization, City, State, Country Code), simply enter the appropriate values for your organizaiton</li> <li>After specifying the information above, you will be prompted for confirmation... Type "yes" and hit &lt;ENTER&gt;</li> <li>When prompted for the password for &lt;dunes&gt; hit &lt;ENTER&gt; to use the same as the keystore password (dunesdunes).</li> <li>Go back to your vCenter Orchestrator Configuration and Start the vCenter Orchestrator Server service via the "Startup Options" tab.</li> </ol> <div class="approved"> <div class="typo-icon">Your vCO server now has a self-signed certificate that should match it's Fully Qualified Domain Name (FQDN). Open up your browser to the vCO server on HTTPS and use the native methods to add the certificate to your local store. This will only be required one time.</div> </div> <p>As an example:</p> <p>With Internet Explorer (IE):</p> <ol> <li>Open your browser to https://yourvCOServer.domain.ext:8281/</li> <li>When prompted, click "Continue to this website (not recommended)."</li> <li>Now IE should have the "Certificate Error" listed to the right of your address bar - left click there and choose "View Certificates"<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/vco-over-ssl/ie-certificate-error.png" alt="IE Certificate Error" width="401" height="70" /> <br /> NOTE: you may need to have the vCO server added as a trusted site in order to get the "Install Certificate" button to be visible. In the following screenshots, the left image is before the vCO server is trusted and the right is after it is trusted:<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/vco-over-ssl/ie-cert-missing-install-cert-button.png" alt="IE Cert view without Import button" width="200" height="249" /><img src="http://www.vcoteam.info/images/phocagallery/tutorials/vco-over-ssl/ie-cert-with-install-cert-button.png" alt="IE Cert view with Install button" width="200" height="250" /></li> <li>Click the Install Certificate button</li> <li>The "Certificate Import Wizard" will launch - click "Next":<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/vco-over-ssl/cert-import-wizard-1.png" alt="Certificate Import Wizard - screen 1" width="400" height="359" /></li> <li>On the next screen, choose to "Place all certificates in the following datastore, then browse and choose "Trusted Root Certification Authorities" and click "Next"<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/vco-over-ssl/ie-cert-import-wizard-2.png" alt="Certificate Import Wizard - screen 2" width="400" height="357" /> </li> <li>On the final screen, click "Finish"<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/vco-over-ssl/ie-cert-import-wizard-3.png" alt="Certificate Import Wizard - screen 3" width="400" height="358" /></li> <li>Now, close IE and then re-open it and visit the vCO server over SSL. You should no longer be prompted with warnings or have a Certificate Error to the right of the address bar<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/vco-over-ssl/ie-vco-ssl-no-error.png" alt="IE loading vCO over SSL with no certificate error" width="403" height="41" /></li> </ol> <p>At this point, other applications and systems (such as VMware Service Manager) should be able to successfully connect to the vCO SOAP API over SSL with no trouble!</p> <p>OPTIONAL - Get CA Signed Cert<br /> To generate CSR:<br /> keytool -certreq -alias dunes -keypass "dunesdunes" -keystore "c:\Program Files\VMware\Orchestrator\jre\lib\security\jssecacerts" -storepass "dunesdunes" -file myCertRequest.csr</p> <p>Send "myCertRequest.csr" to CA, you may need to convert the certificate you receive to DER if this is not the default, then import the response in the following way:<br /> keytool -importcert -alias dunes -keypass "dunedunes" -file vcoCertificate.crt -keystore "c:\Program Files\VMware\Orchestrator\jre\lib\security\jssecacerts" -storepass "dunesdunes"</p> <p>When using a CA issued cert, you may also be required to import the CA cert, and any intermediate CA certs, into the vCO server. These may be imported using the SSL tab under the vCO Configuration interface.</p> <div class="note"> <div class="typo-icon">NOTE: If you choose to create a new keystore file and use it instead of the original jssecacerts, then replace jssecacerts in the above commands and replace "dunesdunes" with your own desired values (you're on your own here!...) Once you have completed the creation of your new keystore with your password, you will need to update the server.xml file as outlined in Chapter 7 (page 65) of the vCenter Orchestrator Installation and Configuration guide.</div> </div> <div class="notice"> <div class="typo-icon"><strong><em>SSL Related Resources:</em></strong><br /> <ul> <li>Although not directly releated to the SSL certificate the webservice uses, the following is an important post regarding signed certificates from your corporate Active Directory Certificate Authority, you may wish to view Mike's Article: <a href="http://michael.requeny.com/2011/08/18/vcenter-orchestrator-import-signed-certificate/" target="_new">http://michael.requeny.com/2011/08/18/vcenter-orchestrator-import-signed-certificate/ </a></li> <li>For more information on the keytool program, <a href="http://download.oracle.com/javase/1.3/docs/tooldocs/win32/keytool.html" target="_new">visit Oracle</a>.</li> </ul> </div> </div> <p>With the increasing popularity of VMware vCenter Orchestrator, there is a growing desire to use it over SSL connections. While vCO supports this type of connectivity out of the box, it is not necessarily pre-configured automatically to have a proper SSL certificate. Regardless of how or where you import the default certificate, you are unlikely to get away from warnings such as:</p> <p><strong>Firefox Warning: <br /> </strong><img src="http://www.vcoteam.info/images/phocagallery/tutorials/vco-over-ssl/firefox-certificate-warning.png" alt="Firefox Certificate Warning" width="400" height="250" /><br /> <br /> <strong>Internet Explorer Warning:</strong> <span style="color: #ff0000;"><strong></strong></span></p> <p><img src="http://www.vcoteam.info/images/phocagallery/tutorials/vco-over-ssl/ie-certificate-warning.png" alt="IE Certificate Warning" width="400" height="240" /></p> <p>After clicking "Continue to this website (not recommended). ", you still get the "Certificate Error" red notification in the address bar - <br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/vco-over-ssl/ie-certificate-error.png" alt="IE Certificate Error" width="401" height="70" /><br /> even if you import the certificate as a trusted store! While you are able to continue working via a web browser, a third party system accessing the API over HTTPS may not be as cooperative!</p> <p><span style="color: #ff0000;"><strong></strong></span>The purpose of this tutorial is to give you step-by-step guidance on resolving the issue above by creating a certificate that matches your vCO's server name.</p> <p><span style="color: #ff0000;"><strong></strong></span>The following steps require the use of the <strong>keytool</strong> program found in your JRE install. Don't worry about getting it because if you're reading this, then you must have vCO installed and the file is already on your server!! Here are some important paths for you to be aware of:</p> <p><strong>Keytool:</strong> &lt;vCO install folder&gt;\jre\bin\keytool.exe<br /> <strong>jssecacerts file:</strong> &lt;vCO install folder&gt;\jre\lib\security\jssecacerts</p> <p>The following commands will directly modify the existing keystore file without the need to change any configuration files. <em><strong>Before proceeding, please be sure to create a backup copy of your jssecacerts file.</strong></em></p> <ol> <li>Stop your vCO Server Service</li> <li>Open a command prompt as administrator (Use the start menu to find command prompt, then right click and choose to 'run as administrator')</li> <li>Delete the current "dunes" key from the keystore using the following command: <br /> {code}keytool -delete -alias dunes -keystore "c:\program files\vmware\orchestrator\jre\lib\security\jssecacerts" -storepass "dunesdunes"{/code}</li> <li>Generate a new certificate for the "dunes" key (10 year cert shown in sample line below - adjust validity in days as desired)<br /> {code}keytool -genkey -keyalg RSA -alias dunes -keystore "c:\program files\vmware\orchestrator\jre\lib\security\jssecacerts" -storepass "dunesdunes" -validity 3650{/code}</li> <li>When prompted for your first and last name, enter the FQDN of your vCO server. <strong>This is very important as it will tie the certificate to the server!</strong> For my example here, I will enter vco-411.vcoteam.lab (my test server in my test domain):<br /> {code}What is your first and last name?<br /> [Unknown]: vco-411.vcoteam.lab{/code}</li> <li>For each of the remaining prompts (Organizational Unit, Organization, City, State, Country Code), simply enter the appropriate values for your organizaiton</li> <li>After specifying the information above, you will be prompted for confirmation... Type "yes" and hit &lt;ENTER&gt;</li> <li>When prompted for the password for &lt;dunes&gt; hit &lt;ENTER&gt; to use the same as the keystore password (dunesdunes).</li> <li>Go back to your vCenter Orchestrator Configuration and Start the vCenter Orchestrator Server service via the "Startup Options" tab.</li> </ol> <div class="approved"> <div class="typo-icon">Your vCO server now has a self-signed certificate that should match it's Fully Qualified Domain Name (FQDN). Open up your browser to the vCO server on HTTPS and use the native methods to add the certificate to your local store. This will only be required one time.</div> </div> <p>As an example:</p> <p>With Internet Explorer (IE):</p> <ol> <li>Open your browser to https://yourvCOServer.domain.ext:8281/</li> <li>When prompted, click "Continue to this website (not recommended)."</li> <li>Now IE should have the "Certificate Error" listed to the right of your address bar - left click there and choose "View Certificates"<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/vco-over-ssl/ie-certificate-error.png" alt="IE Certificate Error" width="401" height="70" /> <br /> NOTE: you may need to have the vCO server added as a trusted site in order to get the "Install Certificate" button to be visible. In the following screenshots, the left image is before the vCO server is trusted and the right is after it is trusted:<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/vco-over-ssl/ie-cert-missing-install-cert-button.png" alt="IE Cert view without Import button" width="200" height="249" /><img src="http://www.vcoteam.info/images/phocagallery/tutorials/vco-over-ssl/ie-cert-with-install-cert-button.png" alt="IE Cert view with Install button" width="200" height="250" /></li> <li>Click the Install Certificate button</li> <li>The "Certificate Import Wizard" will launch - click "Next":<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/vco-over-ssl/cert-import-wizard-1.png" alt="Certificate Import Wizard - screen 1" width="400" height="359" /></li> <li>On the next screen, choose to "Place all certificates in the following datastore, then browse and choose "Trusted Root Certification Authorities" and click "Next"<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/vco-over-ssl/ie-cert-import-wizard-2.png" alt="Certificate Import Wizard - screen 2" width="400" height="357" /> </li> <li>On the final screen, click "Finish"<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/vco-over-ssl/ie-cert-import-wizard-3.png" alt="Certificate Import Wizard - screen 3" width="400" height="358" /></li> <li>Now, close IE and then re-open it and visit the vCO server over SSL. You should no longer be prompted with warnings or have a Certificate Error to the right of the address bar<br /> <img src="http://www.vcoteam.info/images/phocagallery/tutorials/vco-over-ssl/ie-vco-ssl-no-error.png" alt="IE loading vCO over SSL with no certificate error" width="403" height="41" /></li> </ol> <p>At this point, other applications and systems (such as VMware Service Manager) should be able to successfully connect to the vCO SOAP API over SSL with no trouble!</p> <p>OPTIONAL - Get CA Signed Cert<br /> To generate CSR:<br /> keytool -certreq -alias dunes -keypass "dunesdunes" -keystore "c:\Program Files\VMware\Orchestrator\jre\lib\security\jssecacerts" -storepass "dunesdunes" -file myCertRequest.csr</p> <p>Send "myCertRequest.csr" to CA, you may need to convert the certificate you receive to DER if this is not the default, then import the response in the following way:<br /> keytool -importcert -alias dunes -keypass "dunedunes" -file vcoCertificate.crt -keystore "c:\Program Files\VMware\Orchestrator\jre\lib\security\jssecacerts" -storepass "dunesdunes"</p> <p>When using a CA issued cert, you may also be required to import the CA cert, and any intermediate CA certs, into the vCO server. These may be imported using the SSL tab under the vCO Configuration interface.</p> <div class="note"> <div class="typo-icon">NOTE: If you choose to create a new keystore file and use it instead of the original jssecacerts, then replace jssecacerts in the above commands and replace "dunesdunes" with your own desired values (you're on your own here!...) Once you have completed the creation of your new keystore with your password, you will need to update the server.xml file as outlined in Chapter 7 (page 65) of the vCenter Orchestrator Installation and Configuration guide.</div> </div> <div class="notice"> <div class="typo-icon"><strong><em>SSL Related Resources:</em></strong><br /> <ul> <li>Although not directly releated to the SSL certificate the webservice uses, the following is an important post regarding signed certificates from your corporate Active Directory Certificate Authority, you may wish to view Mike's Article: <a href="http://michael.requeny.com/2011/08/18/vcenter-orchestrator-import-signed-certificate/" target="_new">http://michael.requeny.com/2011/08/18/vcenter-orchestrator-import-signed-certificate/ </a></li> <li>For more information on the keytool program, <a href="http://download.oracle.com/javase/1.3/docs/tooldocs/win32/keytool.html" target="_new">visit Oracle</a>.</li> </ul> </div> </div> VMware released the vCenter Orchestrator Plug-in SDK 2011-08-25T18:15:23Z 2011-08-25T18:15:23Z http://www.vcoteam.info/newsflash/vmware-released-the-vcenter-orchestrator-plug-in-sdk.html Christophe webmaster@vcoteam.info <p><img mce_style="margin-left: 5px; margin-right: 5px;" style="margin-left: 5px; margin-right: 5px;" src="http://www.vcoteam.info/images/phocagallery/symphonyorchestra.png" mce_src="http://www.vcoteam.info/images/phocagallery/symphonyorchestra.png" alt="Symphony Orchestra"></p><p>VMware released a software development kit allowing the creation of plug-in adapters for vCenter Orchestrator.&nbsp;</p><p> For the company having development resources it means that they can develop plug-ins for their private usage or for the 200.000+ vCenter customers. For end users this translates into the future availability of a lot more plug-ins.</p><p>Quoting the <a target="_blank" mce_href="http://vmware.com/go/vcopluginsdk" href="http://vmware.com/go/vcopluginsdk">SDK page</a>:<br /></p><p><cite>The VMware vCenter Orchestrator Plug-in SDK 4.2 is designed to jumpstart developers who are new to vCO plug-in development. It consists of the following components: </cite></p><ul> <li><cite>Eclipse add-on for vCO plug-in development</cite></li> <li><cite>vCO sample plug-ins</cite></li> <li><cite>vCO sample plug-in support services</cite></li> <li><cite>Installation and Configuration Guide</cite></li> <li><cite>Best Practice Guide</cite></li> <li><cite>Videos</cite></li> </ul><p><br /></p><p>Very good candidate for orchestration are applications offering:<br /></p><ul><li>Java based API</li><li>Web services (SOAP, REST)</li></ul><p><br /></p><p>Resources from the vCenter Orchestrator Plug-in SDK 4.2 <a href="http://vmware.com/go/vcopluginsdk" mce_href="http://vmware.com/go/vcopluginsdk">communities</a>:</p><ul> <li><a target="_blank" mce_href="http://www.vmware.com/downloads/download.do?downloadGroup=VCOPLUGINSDK420_GA" href="http://www.vmware.com/downloads/download.do?downloadGroup=VCOPLUGINSDK420_GA"><b>VMware vCenter Orchestrator Plug-in SDK 4.2</b> download page</a><br mce_bogus="1"></li><li><a target="_blank" href="http://communities.vmware.com/docs/DOC-16820" mce_href="http://communities.vmware.com/docs/DOC-16820">Installation and Configuration Guide</a><br mce_bogus="1"></li> <li><a target="_blank" href="http://communities.vmware.com/docs/DOC-16935" mce_href="http://communities.vmware.com/docs/DOC-16935">Best Practices Guide</a><br mce_bogus="1"></li> <li><a target="_blank" href="http://communities.vmware.com/docs/DOC-16934" mce_href="http://communities.vmware.com/docs/DOC-16934">Release Notes</a><br mce_bogus="1"></li> </ul><p><br /></p><p>Video: Installing &amp; Configuring the SDK (4:30 min)</p> <p>http://www.youtube.com/watch?v=7b6XOPm4NmA</p><p><br /></p><p>Video: Modifying &amp; Installing Plug-ins (3:37 min)</p><p>http://www.youtube.com/watch?v=m82cPdWkBa4</p><p><br /></p> <p><img mce_style="margin-left: 5px; margin-right: 5px;" style="margin-left: 5px; margin-right: 5px;" src="http://www.vcoteam.info/images/phocagallery/symphonyorchestra.png" mce_src="http://www.vcoteam.info/images/phocagallery/symphonyorchestra.png" alt="Symphony Orchestra"></p><p>VMware released a software development kit allowing the creation of plug-in adapters for vCenter Orchestrator.&nbsp;</p><p> For the company having development resources it means that they can develop plug-ins for their private usage or for the 200.000+ vCenter customers. For end users this translates into the future availability of a lot more plug-ins.</p><p>Quoting the <a target="_blank" mce_href="http://vmware.com/go/vcopluginsdk" href="http://vmware.com/go/vcopluginsdk">SDK page</a>:<br /></p><p><cite>The VMware vCenter Orchestrator Plug-in SDK 4.2 is designed to jumpstart developers who are new to vCO plug-in development. It consists of the following components: </cite></p><ul> <li><cite>Eclipse add-on for vCO plug-in development</cite></li> <li><cite>vCO sample plug-ins</cite></li> <li><cite>vCO sample plug-in support services</cite></li> <li><cite>Installation and Configuration Guide</cite></li> <li><cite>Best Practice Guide</cite></li> <li><cite>Videos</cite></li> </ul><p><br /></p><p>Very good candidate for orchestration are applications offering:<br /></p><ul><li>Java based API</li><li>Web services (SOAP, REST)</li></ul><p><br /></p><p>Resources from the vCenter Orchestrator Plug-in SDK 4.2 <a href="http://vmware.com/go/vcopluginsdk" mce_href="http://vmware.com/go/vcopluginsdk">communities</a>:</p><ul> <li><a target="_blank" mce_href="http://www.vmware.com/downloads/download.do?downloadGroup=VCOPLUGINSDK420_GA" href="http://www.vmware.com/downloads/download.do?downloadGroup=VCOPLUGINSDK420_GA"><b>VMware vCenter Orchestrator Plug-in SDK 4.2</b> download page</a><br mce_bogus="1"></li><li><a target="_blank" href="http://communities.vmware.com/docs/DOC-16820" mce_href="http://communities.vmware.com/docs/DOC-16820">Installation and Configuration Guide</a><br mce_bogus="1"></li> <li><a target="_blank" href="http://communities.vmware.com/docs/DOC-16935" mce_href="http://communities.vmware.com/docs/DOC-16935">Best Practices Guide</a><br mce_bogus="1"></li> <li><a target="_blank" href="http://communities.vmware.com/docs/DOC-16934" mce_href="http://communities.vmware.com/docs/DOC-16934">Release Notes</a><br mce_bogus="1"></li> </ul><p><br /></p><p>Video: Installing &amp; Configuring the SDK (4:30 min)</p> <p>http://www.youtube.com/watch?v=7b6XOPm4NmA</p><p><br /></p><p>Video: Modifying &amp; Installing Plug-ins (3:37 min)</p><p>http://www.youtube.com/watch?v=m82cPdWkBa4</p><p><br /></p> Tips: Export and import input parameters 2011-08-25T13:41:35Z 2011-08-25T13:41:35Z http://www.vcoteam.info/learn-vco/tips-export-and-import-input-parameters.html Christophe webmaster@vcoteam.info <p>VMware vCenter Orchestrator (vCO) keeps your last workflows inputs as long as you keep your vCO client open. It is very practical since it avoids filling all the input fields on each subsequent run of the same workflow.</p> <p>Now if you close your client you have to refill these inputs except if ...</p> <p>You use the following tip:</p> <p>When your input are filled. Hold Alt and right click, A contextual menu appear. In some cases, you may only get the contextual menu if you click in the area just below an input field as highlighted by red in the following screenshot:</p> <p><img src="http://www.vcoteam.info/images/phocagallery/tutorials/exportinputparameters.png" mce_src="http://www.vcoteam.info/images/phocagallery/tutorials/exportinputparameters.png" alt="alt"></p> <p>Export your input to a file.</p> <p>When you need them again just import them back.</p> <p>VMware vCenter Orchestrator (vCO) keeps your last workflows inputs as long as you keep your vCO client open. It is very practical since it avoids filling all the input fields on each subsequent run of the same workflow.</p> <p>Now if you close your client you have to refill these inputs except if ...</p> <p>You use the following tip:</p> <p>When your input are filled. Hold Alt and right click, A contextual menu appear. In some cases, you may only get the contextual menu if you click in the area just below an input field as highlighted by red in the following screenshot:</p> <p><img src="http://www.vcoteam.info/images/phocagallery/tutorials/exportinputparameters.png" mce_src="http://www.vcoteam.info/images/phocagallery/tutorials/exportinputparameters.png" alt="alt"></p> <p>Export your input to a file.</p> <p>When you need them again just import them back.</p> VMware released the AMQP plug-in 2011-08-17T06:39:49Z 2011-08-17T06:39:49Z http://www.vcoteam.info/newsflash/vmware-released-the-amqp-plug-in.html Christophe Decanini webmaster@vcoteam.info <p>VMware just released another new vCenter Orchestrator plug-in. The AMQP plug-in.</p> <div></div> <div><p>Quoting part of the release notes:<br /></p><p><cite title="AMQP plug-in">The VMware vCenter Orchestrator AMQP plug-in allows organizations to automatically trigger workflows based on AMQP messages. Advanced Message Queuing Protocol (AMQP) is a highly-scalable publish and subscribe message protocol that is increasingly used in cloud architectures. It is the default messaging protocol for vCloud Director 1.5. With the AMQP plug-in, organizations can define policies that automatically trigger specific workflows based on certain AMQP messages. For example, as part of a vApp pre-provisioning activity in vCloud Director, Orchestrator can detect the provisioning request and automatically fetch the IP address from an external system before allowing vCloud Director to proceed with the provisioning activity. When Orchestrator detects that the vApp provisioning is completed, Orchestrator can update configuration management databases and other management systems with information about the new vApp instance.</cite></p><cite title="AMQP plug-in"> </cite><p><cite title="AMQP plug-in">The AMQP plug-in provides the ability to monitor and publish AMQP messages, as well as to conduct administrative tasks such as configuring AMQP brokers and managing queues. The AMQP plug-in supports VMware RabbitMQ as well as other implementations of AMQP.</cite></p><cite title="AMQP plug-in"> The VMware vCenter Orchestrator AMQP Plug-In 1.0 release runs on VMware vCenter Orchestrator 4.1.</cite></div><div><br /></div><div><br /></div><div>The main operations supported by this plug-in are:</div> <div> <ul> <li>Add / remove / update / validate a Message broker</li><li>Declare an Exchange, delete an exchange</li><li>Declare a queue, delete a queue</li><li>Bind a queue to an exchange using a routing key</li><li>Receive and send a message</li></ul></div><div><br /></div><div>Here is an example of a vCO policy starting a workflow on a new message and passing it an AMQP subscription.</div><div><br /></div><div><img src="http://www.vcoteam.info/images/amqppolicy.png" mce_src="http://www.vcoteam.info/images/amqppolicy.png" alt="alt" /><br /></div><div><br /></div><div>vCO can also publish messages to a queue so an external application can consume them.<br /></div><div><br /></div><div><br /></div><p>For more information, check the vCenter Orchestrator AMQP Plug-in <a href="https://www.vmware.com/support/orchestrator/doc/amqp_plugin_10_release_notes.html" mce_href="https://www.vmware.com/support/orchestrator/doc/amqp_plugin_10_release_notes.html" target="_blank">release notes</a>. The vCenter Orchestrator Plug-in for vCenter Update Manager is available for <a href="http://downloads.vmware.com/d/details/vco_amqp_plugin_10/ZHcqYnQlampiZCpwcA==" mce_href="http://downloads.vmware.com/d/details/vco_amqp_plugin_10/ZHcqYnQlampiZCpwcA==" target="_blank">download</a>. For instructions about installing and configuring the plug-in, see the <a href="https://www.vmware.com/pdf/amqp_plugin_10_users_guide.pdf" mce_href="https://www.vmware.com/pdf/amqp_plugin_10_users_guide.pdf" target="_blank">vCenter Orchestrator AMQP Plug-in User's Guide</a>. For questions and comments, use the <a href="http://communities.vmware.com/community/vmtn/server/vcenter/orchestrator/plugins" mce_href="http://communities.vmware.com/community/vmtn/server/vcenter/orchestrator/plugins" target="_blank">VMware vCenter Orchestrator Plug-ins community forum</a>.</p><p>For RabbitMQ information check the<a mce_href="http://www.rabbitmq.com/" href="http://www.rabbitmq.com/"> RabbitMQ page</a>.<br /></p><p><br /></p> <p>VMware just released another new vCenter Orchestrator plug-in. The AMQP plug-in.</p> <div></div> <div><p>Quoting part of the release notes:<br /></p><p><cite title="AMQP plug-in">The VMware vCenter Orchestrator AMQP plug-in allows organizations to automatically trigger workflows based on AMQP messages. Advanced Message Queuing Protocol (AMQP) is a highly-scalable publish and subscribe message protocol that is increasingly used in cloud architectures. It is the default messaging protocol for vCloud Director 1.5. With the AMQP plug-in, organizations can define policies that automatically trigger specific workflows based on certain AMQP messages. For example, as part of a vApp pre-provisioning activity in vCloud Director, Orchestrator can detect the provisioning request and automatically fetch the IP address from an external system before allowing vCloud Director to proceed with the provisioning activity. When Orchestrator detects that the vApp provisioning is completed, Orchestrator can update configuration management databases and other management systems with information about the new vApp instance.</cite></p><cite title="AMQP plug-in"> </cite><p><cite title="AMQP plug-in">The AMQP plug-in provides the ability to monitor and publish AMQP messages, as well as to conduct administrative tasks such as configuring AMQP brokers and managing queues. The AMQP plug-in supports VMware RabbitMQ as well as other implementations of AMQP.</cite></p><cite title="AMQP plug-in"> The VMware vCenter Orchestrator AMQP Plug-In 1.0 release runs on VMware vCenter Orchestrator 4.1.</cite></div><div><br /></div><div><br /></div><div>The main operations supported by this plug-in are:</div> <div> <ul> <li>Add / remove / update / validate a Message broker</li><li>Declare an Exchange, delete an exchange</li><li>Declare a queue, delete a queue</li><li>Bind a queue to an exchange using a routing key</li><li>Receive and send a message</li></ul></div><div><br /></div><div>Here is an example of a vCO policy starting a workflow on a new message and passing it an AMQP subscription.</div><div><br /></div><div><img src="http://www.vcoteam.info/images/amqppolicy.png" mce_src="http://www.vcoteam.info/images/amqppolicy.png" alt="alt" /><br /></div><div><br /></div><div>vCO can also publish messages to a queue so an external application can consume them.<br /></div><div><br /></div><div><br /></div><p>For more information, check the vCenter Orchestrator AMQP Plug-in <a href="https://www.vmware.com/support/orchestrator/doc/amqp_plugin_10_release_notes.html" mce_href="https://www.vmware.com/support/orchestrator/doc/amqp_plugin_10_release_notes.html" target="_blank">release notes</a>. The vCenter Orchestrator Plug-in for vCenter Update Manager is available for <a href="http://downloads.vmware.com/d/details/vco_amqp_plugin_10/ZHcqYnQlampiZCpwcA==" mce_href="http://downloads.vmware.com/d/details/vco_amqp_plugin_10/ZHcqYnQlampiZCpwcA==" target="_blank">download</a>. For instructions about installing and configuring the plug-in, see the <a href="https://www.vmware.com/pdf/amqp_plugin_10_users_guide.pdf" mce_href="https://www.vmware.com/pdf/amqp_plugin_10_users_guide.pdf" target="_blank">vCenter Orchestrator AMQP Plug-in User's Guide</a>. For questions and comments, use the <a href="http://communities.vmware.com/community/vmtn/server/vcenter/orchestrator/plugins" mce_href="http://communities.vmware.com/community/vmtn/server/vcenter/orchestrator/plugins" target="_blank">VMware vCenter Orchestrator Plug-ins community forum</a>.</p><p>For RabbitMQ information check the<a mce_href="http://www.rabbitmq.com/" href="http://www.rabbitmq.com/"> RabbitMQ page</a>.<br /></p><p><br /></p> How to Retrieve Workflow Execution Details 2011-07-28T14:04:42Z 2011-07-28T14:04:42Z http://www.vcoteam.info/learn-vco/how-to-retrieve-workflow-execution-details.html Burke webmaster@vcoteam.info <p>A common task among vCenter Orchestrator (vCO) developers is to check the results of workflows that have already executed. This can be done in the vCO Client by clicking the plus sign next to the Workflow you are checking on, but this isn't always the most desirable method. For instance, you may have a vCO Policy/Task setup to check the executions of other workflows at a recurring interval. The following code can help guide you to gathering the desired information.</p> <p>To use this sample code:</p> <ol> <li>Create a new workflow called something like "Get Workflow Execution Details"</li> <li>Add a single Scriptable Task element to the workflow</li> <li>Add a new Input Parameter named "requestFlow" of type "workflow" to the scriptable task. (Be sure this is an Input Parameter so that when you execute this workflow, you will be prompted to select a workflow to get details from)</li> <li>Add the appropriate connectors and End Task</li> <li>Paste the following code into the scriptable task</li> <li>Validate the workflow, save, close, and execute!</li> </ol> <p>Code Sample:</p> <p>{code} var tokens = requestFlow.executions; // Each execution is a "workflowToken" object<br />for each (token in tokens){</p> <p>if (token.isStillValid){</p> <p>System.log("");</p> <p>System.log("==== Checking token ====");</p> <p>System.log("Start Date: "+token.startDate);</p> <p>if(token.endDate != null){</p> <p>System.log("End Date: "+token.endDate);</p> <p>}</p> <p>System.log("Business State: "+token.businessState); // Indicates the business state as defined by the workflow dev in each of the elements of the workflow (not always specified)</p> <p>System.log("State: "+token.state); // Indicates the system state of this workflow</p> <p>/* State values are likely to be one of the following:</p> <p>waiting <- waiting for user input</p> <p>failed <- an exception was thrown to cause the workflow to fail</p> <p>completed <- workflow competed running successfully</p> <p>canceled <- user right-clicked and canceled the workflow</p> <p>running <- workflow is still processing</p> <p>*/</p> <p>System.log("");</p> <p>System.log("==== Token Inputs ====");</p> <p>var inputParams = token.getInputParameters();</p> <p>if (inputParams != null){</p> <p>for each (key in inputParams.keys){</p> <p>var value = inputParams.get(key);</p> <p>System.log(key + ": " + value + " ("+System.getObjectType(value)+")");</p> <p>}</p> <p>}</p> <p>System.log("");</p> <p>System.log("==== Token Attributes ====");</p> <p>var attributes = token.getAttributes();</p> <p>if(attributes != null){</p> <p>for each (key in attributes.keys){</p> <p>var value = attributes.get(key);</p> <p>System.log(key + ": " + value + " ("+System.getObjectType(value)+")");</p> <p>}</p> <p>}</p> <p>System.log("");</p> <p>System.log("==== Token Outputs ====");</p> <p>var outputParams = token.getOutputParameters();</p> <p>if (outputParams != null){</p> <p>for each (key in outputParams.keys){</p> <p>var value = outputParams.get(key);</p> <p>System.log(key + ": " + value + " ("+System.getObjectType(value)+")");</p> <p>}</p> <p>}</p> <p>}else{</p> <p>System.log("WARNING - INVALID TOKEN ENCOUNTERED");</p> <p>}} {/code}</p> <p>Note: The properties/methods used above may not be available via the SOAP API.</p> <p>For your convenience, .workflow file attached (Right Click and Save Link As...) <a title="get workflow execution details.workflow" href="http://www.vcoteam.info/images/get%20workflow%20execution%20details.workflow" target="_blank"><img src="http://www.vcoteam.info/components/com_filepicker/assets/images/filetypes/workflow.gif" alt="file icon workflow" /> get workflow execution details.workflow</a></p> <p>A common task among vCenter Orchestrator (vCO) developers is to check the results of workflows that have already executed. This can be done in the vCO Client by clicking the plus sign next to the Workflow you are checking on, but this isn't always the most desirable method. For instance, you may have a vCO Policy/Task setup to check the executions of other workflows at a recurring interval. The following code can help guide you to gathering the desired information.</p> <p>To use this sample code:</p> <ol> <li>Create a new workflow called something like "Get Workflow Execution Details"</li> <li>Add a single Scriptable Task element to the workflow</li> <li>Add a new Input Parameter named "requestFlow" of type "workflow" to the scriptable task. (Be sure this is an Input Parameter so that when you execute this workflow, you will be prompted to select a workflow to get details from)</li> <li>Add the appropriate connectors and End Task</li> <li>Paste the following code into the scriptable task</li> <li>Validate the workflow, save, close, and execute!</li> </ol> <p>Code Sample:</p> <p>{code} var tokens = requestFlow.executions; // Each execution is a "workflowToken" object<br />for each (token in tokens){</p> <p>if (token.isStillValid){</p> <p>System.log("");</p> <p>System.log("==== Checking token ====");</p> <p>System.log("Start Date: "+token.startDate);</p> <p>if(token.endDate != null){</p> <p>System.log("End Date: "+token.endDate);</p> <p>}</p> <p>System.log("Business State: "+token.businessState); // Indicates the business state as defined by the workflow dev in each of the elements of the workflow (not always specified)</p> <p>System.log("State: "+token.state); // Indicates the system state of this workflow</p> <p>/* State values are likely to be one of the following:</p> <p>waiting <- waiting for user input</p> <p>failed <- an exception was thrown to cause the workflow to fail</p> <p>completed <- workflow competed running successfully</p> <p>canceled <- user right-clicked and canceled the workflow</p> <p>running <- workflow is still processing</p> <p>*/</p> <p>System.log("");</p> <p>System.log("==== Token Inputs ====");</p> <p>var inputParams = token.getInputParameters();</p> <p>if (inputParams != null){</p> <p>for each (key in inputParams.keys){</p> <p>var value = inputParams.get(key);</p> <p>System.log(key + ": " + value + " ("+System.getObjectType(value)+")");</p> <p>}</p> <p>}</p> <p>System.log("");</p> <p>System.log("==== Token Attributes ====");</p> <p>var attributes = token.getAttributes();</p> <p>if(attributes != null){</p> <p>for each (key in attributes.keys){</p> <p>var value = attributes.get(key);</p> <p>System.log(key + ": " + value + " ("+System.getObjectType(value)+")");</p> <p>}</p> <p>}</p> <p>System.log("");</p> <p>System.log("==== Token Outputs ====");</p> <p>var outputParams = token.getOutputParameters();</p> <p>if (outputParams != null){</p> <p>for each (key in outputParams.keys){</p> <p>var value = outputParams.get(key);</p> <p>System.log(key + ": " + value + " ("+System.getObjectType(value)+")");</p> <p>}</p> <p>}</p> <p>}else{</p> <p>System.log("WARNING - INVALID TOKEN ENCOUNTERED");</p> <p>}} {/code}</p> <p>Note: The properties/methods used above may not be available via the SOAP API.</p> <p>For your convenience, .workflow file attached (Right Click and Save Link As...) <a title="get workflow execution details.workflow" href="http://www.vcoteam.info/images/get%20workflow%20execution%20details.workflow" target="_blank"><img src="http://www.vcoteam.info/components/com_filepicker/assets/images/filetypes/workflow.gif" alt="file icon workflow" /> get workflow execution details.workflow</a></p> Release Management for VM Clones with vCO 2011-07-10T10:51:40Z 2011-07-10T10:51:40Z http://www.vcoteam.info/vco-features/release-management-for-vm-clones-with-vco.html Christian Johannsen webmaster@vcoteam.info <p>Last week I was member of a roundtable for designing SAP application delivery. The main things they discussed about were VM templates and their clones. SAP has an own application abstraction layer (ACC - adaptive computing controller) which hosts an API. With this knowledge I designed a little whiteboard workflow with the vCenter Orchestrator as clone intelligence and automation instance for future release management. </p><p /><br /></p><p> <img src="http://www.vcoteam.info/images/rm_vco.png" mce_src="http://www.vcoteam.info/images/rm_vco.png" alt="release_management_vCO_CJO" title="release_management" /></p> <p>As you can see the software delivery application could be every other deployment system (HP Radia, Altiris etc.) with an API for vCO automation. The only decision you have to made is where to store the knowledge about the configurations (VM and application). In my opinion the best way is to keep all entries in the CMDB to allow a real life cycle for the virtual machines. With an EoL flag it´s really easy to purge old releases and keep their original VM template for potential restores.</p> <p>So with vCO you have the power to adopt all the nice processes in your IT environment!</p> <p>Last week I was member of a roundtable for designing SAP application delivery. The main things they discussed about were VM templates and their clones. SAP has an own application abstraction layer (ACC - adaptive computing controller) which hosts an API. With this knowledge I designed a little whiteboard workflow with the vCenter Orchestrator as clone intelligence and automation instance for future release management. </p><p /><br /></p><p> <img src="http://www.vcoteam.info/images/rm_vco.png" mce_src="http://www.vcoteam.info/images/rm_vco.png" alt="release_management_vCO_CJO" title="release_management" /></p> <p>As you can see the software delivery application could be every other deployment system (HP Radia, Altiris etc.) with an API for vCO automation. The only decision you have to made is where to store the knowledge about the configurations (VM and application). In my opinion the best way is to keep all entries in the CMDB to allow a real life cycle for the virtual machines. With an EoL flag it´s really easy to purge old releases and keep their original VM template for potential restores.</p> <p>So with vCO you have the power to adopt all the nice processes in your IT environment!</p> Radware ADC Virtualization & VMware Orchestrator — An Integration Demo 2011-07-04T18:52:15Z 2011-07-04T18:52:15Z http://www.vcoteam.info/vco-features/radware-adc-virtualization-a-vmware-orchestrator-an-integration-demo.html Christophe Decanini webmaster@vcoteam.info <p>Radware is one of the few VMware partners leveraging extensively vCenter Orchestrator in combination with their products. Find below a demo video presenting the integrated solution.<br /></p><p /><br /></p><p><img src="http://www.vcoteam.info/images/phocagallery/radware.png" mce_src="http://www.vcoteam.info/images/phocagallery/radware.png" alt="alt" border="0" /></p><p><br /></p><p>Quoting their site:<br /></p><p><br /></p><p><cite>This short demo walks through a sample workflow scenario to illustrate how Radware’s solutions can help you maintain tight integration between your virtual/physical ADC environment and VMware vCenter Orchestrator/vSphere. In just a few easy steps you can dynamically configure, provision, load balance, and monitor your virtualized environment.</cite></p><p><br /></p><p>http://www.youtube.com/watch?v=4rkV3ebQens</p> <p>Radware is one of the few VMware partners leveraging extensively vCenter Orchestrator in combination with their products. Find below a demo video presenting the integrated solution.<br /></p><p /><br /></p><p><img src="http://www.vcoteam.info/images/phocagallery/radware.png" mce_src="http://www.vcoteam.info/images/phocagallery/radware.png" alt="alt" border="0" /></p><p><br /></p><p>Quoting their site:<br /></p><p><br /></p><p><cite>This short demo walks through a sample workflow scenario to illustrate how Radware’s solutions can help you maintain tight integration between your virtual/physical ADC environment and VMware vCenter Orchestrator/vSphere. In just a few easy steps you can dynamically configure, provision, load balance, and monitor your virtualized environment.</cite></p><p><br /></p><p>http://www.youtube.com/watch?v=4rkV3ebQens</p> vCenter Orchestrator new plug-ins covered in "This week in virtualization" 2011-06-30T13:59:07Z 2011-06-30T13:59:07Z http://www.vcoteam.info/newsflash/vcenter-orchestrator-new-plug-ins-covered-in-qthis-week-in-virtualizationq.html Christophe Decanini webmaster@vcoteam.info <p><br /></p><p>Brian Knudtson (<a target="_blank" title="Follow Brian Knudtson on Twitter" mce_href="http://twitter.com/#!/bknudtson" href="http://twitter.com/#%21/bknudtson"><span>@bknudtson</span></a>) talks about new VMware vCenter Orchestrator plug-ins and the vCenter Converter 5.0 beta.</p><p><img src="http://www.vcoteam.info/images/phocagallery/ssv_thiswkvirt-sm.gif" mce_src="http://www.vcoteam.info/images/phocagallery/ssv_thiswkvirt-sm.gif" alt="alt" border="0" /></p><p>Listen to the podcast <a target="_blank" mce_href="http://itknowledgeexchange.techtarget.com/this-week-in-virtualization/this-week-in-virtualization-june-24-2011/" href="http://itknowledgeexchange.techtarget.com/this-week-in-virtualization/this-week-in-virtualization-june-24-2011/">here</a>.<br /></p> <p><br /></p><p>Brian Knudtson (<a target="_blank" title="Follow Brian Knudtson on Twitter" mce_href="http://twitter.com/#!/bknudtson" href="http://twitter.com/#%21/bknudtson"><span>@bknudtson</span></a>) talks about new VMware vCenter Orchestrator plug-ins and the vCenter Converter 5.0 beta.</p><p><img src="http://www.vcoteam.info/images/phocagallery/ssv_thiswkvirt-sm.gif" mce_src="http://www.vcoteam.info/images/phocagallery/ssv_thiswkvirt-sm.gif" alt="alt" border="0" /></p><p>Listen to the podcast <a target="_blank" mce_href="http://itknowledgeexchange.techtarget.com/this-week-in-virtualization/this-week-in-virtualization-june-24-2011/" href="http://itknowledgeexchange.techtarget.com/this-week-in-virtualization/this-week-in-virtualization-june-24-2011/">here</a>.<br /></p>