You can do continuous integration (CI) testing on your service tile.
There are two ways to do CI testing on your tile:
New partners can work on only one tile at a time.
With your tile in the Tile Dashboard CI testing system, you can monitor changes to Tanzu Operations Manager that might require changes in your tile. You can gain an understanding of your tile’s compatibility across Tanzu Operations Manager versions, underlying IaaS, and different flavors of environments. This means that you don’t have to maintain your own CI system and keep up with the latest Tanzu Operations Manager versions.
The Tile Dashboard CI is part of the VMware Enterprise Readiness criteria, which monitors of the quality and capabilities of your tile. For an introduction to our readiness criteria, see Enterprise Readiness criteria.
The Tile Dashboard CI runs your tile through a series of steps:
Downloading your tile from the Broadcom Support portal and checking hash integrity.
Scanning your tile for known or potential problems, such as:
Configuring, installing, testing, and uninstalling your tile in several Tanzu Operations Manager environments:
The Tile Dashboard reports the results of each step. The results that are reported for each step include a pass/fail status, the run log, and the output. If a step fails for a reason unrelated to a tile; for example, a network glitch, you can retry that step from the Tile Dashboard CI.
Before you use the Tile Dashboard to configure and test your tile, verify the following:
You must have a Broadcom Partner User Account. If you don’t have an account, contact the technical program management through the Broadcom Partner Portal.
Your tile is uploaded and published to the Broadcom Support portal via the ISV Release Dashboard.
After your tile is uploaded to the Broadcom Support portal, the Tile Dashboard starts to stage and scan it.
After the stage and scan tasks, you must configure your tile on the Tile Dashboard. The configuration specifies how the tile is installed on the test environment.
Configuring your tile through the Tile Dashboard is equivalent to configuring the tile on Tanzu Operations Manager.
There are two ways to configure the tile on the Tile Dashboard:
Method | Notes and Restrictions | For more information, see… |
---|---|---|
Through the Tile Configuration tab | This is a form view of the installation properties. | Configure your Tile using the Tile Configuration tab. |
Through the Tile Configuration - Advanced tab | This is the list of properties displayed in JSON. | Configure your Tile using the Tile Configuration - Advanced tab. |
To log in to the Tile Dashboard and go to the Configuration page:
Go to the Tile Dashboard. Log on with your Broadcom Partner User Account.
Click Tiles in the menu bar.
Click the row where your tile is listed.
If your tile has more than one version, click the version you want to configure.
Click the cell below the “config” column.
To configure install properties for your tile using the Properties tab:
Review or specify the value for each property. If a property is required and is missing valid values, the text box is shown in red.
When the Properties* form is complete and there are no text boxes displayed in red, click Save or Save and Run.
The Tile Configuration tab view allows you to configure installation properties through a form. The form pulls properties from your tile.yml
file parsing the properties_blueprints
. For general information about properties_blueprints
, see Configuration properties.
In the form, you can configure:
For more information about property types, see Property and template references.
In the Tile Configuration - Advanced tab, you configure install properties, specifying them in JSON, in the format used by the om
tool.
For more information about the format used by the om
tool, see:
To configure install properties for your tile using the Tile Configuration - Advanced tab:
Click the Tile Configuration - Advanced tab.
Enter values for all required properties. If a property is required, you will see the required
attribute: "required": true
.
For example:
".properties.syslog_selector.enabled.address": {
"value": "",
"type": "network_address",
"required": true
...
After entering values for properties, delete the required
attribute. This tells Tile Dashboard that this field is now provided.
For example:
".properties.syslog_selector.enabled.address": {
"value": "192.0.2.1",
"type": "network_address",
Click Save.
Some property values, such as availability zone names, can vary between test environments. When the test is run for these environment-sensitive properties, VMware provides placeholder values that are replaced with appropriate values for each test environment. Descriptions of these placeholder values appear on the Tile Configuration tabs for reference.
To specify the UAA users:
Click the “UAA Users” tab.
At the bottom, click +.
Enter the user name, password, and groups for the UAA user.
When your configuration is complete, the config icon shows green. At this point, you can test the tile on all the environments. Follow these steps:
Click Save and Run.
This action tests the tile on all the environments.
Click Tiles in the toolbar to return to the Tiles view.
Follow the progress of the tests in the Tiles view.
The staged, scan, and config notations are the prerequisite jobs and they run in a series. The rest of the jobs are the environment jobs and they run in parallel. The environment jobs do not run until the config job has finished successfully.
After your tile is installed, the Tile Dashboard runs any post-deploy errands your tile has defined, including tests. Ideally, your tile includes tests that use all of the capabilities of your tile.
Your tile might require a backing service outside of the existing Tanzu Operations Manager environment; for example, your tile might be a service broker to a SaaS offering.
You are responsible for maintaining the backing service in an environment that the Tile Dashboard can reach; that is, it must be internet-facing.
The Tile Dashboard CI that VMware runs for its technical partnership program members uses the CI tool Concourse to verify that partner products continue to work with every new release of the platform.
You can also set up your own Concourse CI pipeline that integrates and tests your tile on your own deployment of the latest Tanzu Operations Manager using the instructions in the Concourse documentation.
While you are free to use any CI system, VMware’s tools and documentation were built to use Concourse CI.
You need a Concourse server to host your pipeline.
If you partner with VMware, the Tile Dashboard CI servers can host your pipeline and provide S3 storage to exchange artifacts with your own servers.
If you set up your own Concourse server, use the instructions in the Concourse documentation.
A typical CI pipeline for a tile consists of the following jobs:
You define this pipeline in the pipeline.yml
file that is uploaded to the Concourse server. Tile Generator contains a sample pipeline that you can clone for your own tile.
VMware partners who have VMware host their pipeline have access to a pool of Tanzu Operations Manager instances that are managed and regularly updated with the latest (pre-)release versions of Tanzu Operations Manager. If you set up your own Concourse server, you must target your pipeline to a Tanzu Operations Manager instance you have set up.
Concourse has a resource type to manage a pool of resources that are shared among pipelines, which is what we use to serialize Tanzu Operations Manager access between the partner pipelines that run on the Concourse server.