diff options
Diffstat (limited to 'appc-adapters/appc-chef-adapter')
2 files changed, 95 insertions, 60 deletions
diff --git a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/pom.xml b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/pom.xml index 0fddd2bfa..0cb1c1d96 100644 --- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/pom.xml +++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/pom.xml @@ -13,6 +13,11 @@ <name>chef Adapter - bundle</name> <dependencies> + <dependency> + <groupId>org.json</groupId> + <artifactId>json</artifactId> + <version>20160810</version> + </dependency> <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> @@ -35,8 +40,6 @@ <version>4.4.4</version> </dependency> - <!--<dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpclient</artifactId> - <version>4.5.1</version> </dependency> --> <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcpkix-jdk15on</artifactId> @@ -51,14 +54,6 @@ <groupId>org.openecomp.appc</groupId> <artifactId>appc-common</artifactId> <version>${project.version}</version> - <!-- <classifier>jar-with-dependencies</classifier> --> - <scope>test</scope> - </dependency> - <dependency> - <groupId>org.openecomp.appc</groupId> - <artifactId>appc-common</artifactId> - <version>${project.version}</version> - </dependency> <dependency> <groupId>javax</groupId> @@ -78,6 +73,13 @@ <artifactId>jackson-jaxrs</artifactId> <version>1.9.12</version> </dependency> + + <dependency> + <groupId>org.apache.httpcomponents</groupId> + <artifactId>httpclient</artifactId> + <version>4.5.1</version> + </dependency> + <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> @@ -158,7 +160,7 @@ <Embed-Transitive>true</Embed-Transitive> </instructions> - <manifestLocation>${project.basedir}/src/main/resources/META-INF</manifestLocation> + <manifestLocation>${project.basedir}/src/main/resources/META-INF</manifestLocation> </configuration> </plugin> </plugins> diff --git a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/impl/ChefAdapterImpl.java b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/impl/ChefAdapterImpl.java index 9dc50e516..5326b66b4 100644 --- a/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/impl/ChefAdapterImpl.java +++ b/appc-adapters/appc-chef-adapter/appc-chef-adapter-bundle/src/main/java/org/openecomp/appc/adapter/chef/impl/ChefAdapterImpl.java @@ -106,7 +106,7 @@ import org.json.JSONObject; public class ChefAdapterImpl implements ChefAdapter { // chef server Initialize variable - public String username = ""; + public String clientName = ""; public String clientPrivatekey = ""; public String chefserver = ""; public String serverAddress = ""; @@ -207,7 +207,7 @@ public class ChefAdapterImpl implements ChefAdapter { String message = null; if (privateKeyCheck()) { // update the details of an environment on the Chef server. - ChefApiClient cac = new ChefApiClient(username, clientPrivatekey, chefserver, organizations); + ChefApiClient cac = new ChefApiClient(clientName, clientPrivatekey, chefserver, organizations); ApiMethod am = cac.put("/environments/"+envName).body(env); am.execute(); code = am.getReturnCode(); @@ -247,7 +247,7 @@ public class ChefAdapterImpl implements ChefAdapter { int code=200; String message = null; if (privateKeyCheck()) { - ChefApiClient cac = new ChefApiClient(username, clientPrivatekey, chefserver, organizations); + ChefApiClient cac = new ChefApiClient(clientName, clientPrivatekey, chefserver, organizations); for(int i = 0; i < nodes.size(); i++){ String nodeName=nodes.get(i); @@ -306,7 +306,7 @@ public class ChefAdapterImpl implements ChefAdapter { rc.isAlive(); SvcLogicContext svcLogic = rc.getSvcLogicContext(); - ChefApiClient cac = new ChefApiClient(username, clientPrivatekey, chefserver, organizations); + ChefApiClient cac = new ChefApiClient(clientName, clientPrivatekey, chefserver, organizations); ApiMethod am = cac.post(chefAction).body(pushRequest); am.execute(); @@ -342,7 +342,7 @@ public class ChefAdapterImpl implements ChefAdapter { int code; String message = null; if (privateKeyCheck()) { - ChefApiClient cac = new ChefApiClient(username, clientPrivatekey, chefserver, organizations); + ChefApiClient cac = new ChefApiClient(clientName, clientPrivatekey, chefserver, organizations); ApiMethod am = cac.get(chefAction); am.execute(); code = am.getReturnCode(); @@ -393,16 +393,21 @@ public class ChefAdapterImpl implements ChefAdapter { } + + /** + * build node object + */ + @SuppressWarnings("nls") @Override public void nodeObejctBuilder(Map<String, String> params, SvcLogicContext ctx) { logger.info("nodeObejctBuilder"); - String name = params.get("nodeobject.name"); - String normal = params.get("nodeobject.normal"); - String overrides = params.get("nodeobject.overrides"); - String defaults = params.get("nodeobject.defaults"); - String run_list = params.get("nodeobject.run_list"); - String chef_environment = params.get("nodeobject.chef_environment"); + String name = params.get("org.openecomp.appc.instance.nodeobject.name"); + String normal = params.get("org.openecomp.appc.instance.nodeobject.normal"); + String overrides = params.get("org.openecomp.appc.instance.nodeobject.overrides"); + String defaults = params.get("org.openecomp.appc.instance.nodeobject.defaults"); + String run_list = params.get("org.openecomp.appc.instance.nodeobject.run_list"); + String chef_environment = params.get("org.openecomp.appc.instance.nodeobject.chef_environment"); String nodeObject = "{\"json_class\":\"Chef::Node\",\"default\":{" + defaults + "},\"chef_type\":\"node\",\"run_list\":[" + run_list + "],\"override\":{" + overrides + "},\"normal\": {" + normal + "},\"automatic\":{},\"name\":\"" + name + "\",\"chef_environment\":\"" @@ -412,17 +417,20 @@ public class ChefAdapterImpl implements ChefAdapter { RequestContext rc = new RequestContext(ctx); rc.isAlive(); SvcLogicContext svcLogic = rc.getSvcLogicContext(); - svcLogic.setAttribute("chef.nodeObject", nodeObject); + svcLogic.setAttribute("org.openecomp.appc.chef.nodeObject", nodeObject); } + /** + * Nicolas send get request to chef server + */ public void chefInfo(Map<String, String> params) { - username = params.get("username"); - serverAddress = params.get("serverAddress"); - organizations = params.get("organizations"); + clientName = params.get("org.openecomp.appc.instance.username"); + serverAddress = params.get("org.openecomp.appc.instance.serverAddress"); + organizations = params.get("org.openecomp.appc.instance.organizations"); chefserver = "https://" + serverAddress + "/organizations/" + organizations; - clientPrivatekey = "/opt/app/bvc/chef/" + serverAddress + "/" + organizations + "/" + username + ".pem"; + clientPrivatekey = "/opt/app/bvc/chef/" + serverAddress + "/" + organizations + "/" + clientName + ".pem"; } public Boolean privateKeyCheck() { @@ -438,9 +446,9 @@ public class ChefAdapterImpl implements ChefAdapter { @Override public void retrieveData(Map<String, String> params, SvcLogicContext ctx) { String contextData = "someValue"; - String allConfigData = params.get("allConfig"); - String key = params.get("key"); - String dgContext = params.get("dgContext"); + String allConfigData = params.get("org.openecomp.appc.instance.allConfig"); + String key = params.get("org.openecomp.appc.instance.key"); + String dgContext = params.get("org.openecomp.appc.instance.dgContext"); JSONObject josnConfig = new JSONObject(allConfigData); try { contextData = josnConfig.getString(key); @@ -462,28 +470,33 @@ public class ChefAdapterImpl implements ChefAdapter { @Override public void combineStrings(Map<String, String> params, SvcLogicContext ctx) { - String String1 = params.get("String1"); - String String2 = params.get("String2"); - String dgContext = params.get("dgContext"); + String String1 = params.get("org.openecomp.appc.instance.String1"); + String String2 = params.get("org.openecomp.appc.instance.String2"); + String dgContext = params.get("org.openecomp.appc.instance.dgContext"); String contextData = String1 + String2; RequestContext rc = new RequestContext(ctx); rc.isAlive(); SvcLogicContext svcLogic = rc.getSvcLogicContext(); svcLogic.setAttribute(dgContext, contextData); } + + + /** + * Send GET request to chef server + */ @SuppressWarnings("nls") @Override public void chefGet(Map<String, String> params, SvcLogicContext ctx) { logger.info("chef get method"); chefInfo(params); - String chefAction = params.get("chefAction"); + String chefAction = params.get("org.openecomp.appc.instance.chefAction"); RequestContext rc = new RequestContext(ctx); rc.isAlive(); int code; String message = null; if (privateKeyCheck()) { - ChefApiClient cac = new ChefApiClient(username, clientPrivatekey, chefserver, organizations); + ChefApiClient cac = new ChefApiClient(clientName, clientPrivatekey, chefserver, organizations); ApiMethod am = cac.get(chefAction); am.execute(); code = am.getReturnCode(); @@ -505,14 +518,14 @@ public class ChefAdapterImpl implements ChefAdapter { @Override public void chefPut(Map<String, String> params, SvcLogicContext ctx) { chefInfo(params); - String chefAction = params.get("chefAction"); - String CHEF_NODE_STR = params.get("chefRequestBody"); + String chefAction = params.get("org.openecomp.appc.instance.chefAction"); + String CHEF_NODE_STR = params.get("org.openecomp.appc.instance.chefRequestBody"); RequestContext rc = new RequestContext(ctx); rc.isAlive(); int code; String message = null; if (privateKeyCheck()) { - ChefApiClient cac = new ChefApiClient(username, clientPrivatekey, chefserver, organizations); + ChefApiClient cac = new ChefApiClient(clientName, clientPrivatekey, chefserver, organizations); ApiMethod am = cac.put(chefAction).body(CHEF_NODE_STR); am.execute(); @@ -525,10 +538,11 @@ public class ChefAdapterImpl implements ChefAdapter { } logger.info(code + " " + message); chefServerResult(rc, Integer.toString(code), message); - } + } + /** - * send Post request to chef server + * Nicolas send Post request to chef server */ @SuppressWarnings("nls") @@ -536,15 +550,25 @@ public class ChefAdapterImpl implements ChefAdapter { public void chefPost(Map<String, String> params, SvcLogicContext ctx) { chefInfo(params); logger.info("chef Post method"); - logger.info(username + " " + clientPrivatekey + " " + chefserver + " " + organizations); - String CHEF_NODE_STR = params.get("chefRequestBody"); - String chefAction = params.get("chefAction"); + logger.info(clientName + " " + clientPrivatekey + " " + chefserver + " " + organizations); + String CHEF_NODE_STR = params.get("org.openecomp.appc.instance.chefRequestBody"); + String chefAction = params.get("org.openecomp.appc.instance.chefAction"); + + // attributes="\"reconfig-test\":{\"secret\":\"newpass2\"}"; + // String CHEF_NODE_STR = + // "{\"json_class\":\"Chef::Node\",\"default\":{},\"chef_type\":\"node\",\"run_list\":[\""+runList+"\"],\"override\":{},\"automatic\":{},\"normal\":{"+attributes+"},\"name\":\"testnode\",\"chef_environment\":\"_default\"}"; + // String CHEF_NODE_STR = "{\"json_class\":\"Chef::Node\"}"; + // logger.info(vm_url); RequestContext rc = new RequestContext(ctx); rc.isAlive(); int code; String message = null; + // should load pem from somewhere else if (privateKeyCheck()) { - ChefApiClient cac = new ChefApiClient(username, clientPrivatekey, chefserver, organizations); + ChefApiClient cac = new ChefApiClient(clientName, clientPrivatekey, chefserver, organizations); + + // need pass path into it + // "/nodes/testnode" ApiMethod am = cac.post(chefAction).body(CHEF_NODE_STR); am.execute(); code = am.getReturnCode(); @@ -558,19 +582,22 @@ public class ChefAdapterImpl implements ChefAdapter { chefServerResult(rc, Integer.toString(code), message); } + /** + * Nicolas send delete request to chef server + */ @SuppressWarnings("nls") @Override public void chefDelete(Map<String, String> params, SvcLogicContext ctx) { logger.info("chef delete method"); chefInfo(params); - String chefAction = params.get("chefAction"); + String chefAction = params.get("org.openecomp.appc.instance.chefAction"); RequestContext rc = new RequestContext(ctx); rc.isAlive(); int code; String message = null; if (privateKeyCheck()) { - ChefApiClient cac = new ChefApiClient(username, clientPrivatekey, chefserver, organizations); + ChefApiClient cac = new ChefApiClient(clientName, clientPrivatekey, chefserver, organizations); ApiMethod am = cac.delete(chefAction); am.execute(); code = am.getReturnCode(); @@ -583,6 +610,10 @@ public class ChefAdapterImpl implements ChefAdapter { logger.info(code + " " + message); chefServerResult(rc, Integer.toString(code), message); } + + + + @SuppressWarnings("nls") @@ -608,13 +639,16 @@ public class ChefAdapterImpl implements ChefAdapter { } } + + + @SuppressWarnings("nls") @Override public void checkPushJob(Map<String, String> params, SvcLogicContext ctx) { chefInfo(params); - String jobID = params.get("jobid"); - int retryTimes = Integer.parseInt(params.get("retryTimes")); - int retryInterval = Integer.parseInt(params.get("retryInterval")); + String jobID = params.get("org.openecomp.appc.instance.jobid"); + int retryTimes = Integer.parseInt(params.get("org.openecomp.appc.instance.retryTimes")); + int retryInterval = Integer.parseInt(params.get("org.openecomp.appc.instance.retryInterval")); String chefAction = "/pushy/jobs/" + jobID; RequestContext rc = new RequestContext(ctx); @@ -628,7 +662,7 @@ public class ChefAdapterImpl implements ChefAdapter { } catch (InterruptedException ex) { Thread.currentThread().interrupt(); } - ChefApiClient cac = new ChefApiClient(username, clientPrivatekey, chefserver, organizations); + ChefApiClient cac = new ChefApiClient(clientName, clientPrivatekey, chefserver, organizations); ApiMethod am = cac.get(chefAction); am.execute(); int code = am.getReturnCode(); @@ -642,15 +676,15 @@ public class ChefAdapterImpl implements ChefAdapter { } if (status.equals("complete")) { - svcLogic.setAttribute("chefServerResult.code", "200"); - svcLogic.setAttribute("chefServerResult.message", message); + svcLogic.setAttribute("org.openecomp.appc.chefServerResult.code", "200"); + svcLogic.setAttribute("org.openecomp.appc.chefServerResult.message", message); } else { if (status.equals("running")) { - svcLogic.setAttribute("chefServerResult.code", "202"); - svcLogic.setAttribute("chefServerResult.message", "chef client runtime out"); + svcLogic.setAttribute("org.openecomp.appc.chefServerResult.code", "202"); + svcLogic.setAttribute("org.openecomp.appc.chefServerResult.message", "chef client runtime out"); } else { - svcLogic.setAttribute("chefServerResult.code", "500"); - svcLogic.setAttribute("chefServerResult.message", message); + svcLogic.setAttribute("org.openecomp.appc.chefServerResult.code", "500"); + svcLogic.setAttribute("org.openecomp.appc.chefServerResult.message", message); } } } @@ -660,12 +694,12 @@ public class ChefAdapterImpl implements ChefAdapter { @Override public void pushJob(Map<String, String> params, SvcLogicContext ctx) { chefInfo(params); - String pushRequest = params.get("pushRequest"); + String pushRequest = params.get("org.openecomp.appc.instance.pushRequest"); String chefAction = "/pushy/jobs"; RequestContext rc = new RequestContext(ctx); rc.isAlive(); SvcLogicContext svcLogic = rc.getSvcLogicContext(); - ChefApiClient cac = new ChefApiClient(username, clientPrivatekey, chefserver, organizations); + ChefApiClient cac = new ChefApiClient(clientName, clientPrivatekey, chefserver, organizations); ApiMethod am = cac.post(chefAction).body(pushRequest); ; am.execute(); @@ -675,13 +709,12 @@ public class ChefAdapterImpl implements ChefAdapter { int startIndex = message.indexOf("jobs") + 6; int endIndex = message.length() - 2; String jobID = message.substring(startIndex, endIndex); - svcLogic.setAttribute("jobID", jobID); + svcLogic.setAttribute("org.openecomp.appc.jobID", jobID); logger.info(jobID); } chefServerResult(rc, Integer.toString(code), message); } - @SuppressWarnings("static-method") private void doFailure(RequestContext rc, int code, String message) { SvcLogicContext svcLogic = rc.getSvcLogicContext(); |