Package org.jclouds.compute.domain

Examples of org.jclouds.compute.domain.NodeMetadata


    }

    Set<? extends NodeMetadata> nodes = service.listNodesDetailsMatching(new Predicate<ComputeMetadata>() {
      @Override
      public boolean apply(@Nullable ComputeMetadata input) {
        NodeMetadata node = (NodeMetadata) input;
        if (!Strings.isNullOrEmpty(group) && !group.equals(node.getGroup())) {
          return false;
        }
        return true;
      }
    });
    printNodes(service, nodes, System.out);

    for (ComputeMetadata node : service.listNodes()) {

      // Update Caches
      if (node instanceof NodeMetadata) {
        NodeMetadata metadata = (NodeMetadata) node;
        for (String cacheKey : ServiceHelper.findCacheKeysForService(service)) {
          if (metadata.getStatus().equals(NodeMetadata.Status.RUNNING)) {
            cacheProvider.getProviderCacheForType(Constants.ACTIVE_NODE_CACHE).put(
                    cacheKey, node.getId());
            cacheProvider.getProviderCacheForType(Constants.INACTIVE_NODE_CACHE).remove(
                    cacheKey, node.getId());
            cacheProvider.getProviderCacheForType(Constants.SUSPENDED_NODE_CACHE).remove(
                    cacheKey, node.getId());
          } else if (metadata.getStatus().equals(NodeMetadata.Status.SUSPENDED)) {
            cacheProvider.getProviderCacheForType(Constants.ACTIVE_NODE_CACHE).remove(
                    cacheKey, node.getId());
            cacheProvider.getProviderCacheForType(Constants.INACTIVE_NODE_CACHE).put(
                    cacheKey, node.getId());
            cacheProvider.getProviderCacheForType(Constants.SUSPENDED_NODE_CACHE).put(
                    cacheKey, node.getId());
          } else if (metadata.getStatus().equals(NodeMetadata.Status.TERMINATED)) {
            cacheProvider.getProviderCacheForType(Constants.ACTIVE_NODE_CACHE).remove(
                    cacheKey, node.getId());
            cacheProvider.getProviderCacheForType(Constants.INACTIVE_NODE_CACHE).remove(
                    cacheKey, node.getId());
            cacheProvider.getProviderCacheForType(Constants.SUSPENDED_NODE_CACHE).remove(
View Full Code Here


         System.err.println(t.getMessage());
         return null;
      }
      Set<? extends NodeMetadata> nodeMetaDataSet = service.listNodesDetailsMatching(getComputeFilter());
      if (nodeMetaDataSet != null && !nodeMetaDataSet.isEmpty()) {
         NodeMetadata nodeMetadata = nodeMetaDataSet.toArray(new NodeMetadata[0])[0];

         // If we have multiple nodes we just want the headers, but not full details.
         printNodeInfo(service, nodeMetaDataSet, nodeMetaDataSet.size() == 1, System.out);

         LoginCredentials credentials = nodeMetadata.getCredentials();

         user = EnvHelper.getUser(user);
         password = EnvHelper.getPassword(password);

         if (user != null) {
            LoginCredentials.Builder loginBuilder;
            if (credentials == null) {
               loginBuilder = LoginCredentials.builder();
            } else {
               loginBuilder = credentials.toBuilder();
            }
            if (password != null) {
               credentials = loginBuilder.user(user).password(password).build();
            } else {
               credentials = loginBuilder.user(user).build();
            }
         }

         Map<? extends NodeMetadata, ExecResponse> responseMap = null;

          if (getScript() != null) {
              responseMap = service.runScriptOnNodesMatching(getNodeFilter(),
                      getScript(), overrideLoginCredentials(credentials).runAsRoot(runAsRoot()));
          } else if (getStatement() != null) {
             responseMap = service.runScriptOnNodesMatching(getNodeFilter(),
                      getStatement(), overrideLoginCredentials(credentials).runAsRoot(runAsRoot()));
          }

          for (Map.Entry<? extends NodeMetadata, ExecResponse> entry : responseMap.entrySet()) {
            ExecResponse response = entry.getValue();
            NodeMetadata node = entry.getKey();
            System.out.println("");
            if (response.getOutput() != null && !response.getOutput().isEmpty()) {
               System.out.println("Node:" + node.getId() + " Output:" + response.getOutput());
            }

            if (response.getError() != null && !response.getError().isEmpty()) {
               System.out.println("Node:" + node.getId() + " Error:" + response.getError());
            }
         }
      }

      return null;
View Full Code Here

        List<Exchange> exchanges = result.getExchanges();

        Exchange exchange = exchanges.get(3);
        Set<?> nodeMetadatas = exchange.getIn().getBody(Set.class);
        assertEquals("Nodes should be 2", 2, nodeMetadatas.size());
        NodeMetadata nodeMetadata = nodeMetadatas.toArray(new NodeMetadata[0])[0];
        assertEquals("other", nodeMetadata.getGroup());

        exchange = exchanges.get(4);
        nodeMetadatas = exchange.getIn().getBody(Set.class);
        assertEquals("Nodes should be 1", 1, nodeMetadatas.size());
        nodeMetadata = nodeMetadatas.toArray(new NodeMetadata[0])[0];
        assertEquals("other", nodeMetadata.getGroup());
        assertEquals("3", nodeMetadata.getId());

        exchange = exchanges.get(5);
        nodeMetadatas = exchange.getIn().getBody(Set.class);
        assertEquals("Nodes should be 1", 1, nodeMetadatas.size());
        nodeMetadata = nodeMetadatas.toArray(new NodeMetadata[0])[0];
        assertEquals("other", nodeMetadata.getGroup());
        assertEquals("3", nodeMetadata.getId());
    }
View Full Code Here

            for (Exchange exchange : exchanges) {
                Set<?> nodeMetadatas = exchange.getIn().getBody(Set.class);
                assertEquals("There should be no node running", 1, nodeMetadatas.size());

                for (Object obj : nodeMetadatas) {
                    NodeMetadata nodeMetadata = (NodeMetadata) obj;
                    template.sendBodyAndHeaders("direct:start", null, destroyHeaders(nodeMetadata.getId(), null));
                }
            }
        }
    }
View Full Code Here

   public void testExtendedOptionsWithCustomizationScript() throws Exception {
      String PARSE_VMTOOLSD = "vmtoolsd --cmd=\"info-get guestinfo.ovfenv\" |grep vCloud_CustomizationInfo|sed 's/.*value=\"\\(.*\\)\".*/\\1/g'";

      String group = prefix + "cus";

      NodeMetadata node = null;
      try {

         TemplateOptions options = client.templateOptions();
         options.blockOnPort(22, 180);
         options.as(VCloudTemplateOptions.class).customizationScript(script);
         options.as(VCloudTemplateOptions.class).description(group);
         node = getOnlyElement(client.createNodesInGroup(group, 1, options));

         VApp vapp = client.getContext().unwrap(VCloudApiMetadata.CONTEXT_TOKEN).getApi().getVAppClient().getVApp(
                  node.getUri());
         assertEquals(vapp.getDescription(), group);

         Vm vm = Iterables.get(vapp.getChildren(), 0);
         String apiOutput = vm.getGuestCustomizationSection().getCustomizationScript();
         checkApiOutput(apiOutput);

         ExecResponse vmTools = client.runScriptOnNode(node.getId(), PARSE_VMTOOLSD,
               wrapInInitScript(false).runAsRoot(false));
         checkApiOutput(new String(base64().decode(vmTools.getOutput().trim()), UTF_8));

         ExecResponse foo = client.runScriptOnNode(node.getId(), "cat /root/foo.txt", wrapInInitScript(false)
               .runAsRoot(false));
         checkCustomizationOccurred(foo);

      } finally {
         if (node != null)
            client.destroyNode(node.getId());
      }
   }
View Full Code Here

   }

   @Test
   public void testCaptureVApp() throws Exception {
      String group = prefix + "cap";
      NodeMetadata node = null;
      VAppTemplate vappTemplate = null;
      CatalogItem item = null;
      try {

         node = getOnlyElement(client.createNodesInGroup(group, 1));

         Predicate<URI> taskTester = retry(new TaskSuccess(getVCloudApi()), 600, 5, SECONDS);

         // I have to undeploy first
         Task task = getVCloudApi().getVAppClient().undeployVApp(URI.create(node.getId()));

         // wait up to ten minutes per above
         assert taskTester.apply(task.getHref()) : node;

         VApp vApp = getVCloudApi().getVAppClient().getVApp(URI.create(node.getId()));

         // wait up to ten minutes per above
         assertEquals(vApp.getStatus(), Status.OFF);

         // vdc is equiv to the node's location
         // vapp uri is the same as the node's id
         vappTemplate = getVCloudApi().getVAppTemplateClient().captureVAppAsTemplateInVDC(URI.create(node.getId()),
                  group, URI.create(node.getLocation().getId()));

         assertEquals(vappTemplate.getName(), group);

         task = vappTemplate.getTasks().get(0);

         // wait up to ten minutes per above
         assert taskTester.apply(task.getHref()) : vappTemplate;

         item = getVCloudApi().getCatalogClient().addVAppTemplateOrMediaImageToCatalogAndNameItem(
                  vappTemplate.getHref(),
                  getVCloudApi().getCatalogClient().findCatalogInOrgNamed(null, null).getHref(), "fooname",
                  CatalogItemOptions.Builder.description("description").properties(ImmutableMap.of("foo", "bar")));

         assertEquals(item.getName(), "fooname");
         assertEquals(item.getDescription(), "description");
         assertEquals(item.getProperties(), ImmutableMap.of("foo", "bar"));
         assertEquals(item.getEntity().getName(), "fooname");
         assertEquals(item.getEntity().getHref(), vappTemplate.getHref());
         assertEquals(item.getEntity().getType(), vappTemplate.getType());

      } finally {
         if (item != null)
            getVCloudApi().getCatalogClient().deleteCatalogItem(item.getHref());
         if (vappTemplate != null)
            getVCloudApi().getVAppTemplateClient().deleteVAppTemplate(vappTemplate.getHref());
         if (node != null)
            client.destroyNode(node.getId());
      }
   }
View Full Code Here

            });
         }

      });

      NodeMetadata node = Iterables.getOnlyElement(apiThatCreatesNode.createNodesInGroup("test", 1,
            blockUntilRunning(false).generateKeyPair(true)));
      assertNotNull(node.getCredentials().getPrivateKey());
   }
View Full Code Here

            });
         }

      });

      NodeMetadata node = Iterables.getOnlyElement(apiThatCreatesNode.createNodesInGroup("test", 1,
            keyPairName("fooPair").blockUntilRunning(false)));
      // we don't have access to this private key
      assertEquals(node.getCredentials().getPrivateKey(), null);
   }
View Full Code Here

            });
         }

      });

      NodeMetadata node = Iterables.getOnlyElement(apiThatCreatesNode.createNodesInGroup("test", 1,
            keyPairName("fooPair").securityGroupNames("mygroup").blockUntilRunning(false)));
      // we don't have access to this private key
      assertEquals(node.getCredentials().getPrivateKey(), null);
   }
View Full Code Here

      ServerInZoneToNodeMetadata converter = new ServerInZoneToNodeMetadata(
               NovaComputeServiceContextModule.toPortableNodeStatus, locationIndex, Suppliers
                        .<Set<? extends Image>> ofInstance(images), Suppliers
                        .<Set<? extends Hardware>> ofInstance(hardwares), namingConvention);

      NodeMetadata convertedNodeMetadata = converter.apply(serverInZoneToConvert);

      assertEquals(serverInZoneToConvert.slashEncode(), convertedNodeMetadata.getId());
      assertEquals(serverToConvert.getId(), convertedNodeMetadata.getProviderId());

      assertEquals(convertedNodeMetadata.getLocation().getScope(), LocationScope.HOST);
      assertEquals(convertedNodeMetadata.getLocation().getId(), "e4d909c290d0fb1ca068ffaddf22cbd0");

      assertEquals(convertedNodeMetadata.getLocation().getParent(), locationIndex.get().get("az-1.region-a.geo-1"));

      assertEquals(serverToConvert.getName(), convertedNodeMetadata.getName());
      assertEquals(convertedNodeMetadata.getGroup(), "sample");

      assertEquals(convertedNodeMetadata.getImageId(), expectedImageId);
      assertEquals(convertedNodeMetadata.getOperatingSystem(), expectedOs);

      assertEquals(convertedNodeMetadata.getHardware(), expectedHardware);

      assertEquals(NovaComputeServiceContextModule.toPortableNodeStatus.get(serverToConvert.getStatus()),
               convertedNodeMetadata.getStatus());

      assertNotNull(convertedNodeMetadata.getPrivateAddresses());
      assertEquals(convertedNodeMetadata.getPrivateAddresses(), ImmutableSet.of("10.176.42.16"));

      assertNotNull(convertedNodeMetadata.getPublicAddresses());
      // note jclouds doesn't yet support ipv6 b/c not tested yet
      assertEquals(convertedNodeMetadata.getPublicAddresses(), ImmutableSet.of("67.23.10.132", "67.23.10.131"));

      assertNotNull(convertedNodeMetadata.getUserMetadata());
      assertEquals(convertedNodeMetadata.getUserMetadata(),
            ImmutableMap.<String, String> of("Server Label", "Web Head 1", "Image Version", "2.1"));
     
      URI expectedURI = URI.create("http://servers.api.openstack.org/v1.1/1234/servers/52415800-8b69-11e0-9b19-734f6f006e54");
      assertEquals(convertedNodeMetadata.getUri(), expectedURI);
   }
View Full Code Here

TOP

Related Classes of org.jclouds.compute.domain.NodeMetadata

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.