Skip to content

Latest commit

 

History

History
123 lines (92 loc) · 6.3 KB

catalog-vsi-tutorial.md

File metadata and controls

123 lines (92 loc) · 6.3 KB
copyright lastupdated keywords subcollection content-type services account-plan completion-time
years
2021
2021-06-11
onboard software, Terraform, virtual server image, virtual machine image, image, vm, vsi, validate, test, VSI image, VM image, private catalog
account
tutorial
cloud-object-storage, vpc
paid
20m

{:shortdesc: .shortdesc} {:screen: .screen}
{:codeblock: .codeblock}
{:pre: .pre} {:tip: .tip} {:note: .note} {:beta: .beta} {:external: target="_blank" .external} {:step: data-tutorial-type='step'}

Onboarding a sample virtual server image

{: #catalog-vsi-tutorial} {: toc-content-type="tutorial"} {: toc-services="cloud-object-storage, vpc"} {: toc-completion-time="20m"}

This tutorial walks you through how to onboard and publish a sample virtual server image to your account. By completing this tutorial, you learn how to create a private catalog, import the sample, validate that it can be installed on a selected deployment target, and make the virtual server image available to users who have access to your account. {: shortdesc}

This tutorial uses sample Terraform code{: external} as part of the process to onboard a virtual server image. As you complete the tutorial, adapt each step to match your organization's desired goal.

Before you begin

{: #catalog-vsi-prereqs}

  1. Create an instance of {{site.data.keyword.cloud_notm}} Object Storage and upload your image to a bucket.
  2. Create your {{site.data.keyword.cloud_notm}} Virtual Private Cloud.
  3. Import your custom image to all regions{: external} in which you want your software to be available.
  4. Create your Terraform template.
  5. Upload your Terraform template to your GitHub repository. Use the latest release of the sample Terraform code{: external} as an example of how to set up your repository.
  6. Make sure you're assigned the {{site.data.keyword.cloud_notm}} Identity and Access Management (IAM) editor role on the catalog management service. See Assigning access to account management services for more information.

Create a private catalog

{: #catalog-vsi-create} {: step}

  1. Go to Manage > Catalogs, and click Create a catalog.
  2. Select Product default as the catalog type.
  3. Enter the name of your catalog, for example, Sample virtual server image catalog.
  4. Select No products to exclude all products in the {{site.data.keyword.cloud}} catalog from your catalog.
  5. Click Create.

Import the virtual server image to your private catalog

{: #catalog-vsi-import} {: step}

  1. From the Private products page, click Add.
  2. Confirm that Public repository is selected as the repository type.
  3. Enter https://github.com/IBM-Cloud/isv-vsi-product-deploy-sample/releases/download/v1.0/isv-vsi-product-deploy-sample.tar.gz as the URL of the public GitHub repository.
  4. Select Compute / Virtual Machines as the category type.
  5. Accept the default value for Version field.
  6. Select the This Terraform template is a virtual server image checkbox.
  7. Click Add.

Configure the deployment details

{: #catalog-vsi-cfg-deployment} {: step}

From the Configure product tab, configure the deployment values for the software installation.

  1. Click Add deployment values in the Configure the deployment details section.
  2. Select Parameter to select all options, and click Add deployment values.
  3. Customize which parameters are required for users to specify during the installation and which ones are hidden from users altogether. For the purposes of this tutorial, configure each parameter as described in the following table.
Parameter Description Required for users to specify? Hidden from users?
TF_VERSION The version of the Terraform engine that's used in the Schematics workspace. No Yes
image_name The name, with version specified, of the OS image that runs the virtual server instance. No Yes
region The region in which the VPC instance is located. Yes No
ssh_key_name The name of the public SSH key to use when creating the virtual server instance. Yes No
subnet_id The ID of the subnet within the VPC that the virtual server instance uses. Yes No
vsi_instance_name The name of the virtual server instance. Yes No
vsi_profile The profile of compute CPU and memory resources to use when creating the virtual server instance. No No
vsi_security_group The name of the security group that is created. Yes No

Set the license requirements

{: #catalog-vsi-cfg-license} {: step}

If users are required to accept any license agreements beyond the {{site.data.keyword.cloud_notm}} Services Agreement, provide the URL to each agreement. Or, if users can bring their own licenses, you can provide that URL as well.

  1. From the Add license tab, click Add.
  2. Enter the name and URL, and click Update.

Validate the virtual server image

{: #catalog-vsi-validate} {: step}

  1. In the Configure Schematics workspace section, accept the default value that's displayed in the Name field.
  2. Enter the values for your subnet ID, SSH key, and security group in the Deployment values section.
  3. Click Update.
  4. From the Validation summary panel, select I have read and agree to the following license agreements.
  5. Click Validate.

To monitor the progress of the validation process, click View logs. {: tip}

Publish the virtual server image

{: #catalog-vsi-publish} {: step}

After you complete the validation process, you're ready to publish the virtual server image to your account. Click the Actions icon Actions icon, and select Publish to account.

As a result, the virtual server image is available only to users who have access to the Sample virtual server image private catalog in your account.