import java.util.ArrayList; import java.util.List; import gr.upatras.ece.nam.fci.core.FCI; import gr.upatras.ece.nam.fci.core.ParameterValuePair; import gr.upatras.ece.nam.fci.core.ResourceContext; import gr.upatras.ece.nam.fci.core.ResourceGroup; import gr.upatras.ece.nam.fci.core.ResourceProvider; import gr.upatras.ece.nam.fci.core.ResourceProxy; import gr.upatras.ece.nam.fci.core.ServiceType; import brokermodel.fcielements.AuthorizationKey; import brokermodel.fcielements.FCICredentials; public class Main { FCICredentials creds; AuthorizationKey key; /** * @param args */ public static void main(String[] args) { new Main(); } public Main() { CreateScenario(); } private void CreateScenario() { FCI fci = FCI.getInstance(); FCICredentials cred = fci.createFCICredentials("ctranoris", "ctranoris"); AuthorizationKey authKey = fci.createAuthorizationKey(cred); ResourceContext panlab = fci.createResourceContext("panlab", authKey); for (ServiceType elem : panlab.getAvailableServices()) { System.out.println("Service: " + elem.getName() + "(" + elem.getDescription() + ")"); } System.out.println("----------------------------------xenimagestore-----------"); ServiceType service = panlab.getServiceType("xenimagestore"); for (ResourceProvider elem : panlab .getResourceProvidersForServiceType(service)) { System.out.println("Service Provider: " + elem.getName() + "("+ elem.getDescription() + ")"); for (String uri : elem.getURIs()) { System.out.println("Service Provider URI (xenimagestore) : " + uri); } } System.out.println("-------------------------------------xenvmdeploy--------"); service = panlab.getServiceType("xenvmdeploy"); for (ResourceProvider elem : panlab .getResourceProvidersForServiceType(service)) { System.out.println("Service Provider: " + elem.getName() + "(" + elem.getDescription() + ")"); for (String uri : elem.getURIs()) { System.out.println("Service Provider URI (xenvmdeploy): " + uri); } } System.out.println("---------------------------------------------"); // ResourceProvider provider = panlab // .getFirstResourceProviderOfService(service); // System.out.println("A service first available Provider: " + provider.getName()); // // provider = panlab.getResourceProviderByURI("uop"); // ResourceGroup example = fci.createResourceGroup("ScenarioExample"); // // AnExampleToCreateResources(panlab, example); //// AnExampleToUpdateResources(panlab, example); //// AnExampleToAskResources(panlab); // // // Terminate the group..terminate any contained resources // example.TearDownResources(); } private void AnExampleToCreateResources(ResourceContext panlab, ResourceGroup example) { ServiceType service = panlab.getServiceType("rubis_cl"); ResourceProvider provider = panlab .getFirstResourceProviderOfService(service); ResourceProxy resourceA = CreateResourceExample(panlab, provider, service); System.out.println("resourceA GUID: " + resourceA.getGUID()); example.addResourceProxy(resourceA); ResourceProxy resourceB = CreateResourceExample(panlab, provider, service); System.out.println("resourceB GUID: " + resourceB.getGUID()); example.addResourceProxy(resourceB); // Update all resources of group List<ParameterValuePair> params = new ArrayList<ParameterValuePair>(); ParameterValuePair p = new ParameterValuePair("ACTION", "start", "myinp"); params.add(p); example.updateResources(params); } private void AnExampleToUpdateResources(ResourceContext panlab, ResourceGroup example) { ResourceProxy resourceA = panlab.getResourceProxy( "uop.rubis_cl-118" ); System.out.println("resourceA GUID: " + resourceA.getGUID()); example.addResourceProxy(resourceA); ResourceProxy resourceB = panlab.getResourceProxy( "uop.rubis_cl-119" ); System.out.println("resourceB GUID: " + resourceA.getGUID()); example.addResourceProxy(resourceB); // Update all resources of group List<ParameterValuePair> params = new ArrayList<ParameterValuePair>(); ParameterValuePair p = new ParameterValuePair("ACTION", "stop", "myinp"); params.add(p); example.updateResources(params); } private ResourceProxy CreateResourceExample(ResourceContext panlab, ResourceProvider provider, ServiceType service) { System.out.println("Params of : " + service.getName()); for (String elem : panlab.getAvailableParamsForServiceType(service)) { System.out.println("param: " + elem); } List<ParameterValuePair> params = new ArrayList<ParameterValuePair>(); ParameterValuePair p = new ParameterValuePair("VLANID", "23", "myinp"); params.add(p); p = new ParameterValuePair("IP", "10.0.0.1", "myinp"); params.add(p); p = new ParameterValuePair("GW", "10.0.0.250", "myinp"); params.add(p); p = new ParameterValuePair("MEM", "256", "myinp"); params.add(p); p = new ParameterValuePair("DISKSPACE", "10000", "myinp"); params.add(p); p = new ParameterValuePair("DBIP", "10.0.0.20", "myinp"); params.add(p); p = new ParameterValuePair("PROXY_APP_IP", "10.0.0.30", "myinp"); params.add(p); p = new ParameterValuePair("NUM_CLIENTS", "150", "myinp"); params.add(p); p = new ParameterValuePair("RAMP_UP_TIME", "60000", "myinp"); params.add(p); ResourceProxy resource = panlab.createResourceProxy("myTempVCT", "myResource", provider, service, params); return resource; } private void AnExampleToAskResources(ResourceContext panlab ){ ServiceType service = panlab.getServiceType("rubis_cl"); ResourceProvider provider = panlab .getFirstResourceProviderOfService(service); ResourceProxy resourceB = panlab.createResourceProxyFromResourceGUID( "myTempVCT", "uop.rubis_cl-124", provider, service); System.out.println("The Param GW = "+ resourceB.getParameterValueOfResource("GW", true)); System.out.println("The Param GW (cached) = "+ resourceB.getParameterValueOfResource("GW", false)); System.out.println("The Param IP = "+ resourceB.getParameterValueOfResource("IP", true)); System.out.println("The Param IP (cached) = "+ resourceB.getParameterValueOfResource("IP", false)); } }