Programmatically add VMware ESX host to vCenter during kickstart - vmware

I'd like to have my ESX hosts add themselves to vCenter during the kickstart process (or in a script that runs after the first boot).
I can't find a method for doing this; is there one?

There are methods in the API to add hosts: one for standalone hosts, and one for hosts in a cluster.
I'm not sure what scripting tools you have available during the kickstart process, but I recommend using one of VMware's scripting wrappers: the PowerCLI for powershell, for instance. There are SDKs available in .Net and Perl, among others. See here for more API information.

Related

How can I get a list of Vcenter servers in my environment using Powershell or risk api

I’m trying to get a list of Vcenter servers in my environment. Is there a Powershell command let that can get a list of Vcenter servers using Powershell or risk api?
The vCenter server generally serves as the authentication point and source of the API services, so this isn't generally something that's easy to do.
There is one caveat though, and that is when/if Linked Mode is enabled. In those cases you could use PowerCLI (a set of PowerShell modules that are easy to download from the PowerShell Gallery) and use the following commands:
Connect-VIServer vcenter-name.fqdn -AllLinked
$global:DefaultVIServers
To be very clear, the above will not provide all the vCenters in your environment, but only the ones that are in some form of linked mode.

Medium Hadoop / Spark Cluster Administration

Please let me know if this question is more appropriate for a different channel but I was wondering what the recommended tools are for being able to install, configure and deploy hadoop/spark across a large number of remote servers. I'm already familiar with how to setup all of the software but I'm trying to determine what I should start using that would allow me to easily deploy across a large number of servers. I've started to look into configuration management tools (ie. chef, puppet, ansible) but was wondering what the best and most user friendly option to start off with is out there. I also do not want to use spark-ec2. Should I be creating homegrown scripts to loop through a hosts file containing IP? Should I use pssh? pscp? etc. I want to just be able to ssh with as many servers as needed and install all of the software.
If you have some experience in scripting language then you can go for chef. The recipes are already available for deployment and configuration of cluster and it's very easy to start with.
And if wants to do it by your own then you can use sshxcute java API which runs the script on remote server. You can build up the commands there and pass them to sshxcute API to deploy the cluster.
Check out Apache Ambari. Its a great tool for central management of configs, adding new nodes, monitoring the cluster, etc. This would be your best bet.

Is vmware vCenter server necessary for esxi + terraform

I am currently investigating terraform, is it possible to create VM with Terraform on Esxi 6 without vCenter Server? Since I only have free version of Esxi 6 installed. Thank you in advance.
I have a provider available that can talk directly to esxi without vcenter.
https://github.com/josenk/terraform-provider-esxi
I figure, that using Terraform, specifically the official vSphere provider without vCenter might be possible, but because Terraform internally uses the govmomi library that in turn uses the vSphere API it is not possible on the free Hypervisor, because it only allows read-only access to the vSphere API.
Hence, you need at least the Essential License and with it comes vCenter.
You can import an image without the APIs.
You can't clone images. Attempting to do so would give you errors such as https://communities.vmware.com/thread/310721?db=5 Can't clone a VM (The operation is not supported on the object").
The next question is if importing is enough. I don't know.
It does require vcenter. Vsphere essentials kit is an inexpensive option for a lab / dev environment setup.

Is it possible to remotely run scripts in a guest OS using VCLI?

Using VMware OVF Tool 4.0, I'm deploying/powering on some VMs and would like to execute some scripts inside them. However, I was unable to assign injection properties to a VM, I.e: DNS, Gateway, etc. See OVF Tool documentation page 22 for more information: https://www.vmware.com/support/developer/ovf/ovf400/ovftool-400-userguide.pdf
This below link was helpful but the associated properties were not assigned, when I tred this:
http://www.virtuallyghetto.com/2014/06/an-alternate-way-to-inject-ovf-properties-when-deploying-virtual-appliances-directly-onto-esxi.html
As an alternative, I would like to remotely run a setup script that resides in the VM.
I'm seeing from articles online that Power CLI cmdlet Invoke-VMScript is a common choice. Link shown below:
https://www.vmware.com/support/developer/PowerCLI/PowerCLI51/html/Invoke-VMScript.html
Is there an alternative method to this cmdlet? Is there a similar command that VCLI has to offer? Any assistance would be great. Thanks in advance.
Regards,Gabriel
I researched VIX API using Perl, and I'm now able to run remote scripts from a VM.Link: https://www.vmware.com/support/developer/vix-api/Regards,Gabriel

MicroCloud Virtual Machine

I am working on taint tracking model on java framework, and I have enhanced existing core java classes such as String, StringBuilder etc. and have build a virtual machine based on these new (self edited) java framework.
Does the CloudFoundry runs on the local virtual machine, or creates its own one?
I am using it with VMware player.
If it creates its own VM, is there any way to get SSH connection and set up new VM (my self edited one)?
This project is purely for academic purposes so Sun's T&C are not braked.
Kind regards,
Assel
If you are using Micro Cloud Foundry, then everything runs inside the virtual machine, including the Java VM used for executing your code. You use vmc push to deploy your code into the Micro Cloud Foundry instance, and it executes inside there.
Remember that you do not have access to modify the system JVM on the "real" (non-Micro) cloudfoundry.com or other Cloud Foundry instances like AppFog, you use the version that is already deployed.
Instead of SSHing (for microcloud) you can use (in vmware player/workstation/fusion) alt+f2 and login. Then use whatever you want. Though VMWare discouraged this, because of updates.