brooklyncentral / clocker

Apache Brooklyn cloud native infrastructure blueprints
Apache License 2.0
426 stars 66 forks source link

Attempting to add clocker.bom ERROR #345

Closed naqsh01 closed 7 years ago

naqsh01 commented 7 years ago

Attempted to add clocker.bom following the instructions on http://www.clocker.io/tutorials/getting-started.html (Brookyn).

Get the following error: Remote catalog url classpath://io.brooklyn.clocker.swarm:swarm/swarm.bom can't be fetched.: Error getting resource 'classpath://io.brooklyn.clocker.swarm:swarm/swarm.bom' for classload:[OSGi::0.0.0[[CatalogBundleDto{symbolicName=null, version=null, url=https://oss.sonatype.org/service/local/artifact/maven/redirect?r=snapshots&g=io.brooklyn.etcd&a=brooklyn-etcd&v=2.3.0-SNAPSHOT}, CatalogBundleDto{symbolicName=null, version=null, url=https://oss.sonatype.org/service/local/repositories/releases/content/io/brooklyn/clocker/common/2.0.0/common-2.0.0.jar}, CatalogBundleDto{symbolicName=null, version=null, url=https://oss.sonatype.org/service/local/repositories/releases/content/io/brooklyn/clocker/swarm/2.0.0/swarm-2.0.0.jar}, CatalogBundleDto{symbolicName=null, version=null, url=https://oss.sonatype.org/service/local/repositories/releases/content/io/brooklyn/clocker/kubernetes/2.0.0/kubernetes-2.0.0.jar}]]];[java:AggregateClassLoader[AggregateClassLoader[sun.misc.Launcher$AppClassLoader@15aeb7ab, AggregateClassLoader[], AggregateClassLoader[AggregateClassLoader[AggregateClassLoader[org.apache.brooklyn.util.javalang.LoadedClassLoader@3d68e542], AggregateClassLoader[]]]]]]: IOException: Error accessing classpath://io.brooklyn.clocker.swarm:swarm/swarm.bom: java.io.IOException: io.brooklyn.clocker.swarm:swarm/swarm.bom not found on classpath

tbouron commented 7 years ago

Hi @naqsh01. Did you downloaded the 4 JARs of the step 2 and put them into the lib/dropins folder of your Brooklyn install?

tbouron commented 7 years ago

Also, which clocker.bom are you using? The one for Brooklyn is a bit different and dowloaded from step 3 => http://www.clocker.io/clocker.bom

naqsh01 commented 7 years ago

I placed the jars under libs/dropins.

Should I have renamed brooklyn-etcd from the original filename?

I used this one (from.doc) http://www.clocker.io/clocker.bom

EDIT: I also tried the other way by copying the yaml from the readme.

Thanks, Aliusa

naqsh01 commented 7 years ago

Just to add.

I started Brooklyn like:

./bin/brooklyn launch

tbouron commented 7 years ago

Hey @naqsh01, that's very strange, we tested it multiple times to make sure it ran smoothly. Something occurred to me but which version of Brooklyn do you use?

In a meantime, we are going through the instructions to see if we miss something.

naqsh01 commented 7 years ago

Version: 0.10.0-20160930.1659

I grabbed the brooklyn from: http://download.cloudsoft.io/brooklyn/0.10.0-20160930.1659/brooklyn-dist-0.10.0-20160930.1659-dist.tar.gz

How can I verify the jar files were picked up?

9/brooklyn-dist-0.10.0-20160930.1659/lib/dropins$ ls -kl total 108 -rw-rw-r-- 1 aliusa aliusa 45761 Aug 30 23:48 brooklyn-etcd-2.3.0-20160831.034817-11.jar -rw-rw-r-- 1 aliusa aliusa 18783 Oct 3 06:43 common-2.0.0.jar -rw-rw-r-- 1 aliusa aliusa 18783 Oct 3 06:43 kubernetes-2.0.0.jar -rw-rw-r-- 1 aliusa aliusa 18783 Oct 3 06:43 swarm-2.0.0.jar

tbouron commented 7 years ago

So I think we found the issue @naqsh01. Can you try with this clocker.bom file?

brooklyn.catalog:
  items:
    - classpath://io.brooklyn.etcd.brooklyn-etcd:brooklyn-etcd/catalog.bom
    - classpath://io.brooklyn.clocker.common:common/common.bom
    - classpath://io.brooklyn.clocker.common:docker/docker.bom
    - classpath://io.brooklyn.clocker.common:main/catalog.bom
    - classpath://io.brooklyn.clocker.swarm:swarm/swarm.bom
    - classpath://io.brooklyn.clocker.kubernetes:kubernetes/plugins.bom
    - classpath://io.brooklyn.clocker.kubernetes:kubernetes/kubernetes.bom
naqsh01 commented 7 years ago

I appreciate you assisting @tbouron:

Pasted the YAML into the composer and got the following error:

Remote catalog url classpath://io.brooklyn.clocker.swarm:swarm/swarm.bom can't be fetched.: Error getting resource 'classpath://io.brooklyn.clocker.swarm:swarm/swarm.bom' for classload:[];[java:AggregateClassLoader[AggregateClassLoader[sun.misc.Launcher$AppClassLoader@15aeb7ab, AggregateClassLoader[], AggregateClassLoader[AggregateClassLoader[AggregateClassLoader[org.apache.brooklyn.util.javalang.LoadedClassLoader@7e9ca131], AggregateClassLoader[]]]]]]: IOException: Error accessing classpath://io.brooklyn.clocker.swarm:swarm/swarm.bom: java.io.IOException: io.brooklyn.clocker.swarm:swarm/swarm.bom not found on classpath

tbouron commented 7 years ago

I'm a bit out of idea here @naqsh01. I re-tested the getting started guide on a clean machine and I have no issue with this bom file

I'll try to dig in more tonight

naqsh01 commented 7 years ago

I'm running Ubuntu 16.04.

java version "1.8.0_101" Java(TM) SE Runtime Environment (build 1.8.0_101-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

Thanks!

neykov commented 7 years ago

@naqsh01 Can you include the Brooklyn build version in addition to the above, thanks.

naqsh01 commented 7 years ago

$ ./bin/brooklyn-client-cli/linux.386/br version 0.10.0-20160930.1659

neykov commented 7 years ago

@naqsh01 thanks for confirming the version (once again :) ) Here are a couple of things to double check. Repeating your directory listing:

-rw-rw-r-- 1 aliusa aliusa 45761 Aug 30 23:48 brooklyn-etcd-2.3.0-20160831.034817-11.jar
-rw-rw-r-- 1 aliusa aliusa 18783 Oct 3 06:43 common-2.0.0.jar
-rw-rw-r-- 1 aliusa aliusa 18783 Oct 3 06:43 kubernetes-2.0.0.jar
-rw-rw-r-- 1 aliusa aliusa 18783 Oct 3 06:43 swarm-2.0.0.jar

Mine is

-rw-rw-r-- 1 vagrant vagrant 18783 Oct  3 10:43 common.jar
-rw-rw-r-- 1 vagrant vagrant 45761 Aug 31 03:48 etcd.jar
-rw-rw-r-- 1 vagrant vagrant 18034 Oct  3 10:43 kube.jar
-rw-rw-r-- 1 vagrant vagrant 15813 Oct  3 10:43 swarm.jar

Note that yours has 18783 for all three kubernetes, swarm, common jars, which is identical to common from my listing. Can you check your kubernetes and swarm jars, seems they have been overwritten by common.jar.

Another thing could be that there are multiple versions of brooklyn running in the background (for example you restart one which picks up the new jars, but connect to a stale runaway instance). This doesn't seem likely but is worth checking if the above doesn't lead to a successful installation.

naqsh01 commented 7 years ago

@neykov:

I should have noticed that! I repulled the jars and restarted brooklyn. 👍 I still had trouble adding the clocker.bom from master. But the one @tbouron provided above actually worked! 👍

Does the new version of clocker no longer support mesos?

Thanks

neykov commented 7 years ago

Nice, glad it worked.

That's right, no mesos support. The short term focus is on swarm and kubernetes.

naqsh01 commented 7 years ago

@neykov In the previous version of clocker there was a blueprint for mesos:

name: clocker-mesos
description: |
  Access an Apache Mesos cluster using Clocker.
services:
- type: mesos-cluster
  id: clocker-mesos-access
  name: "clocker-mesos-access"
  brooklyn.config:
    entity.dynamicLocation.name: "mesos-cluster"
    mesos.url: "http://XXXXXXX:5050/"
    marathon.mesos.framework.url: "http://XXXX:8080"
    mesos.slave.accessible: true
    mesos.slave.ssh.user: "ubuntu"
    mesos.slave.ssh.privateKey.file: "~/.ssh/mesos.pem"

This will longer work? Just to confirm.

Thanks

neykov commented 7 years ago

@naqsh01 You can still use the clocker1 releases and they will continue to work just fine. The blueprint you give as an example is about deploying to a running mesos instance, not deploying one. There's no equivalent in clocker2 yet.

naqsh01 commented 7 years ago

Correct, I didnt mean deploying but using an existing mesos installation for deployment.

neykov commented 7 years ago

@naqsh01 Btw here's an existing blueprint which deploys Mesos. And you can use clocker1 to deploy to Mesos after that. Closing as the issue is resolved.