VRA Cloud/8 to install the VMware Event Broker Appliance

I recently decided to work on VEBA (VMware Event Broker Appliance) , Those who do not know what is VEBA , Here is the URL where we can find more details.

As a new User to VEBA , First step was to install and Instead of going to deploy into multiple places , I decided to create a VRA Cloud Catalog Item which can use used in future with couple of clicks.

I am using the latest version v0.7.2 which got released 1 day before this Post .

To get started what do we need …. ?

  • vCenter with Public Internet Access or OVA uploaded to Content Library in vSphere.
  • vCenter UserName, Password with permission to access events .

Since my vCenter has access to public repositories , I do not need to download anything locally or in vCenter.

Let’s see How the Service Broker Catalog looks like.

Here we will choose Request on VEBA .
I have included Most commonly used properties in this , but we can add more if we need

Once we fill all required details , the Form will look like this ..

This was the view of Catalog Item , Lets switch to Cloud Assembly and Prepare the blueprint for this.
Here is the Yaml for blueprint.

formatVersion: 1
inputs:
  hostname:
    type: string
    description: Enter veba hostname
    title: Hostname
  Rootpassword:
    type: string
    description: Enter Root Password
    title: Root Password
    encrypted: true
  Domain:
    type: string
    description: Enter Domain server IP or  FQDN
    title: Domain
  SubnetMask:
    type: string
    description: 'Example: 24 (255.255.255.0)'
    title: Subnet Mask
  Gateway:
    type: string
    description: Provide Gateway for VEBA
    title: Gateway
  enable_ssh:
    type: string
    enum:
      - 'True'
      - 'False'
    title: Enable SSH
    description: 'Enable SSH service '
    default: 'True'
  vcenter_server:
    type: string
    description: Enter vCenter Server IP or FQDN
    title: vCenter Server
  vcenter_username:
    type: string
    description: Enter vCenter Username
    encrypted: false
    title: vCenter Username
  vcenter_password:
    type: string
    description: Enter vCenter password
    title: vCenter Password
    encrypted: true
  vcenter_disable_tls_verificatio:
    type: string
    default: true
    title: vCenter Disable TLS Verificatio
    description: TLS Disable would be require incase of self signed Certificate
  vCenter_VEBA_username:
    type: string
    description: Enter Username of vCenter for VEBA
    title: VEBA UserName
  vcenter_veba_ui_password:
    type: string
    description: Enter Password of vCenter for VEBA
    title: vCenter VEBA UI Password
    encrypted: true
  aws_eb_access_secret:
    type: string
    description: AWS Access Secret if any or leave Blank
    title: AWS Access Secret
    encrypted: true
    default: ''
  aws_eb_event_bus:
    title: AWS Event Bus
    type: string
    description: Provide AWS event Bus details if any or leave Blank
    default: ''
  webhook:
    type: string
    description: Provide Webhook details if any or leave blank
    default: ''
    title: Webhook
  webhook_username:
    type: string
    description: Provode Webhook Username if any or leave blank
    default: ''
    title: Webhook Username
  webhook_password:
    type: string
    description: Enter Webhook password If any or leave blank
    title: Webhook Password
    default: ''
  event_processor_type:
    type: string
    description: Choose any One of the Them
    enum:
      - Knative
      - OpenFaaS
      - AWS EventBridge
    title: Event Processor Type
    default: Knative
  horizon_domain:
    type: string
    description: Enter Horizon Domain If any or leave blank
    title: Horizon Domain
    default: ''
  horizon_username:
    type: string
    description: Enter Horizon Username If any or Leave Blank
    title: Horizon Username
    default: ''
  horizon_password:
    type: string
    description: Enter Horizon Password If any or Leave Blank
    title: Horizon Password
    default: ''
    encrypted: true
  docker_network_cidr:
    type: string
    description: Enter Docker CIDR
    default: 172.17.0.1/16
    title: Docker CIDR
  pod_network_cidr:
    default: 10.10.0.0/16
    title: Pod Network CIDR
    description: Enter Pod Network CIDR
    type: string
resources:
  VEBA:
    type: Cloud.vSphere.Machine
    properties:
      imageRef: 'https://download3.vmware.com/software/vmw-tools/veba/VMware_Event_Broker_Appliance_release-0.7.2.ova'
      cpuCount: 6
      totalMemoryMB: 8192
      name: '${input.hostname}'
      constraints:
        - tag: 'vCenter155:Cluster'
      ovfProperties:
        - key: guestinfo.root_password
          value: '${input.Rootpassword}'
        - key: guestinfo.hostname
          value: '${input.hostname}'
        - key: guestinfo.ipaddress
          value: '${self.networks[0].address}'
        - key: guestinfo.domain
          value: '${input.Domain}'
        - key: guestinfo.netmask
          value: '${input.SubnetMask}'
        - key: guestinfo.gateway
          value: '${input.Gateway}'
        - key: guestinfo.enable_ssh
          value: '${input.enable_ssh}'
        - key: guestinfo.vcenter_disable_tls_verification
          value: '${input.vcenter_disable_tls_verificatio}'
        - key: guestinfo.vcenter_username
          value: '${input.vcenter_username}'
        - key: guestinfo.vcenter_password
          value: '${input.vcenter_password}'
        - key: guestinfo.vcenter_server
          value: '${input.vcenter_server}'
        - key: guestinfo.vcenter_veba_ui_username
          value: '${input.vCenter_VEBA_username}'
        - key: guestinfo.vcenter_veba_ui_password
          value: '${input.vcenter_veba_ui_password}'
        - key: guestinfo.horizon_domain
          value: '${input.horizon_domain}'
        - key: guestinfo.horizon_username
          value: '${input.horizon_username}'
        - key: guestinfo.horizon_password
          value: '${input.horizon_password}'
        - key: guestinfo.aws_eb_event_bus
          value: '${input.aws_eb_event_bus}'
        - key: guestinfo.aws_eb_access_secret
          value: '${input.aws_eb_access_secret}'
        - key: guestinfo.webhook_username
          value: '${input.webhook_username}'
        - key: guestinfo.webhook_password
          value: '${input.webhook_password}'
        - key: guestinfo.webhook
          value: '${input.webhook}'
        - key: guestinfo.event_processor_type
          value: '${input.event_processor_type}'
        - key: guestinfo.docker_network_cidr
          value: '${input.docker_network_cidr}'
        - key: guestinfo.pod_network_cidr
          value: '${input.pod_network_cidr}'
      networks:
        - network: '${resource.VEBA_Network.id}'
          assignment: static
  VEBA_Network:
    type: Cloud.vSphere.Network
    properties:
      networkType: existing

We can use exact same Blueprint with 2 minor changes which are on Line number 125 and 130 .
Line 125 , since i have access to public repository I am using this , If vCenter do not have access to public repo then we need to provide the location of VEBA OVA.
Line 130 is Constraint tag for Compute Cluster , we can provide as per environment is setup in VRA.

Ok Once we have done this , We need to release the version , To do so here is the screenshot of step.

Once It is release , We need to come to Service broker and enable Custom form .
I have attached the Custom form Json which can be directly used so that it will be visible exactly as it is shown in above screenshots.

we can Import the Json file using Import Form as per below.

Once we submit , VRA Cloud or On-Prem will be deploying the VEBA to specified endpoint …
Stay tuned for further post ……

One response to “VRA Cloud/8 to install the VMware Event Broker Appliance”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Create a website or blog at WordPress.com

%d bloggers like this: