Category Archives: General

Folding@Home Header

Deploying the VMware Appliance for [email protected] using Terraform

To simplify the deployment of [email protected] appliances to vSphere environments, I have wrote a set of Terraform configuration files (script).

You will need two packages downloaded to your jump host.

And either download locally the VMware [email protected] Appliance, or host it at remote location.

Use the git software to download my Terraform Git folder which contains the folder called Deploy-FAH.

git clone https://github.com/saintdle/Terraform.git

Move into the “Deploy-FAH” folder, and edit the terraform.tfvars file as needed;

cd Deploy-FAH
vi terraform.tfvars

Below is an example;

// Name of the vSphere server. E.g "vcsa.vmware.local"
vsphere_server = "vcenter.veducate.local"

// User on the vSphere server. E.g "administrator@vsphere.local"
vsphere_user = "administrator@vsphere.local"

// Password of the user on the vSphere server. E.g "password"
vsphere_password = "Password1234!"

// Name of the vSphere data center. E.g "datacenter"
vsphere_datacenter = "Datacenter"

// Name of the vSphere cluster. E.g "Cluster"
vsphere_cluster = "Cluster"

// Name or IP of the vSphere host in the cluster to deploy your VM to. E.g "esxi-01" or "192.168.1.20"
vsphere_host = "10.10.2.4"

// Name of the vSphere data store to use for the VMs. E.g "VSAN"
vsphere_datastore = "Datastore"

// Network to connect virtual machine
vm_network = "Freale_NW1"

// Number of instances to deploy
instance_count = 2

// VM Machine Name (an index will be appended i.e FAH-1, FAH-2,)
vm_name = "dean-test"

// Number of CPUs to set on deployed Virtual Machines
num_cpu = 2

// Memory to set on deployed Virtual Machines (in MB)
memory = 4096

// Name of vSphere Resouce Pool to be created. E.g "FAH-VMs"
vsphere_resource_pool = "dean-test"

// Name of VM folder to be created. E.g "FAH-VMs"
vsphere_vm_folder = "dean-test"

// Location of OVA file if using a local location - if using remote location, leave this as null
local_ovf_path = "/home/dean/Deploy-FAH-3/VMware-Appliance-FaH_1.0.4.ova"

// Location of OVA file if using a remote location - if using local location, leave this as null
remote_ovf_path =

// Enable SSH in FAH Appliance (True or False)
ssh_enable = "True"

// FAH appliance root password
root_password = "VMware1!"

// FAH Username you wish to be associated with in the statistics tables
fah_user = ""

// FAH Team you wish to be associated with in the statistics tables
fah_team = "52737"

// FAH Passkey to verify your user in the statistical tables (this is optional from FAH project)
fah_passkey = "unique_id"

That’s it, no more changes needed, it’s as simple as running the following to deploy your appliances;

#This will download the terraform providers as needed

terraform init

#This will show you the planned changes and make sure they are possible

terraform plan

#This will run the configuration to run the deployment

terraform apply

You can use the latest version of Terraform, version 0.13.5 as of the publishing of this post.

Quick notes

This terraform configuration uses some advance configuration in the folder “FAH-Appliance”, under the main.tf file. Here it reads the “remote_ovf_path” variable, and acts based on if it is null or not. If there is a variable set, then it runs the command to deploy from a remote location. If variable is null, then it looks to the “local_ovf_path”, and processes this to deploy an OVF/OVA from the local location.

  dynamic "ovf_deploy" {
  for_each = "${var.local_ovf_path}" != "" || "${var.remote_ovf_path}" != "" ? [0] : []
  content {
  // Path to local or remote ovf/ova file
  local_ovf_path = "${var.local_ovf_path}" != "" ? "${var.local_ovf_path}" : null
  remote_ovf_url = "${var.remote_ovf_path}" != "" ? "${var.remote_ovf_path}" : null
   disk_provisioning    = "thin"
   ovf_network_map = {
        "VM Network" = data.vsphere_network.network.id
    }
   }
  }

Thanks to Grant Orchard from HashiCorp helping me with this part of the config.

Interesting in where you can take this further, check out this post from Robert Jenson, using VMware CodeStream for an Infrastructure as Code deployment using GitHub as a source repository, and terraform for the deployment.

Regards

Folding@Home Header

How to deploy the VMware Appliance for [email protected]

In this blog post we will go through the steps to deploy the VMware Appliance for [email protected] to;

  • vCenter
  • Standalone ESXi host
  • VMware Fusion/Workstation

And also cover some basic troubleshooting.

Getting started with the VMware [email protected] Appliance (vBrownBag Recording)

Deploy the VMware Appliance for [email protected] to vCenter

Continue reading How to deploy the VMware Appliance for [email protected]

How to add characters at start & end of every line in Notepad++

I always end up searching how to add characters to the start and end of lines in Notepad++, so I thought I’d write this blog post.

  • Press Ctrl + H to bring up the Replace dialog box (or Ctrl + F and click the tab
  • Select the Regular Expression Radio Button

Add to the start of each line
  1. Type ^ in the Find what box
  2. Type the word or characters you want to be appended to the start of each line
  3. Click the Replace or Replace All button as needed
Add to the end of each line
  1. Type $ in the Find what box
  2. Type the word or characters you want to be appended to the end of each line
  3. Click the Replace or Replace All button as needed

Regards

Folding@Home Header

How to use FAHControl to manage multiple [email protected] Client instances

This blog post will cover managing a number of [email protected] Clients using FAHControl.

If you are using the VMware [email protected] Fling, then this appliance will be configured for remote control on deployment.

This blog is based on [email protected] deployed on Linux, but the same applied for Windows.

Installing FAHControl to monitor multiple installations 

For Windows instances, this is installed as part of the FAHClient 

  • “C:\Program Files (x86)\FAHClient\FAHControl.exe

For Linux, you will need to install FAHControl separately 

For Mac OS X Instances, this is installed as part of the FAHClient 

Configuring your FAHClient for remote access  

On your deployed OVAs 

  1. Connect via SSH 
  2. Edit the config.xml file 
  3. vi /etc/fahclient/config.xml 
  4. Insert the following code to enable FAHControl access 
  5. From within vi press ‘i 
  6. To configure a single address to access your client 
  7. Without passwords; 
<command-allow-no-pass v='127.0.0.1 x.x.x.x’ /> 
  1. With Password; 
<command-allow v='127.0.0.1 192.168.200.10' /> 

<password v='VMware1!' /> 

N.B. The localhost address must remain configured, otherwise the client work run 

Examples: 

Using password with a single IP restriction 

  <!-- Remote Command Server --> 

  <command-allow v='127.0.0.1 192.168.200.10' /> 

  <password v='VMware1!'/> 

Without a password against a single IP restriction 

  <!-- Remote Command Server --> 

  <command-allow-no-pass v='127.0.0.1 192.168.200.10' /> 

Without either a password or IP restriction 

<!-- Remote Command Server --> 

  <command-allow-no-pass v='127.0.0.1 0.0.0.0/0' /> 
  1. Save the config.xml file 
  1. Press ESC key 
  1. Enter without quotes “:wq!”
  1. Reload the FAHClient 
  1. /etc/init.d/FAHClient restart

If you see “Starting fahclient … FAIL” check your XML file again for any syntax errors.  

Connecting FAHControl to your clients 

  1. Open your FAHControl and click Add
  2. Enter the name of your client as you would like it to be displayed, the IP address of your client and your password if necessary, and click save.
  3. You should now see your client is connected in FAHControl. 

Appendix 

Firewall rules 

If you are using iptables, the below firewall rules will need to be configured for Linux allow for FAHControl to remotely manage FAHClient.

iptables -A INPUT -p tcp --dport 36330 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT 

iptables -A OUTPUT-p tcp --dport 36330 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT 

Regards

Creating a redirection on your wordpress domain

The other day I was chatting to a friend, and we discussed they should setup a redirection on their WordPress site to take you to their youtube page. Something simple as;

  • https://vEducate.co.uk/youtube >>> https://youtube.com/c/VMwareTAMLAB

To create something like this when running WordPress is quite easy.

  1. Install the plugin “Redirectioner” By Remkus de Vries.
  2. Activate plugin
  3.  Go to Settings > 404 Redirected
  4. Scroll to the bottom to create a manual redirect
    • type in your URL suffix
    • chose type of redirect
    • type external URL including protocol (http/s)

Quick simple and easy!

Regards