Skip to content

Getting Started

Matej Artač edited this page Sep 14, 2017 · 3 revisions

Introduction

The DICE Deployment Service IDE plug-in is a client to the DICE Deployment Service. The plug-in assumes that your Eclipse project contains:

  • an application blueprint represented as an OASIS TOSCA YAML file,
  • optionally also a set of resources such as scripts, compiled binary files and any other artifacts that should accompany the blueprint. These resources need to be in a resource folder within the project.

In the following tutorial we will use the WikiStats project as the example. The relevant parts of the project have the following structure:

.
├── blueprints
│   ├── fco
│   │   └── wikistats-fco-manual.yaml
│   └── openstack
│       └── wikistats-openstack-manual.yaml
├── lib
│   └── wikistats-topology-0.1.0-SNAPSHOT.jar
├── model
├── pom.xml
├── README.md
└── src

The lib/ folder does not exist in the project's repository, because it is created in the build process, e.g., by running Maven 3:

mvn package

Using the DICE Deployment Service IDE Plug-in

Before continuing, please make sure that you have at least one DICE Deployment Service instance configured. Please see Configuring the plug-in instructions for more information.

To deploy this application, click on the DICE menu and select the DICE Deployments option.

Deployment Service IDE menu

This will open a Run Configurations dialog with the DICE Deployments selected by default, similar to the one on the following figure:

New DICE Deployment run configuration

Click on the New button marked on the above figure to obtain a blank form for the run (deployment) configuration. We recommend to create one such run configuration per blueprint and per target testbed if more than one are available. Here is an example configuration for WikiStats on OpenStack:

Deployment/Run configuration details

  • Name contains a friendly name of the run/deployment configuration as it appears on the list to the left. This is also the name that will appear on the Eclipse's Run configuration list.
  • Main blueprint file is a path to the TOSCA .yaml blueprint file to be submitted in deployment.
  • Resources folder is an optional folder where any additional project resources and artifacts are stored.
  • Deployment service selects from the list of services as set in the preferences.
  • Container selects from the list of virtual deployment container available at this moment at the Deployment service. The list gets refreshed on each change of the Deployment service selection. You can select any of the available virtual deployment containers, not just the default one set in the preferences.

To save the configuration, click Apply and then Close. To save the configuration and run the deployment, click Run instead.

Running the deployment transfers all control to the selected DICE Deployment Service. It is possible to monitor the status of the deployment in the Container List panel:

Virtual deployment container list

If this panel is not visible in your IDE, use Window > Show View > Other....

Virtual deployment container list

From the list of views, select Container List:

Virtual deployment container list

Notes about the blueprints

Our example WikiStats blueprint refers to the artifact named wikistats-topology-0.1.0-SNAPSHOT.jar by the path it will be located in the blueprint bundle. Here is a snippet of the relevant node template definition:

  wikistats:
    type: dice.components.storm.Topology
    properties:
      application: wikistats-topology-0.1.0-SNAPSHOT.jar

When running a deployment, the plug-in creates a .tar.gz bundle with the following structure:

.
└── WikiStats
    ├── blueprint.yaml
    └── wikistats-topology-0.1.0-SNAPSHOT.jar

The blueprint therefore needs to refer to specific artifacts by a path relative to the blueprint.yaml file in the bundle. Files stored directly in the resources path will appear at the same level in the bundle. Any subfolder structure in the resources folder will be copied over into the bundle.