Geoff / team-

> the sensor in question is defined as
>
> static.value: $brooklyn:config("my.app.port")
>
> not sure why it is reported as static.value:
> !!org.apache.brooklyn.camp.brooklyn.spi.dsl.methods.DslComponent$DslConfigSupplier
> in the error logs.

Good spot!  It seems like it is reading the YAML once, then serializing it, then trying to read that output YAML and that's where it's messing up.  I can't see any other way it could know the type is `org.apache.brooklyn.camp.brooklyn.spi.dsl.methods.DslComponent$DslConfigSupplier` when complaining about the YAML parse.

I don't understand how or why it could be doing that though -- why try YAML parse the output of what is just YAML parsed!?

(I'm not surprised it fails, as the classname syntax might need special OSGi handling ... as far as I know we haven't invested in being able to write plans or entities as YAML.  What you get for free probably works sometimes but it isn't supported and edge cases won't work.  The persistence of course is XML based.)

The fact that this is system dependent is also weird.  That would suggest that something hasn't entirely loaded or registered, maybe a service or something, or it was done in an unusual order.  But I can't think of any reason why that (or anything!) would cause it to do this YAML deserialize->serialize->deserialize cycle for plan load.

Best
Alex


On 26/01/2020 23:33, Geoff Macartney wrote:
Hi all,

OK, I've made a bit of progress investigating
ExternalConfigBrooklynPropertiesOsgiTest (haven't looked into
AssemblyTest). I have a handle on *where* it is failing but haven't got to
the bottom of *why*.

I'm afraid I'm going to be flat out this week and won't have time in the
evenings to look at it, but perhaps the info below may be of some use if
someone has bandwidth to investigate. In any case I would be entirely happy
to support the proposal to disable these tests, I don't see why they should
gate the release. We can investigate afterwards.

Cheers,
Geoff

Notes:

mvn test
-Dtest=org.apache.brooklyn.core.dsl.external.ExternalConfigBrooklynPropertiesOsgiTest

When you run the test and while it is pausing waiting to connect to the pax
container, you can cd into the container deploy directory:

±
cd 
brooklyn-dist/karaf/itest/target/paxexam/unpack/06e8b942-6fc1-499a-b64a-cedcf6194640

and either examine logs or even run bin/client to connect to Karaf.  Doing
the latter and listing bundles seems to indicate that all the bundles are
up and running happily:



karaf@brooklyn()> list
START LEVEL 100 , List Threshold: 50
  ID │ State    │ Lvl │ Version                  │ Name
────┼──────────┼─────┼──────────────────────────┼─────────────────────────────────────────────────────────────────────────────────────────────────
  13 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn Library Catalog
  15 │ Active   │  80 │ 1.3.1                    │ javax.annotation API
  57 │ Active   │  80 │ 2.1.2                    │ jclouds atmos components
  58 │ Active   │  80 │ 2.1.2                    │ jclouds Amazon EC2
provider
  59 │ Active   │  80 │ 2.1.2                    │ jclouds Amazon Simple
Storage Service (S3) provider
  60 │ Active   │  80 │ 2.1.2                    │ jclouds Azure Storage
provider
  61 │ Active   │  80 │ 2.1.2                    │ jclouds Azure Compute ARM
API
  62 │ Active   │  80 │ 2.1.2                    │ Apache jclouds B2 API
  63 │ Active   │  80 │ 1.51                     │ bcpkix
  64 │ Active   │  80 │ 1.51                     │ bcprov-ext
  65 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn Karaf Shell
Commands
  66 │ Active   │  80 │ 2.1.2                    │ jclouds bring your own
node provider
  67 │ Active   │  80 │ 1.0.7                    │ Logback Classic Module
  68 │ Active   │  80 │ 1.0.7                    │ Logback Core Module
  69 │ Active   │  80 │ 2.1.2                    │ jclouds cloudstack core
  71 │ Active   │  80 │ 2.10.1                   │ Jackson-annotations
  73 │ Active   │  80 │ 2.10.1                   │ Jackson-core
  75 │ Active   │  80 │ 2.10.1                   │ jackson-databind
  77 │ Active   │  80 │ 2.9.8                    │ Jackson-JAXRS-base
  78 │ Active   │  80 │ 2.9.8                    │ Jackson-JAXRS-JSON
  81 │ Active   │  80 │ 2.5                      │ Gson
  82 │ Active   │  80 │ 18.0.0                   │ Guava: Google Core
Libraries for Java
  83 │ Active   │  80 │ 3.0.0                    │ guice, Fragments: 85, 84
  84 │ Resolved │  80 │ 3.0.0                    │ guice-assistedinject,
Hosts: 83
  85 │ Resolved │  80 │ 3.0.0                    │ guice-multibindings,
Hosts: 83
  86 │ Active   │  80 │ 0.20.0                   │ sshj
  87 │ Active   │  80 │ 2.4.0                    │ json-path
  88 │ Active   │  80 │ 0.0.9                    │ a connector factory
  89 │ Active   │  80 │ 0.0.9                    │ a connector for ssh-agent
  90 │ Active   │  80 │ 0.0.9                    │ an implementation of
USocketFactory using netcat
  92 │ Active   │  80 │ 2.1.2                    │ jclouds DigitalOcean v2
API Provider
  93 │ Active   │  80 │ 2.1.2                    │ jclouds docker API
  94 │ Active   │  80 │ 2.1.2                    │ jclouds ec2 api
  95 │ Active   │  80 │ 2.1.2                    │ jclouds ElasticHosts
BlueSquare London provider
  96 │ Active   │  80 │ 2.1.2                    │ jclouds ElasticHosts
Peer1 London provider
  97 │ Active   │  80 │ 2.1.2                    │ jclouds ElasticHosts
Peer1 San Antonio provider
  98 │ Active   │  80 │ 2.1.2                    │ jclouds elasticstack core
  99 │ Active   │  80 │ 2.1.2                    │ jclouds Go2Cloud
Johannesburg1 provider
100 │ Active   │  80 │ 2.1.2                    │ jclouds GoGrid provider
101 │ Active   │  80 │ 2.1.2                    │ jclouds Google Cloud
Storage provider
102 │ Active   │  80 │ 2.1.2                    │ jclouds Google Compute
Engine provider
103 │ Active   │  80 │ 2.1.2                    │ jclouds Google Cloud Core
104 │ Active   │  80 │ 2.4.15                   │ Groovy Runtime
105 │ Active   │  80 │ 0.8.0                    │ Java WinRM library
106 │ Active   │  80 │ 0.8.0                    │ WinRM Client
107 │ Active   │  80 │ 1.5.6                    │ swagger-annotations
108 │ Active   │  80 │ 1.5.6                    │ swagger-core
109 │ Active   │  80 │ 1.5.6                    │ swagger-jaxrs
110 │ Active   │  80 │ 1.5.6                    │ swagger-models
113 │ Active   │  80 │ 1.1.0.Final              │ Bean Validation API
115 │ Active   │  80 │ 2.1.99.b01               │ javax.ws.rs-api
116 │ Active   │  80 │ 2.1.2                    │ jclouds blobstore core
117 │ Active   │  80 │ 2.1.2                    │ jclouds bouncycastle
EncryptionService Module
118 │ Active   │  80 │ 2.1.2                    │ jclouds compute core
119 │ Active   │  80 │ 2.1.2                    │ jclouds Components Core,
Fragments: 121
120 │ Active   │  80 │ 2.1.2                    │ jclouds jsch ssh client
121 │ Resolved │  80 │ 2.1.2                    │ jclouds loadbalancer
core, Hosts: 119
122 │ Active   │  80 │ 2.1.2                    │ jclouds Log4J Logging
Module
123 │ Active   │  80 │ 2.1.2                    │ jclouds OkHttp Driver
124 │ Active   │  80 │ 2.1.2                    │ jclouds script builder
125 │ Active   │  80 │ 2.1.2                    │ jclouds SLF4J Logging
Module
126 │ Active   │  80 │ 2.1.2                    │ jclouds sshj ssh client
127 │ Active   │  80 │ 1.7.25                   │ jul-to-slf4j
128 │ Active   │  80 │ 0.1.0                    │ ed25519-java
129 │ Active   │  80 │ 1.2                      │ accessors-smart
130 │ Active   │  80 │ 2.3                      │ json-smart
131 │ Active   │  80 │ 2.1.2                    │ jclouds OAuth core
132 │ Active   │  80 │ 2.1.2                    │ jclouds Open Hosting
East1 provider
133 │ Active   │  80 │ 2.1.2                    │ jclouds
openstack-keystone api
134 │ Active   │  80 │ 2.1.2                    │ jclouds openstack-neutron
api
135 │ Active   │  80 │ 2.1.2                    │ Apache jclouds ::
OpenStack :: Nova API
136 │ Active   │  80 │ 2.1.2                    │ jclouds
openstack-nova-ec2 api
137 │ Active   │  80 │ 2.1.2                    │ jclouds openstack-swift
api
139 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn API
140 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn CAMP
141 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ CAMP Base
142 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn Web App Software
Entities
143 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn Core
144 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn Secure JMXMP
Agent
145 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn JMX RMI Agent
146 │ Resolved │  80 │ 1.0.0.SNAPSHOT           │ Apache Http Component
extension, Hosts: 198
147 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn Launcher Common
148 │ Active   │  85 │ 1.0.0.SNAPSHOT           │ Brooklyn Jclouds Location
Targets
149 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn Logback
Includable Configuration
150 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn Policies
151 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn REST API
152 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn Software Base
153 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn CM Ansible
154 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn CM Chef
155 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn CM SaltStack
156 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn Database
Software Entities
157 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn Messaging
Software Entities
158 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn Monitoring
Software Entities
159 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn Network Software
Entities
160 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn NoSQL Data Store
Software Entities
161 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn OSGi Software
Entities
162 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn Web App Software
Entities
163 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn WinRM Software
Entities
164 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn Test Framework
165 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn Common Utilities
166 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn Groovy Utilities
167 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn REST Swagger
Apidoc Utilities
168 │ Active   │  80 │ 1.9.3                    │ Apache Commons BeanUtils
169 │ Active   │  80 │ 1.11.0                   │ Apache Commons Codec
170 │ Active   │  80 │ 3.2.2                    │ Apache Commons Collections
171 │ Active   │  80 │ 1.18.0                   │ Apache Commons Compress
172 │ Active   │  80 │ 2.4.0                    │ Commons IO
173 │ Active   │  80 │ 3.3.2                    │ Apache Commons Lang
201 │ Active   │  80 │ 2.1.2                    │ jclouds :: Karaf :: Cache
202 │ Active   │  80 │ 2.1.2                    │ jclouds :: Karaf :: Core
203 │ Active   │  80 │ 2.1.2                    │ jclouds :: Karaf :: Recipe
204 │ Active   │  80 │ 2.1.2                    │ jclouds :: Karaf ::
Services
209 │ Active   │  80 │ 1.0.0.5                  │ Apache ServiceMix ::
Bundles :: aopalliance
211 │ Active   │  80 │ 1.1.0.1                  │ Apache ServiceMix ::
Bundles :: java-xmlbuilder
212 │ Active   │  80 │ 1.0.0.1                  │ Apache ServiceMix ::
Bundles :: javax.inject
215 │ Active   │  80 │ 0.1.54.1                 │ Apache ServiceMix ::
Bundles :: jsch
216 │ Active   │  80 │ 0.0.9.1                  │ Apache ServiceMix ::
Bundles :: jsch.agentproxy.sshj
217 │ Active   │  80 │ 1.1.3.2                  │ Apache ServiceMix ::
Bundles :: jzlib
218 │ Active   │  80 │ 2.3.0.3                  │ Apache ServiceMix ::
Bundles :: kxml2
219 │ Active   │  80 │ 2.2.0.1                  │ Apache ServiceMix ::
Bundles :: okhttp
220 │ Active   │  80 │ 1.2.0.1                  │ Apache ServiceMix ::
Bundles :: okio
221 │ Active   │  80 │ 0.9.9.1                  │ Apache ServiceMix ::
Bundles :: reflections
225 │ Active   │  80 │ 1.1.4.c                  │ Apache ServiceMix ::
Bundles :: xpp3
226 │ Active   │  80 │ 1.4.11.1_1               │ Apache ServiceMix ::
Bundles :: xstream
229 │ Active   │  80 │ 4.14.0                   │ Apache XBean OSGI Bundle
Utilities
230 │ Active   │  80 │ 4.14.0                   │ Apache XBean :: Classpath
Resource Finder
260 │ Active   │  80 │ 2.3.25.stable-incubating │ org.freemarker.freemarker
261 │ Active   │  80 │ 1.9.3                    │ MIME streaming extension
263 │ Active   │  80 │ 3.0.3                    │ mongo-java-driver
264 │ Active   │  80 │ 5.2                      │ ASM
278 │ Active   │  80 │ 1.25.0                   │ SnakeYAML
279 │ Active   │  80 │ 2.1.2                    │ jclouds Packet compute API
280 │ Active   │  80 │ 2.1.2                    │ jclouds ProfitBricks api
281 │ Active   │  80 │ 2.1.2                    │ jclouds
rackspace-cloudfiles api
282 │ Active   │  80 │ 2.1.2                    │ jclouds Rackspace Cloud
Files UK provider
283 │ Active   │  80 │ 2.1.2                    │ jclouds Rackspace Cloud
Files US provider
284 │ Active   │  80 │ 2.1.2                    │ jclouds rackspace
cloudidentity api
285 │ Active   │  80 │ 2.1.2                    │ jclouds Rackspace Next
Generation Cloud Servers provider
286 │ Active   │  80 │ 2.1.2                    │ jclouds Rackspace Next
Generation Cloud Servers US provider
287 │ Active   │  80 │ 2.1.2                    │ jclouds s3 api
288 │ Active   │  80 │ 2.1.2                    │ jclouds Serverlove
Manchester provider
289 │ Active   │  80 │ 2.1.2                    │ jclouds SkaliCloud
Malaysia provider
290 │ Active   │  80 │ 2.1.2                    │ jclouds SoftLayer core
292 │ Active   │  80 │ 2.1.2                    │ jclouds sts api
293 │ Active   │  80 │ 0                        │
wrap_file__Users_geoff_workspaces_github.com_apache_brooklyn_brooklyn-dist_karaf_itest_target_p
294 │ Active   │  80 │ 0                        │
wrap_file__Users_geoff_workspaces_github.com_apache_brooklyn_brooklyn-dist_karaf_itest_target_p
295 │ Active   │  80 │ 0                        │
wrap_file__Users_geoff_workspaces_github.com_apache_brooklyn_brooklyn-dist_karaf_itest_target_p
296 │ Active   │  80 │ 0                        │
wrap_file__Users_geoff_workspaces_github.com_apache_brooklyn_brooklyn-dist_karaf_itest_target_p
297 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn UI :: Modules -
App inspector
298 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn UI :: Modules -
Blueprint composer
299 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn UI :: Modules -
Blueprint importer
300 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn UI :: Modules -
Catalog
301 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn UI :: Modules -
Groovy console
302 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn UI :: Modules -
Home
303 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn UI :: Modules -
Location manager
304 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn UI :: Modules -
Logout
305 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn UI :: Modules -
REST API Docs
306 │ Active   │  80 │ 0.1.0                    │ OSGi bundled test entities
307 │ Active   │  80 │ 2.10.1                   │ Jackson-JAXRS-base
308 │ Active   │  80 │ 2.10.1                   │ Jackson-JAXRS-JSON
309 │ Active   │  80 │ 1.4.27                   │ Fabric8 :: Kubernetes ::
Java Client
310 │ Active   │  80 │ 1.0.64                   │ Fabric8 :: Kubernetes
Model
311 │ Active   │  80 │ 1.4.27                   │ Fabric8 :: Openshift ::
Java Client
312 │ Active   │  80 │ 0.2.3                    │ zjsonpatch
313 │ Active   │  90 │ 1.0.0.SNAPSHOT           │ Brooklyn OSGi init
314 │ Resolved │  80 │ 1.0.0.SNAPSHOT           │ Jetty config fragment,
Hosts: 271
315 │ Active   │  90 │ 1.0.0.SNAPSHOT           │ Brooklyn OSGi start
316 │ Active   │  85 │ 1.0.0.SNAPSHOT           │ Brooklyn Container
Location Targets
317 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn REST Resources
318 │ Active   │  80 │ 0.1.0                    │ OSGi bundled test entities
319 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn UI :: Modularity
Server :: External UI Modules Registration Hooks
320 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn UI :: Modularity
Server :: UI Metadata Registry
321 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn UI :: Modularity
Server :: UI Module API
322 │ Active   │  80 │ 1.0.0.SNAPSHOT           │ Brooklyn UI :: Modularity
Server :: UI Module Registry
323 │ Active   │  80 │ 3.3.2                    │ Apache CXF RS
Cross-Origin Resource Sharing
324 │ Active   │  80 │ 4.2.7                    │ Apache Karaf :: OSGi
Services :: Event
325 │ Active   │  80 │ 1.11.0.8_1               │ Apache ServiceMix ::
Bundles :: automaton
326 │ Active   │  80 │ 1.0.1.1                  │ Apache ServiceMix ::
Bundles :: generex
327 │ Active   │  80 │ 3.4.1.1                  │ Apache ServiceMix ::
Bundles :: okhttp
328 │ Active   │  80 │ 1.9.0.1                  │ Apache ServiceMix ::
Bundles :: okio
329 │ Active   │  80 │ 1.0.0.SNAPSHOT           │
brooklyn-default-karaf-catalog
karaf@brooklyn()>



So it looks like the problem is not one with launching the bundles. (But
are they all there? see below)

Examining the logs however reveals some errors:

2020-01-26T22:48:40,981 - DEBUG 143 o.a.b.c.c.i.BasicBrooklynCatalog
[tures-3-thread-1] Catalog load, adding catalog item to
LocalManagementContext[TUjJcBiS-uu6BsQtY]: # Licensed to the Apache
Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.

# this catalog bom contains some convenient aliases for simple usage.
brooklyn.catalog:
   version: "1.0.0-SNAPSHOT"  # BROOKLYN_VERSION
   itemType: entity

   items:
   - id: server
     iconUrl: classpath://brooklyn/icons/server.svg
     description: |
       Provision a server, with customizable provisioning.properties and
credentials installed,
       but no other special software process or scripts executed.
     item:
       type: org.apache.brooklyn.entity.software.base.EmptySoftwareProcess
       name: Server
       iconUrl: classpath://brooklyn/icons/server.svg

   - id: vanilla-bash-server
     description: |
       Provision a server, with customizable provisioning.properties and
credentials installed,
       but no other special software process or scripts executed.
       The script should be supplied in "launch.command" as per docs on
       org.apache.brooklyn.entity.software.base.VanillaSoftwareProcess.
     item:
       type: org.apache.brooklyn.entity.software.base.VanillaSoftwareProcess
       name: Server with Launch Script (bash)

   - id: load-balancer
     description: |
       Create a load balancer which will point at members in the group entity
       referred to by the config key "serverPool".
       The sensor advertising the port can be configured with the
"member.sensor.portNumber" config key,
       defaulting to `http.port`; all member entities which have published
"service.up" will then be picked up.
     item:
       type: org.apache.brooklyn.entity.proxy.nginx.NginxController
       name: Load Balancer (nginx)

   - id: cluster
     iconUrl: classpath://brooklyn/icons/cluster.svg
     description: |
       Create a cluster of entities, resizable, with starting size
"initialSize",
       and using a spec supplied in the "memberSpec" key.
     item:
       type: org.apache.brooklyn.entity.group.DynamicCluster
       iconUrl: classpath://brooklyn/icons/cluster.svg


2020-01-26T22:48:40,985 - DEBUG 140
o.a.b.c.b.s.c.BrooklynAssemblyTemplateInstantiator [tures-3-thread-1] CAMP
creating application instance for Z94VgZGh
(org.apache.brooklyn.camp.spi.AssemblyTemplate@5a1d63cf[id=Z94VgZGh;
type=AssemblyTemplate])

[ SNIP  = various more CAMP instance creation logs, until... ]

2020-01-26T22:48:41,384 - DEBUG 140
o.a.b.c.b.s.c.BrooklynYamlTypeInstantiator [tures-3-thread-1] Unable to
resolve interface org.apache.brooklyn.api.sensor.Enricher
org.apache.brooklyn.policy.ha.ServiceFailureDetector (rethrowing) in spec
org.apache.brooklyn.camp.brooklyn.spi.creation.BrooklynComponentTemplateResolver@7351551c
2020-01-26T22:48:41,415 - DEBUG 143 o.a.b.c.t.AbstractTypePlanTransformer
[tures-3-thread-1] Could not instantiate BasicRegisteredType[null]
(rethrowing): Type or plan is invalid YAML when resolving CAMP blueprint:
ConstructorException: could not determine a constructor for the tag tag:
yaml.org
,2002:org.apache.brooklyn.camp.brooklyn.spi.dsl.methods.DslComponent$DslConfigSupplier
  in 'reader', line 12, column 19:
         static.value: !!org.apache.brooklyn.camp.brook ...
                       ^

2020-01-26T22:48:41,416 - DEBUG 143 o.a.b.c.t.TypePlanTransformers
[tures-3-thread-1] Failure transforming plan; returning summary failure,
but for reference potentially application transformers were
[brooklyn-camp:CampTypePlanTransformer], available ones are
[java-type-name:JavaClassNameTypePlanTransformer,
brooklyn-camp:CampTypePlanTransformer]; failures:
[org.apache.brooklyn.util.exceptions.PropagatedRuntimeException:
brooklyn-camp plan creation error: Type or plan is invalid YAML when
resolving CAMP blueprint: ConstructorException: could not determine a
constructor for the tag tag:yaml.org
,2002:org.apache.brooklyn.camp.brooklyn.spi.dsl.methods.DslComponent$DslConfigSupplier
  in 'reader', line 12, column 19:
         static.value: !!org.apache.brooklyn.camp.brook ...
                       ^
]
2020-01-26T22:48:41,419 - DEBUG 143 o.a.b.c.p.PlanToSpecFactory
[tures-3-thread-1] Plan could not be transformed; failure will be
propagated (other transformers tried = [Java type instantiator
(org.apache.brooklyn.core.catalog.internal.JavaCatalogToSpecTransformer
parses only old-style catalog items containing only 'type: JavaClass' or
javaType in DTO)]):
[org.apache.brooklyn.util.exceptions.PropagatedRuntimeException:
Transformer for Brooklyn OASIS CAMP interpreter gave an error creating this
plan: entitySpec plan parse error:
brooklyn.policies:
- type: org.apache.brooklyn.policy.ha.ServiceRestarter
   brooklyn.config: {failOnRecurringFailuresInThisDuration: 2m}
brooklyn.initializers:
- type: org.apache.brooklyn.core.sensor.ssh.SshCommandSensor
   brooklyn.config: {name: reqs.count, targetType: int, period: 5s, command:
'cat output.txt
       | grep HTTP | grep 200 | wc | awk ''{print $1}'''}
- type: org.apache.brooklyn.core.sensor.StaticSensor
   brooklyn.config:
     name: app.port
     targetType: int
     static.value:
!!org.apache.brooklyn.camp.brooklyn.spi.dsl.methods.DslComponent$DslConfigSupplier
{}
name: My Bash Web Server VM with Sensors
brooklyn.config: {my.message: part of the cluster}
brooklyn.enrichers:
- type: org.apache.brooklyn.enricher.stock.YamlTimeWeightedDeltaEnricher
   brooklyn.config: {enricher.sourceSensor: reqs.count,
enricher.targetSensor: reqs.per_sec,
     enricher.delta.period: 1s}
- type: org.apache.brooklyn.enricher.stock.YamlRollingTimeWindowMeanEnricher
   brooklyn.config: {enricher.sourceSensor: reqs.per_sec,
enricher.targetSensor: reqs.per_sec.windowed_30s,
     enricher.window.duration: 30s}
- type: org.apache.brooklyn.policy.ha.ServiceFailureDetector
   brooklyn.config: {entityFailed.stabilizationDelay: 30s}
locations: []
type: 2-bash-web-server-template
: Unable to load org.apache.brooklyn.policy.ha.ServiceFailureDetector from
[]: Invalid class: org.apache.brooklyn.policy.ha.ServiceFailureDetector:
ClassNotFoundException:
org.apache.brooklyn.policy.ha.ServiceFailureDetector]



This YAML comes from id: 4-resilient-bash-web-cluster-template in
src/main/resources/catalog/catalog-templates.bom. There, the line in
question is

https://github.com/apache/brooklyn-dist/blob/c28b740/karaf/config/src/main/resources/catalog/catalog-templates.bom#L239

where the sensor in question is defined as

static.value: $brooklyn:config("my.app.port")

not sure why it is reported as static.value:
!!org.apache.brooklyn.camp.brook in the error logs.


That's as far as I've got. I *think* the DSL should be fine in that static
value in the sensor, right? On the other hand there may be some classpath
error going on, either responsible for the ConstructorException: could not
determine a constructor for the tag tag:yaml.org
,2002:org.apache.brooklyn.camp.brooklyn.spi.dsl.methods.DslComponent$DslConfigSupplier

or at least for the : Unable to load
org.apache.brooklyn.policy.ha.ServiceFailureDetector from []: Invalid
class: org.apache.brooklyn.policy.ha.ServiceFailureDetector:
ClassNotFoundException:
org.apache.brooklyn.policy.ha.ServiceFailureDetector]

Not sure if all the bundles are in place that should be? Or whether the
test configuration is correct to pick them all up?




On Sat, 25 Jan 2020 at 18:11, Geoff Macartney <geoff.macart...@gmail.com>
wrote:

Hm, interesting, it just failed for me on my Mac.

Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 183.017
sec <<< FAILURE! - in
org.apache.brooklyn.core.dsl.external.ExternalConfigBrooklynPropertiesOsgiTest
testOSGIWithPrefix(org.apache.brooklyn.core.dsl.external.ExternalConfigBrooklynPropertiesOsgiTest)
  Time elapsed: 183.016 sec  <<< ERROR!
java.rmi.NotBoundException: 0db5af64-ab19-4efe-a4f3-a6b41d3f583c
at sun.rmi.registry.RegistryImpl.lookup(RegistryImpl.java:227)
at sun.rmi.registry.RegistryImpl_Skel.dispatch(RegistryImpl_Skel.java:115)
at sun.rmi.server.UnicastServerRef.oldDispatch(UnicastServerRef.java:468)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:300)
at sun.rmi.transport.Transport$1.run(Transport.java:200)
at sun.rmi.transport.Transport$1.run(Transport.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:573)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:834)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:688)
at java.security.AccessController.doPrivileged(Native Method)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:687)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
at
sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:283)
at
sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:260)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:375)
at sun.rmi.registry.RegistryImpl_Stub.lookup(RegistryImpl_Stub.java:119)
at
org.ops4j.pax.exam.rbc.client.intern.RemoteBundleContextClientImpl.getRemoteBundleContext(RemoteBundleContextClientImpl.java:248)
at
org.ops4j.pax.exam.rbc.client.intern.RemoteBundleContextClientImpl.waitForState(RemoteBundleContextClientImpl.java:218)
at
org.ops4j.pax.exam.karaf.container.internal.KarafTestContainer.waitForState(KarafTestContainer.java:659)
at
org.ops4j.pax.exam.karaf.container.internal.KarafTestContainer.startKaraf(KarafTestContainer.java:262)
at
org.ops4j.pax.exam.karaf.container.internal.KarafTestContainer.start(KarafTestContainer.java:194)
at
org.ops4j.pax.exam.spi.reactors.AllConfinedStagedReactor.invoke(AllConfinedStagedReactor.java:79)
at
org.ops4j.pax.exam.junit.impl.ProbeRunner$2.evaluate(ProbeRunner.java:267)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.ops4j.pax.exam.junit.impl.ProbeRunner.run(ProbeRunner.java:98)
at org.ops4j.pax.exam.junit.PaxExam.run(PaxExam.java:93)
at org.junit.runners.Suite.runChild(Suite.java:128)
at org.junit.runners.Suite.runChild(Suite.java:27)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
at
org.apache.maven.surefire.junitcore.JUnitCoreWrapper.createRequestAndRun(JUnitCoreWrapper.java:108)
at
org.apache.maven.surefire.junitcore.JUnitCoreWrapper.executeEager(JUnitCoreWrapper.java:78)
at
org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:54)
at
org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:144)
at
org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203)
at
org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155)
at
org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)


Results :

Tests in error:
   ExternalConfigBrooklynPropertiesOsgiTest.testOSGIWithPrefix » NotBound
0db5af6...

Tests run: 1, Failures: 0, Errors: 1, Skipped: 0


± java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

± uname -a
Darwin My-MacBook-Pro.local 19.2.0 Darwin Kernel Version 19.2.0: Sat Nov
  9 03:47:04 PST 2019; root:xnu-6153.61.1~20/RELEASE_X86_64 x86_64

Will have a quick look into it but it's been a while since I've done
anything with Pax



On Fri, 24 Jan 2020 at 17:35, Aled Sage <aled.s...@gmail.com> wrote:

Thanks Martin,

Which environment(s) is it passing and failing in?

If this works in our apache jenkins and for contributors locally, and
especially if the environment it fails in is "niche" then a +1 from me
for skipping the test so we can get the release candidate built.

Aled

p.s. the test passes for me locally on my mac - I tested it with:

      mvn test

-Dtest=org.apache.brooklyn.core.dsl.external.ExternalConfigBrooklynPropertiesOsgiTest


On 24/01/2020 16:35, Martin Harris wrote:
Hi Folks,

In building the first release candidate for Brooklyn 1.0.0, we've hit
an issue when trying to run the build. The
`org.apache.brooklyn.AssemblyTest` and

`org.apache.brooklyn.core.dsl.external.ExternalConfigBrooklynPropertiesOsgiTest`

tests are failing in certain environments, but are not reproducible in
other environments

So far, we have been unable to determine the specific cause, and have
not been able to find a resolution

The exact failures and relevant section of the log are attached

As the issue seem environment specific, and no other issues have been
identified in the built artifacts, we are considering simply disabling
the tests

If you think we should not disable the tests, or if you can provide
any feedback on the cause of the issue, please let us know. Otherwise,
we will disable the tests and continue with the build early next week.
A lazy consensus applies

Thanks

--
Martin Harris
Lead Software Engineer

*Cloudsoft <https://cloudsoft.io/> *| Bringing Business to the Cloud

E: mar...@cloudsoft.io <mailto:mar...@cloudsoft.io>
M: 07989 047855

Need a hand with AWS? Get a Free Consultation.
<https://go.cloudsoft.io/healthcheck/>


Reply via email to