aboutsummaryrefslogtreecommitdiffstats
path: root/adapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/vdu/utils
diff options
context:
space:
mode:
Diffstat (limited to 'adapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/vdu/utils')
-rwxr-xr-xadapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/vdu/utils/VduBlueprint.java90
-rwxr-xr-xadapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/vdu/utils/VduInfo.java130
-rwxr-xr-xadapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/vdu/utils/VduPlugin.java248
-rwxr-xr-xadapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/vdu/utils/VduStatus.java37
4 files changed, 0 insertions, 505 deletions
diff --git a/adapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/vdu/utils/VduBlueprint.java b/adapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/vdu/utils/VduBlueprint.java
deleted file mode 100755
index 367028c68b..0000000000
--- a/adapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/vdu/utils/VduBlueprint.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.mso.vdu.utils;
-
-import java.util.Map;
-
-/*
- * This Java bean class describes the template model of a VDU as distributed
- * by SDC to SO. It is composed of one or more templates, one of which must be
- * the main template,
- *
- * The structure of this class corresponds to the format in which the templates
- * and associated artifacts are represented in the SO Catalog.
- *
- * The map keys will be the "path" that is used to reference these artifacts within
- * the other templates. This may be relevant to how different VDU plugins package
- * the files for delivery to the sub-orchestrator.
- *
- * In the future, it is possible that pre-packaged blueprints (e.g. complete TOSCA CSARs)
- * could be stored in the catalog (and added to this structure).
- *
- * This bean is passed as an input to instantiateVdu and updateVdu.
- */
-
-public class VduBlueprint {
- String vduModelId;
- String mainTemplateName;
- Map<String,byte[]> templateFiles;
- Map<String,byte[]> attachedFiles;
-
- public String getVduModelId() {
- return vduModelId;
- }
-
- public void setVduModelId(String vduModelId) {
- this.vduModelId = vduModelId;
- }
-
- public String getMainTemplateName() {
- return mainTemplateName;
- }
-
- public void setMainTemplateName(String mainTemplateName) {
- this.mainTemplateName = mainTemplateName;
- }
-
- public Map<String, byte[]> getTemplateFiles() {
- return templateFiles;
- }
-
- public void setTemplateFiles(Map<String, byte[]> templateFiles) {
- this.templateFiles = templateFiles;
- }
-
- public Map<String, byte[]> getAttachedFiles() {
- return attachedFiles;
- }
-
- public void setAttachedFiles(Map<String, byte[]> attachedFiles) {
- this.attachedFiles = attachedFiles;
- }
-
- @Override
- public String toString() {
- return "VduInfo {" +
- "id='" + vduModelId + '\'' +
- "mainTemplateName='" + mainTemplateName + '\'' +
- '}';
- }
-
-}
-
diff --git a/adapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/vdu/utils/VduInfo.java b/adapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/vdu/utils/VduInfo.java
deleted file mode 100755
index 7ff7df62ad..0000000000
--- a/adapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/vdu/utils/VduInfo.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.mso.vdu.utils;
-
-import java.util.Map;
-import java.util.HashMap;
-
-/*
- * This Java bean class relays VDU status information in a cloud-agnostic format.
- *
- * This bean is returned by all implementors of the MsoVduUtils interface operations
- * (instantiate, query, delete).
- */
-
-public class VduInfo {
- // Set defaults for everything
- private String vduInstanceId = "";
- private String vduInstanceName = "";
- private VduStatus status = VduStatus.NOTFOUND;
- private Map<String,Object> outputs = new HashMap<>();
- private Map<String,Object> inputs = new HashMap<>();
- private String lastAction;
- private String actionStatus;
- private String errorMessage;
-
- public VduInfo () {
- }
-
- // Add more constructors as appropriate
- //
-
- public VduInfo (String id, Map<String,Object> outputs) {
- this.vduInstanceId = id;
- if (outputs != null) this.outputs = outputs;
- }
-
- public VduInfo (String id) {
- this.vduInstanceId = id;
- }
-
- public VduInfo (String id, VduStatus status) {
- this.vduInstanceId = id;
- this.status = status;
- }
-
- public String getVnfInstanceId() {
- return vduInstanceId;
- }
-
- public void setVnfInstanceId (String id) {
- this.vduInstanceId = id;
- }
-
- public String getVnfInstanceName() {
- return vduInstanceName;
- }
-
- public void setVnfInstanceName (String name) {
- this.vduInstanceName = name;
- }
-
- public VduStatus getStatus() {
- return status;
- }
-
- public void setStatus (VduStatus status) {
- this.status = status;
- }
-
- public Map<String,Object> getOutputs () {
- return outputs;
- }
-
- public void setOutputs (Map<String,Object> outputs) {
- this.outputs = outputs;
- }
-
- public Map<String,Object> getInputs () {
- return inputs;
- }
-
- public void setInputs (Map<String,Object> inputs) {
- this.inputs = inputs;
- }
-
- public String getLastAction() {
- return lastAction;
- }
-
- public String getActionStatus() {
- return actionStatus;
- }
-
- public String getErrorMessage() {
- return errorMessage;
- }
-
- @Override
- public String toString() {
- return "VduInfo {" +
- "id='" + vduInstanceId + '\'' +
- "name='" + vduInstanceName + '\'' +
- ", inputs='" + inputs + '\'' +
- ", outputs='" + outputs + '\'' +
- ", lastAction='" + lastAction + '\'' +
- ", status='" + status + '\'' +
- ", errorMessage='" + errorMessage + '\'' +
- '}';
- }
-
-}
-
diff --git a/adapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/vdu/utils/VduPlugin.java b/adapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/vdu/utils/VduPlugin.java
deleted file mode 100755
index 0b8b768bda..0000000000
--- a/adapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/vdu/utils/VduPlugin.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-package org.openecomp.mso.vdu.utils;
-
-/**
- * This interface defines a common API for template-based cloud deployments.
- * The methods here should be adaptable for Openstack (Heat), Cloudify (TOSCA),
- * Aria (TOSCA), Multi-VIM (TBD), and others (e.g. Azure Resource Manager).
- *
- * The deployed instances are referred to here as Virtual Deployment Units (VDUs).
- * The package of templates that define a give VDU is referred to as its blueprint.
- *
- * Template-based orchestrators all follow a similar template/blueprint model.
- * - One main template that is the top level definition
- * - Optional nested templates referenced/included by the main template
- * - Optional files attached to the template package, typically containing
- * configuration files, install scripts, orchestration scripts, etc.
- *
- * The main template also defines the required inputs for creating a new instance,
- * and output values exposed by successfully deployed instances. Inputs and outputs
- * may include simple or complex (JSON) data types.
- *
- * Each implementation of this interface is expected to understand the MSO CloudConfig
- * to obtain the credentials for its sub-orchestrator and the targeted cloud.
- * The sub-orchestrator may have different credentials from the cloud (e.g. an Aria
- * instance in front of an Openstack cloud) or they may be the same (e.g. Heat)
- */
-import java.util.Map;
-
-import org.openecomp.mso.openstack.exceptions.MsoException;
-
-public interface VduPlugin {
-
- /**
- * The instantiateVdu interface deploys a new VDU instance from a blueprint package.
- * The templates and files in the blueprint may be pre-installed where supported
- * (e.g. in Cloudify or Aria), or may be passed in directly (e.g. for Heat). These
- * files are expressed as byte arrays, though only text files are expected from ASDC.
- *
- * For some VIMs, this may be a single command (e.g. Heat -> create stack) or may
- * require a series of API calls (e.g. Cloudify -> upload blueprint, create deployment,
- * execute install workflow). These details are hidden within the implementation.
- * The instantiation should be fully completed before returning. On failures, this
- * method is expected to back out the attempt, leaving the cloud in its previous state.
- *
- * It is expected that parameters have been validated and contain at minimum the
- * required parameters for the given template with no extra parameters.
- *
- * The VDU name supplied by the caller will be globally unique, and identify the artifact
- * in A&AI. Inventory is managed by the higher levels invoking this function.
- *
- * @param cloudSiteId The target cloud for the VDU. Maps to a CloudConfig entry.
- * @param tenantId The cloud tenant in which to deploy the VDU. The meaning may differ by
- * cloud provider, but every cloud supports some sort of tenant partitioning.
- * @param vduInstanceName A unique name for the VDU instance to create
- * @param vduBlueprint Object containing the collection of templates and files that comprise
- * the blueprint for this VDU.
- * @param inputs A map of key/value inputs. Values may be strings, numbers, or JSON objects.
- * @param environmentFile A file containing default parameter name/value pairs. This is
- * primarily for Heat, though ASDC may create a similar file for other orchestrators.
- * @param timeoutMinutes Timeout after which the instantiation attempt will be cancelled
- * @param suppressBackout Flag to preserve the deployment on install Failure. Should normally
- * be False except in troubleshooting/debug cases
- *
- * @return A VduInfo object
- * @throws MsoException Thrown if the sub-orchestrator API calls fail or if a timeout occurs.
- * Various subclasses of MsoException may be thrown.
- */
- public VduInfo instantiateVdu (
- String cloudSiteId,
- String tenantId,
- String vduInstanceName,
- VduBlueprint vduBlueprint,
- Map <String, ?> inputs,
- String environmentFile,
- int timeoutMinutes,
- boolean suppressBackout)
- throws MsoException;
-
-
- /**
- * Query a deployed VDU instance. This call will return a VduInfo object, or null
- * if the deployment does not exist.
- *
- * Some VIM orchestrators identify deployment instances by string UUIDs, and others
- * by integers. In the latter case, the ID will be passed in as a numeric string.
- *
- * The returned VduInfo object contains the input and output parameter maps,
- * as well as other properties of the deployment (name, status, last action, etc.).
- *
- * @param cloudSiteId The target cloud to query for the VDU.
- * @param tenantId The cloud tenant in which to query
- * @param vduInstanceId The ID of the deployment to query
- *
- * @return A VduInfo object
- * @throws MsoException Thrown if the VIM/sub-orchestrator API calls fail.
- * Various subclasses of MsoException may be thrown.
- */
- public VduInfo queryVdu (
- String cloudSiteId,
- String tenantId,
- String vduInstanceId)
- throws MsoException;
-
-
- /**
- * Delete a VDU instance by ID. If the VIM sub-orchestrator supports pre-installation
- * of blueprints, the blueprint itself may remain installed. This is recommended, since
- * other VDU instances may be using it.
- *
- * Some VIM orchestrators identify deployment instances by string UUIDs, and others
- * by integers. In the latter case, the ID will be passed in as a numeric string.
- *
- * For some VIMs, deletion may be a single command (e.g. Heat -> delete stack) or a
- * series of API calls (e.g. Cloudify -> execute uninstall workflow, delete deployment).
- * These details are hidden within the implementation. The deletion should be fully
- * completed before returning.
- *
- * The successful return is a VduInfo object which contains the state of the object just prior
- * to deletion, with a status of DELETED. If the deployment was not found, the VduInfo object
- * should be empty (with a status of NOTFOUND). There is no rollback from a successful deletion.
- *
- * A deletion failure will result in an undefined deployment state - the components may
- * or may not have been all or partially uninstalled, so the resulting deployment must
- * be considered invalid.
- *
- * @param cloudSiteId The target cloud from which to delete the VDU.
- * @param tenantId The cloud tenant in which to delete the VDU.
- * @param vduInstanceId The unique id of the deployment to delete.
- * @param timeoutMinutes Timeout after which the delete action will be cancelled
- * @param keepBlueprintLoaded Flag to also delete the blueprint
- *
- * @return A VduInfo object, representing the state of the instance just prior to deletion.
- *
- * @throws MsoException Thrown if the API calls fail or if a timeout occurs.
- * Various subclasses of MsoException may be thrown.
- */
- public VduInfo deleteVdu (
- String cloudSiteId,
- String tenantId,
- String vduInstanceId,
- int timeoutMinutes,
- boolean keepBlueprintLoaded)
- throws MsoException;
-
-
- /**
- * The updateVdu interface attempts to update a VDU in-place, using either new inputs or
- * a new model definition (i.e. updated templates/blueprints). This depends on the
- * capabilities of the targeted sub-orchestrator, as not all implementations are expected
- * to support this ability. It is primary included initially only for Heat.
- *
- * It is expected that parameters have been validated and contain at minimum the required
- * parameters for the given template with no extra parameters. The VDU instance name cannot
- * be updated.
- *
- * The update should be fully completed before returning. The successful return is a
- * VduInfo object containing the updated VDU state.
- *
- * An update failure will result in an undefined deployment state - the components may
- * or may not have been all or partially modified, deleted, recreated, etc. So the resulting
- * VDU must be considered invalid.
- *
- * @param cloudSiteId The target cloud for the VDU. Maps to a CloudConfig entry.
- * @param tenantId The cloud tenant in which to deploy the VDU. The meaning may differ by
- * cloud provider, but every cloud supports some sort of tenant partitioning.
- * @param vduInstanceId The unique ID for the VDU instance to update.
- * @param vduBlueprint Object containing the collection of templates and files that comprise
- * the blueprint for this VDU.
- * @param inputs A map of key/value inputs. Values may be strings, numbers, or JSON objects.
- * @param environmentFile A file containing default parameter name/value pairs. This is
- * primarily for Heat, though ASDC may create a similar file for other orchestrators.
- * @param timeoutMinutes Timeout after which the instantiation attempt will be cancelled
- *
- * @return A VduInfo object
- * @throws MsoException Thrown if the sub-orchestrator API calls fail or if a timeout occurs.
- * Various subclasses of MsoException may be thrown.
- */
- public VduInfo updateVdu (
- String cloudSiteId,
- String tenantId,
- String vduInstanceId,
- VduBlueprint vduBlueprint,
- Map <String, ?> inputs,
- String environmentFile,
- int timeoutMinutes)
- throws MsoException;
-
-
- /**
- * Check if a blueprint package has been installed in the sub-orchestrator and available
- * for use at a targeted cloud site. If the specific sub-orchestrator does not support
- * pre-installation, then those implementations should always return False.
- *
- * @param cloudSiteId The cloud site where the blueprint is needed
- * @param vduModelId Unique ID of the VDU model to query
- *
- * @throws MsoException Thrown if the API call fails.
- */
- public boolean isBlueprintLoaded (String cloudSiteId, String vduModelId)
- throws MsoException;
-
-
- /**
- * Install a blueprint package to the target sub-orchestrator for a cloud site.
- * The blueprints currently must be structured as a single directory with all of the
- * required files. One of those files is designated the "main file" for the blueprint.
- * Files are provided as byte arrays, though expect only text files will be distributed
- * from ASDC and stored by MSO.
- *
- * @param cloudSiteId The cloud site where the blueprint is needed
- * @param vduBlueprint Object containing the collection of templates and files that comprise
- * the blueprint for this VDU.
- * @param failIfExists Flag to return an error if blueprint already exists
- *
- * @throws MsoException Thrown if the API call fails.
- */
- public void uploadBlueprint (String cloudSiteId,
- VduBlueprint vduBlueprint,
- boolean failIfExists)
- throws MsoException;
-
- /**
- * Indicator that this VIM sub-orchestrator implementation supports independent upload
- * of blueprint packages. Each implementation should return a constant value.
- *
- * @returns True if the sub-orchestrator supports blueprint pre-installation (upload).
- */
- public boolean blueprintUploadSupported ();
-
-}
diff --git a/adapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/vdu/utils/VduStatus.java b/adapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/vdu/utils/VduStatus.java
deleted file mode 100755
index eaf7c4f14f..0000000000
--- a/adapters/mso-vnf-adapter/src/main/java/org/openecomp/mso/vdu/utils/VduStatus.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ONAP - SO
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.openecomp.mso.vdu.utils;
-
-
-/*
- * Enum status values to capture the state of a generic (cloud-agnostic) VDU.
- */
-public enum VduStatus {
- NOTFOUND,
- INSTANTIATING,
- INSTANTIATED,
- DELETING,
- DELETED, // Note - only returned in success response to deleteVdu call.
- UPDATING,
- FAILED,
- UNKNOWN
-}
-