Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 14 Next »

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:

  • Bash

  • Python

  • Perl

  • Ruby

  • PowerShell

  • Puppet

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:

Create your Plugin


Plugins are Docker containers that perform pre-defined tasks and are configured as steps in your pipeline. Plugins can be used to deploy code, publish artifacts, send notification, and more.

To create a plugin:

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

  2. Click on Services Orchestration  > Click Appstore > Click on Plugins > Click on New > Select plugin type e.g. Shell.

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

    1. Enter the name.

      1. Click on the +Advance Configuration

      2. Enter the Version.

      3. Enter a brief description for your new shell script plugin.

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

      5. Enter the Timeout

      6. In the scripts text box enter the command as  #!/bin/bash

      7. To update your packages:
        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|

      8. Click on Arguments+ to enter the arguments for your shell script plugin.

        1. The arguments key is: IP_ADDRESS Value: 8.8.8.8

        2. 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.

  4. Click Save Changes.

Note: HyperCloud will replace all occurrence of $IP_ADDRESS in the plugin with the value 8.8.8.8. However, HyperCloud will ignore ${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

  • Click on the Timeline Tab  Wait for a few minutes to see the result of the plugin execution

Add Plugins to an existing Blueprint


Parameters can be used in blueprints to pass or override the default values in a plugin. This allows sharing the same plugin with 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:

  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 Machine Compose Blueprint from the drop-down list

  4. Enter the following details in your Machine Compose Blueprint

    1. Enter the name for new Machine compose blueprint.

    2. Enter the brief description to your machine compose blueprint.

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

    4. Add the plugins in the YAML Text box as shown below:

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

  5. Click on Services Orchestration  > Select AppStore > Click on the Blueprints > Click on Edit.

  6. Refer the YAML Syntax below beginning with plugins:
    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|

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

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

     

  9. 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.

  10. 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.

Create Machines

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


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 Machine Compose Blueprint from the drop-down list

  4. Enter the following details in your Machine Compose Blueprint

    1. Enter the name for the new Machine compose blueprint.

    2. Enter the brief description to your machine compose blueprint.

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

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

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

    6. Enter the cost profiles.

    7. Enter the following details into your Entitled users to your existing blueprint:

      • Only Me: If this template is not meant to be shared.

      • Everyone: If this template is to be shared with everyone in the Tenant.

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

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

  5. Click on Save Change.

  6. 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

    2. Click Create Machine.

Once the VM/Instance is successfully provisioned, the HyperCloud agent gets installed and then execute all the plugins in the blueprint in the order as per the YAML.

Note

  • plugins: indicates the start of all plugins.

Table number 1.1

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

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

  1. Install Packages

  • !plugin
    id: Q5G9A
    order: 1

  • !plugin

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

  • No labels