Marketplace and offering creation
Marketplace is a central module for provisioning of Waldur resources. Marketplace contains Offerings that belong to a special type of Organizations - Service Providers. Marketplace provides common functionality for resource lifecycle management, accounting and invoicing. Specifics are implemented in the Marketplace plugins (e.g. for OpenStack, SLURM, Rancher, etc).
Diagram of concepts
Adding a new Offering
To create a new Offering in the Marketplace, you need to:
- Assure that categories are configured in the Marketplace.
- Create at least one service provider.
- Create and activate a public offering.
Creating Marketplace categories
To create a category, either use administrative interface of Waldur, hosted under `/admin
(can be accessed by staff users)
or use management command for loading the pre-defined categories.
- With Docker-compose deployment:
1 |
|
- With Helm deployment
Open waldur-mastermind-worker shell and execute the following command:
- Get waldur-mastermind-worker pod name
1 2 3 |
|
- Connect to pod via shell
1 2 |
|
- Execute command to see available or add a category
1 |
|
Service provider registration
In Waldur, only organizations registered as service providers can create offerings and provide the service to users.
To register organization as service provider:
-
Open organization dashboard, click on "Edit" and select "Service provider" from the top menu.
-
Add service provider organization description. This description is visible in the Waldur marketplace under service provider list and under provider details.
-
Make sure that service provider organization category group is also set.
Offering creation
Waldur supports a number of different types of service providers when creating a shared offering. A common way of creating an offering is through a HomePort.
-
Select organization, which will provide the offering.
-
Go to Provider dashboard and click on "Marketplace" -> "Offerings" -> "Add new offering":
-
Click on "Add new offering" and fill in the name for the offering, category and type:
-
Offering details page opens, where you can add additional information:
-
Under Endpoints section, you can add access endpoints for the offering, for example, management consoles, SSH login nodes or similar.
This configuration will display then to resource of the offering a menu for easier navigation to the corresponding services. For SSH protocol this would trigger opening of an SSH client if configured for the browser. Out of the box works on OS X and Linux, requires configuration of the default application on Windows.
-
To add accounting components, select "Accounting components" from the top menu and then "Add component" from the right side. Accounting component is a measurable unit of a resource. For example, it can be CPU hours, GPU hours, storage hours, RAM etc.
-
A popup opens with possibility to configure fields and select the accounting type (whether the component is billed by the usage, max limit or it has a fixed price).
- Usage-based - billing is applied according to the actual usage of the resource during the billing period defined in the accounting plan after the submission of a usage report;
- Limit-based - billing is applied according to the requested/updated limits of a resource, actual usage can be below the limits and it is not the basis of the billing;
- Fixed price - billing is applied according to the exact values defined by the service provider in the accounting plan, limits and usage are not the basis for the accounting;
- One-time - billing is applied once on resource activation;
- One-time on plan switch - billing is applied once on resource activation and everytime a plan has changed, using pricing of a new plan.
-
To configure accounting frequency and prices, select "Accounting plans" from the top menu and then "Add plan" from the right. Select a name for the plan and accounting frequency:
-
To define prices for the components, select "Actions" and then "Edit prices". Set new price and save. If there is a need to provide higher priority access to resources with different prices, then it is advised to create another offering for this kind of cases.
-
If all set, click "Activate" on the top-right side to make it visible to everybody.
Tip
For more advanced cases of management of offerings, take a look at how a SLURM offering can be managed using Ansible module.