diff --git a/blueprints-processor/features/pom.xml b/blueprints-processor/features/pom.xml
new file mode 100644
index 0000000..5b9ecfc
--- /dev/null
+++ b/blueprints-processor/features/pom.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright © 2017-2018 AT&T Intellectual Property.
+  Modifications Copyright © 2018 IBM.
+  
+  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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.onap.ccsdk.config</groupId>
+		<artifactId>blueprints-processor</artifactId>
+		<version>0.0.1-SNAPSHOT</version>
+	</parent>
+
+	<artifactId>blueprints-processor-features</artifactId>
+	<packaging>jar</packaging>
+	<name>Blueprints Processor - Features</name>
+
+	<dependencies>
+		<dependency>
+			<groupId>org.onap.ccsdk.config</groupId>
+			<artifactId>blueprints-data-adaptor-provider</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.onap.ccsdk.config</groupId>
+			<artifactId>blueprints-rest-adaptor-provider</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.onap.ccsdk.config</groupId>
+			<artifactId>blueprints-assignment-provider</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.onap.ccsdk.config</groupId>
+			<artifactId>blueprints-generator-provider</artifactId>
+		</dependency>
+		<dependency>
+			<groupId>org.onap.ccsdk.config</groupId>
+			<artifactId>blueprints-model-provider</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>org.opendaylight.mdsal</groupId>
+			<artifactId>features-mdsal</artifactId>
+			<classifier>features</classifier>
+			<type>xml</type>
+			<scope>runtime</scope>
+		</dependency>
+	</dependencies>
+
+	<build>
+		<resources>
+			<resource>
+				<filtering>true</filtering>
+				<directory>src/main/resources</directory>
+			</resource>
+		</resources>
+		<plugins>
+			<plugin>
+				<groupId>org.apache.maven.plugins</groupId>
+				<artifactId>maven-resources-plugin</artifactId>
+				<executions>
+					<execution>
+						<id>filter</id>
+						<goals>
+							<goal>resources</goal>
+						</goals>
+						<phase>generate-resources</phase>
+					</execution>
+				</executions>
+			</plugin>
+			<plugin>
+				<groupId>org.codehaus.mojo</groupId>
+				<artifactId>build-helper-maven-plugin</artifactId>
+				<executions>
+					<execution>
+						<id>attach-artifacts</id>
+						<goals>
+							<goal>attach-artifact</goal>
+						</goals>
+						<phase>package</phase>
+						<configuration>
+							<artifacts>
+								<artifact>
+									<file>${project.build.directory}/classes/${features.file}</file>
+									<type>xml</type>
+									<classifier>features</classifier>
+								</artifact>
+							</artifacts>
+						</configuration>
+					</execution>
+				</executions>
+			</plugin>
+		</plugins>
+	</build>
+</project>
diff --git a/blueprints-processor/features/src/main/resources/features.xml b/blueprints-processor/features/src/main/resources/features.xml
new file mode 100644
index 0000000..4375fa9
--- /dev/null
+++ b/blueprints-processor/features/src/main/resources/features.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  Copyright © 2017-2018 AT&T Intellectual Property.
+  Modifications Copyright © 2018 IBM.
+  
+  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.
+-->
+
+<features name="blueprints-processor-${project.version}"
+	xmlns="http://karaf.apache.org/xmlns/features/v1.2.0"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://karaf.apache.org/xmlns/features/v1.2.0 http://karaf.apache.org/xmlns/features/v1.2.0">
+
+	<repository>mvn:org.opendaylight.mdsal/features-mdsal/${odl.mdsal.features.version}/xml/features</repository>
+
+	<feature name='blueprints-processor-dependency'
+		description="SDNC Controller: Blueprints Features Dependency"
+		version='${project.version}'>
+		<feature>ccsdk-sli</feature>
+
+		<bundle>wrap:mvn:com.jcraft/jsch/${jsch.version}</bundle>
+		<bundle>wrap:mvn:com.jayway.jsonpath/json-path/${jsonpath.version}</bundle>
+
+		<bundle>wrap:mvn:org.json/json/${org.json.version}</bundle>
+		<bundle>wrap:mvn:org.yaml/snakeyaml/${snakeyaml.version}</bundle>
+		<bundle>wrap:mvn:org.apache.velocity/velocity/${velocity.version}</bundle>
+
+		<bundle>wrap:mvn:commons-io/commons-io/${common.io.version}</bundle>
+		<bundle>wrap:mvn:net.minidev/json-smart/${json-smart.version}</bundle>
+		<bundle>wrap:mvn:net.minidev/accessors-smart/${accessors-smart.version}</bundle>
+
+		<bundle>mvn:commons-lang/commons-lang/${commons.lang.version}</bundle>
+		<bundle>mvn:commons-collections/commons-collections/${common.collections.version}</bundle>
+
+		<bundle>wrap:mvn:com.fasterxml.jackson.core/jackson-core/${jackson.version}</bundle>
+		<bundle>wrap:mvn:com.fasterxml.jackson.core/jackson-databind/${jackson.version}</bundle>
+		<bundle>wrap:mvn:com.fasterxml.jackson.core/jackson-annotations/${jackson.version}</bundle>
+		<bundle>wrap:mvn:com.fasterxml.jackson.dataformat/jackson-dataformat-xml/${jackson.version}</bundle>
+		<bundle>wrap:mvn:com.fasterxml.jackson.dataformat/jackson-dataformat-yaml/${jackson.version}</bundle>
+		<bundle>wrap:mvn:com.fasterxml.jackson.module/jackson-module-jsonSchema/${jackson.version}</bundle>
+		<bundle>wrap:mvn:com.fasterxml.jackson.module/jackson-module-jaxb-annotations/${jackson.version}</bundle>
+	</feature>
+
+	<feature name='blueprints-processor-libs'
+		description="SDNC Controller: Blueprints Libs"
+		version='${project.version}'>
+		<feature version="${project.version}">blueprints-processor-dependency</feature>
+		<bundle>mvn:org.onap.ccsdk.config/blueprints-rest-adaptor-provider/${project.version}</bundle>
+		<bundle>mvn:org.onap.ccsdk.config/blueprints-data-adaptor-provider/${project.version}</bundle>
+		<bundle>mvn:org.onap.ccsdk.config/blueprints-model-provider/${project.version}</bundle>
+	</feature>
+
+	<feature name='blueprints-processor-features'
+		description="SDNC Controller: Blueprints Features"
+		version='${project.version}'>
+		<feature version="${project.version}">blueprints-processor-libs</feature>
+		<bundle>mvn:org.onap.ccsdk.config/blueprints-generator-provider/${project.version}</bundle>
+		<bundle>mvn:org.onap.ccsdk.config/blueprints-assignment-provider/${project.version}</bundle>
+	</feature>
+
+</features>
