1

I'm new to Guice and indeed cloudify and I hoping to get a pointer or areas to look at as to what may be causing this:

  1. Firstly :

    No implementation for com.google.common.cache.LoadingCache<org.jclouds.ec2.domain.RunningInstance, org.jclouds.domain.LoginCredentials> was bound.
      while locating com.google.common.cache.LoadingCache<org.jclouds.ec2.domain.RunningInstance, org.jclouds.domain.LoginCredentials>
        for parameter 9 at org.jclouds.aws.ec2.compute.strategy.AWSEC2CreateNodesInGroupThenAddToSet.<init>(AWSEC2CreateNodesInGroupThenAddToSet.java:94)
      at org.jclouds.aws.ec2.compute.config.AWSEC2ComputeServiceContextModule.configure(AWSEC2ComputeServiceContextModule.java:96)
    
  2. And :

    No implementation for com.google.common.cache.CacheLoader<org.jclouds.ec2.domain.RunningInstance, org.jclouds.domain.Credentials> was bound.
      at org.jclouds.ec2.compute.config.EC2ComputeServiceDependenciesModule.credentialsMap(EC2ComputeServiceDependenciesModule.java:169)
    2 errors
    

The code for 1 is :-

public class AWSEC2ComputeServiceContextModule extends BaseComputeServiceContextModule {
@Override
protected void configure() {
super.configure();
    installDependencies();
    install(new EC2BindComputeStrategiesByClass());
    install(new AWSEC2BindComputeSuppliersByClass());
    bind(ReviseParsedImage.class).to(AWSEC2ReviseParsedImage.class);
    bind(CreateKeyPairAndSecurityGroupsAsNeededAndReturnRunOptions.class).to(
           CreateKeyPairPlacementAndSecurityGroupsAsNeededAndReturnRunOptions.class);
    bind(EC2HardwareSupplier.class).to(AWSEC2HardwareSupplier.class);
    bind(EC2TemplateBuilderImpl.class).to(AWSEC2TemplateBuilderImpl.class);
    bind(EC2GetNodeMetadataStrategy.class).to(AWSEC2GetNodeMetadataStrategy.class);
    bind(EC2ListNodesStrategy.class).to(AWSEC2ListNodesStrategy.class);
    bind(EC2DestroyNodeStrategy.class).to(AWSEC2DestroyNodeStrategy.class);
    bind(InstancePresent.class).to(AWSEC2InstancePresent.class);
    bind(EC2CreateNodesInGroupThenAddToSet.class).to(AWSEC2CreateNodesInGroupThenAddToSet.class);
    bind(RunningInstanceToNodeMetadata.class).to(AWSRunningInstanceToNodeMetadata.class);
}

The code for 2 is :-

@Provides
@Singleton
@Named("SECURITY")
protected LoadingCache<RegionAndName, String> securityGroupMap(
        @Named("SECURITY") CacheLoader<RegionAndName, String> in) {
    return CacheBuilder.newBuilder().build(in);
}

My initial thoughts are it could be a jar file missing or missing items in the path? Any pointers and guidance is appreciated. This is on Netbeans 7.3 beta, Java 1.7, GlassFish, Cloudify 2.5.0-SNAPSHOT, Windows 7 Professional 64 bit on a Bootcamped IMAC.

blo0p3r
  • 6,790
  • 8
  • 49
  • 68
  • When are you getting these errors? Running the Cloudify CLI? Which commands? You mention Netbeans, are you trying to run Cloudify in a debugger? – Barak Mar 17 '13 at 09:45

2 Answers2

0

You are missing some jar files from your classpath. At the very least you should have the jar files in the following directories in your classpath:

  • CLOUDIFY_HOME/lib/required/*
  • CLOUDIFY_HOME/lib/platform/esm/*
  • CLOUDIFY_HOME/lib/platform/cloudify/*
Barak
  • 3,066
  • 2
  • 20
  • 33
0

Also check the Java version you're using. if it's 1.7u51 or higher, it doesn't work well with the jclouds version used by cloudify, and specifically with Guice (issue described here).

Reverting to an earlier JDK (1.7u45 or lower) should resolve it.

Noa Kuperberg
  • 398
  • 2
  • 6