Versions Compared

Key

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

...

Version 1.0 will support vendor products and services distributed in the forms of image templates, bootable ISOs, non-bootable ISOs, and SaaS/PaaS offerings.

Vendors Make Listing Contribution

The listing repository contains a config.js file and vendor product folders. The config.js file contains an index of the listings, which will be read by the Marketplace UI to build the Marketplace Homepage. The Listing folders contain metadata and supporting files for each product listing, which will be read by the Marketplace UI to build the Details page for each listing.

...

  1. Create a listing folder for its service in the listing repository.
  2. Create a listing.js file and place it in the folder. The listing.js file includes metadata for the listing:
    1. Service name
    2. Vendor name
    3. A brief description
    4. Location of the graphics
    5. (Optional) Admin instruction. Admin instruction are steps that admin needs to follow in order to set up services for users. It can be left blank if no initial set up is required.
    6. "use service" action. Vendor needs to specify what happens when user clicks on the action button "use service". It can lead to a URL or scripts that can be invoked by the web browser. 
    7. Tags (TBD)
  3. (Optional) Place any supporting files such as graphics and scripts into the listing folder. Note that these files can be located in other places. 
  4. (Optional) Place plugin in the CloudStack source code repository plugin folder. If a plugin is required for the CloudStack, you can place it in the CloudStack plugin folder in the source code tree. Or you can store it externally and instruct admins how to download and install the plugin as part of the admin instruction.
  5. Add an entry to the config.js file for the listing.

Admins Install and Configure CloudStack Marketplace

CloudStack Marketplace client is installed along with CloudStack management server. After installation, admins can see all listings in the listing repository specified. Admins can configure the following global settings for the Marketplace client:

  • Marketplace Enabled – When Marketplace is enabled, both admins and users can access it. Default setting is "TRUE" (i.e. enabled). By default, image template and ISO listings are enabled (i.e. accessible) to users when Marketplace is enabled, and SaaS and PaaS listings are not. Each SaaS and PaaS listing needs to be "enabled" by admin manually.
  • Location and property of listing repositories – Admin can specify location of the listing repository and its property. When a listing repository is specified and "property" is set to "enabled", both admins and users can access listings from the repository. When a listing repository is specified and "property" is set to "disabled", only admin can access listings from the repository. Multiple listing repositories are supported.

Admins and Users Access CloudStack Marketplace

There are two ways admins and users can access CloudStack Marketplace UI:

  1. From the CloudStack UI after login
  2. From the http://<cloudstack management server>/marketplace. When accessing marketplace from here, no login is required until admin/user wants to take action on a listing (for example, create an instance). Without login, the user view of the marketplace is shown. Image Added
    Image Added

Use Image Templates and ISOs in CloudStack Marketplace

The

For listings require admin intervention, admins can follow the instructions provided by vendors in the listing files to set up the services. Admins will then make these listings available to their users. For templates and ISOs, admins can import them into CloudStack so that when users create VMs from them, launch time is shorter.

Users Consume Products and Services

For listings containing templates and ISOs only, users should be able to select the template or ISO, and create instance directly from the listing (or attach ISO to an existing VM). If the template or ISO is not yet imported by either the admins or the user, it will be imported first.

...

  • A web portal for vendors to publish listings
  • Workflow for cloud admins to choose which listings are enabled for their users
  • User review and ratings
  • Listing versioning and update notification
  • Usage tracking

Sample UI

User and admin access Marketplace - A link to the Marketplace UI from left navigation

Image Removed

User and admin access Marketplace - Directly from the Marketplace URL http://cloudstackmanagementserverIP/marketplace

Image Removed

A listing for image template (user view)

Image Removed

A listing for image template (admin view)

Image Removed

A listing for SaaS/PaaS application (user view)

Image Removed

A listing for SaaS/PaaS application (admin view)

...

Discussion Topics

  1. Component name - I am calling it “Marketplace” tentatively in search for a final name. There is no intention for this component to handle transaction or billing. Some other names I found online are: app store, app library, app catalog. The name will likely be reflected in the UI. Ideally, the name should be most suitable for version 1.0 and is future proof. Any other ideas? What’s your preference and why?