Closed merlijn-sebrechts closed 7 years ago
We are working on this bug right now, and it should be fixed in the near future. Basically, some of the things that we do to make the bundle available locally break bundletester. @ktsakalozos pointed out that we probably just need to pass -b <local bundle path>
to fix this.
To answer your question about the reference bundle: we need it because these tests run matrix, which should a) eliminate the need for you to write basic deploy tests in amulet, but b) needs to be pointed at a bundle.
Another way to fix this is to push the charms before testing, but don't release them. Then specify those exact revisions in the bundle. Charms that are pushed but not released can be accessed by specifying the exact revision but they won't be visible in the store. If the tests succeed, you release the charms. If not, you don't release them.
That's what I did in my ci pipeline...
Hey @galgalesh, couple things to note here...
bundle URL has invalid form
message really isn't a problem. That's just telling you that we were unable to generate a bundle svg icon. While it makes the log a bit hairy, it's not actually causing a failure. We do plan to fix this at some point (https://github.com/juju-solutions/layer-cwr/issues/32).FileNotFoundError: [Errno 2] No such file or directory: '/srv/artifacts//hadoop_client_in_cs_hadoop_processing/2/report.json'
That happened because @ktsakalozos fell asleep on his keyboard. It was fixed a few weeks ago with https://github.com/juju-solutions/layer-cwr/commit/6372e3089223a2eff5b6b106fa57e3af7ac72eca.
I'd also like to mention that you can omit the reference-bundle
argument if your charm specifies one in its ./tests/tests.yaml
. For example, the docker charm in your case could add a reference-bundle: cs:~tengu-team/limeds-core
in ./tests/tests.yaml
and you could omit it from your action invocation.
However, because limeds-core
may not be a suitable reference bundle for all users of your docker charm, we allow you to specify one with the action param. This also helps when charm authors write poor tests -- i know, gasp!. By requiring a reference bundle, we're forcing users to test charms in a larger context.
On a side note, we've heard some users lamenting the reference bundle because it takes too long to run (esp if the bundle includes charms with extensive tests like cassandra/postgres). I've opened https://github.com/juju-solutions/layer-cwr/issues/60 to see what we can do about limiting tests in some scenarios.
Ok, so back to the original point of this comment... I'm closing this issue because Kostas fixed the real bug a while back :)
I get the error:
bundle URL has invalid form: "/tmp/builds/docker"
.How I added the charm:
Note: I'm not sure why I need to specify a "reference bundle". The Charm tests deploy the needed charms themselves.
Relevant lines in log
Complete log