Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview

...

Note
Among various Blueprint types, only VMs support Plugins.

The HyperCloud™ Platform (HCP) lets you create and execute scripts on Virtual Machines (VMs.) These scripts are called Plugins on the HCP portal. The HCP portal supports these interpreters:

...

To run a Plugin on a VM, you’ll need to install the HCP agent. You can install the HCP agent on the VM using a Blueprint or the Free-from wizard.

...

Refer to these sections to:

Table of Contents
type
indent1px
absoluteUrltrue
stylecircle
excludeOverviewflat
separatorpipe

Create your Plugin

...

Plugins are Docker containers that perform pre-defined tasks. These tasks and are configured executed as steps in your HCP pipeline. You can use Plugins can be used to deploy code, publish artifacts, send notificationnotifications, and moreetcetera.
To Follow these steps to create a pluginPlugin:

  1. Login to the HyperCloud™ Platform(HCP) with your credentials.

  2. Click on Services Orchestration  > Click Appstore > Click on Log in to your HCP portal account.

  3. Click Service Orchestration and navigate to Appstore > Plugins > Click on New > Select plugin type e.g. Shellthe Plugin Type from the drop-down list.

  4. Enter the following these details for your new shell script plugin:

    Enter the name

    in your Script Plugin dialog:

    1. Provide a Name for your Plugin.

    2. Click

      on the

      +Advance Configuration and enter these details:

      1. Enter the a plugin Version.

      2. Enter a brief description for of your new shell script pluginScript Plugin.

      3. Select the License from the drop-down list.

      4. Enter the Timeout In the scripts text box enter the command as  for your Plugin in seconds.

      5. Enter the following in the Scripts text-box:
        #!/bin/bash
        To [1] Use the script below to update your packages:

        Code Block
        languagebash
        echo "Updating OS packages"

        
        sudo apt-get update && sudo apt-get upgrade -y || yum update -y

         
        echo "Ping Test to Google DNS Server"

         
        ping $IP_ADDRESS -c 8|
      6. If you want to add conditions for your Script Plugin run:

        1. Click

        on
        1. Arguments+

        to enter the arguments for your shell script plugin.
        1. The arguments key is

        2. Enter the argument Key and its Value.
          Example:
          Key: IP_ADDRESS Value: 8.8.8.8

    3. To

      your entitled users are:
      1. To allow all users within the same tenant to access this Blueprint, Click on Everyone

      2. To allow all users in all tenants (current or future) to access this Blueprint, Click on All Tenants

      3. To allow specific users to access this blueprint, Click on Users & Groups

      4. In the users Text Box: Type the first alphabet of a username you would like to add & select the user

      5. In the Groups Text Box: Type the first alphabet of a group name you would like to add and select the group.

  5. Click Save Changes.

...

    1. entitle users to your Plugin, select: 

      • Only Me: if you do not want anyone to access your Plugin.

      • Everyone: if you want to share your Plugin with everyone.

      • Groups & Users: if you want to share the Plugin with specific users or groups.

        1. Enter the first three alphabets of the username in the Users drop-down and select the username.

        2. Type the first three alphabets of the Group Name in the Groups drop-down and select the group name.

  1. Click Save Changes.

  2. Once you create your Plugin, the HCP portal will create a unique REFERENCE ID for the same.
    Example: Q5G9A

Note

  • [1] The HCP portal will replace all occurrences of:

    • $IP_ADDRESS in the Plugin with the value 8.8.8.8

. However, HyperCloud
  • The HCP portal will ignore all occurrences of:

    • ${IP_ADDRESS}

if used
    • in the

plugins.

Now you have created your new plugin with a unique REFERENCE ID for e.g. Q5G9A

In the same way plugins can be created for running Perl, python, ruby scripts as well as puppet automation.

Run plugins on demand

Users can run plugins on-demand any of their own existing Virtual Machines without the need of connecting to the VM. Use the following steps to run an existing plugin on an existing VM.
Note: Running plugins on an existing VM requires the HyperCloud™ Agent to be installed on the Virtual Machine. The Agent Status must be Connected.

  • Login to the HyperCloud™ Platform with your credentials  Click on Services Orchestration Tab  Services

  • Click on VMs  Locate and click on the target VM.  Click on Plugins Tab

    • In the Add Plugins Drop-Down scroll or search the plugin name  Select the plugin

Note: If the plugin has been created with Arguments, then text fields will appear under the selected plugin.

...

  • To Add more plugins, click on the Add Plugins and scroll or Type and search the name of another plugin

    • For each plugin, click on +Advance Configuration button and provide the following information

      • Valid Exit Codes: These Exit codes will be ignored. If none provided, then the default value is 0.

        • Order: Sequence number to define the order of execution of the plugin.

Note: If no order number is mentioned, all plugins will run at the same time

...

Click on Run Plugin

...

    • Plugin

Run your plugin on-demand

...

Follow these steps to run your plugins on-demand on an existing VM without having to connect to the VM: [1]

  1. Log in to your HCP portal account.

  2. Click on Service Orchestration and navigate to Services > VM > Click open your VM > Click Plugins.

    Image Added
  3. From the Add Plugins drop-down, select your Plugin. [2]

    1. To add more plugins, click Add Plugins and select your Plugin from the drop-down list.

    2. You can provide conditional arguments for each Plugin under +Advance Configuration. Enter the following details under +Advance Configuration:

      1. Valid Exit Codes: when you state a valid exit code, the HCP portal will ignore these codes. If you do not provide an exit code, the HCP portal will substitute it with the default value, which is 0.

      2. Order: this lets you define the sequence for the Order of executing the Plugin. [3]

  4. Click Run Plugin.

  5. Click Timeline Tab and wait for a few minutes to see the

...

Add Plugins to an existing Blueprint

...

  1. status of your run.

Note

  • [1] You’ll need to install the HyperCloud™ Agent on the VM before running a plugin.

    • The Agent Status must be Connected.

  • [2] If your Plugin has conditional arguments, you can view the same under +Advanced Configuration.

  • [3] If you do not provide the Order for executing a plugin, all plugins added to the VM will run simultaneously.

Add Plugin to a Blueprint using parameters

...

You can use parameters in blueprints to pass or override the default plugin values in . You can add a plugin . This allows sharing the same plugin with to different blueprints and allows users to customize their deployments as per their choice of parameters.

Configure Your Blueprints to Customize Parameters

To configure Blueprints to customize parameters used by the plugins:

...

Login to the HyperCloud™ Platform with your credentials.

...

Click on Services Orchestration >Select AppStore:

  1. Click on Plugins > Locate the plugin and copy the REFERENCE ID for e.g. Q5G9A

...

your deployments using parameters. Follow these steps to add parameters to your Plugin for an existing blueprint:

  1. Log in to the HCP portal account.

  2. Click Service Orchestration and navigate to AppStore > Plugins > Copy the REFERENCE ID of your Plugin.

  3. Click AppStore and navigate to New > Select Machine Compose Blueprint from the drop-down list.

  4. Enter the following details in your Machine Compose Blueprint dialog:

    1. Enter a Name for the name for new Machine compose blueprintCompose Blueprint.

    2. Enter the brief description to your machine compose blueprintof your Machine Compose Blueprint.

    3. Select the blueprint type Type from the drop-down list.

    4. Add Enter the plugins plugin snippet in the YAML Text text-box as shown below: [1]

      Image Added

    5. Select the Resource poolPool from the drop-down list

    6. Click

    on Services Orchestration  > Select AppStore > Click on the Blueprints > Click on Edit.Refer the YAML Syntax below beginning with plugins:
    Machine:
    region: westus
    group: hg-poc
    image:
    1. Customizable Params + and enter the following details: 

      1. Enter the internal reference to the Plugin.
        Example: Machine.plugins.Q5G9A.arguments.IP_ADDRESS 
        The HCP portal will use this reference to run the Plugin on your VM using the YAML blueprint parameter values.

      2. Enter the Host in the Key text-box. The Key is visible to your HCP user.

      3. Enterthe Value for your Key. If you do not enter a value for your Key, the HCP portal will default the value to 8.8.8.8.

      4. Select the Mandatory check-box to make it compulsory for your HCP users to provide a Key-Value before creating a VM. [2]

      5. Select the Password check-box to ensure that your sensitive data is masked during input and execution.

        Create MachinesImage Added

    2. Click Save Changes

  5. To use these parameters in your blueprint:

    1. Click open your blueprint.

    2. Click Request Params.

    3. Enter the Host value that you provided in Step-f above.

Notes

  • If your parameters are marked mandatory, you’ll need to enter a Key-value before you can create a VM.

  • If you haven’t made your parameters mandatory, the HCP portal will:

    1. Create a VM and,

    2. Execute the Plugin using the default value 8.8.8.8

[1] Sample YAML

Code Block
languageyaml
Machine:
region: westus
group: hg-poc
image: Canonical:UbuntuServer:16.04-LTS

...


instanceType: Standard_D13_v2

...


resourceGroup: hg-dojo-rg

...


network: hg-dojo-vnet1

...


subnet: hg-dojo-vnet1-subnet1

...


securityGroup: hg-dojo-nsg

...


skipAgentInstall: false

...


assignFloatingIP: true

...


publicIPSku: basic

...


password: "{{credentials

...

 | 2c9180876f0dbccb016f4f9d87a66886 }}"

...


count: 1

...


terminationProtection: DISABLED

...


  plugins:

...

  1. Install Packages

  • !plugin
    id: Q5G9A
    order: 1

  • !plugin

  1. Download & Install Security Agent
    id: P5H7K
    order: 2|

...

Copy the plugin ID from the Blueprint below for e.g. Q5G9A

...

Click on the Customizable Params + located under the YAML section or the resource pool as shown below:

...

 

...

The internal reference to the plugin i.e. Machine.plugins.Q5G9A. arguments.IP_ADDRESS will be used to run the plugin on the VM with the value from the blueprint parameters.

...

The external value key Host will visible to the end-user when provisioning the blueprint:

  1. Mandatory Checkbox: User is forced to enter a value before creating a VM

  2. Password Checkbox: Ensure that sensitive data like password field is masked during input and execution.

  3. Value Text Box : 8.8.8.8 will be a default value if parameter is left unmodified i.e. If the mandatory checkbox is not selected and user creates a VM, then the plugin will get executed with the default value of 8.8.8.8

11. Click Save Changes

12. Click on the Blueprint Click on Request Params

Note: What parameters are marked as mandatory, user must enter a value to be able to Create Virtual Machine.

...

This completes the steps to provision a VM using blueprints and use plugins to run automation once the VM is deployed successfully.

Overview

Users can add plugins to an existing blueprint by appending the blueprint YAML with the plugin YAML values.

Add Plugin Your Existing Blueprint


  -!plugin
  # Install Packages
  id: Q5G9A
  order: 1
  -!plugin
  # Download & Install Security Agent
  id: P5H7K
  order: 2

Add Plugin to a blueprint without using parameters

...

You can add a plugin to a blueprint by appending the plugin YAML values to the blueprint YAML. To add a plugin to an existing MACHINE_COMPOSE Blueprint YAML:

  1. Login to the HyperCloud™ Platform with your credentials

  2. Click on Services Orchestration >Select AppStore:

    1. Click on Plugins > Locate the plugin and copy the REFERENCE ID for e.g. Q5G9A

  3. Click on AppStore > Click on New > Select the Log in to your HCP portal account.

  4. Click Service Orchestration and navigate to AppStore > Plugins > Copy your plugin REFERENCE ID.

  5. Navigate to AppStore > Click New > Select Machine Compose Blueprint from the drop-down list.

  6. Enter the following details in your the Machine Compose Blueprint dialog:

    1. Enter the name a Name for the your new Machine compose blueprintCompose Blueprint.

    2. Enter the a brief description to your machine compose blueprintDescription of your Machine Compose Blueprint.

    3. Select the blueprint type Type from the drop-down list.

    4. Enter the plugin snippet for your plugin in the YAML Text text-box. (Refer to table 1.) [1]

    5. Select the Resource poolPool from the drop-down list.

    6. Enter Select the cost profilesCost Profile.

    7. Enter the following details into your Entitled To entitle users to your existing blueprint, select: 

    Once you’ve created the plugin on your existing blueprint, you can go ahead and create your Virtual Machine (VM). To create a VM:

    1. Click Blueprint
      • Only Me: If this template is not meant to be shared if you do not want anyone to access your blueprint.

      • Everyone: If this template is to be shared with everyone in the Tenantif you want to share your blueprint with everyone.

      • Groups & Users: if the template is to be shared you want to share the blueprint with specific users or groups.

      • All Tenants (Only available to Cloud Admins): if the template is to be shared with all tenants.

  7. Click on Save Change.

        1. Enter the first three alphabets of the username in the Users drop-down and select the username.

        2. Type the first three alphabets of the Group Name in the Groups drop-down and select the group name.

        3. If you are a Cloud Administrator, you can select All Tenants to share your template with all the HCP tenants.

    1. Click Save Changes.

  8. Once you’ve configured your plugin parameters, you can create your VM. Follow these steps to create your VM:

    1. Click open your blueprint.

    2. Click Create Machine.

  9. Once

...

  1. your VM

...

  1. is

...

  1. provisioned

...

  1. :

    1. The HyperCloudTM Agent will be automatically installed and,

    2. All the plugins in the blueprint are executed in the

...

    1. Order defined in the Blueprint YAML.

...

Note

  • plugins: indicates the start of all plugins.

...

[1] Sample YAML

Code Block
languageyaml
Machine:

...


region: westus

...


group: hg-poc

...


image: Canonical:UbuntuServer:16.04-LTS

...


instanceType: Standard_D13_v2

...


resourceGroup: hg-dojo-rg

...


network: hg-dojo-vnet1

...


subnet: hg-dojo-vnet1-subnet1

...


securityGroup: hg-dojo-nsg

...


skipAgentInstall: false

...


assignFloatingIP: true

...


publicIPSku: basic

...


password: "{{credentials | 2c9180876f0dbccb016f4f9d87a66886 }}"

...


count: 1

...


terminationProtection:

...

2c9180876f0dbccb016f4f9d87a66886 }}"
count: 1
terminationProtection: DISABLED
plugins:

  1. Install Packages

  • !plugin
    id: Q5G9A
    order: 1

  • !plugin

...

 DISABLED

  plugins:
  -!plugin
  # Install Packages
  id: Q5G9A
  order: 1
  -!plugin
  # Download & Install Security Agent
  id: P5H7K
  order: 2