Re: bind mount support for local provider

2015-01-20 Thread Corey Bryant
On Sun, Jan 18, 2015 at 8:01 PM, Andrew Wilkins 
andrew.wilk...@canonical.com wrote:

 On Sat, Jan 17, 2015 at 11:47 PM, Corey Bryant corey.bry...@canonical.com
  wrote:

 Excellent, thanks Ian.  Do you have an estimate on when this will be
 available?


 Hi Corey,

 Not yet; we are working towards getting a single provider fully functional
 before delving too deeply into others. I'll ping you when we've got a
 better idea.


Ok, thanks Andrew.



 Cheers,
 Andrew


 On Fri, Jan 16, 2015 at 10:42 PM, Ian Booth ian.bo...@canonical.com
 wrote:

 Hi Cory

 This is part of what we are planning to deliver for this cycle as part
 of the
 storage work. We also plan on being able to provide the container with
 access to
 block devices eg loopback, either in container's filesystem or on the
 host machine.


 On 17/01/15 02:11, Corey Bryant wrote:
  Hi all,
 
  Do there happen to be any plans for juju bind mount support for the
 local
  provider?
 
  For example:  juju deploy mysql --bind /shared/mysql /shared
 
  which would bind mount the host /shared/mysql directory to /shared in
 the
  deployed container.
 
 
 




 --
 Regards,
 Corey

 --
 Juju mailing list
 Juju@lists.ubuntu.com
 Modify settings or unsubscribe at:
 https://lists.ubuntu.com/mailman/listinfo/juju





-- 
Regards,
Corey
-- 
Juju mailing list
Juju@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju


[Review Queue] - BigData, squid-reverse-proxy

2015-01-20 Thread Charles Butler
hdp-storm-zookeeper bundle: *pending* - The bundle did not pass proof as is
- but given the age of the branch it looks like bitrot from recent changes
in how the big data charms are organized. I submitted a patch inline with
the review to fix up and pass - once submitted will promote to the store
post haste.
https://bugs.launchpad.net/charms/+bug/1373006


squid-reverse-proxy: *merged* - Add's an NRPE fixup for changing ports and
monitoring with NRPE. The CI test failure and dependency management is
being tracked in a different issue:
https://code.launchpad.net/~jacekn/charms/trusty/squid-reverseproxy/squid-reverseproxy-nrpe-fix/+merge/245312
https://bugs.launchpad.net/charms/+source/squid-reverseproxy/+bug/1401323



-- 
All the best,

Charles Butler charles.but...@canonical.com - Juju Charmer
Come see the future of datacenter orchestration: http://jujucharms.com
-- 
Juju mailing list
Juju@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju


[Review Queue] wildfly charms

2015-01-20 Thread Matt Bruzek
I spent some time in the review queue today on the wildfly-ha-master and
wildfly-ha-slave charms.

https://bugs.launchpad.net/charms/+bug/1399239
https://bugs.launchpad.net/charms/+bug/1399228

Both are now in the recommended section of the charm store.  Many
thanks to *Saurabh
Kumar* from Techblue for working with the review comments and landing the
charms!

   - Matt Bruzek matthew.bru...@canonical.com
-- 
Juju mailing list
Juju@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju


Re: An Open Question: Charm Dependency Management

2015-01-20 Thread Charles Butler
Lots of good feedback here with regard to how we want to manage it.

I'm personally +1 on having a Makefile in my charm that handles these
things, but was unsure if this was our defacto recommended path to
completion.

Thanks for such an active and rapid response on the thread.



On Tue, Jan 20, 2015 at 1:20 PM, Marco Ceppi ma...@ondina.co wrote:

 Well there are two notions of testing, unit_test and functional_test one
 is largely more expensive than the other. Outside of that test-depends is a
 good one. Whatever it is we should identify those so we can make sure
 bundletester is updated to sniff these targets out (if this is the route we
 chose).


 On Tue Jan 20 2015 at 1:18:05 PM David Britton 
 david.brit...@canonical.com wrote:

 On Tue, Jan 20, 2015 at 05:58:24PM +, Marco Ceppi wrote:
  I don't see how a Makefile in a charm doesn't resolve this issue.

 +1 on some standard published Makefile targets.  We already have some
 that are highly recommended:

  - test
  - lint

 Maybe:

  - test-depends or depends  # to install/update dependencies needed for
   testing

 Are there others that are needed/missing or that I forgot we already
 have as standard?

 --
 David Britton david.brit...@canonical.com




-- 
All the best,

Charles Butler charles.but...@canonical.com - Juju Charmer
Come see the future of datacenter orchestration: http://jujucharms.com
-- 
Juju mailing list
Juju@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju


Re: An Open Question: Charm Dependency Management

2015-01-20 Thread Marco Ceppi
Well there are two notions of testing, unit_test and functional_test one is
largely more expensive than the other. Outside of that test-depends is a
good one. Whatever it is we should identify those so we can make sure
bundletester is updated to sniff these targets out (if this is the route we
chose).

On Tue Jan 20 2015 at 1:18:05 PM David Britton david.brit...@canonical.com
wrote:

 On Tue, Jan 20, 2015 at 05:58:24PM +, Marco Ceppi wrote:
  I don't see how a Makefile in a charm doesn't resolve this issue.

 +1 on some standard published Makefile targets.  We already have some
 that are highly recommended:

  - test
  - lint

 Maybe:

  - test-depends or depends  # to install/update dependencies needed for
   testing

 Are there others that are needed/missing or that I forgot we already
 have as standard?

 --
 David Britton david.brit...@canonical.com

-- 
Juju mailing list
Juju@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju


Re: An Open Question: Charm Dependency Management

2015-01-20 Thread sheila miguez
A Makefile that has a target to install dependencies suffices, but I think
suggested conventions are still helpful. For example, in my case I prefer
python virtualenvs over system packages.

Once you establish some conventions (perhaps even just documentation
conventions), A charmer can document the approach taken so that devs will
be aware and can take measures. e.g. if I want to make a MR to a charm that
needs system packages, I will know to do my development and testing inside
of a container.


On Tue, Jan 20, 2015 at 11:58 AM, Marco Ceppi ma...@ondina.co wrote:

 I don't see how a Makefile in a charm doesn't resolve this issue. As long
 as we define what targets a user should create in the Makefile, the
 Makefile can then do everything required: create a virtualenv and install
 deps, install ruby and execute bundler, npm for node, etc. Since charms are
 so varies in how they're written and what language they're implemented in
 this seems to make the most sense.

 Marco

 On Tue Jan 20 2015 at 12:37:00 PM Charles Butler 
 charles.but...@canonical.com wrote:

 Greetings,

 If you work on charms in any capacity: this affects you, and I would love
 to have your feedback.

 While working the review queue I've encountered a few charm merges that
 are failing our testing infrastructure due to missing dependencies. This
 also has implications that reach beyond our testing infrastructure: Anyone
 that is submitting a new charm, Patches being accepted to existing charms,
 and even our documentation efforts over on the  Charm Authorship Docs.

  There seems to be a bit of confusion about what the recommended process
 is to ensure all our dependencies are encapsulated in the charm.

 Having spoken with various members of the development community, I feel
 like our dependency encapsulation process for charms is still very much a
 grey area with several different ideologies on how to manage them, thus far
 I've seen:

- A Virtualenv per project to manage python dependencies
- make targets that sudo install packages on the host system
- Zero Dependency management

 This is indeed a difficult topic to approach and digest as we're
 supporting basically everything out there. Not everyone uses the same
 tool-chain to accomplish the goal of dependency isolation - and several
 different Config Management tools have a different approach to this that
 assume it is installed on the host. this leaves a broken experience for:

- new charm authors
- CI
- Anyone that comes along and runs the test targets or bundletester

 If we're going to ask our community to contribute to charms, is it fair
 to make them run down dependencies that may or may not exist on their host?
 It seems like we can do a better job of highlighting this, and providing a
 quick start style development target to install these pre-deps which would
 satisfy CI and Development. With this being the proposal, I follow it with
 some questions:

- How have *we* solved this problem in other areas of our ecosystem?
- How have other platforms solved this problem?
- Can we emulate / improve on that pattern?
- If a package management solution exists for a technology (eg:
virtualenv for python, bundler for ruby, npm for node, berkshelf for chef)
- can we adopt these and get started by templating in the dependency
management into the charm generator template?


 I'm hoping this email is seen more as a conversation starter vs me being
 pedantic - I'm more concerned with getting the right set of information to
 our users/community than I am in solving some meta problem of packaging
 charms and their Development Environments.

 --
 All the best,

 Charles Butler charles.but...@canonical.com - Juju Charmer
 Come see the future of datacenter orchestration: http://jujucharms.com
  --
 Juju mailing list
 Juju@lists.ubuntu.com
 Modify settings or unsubscribe at: https://lists.ubuntu.com/
 mailman/listinfo/juju


 --
 Juju mailing list
 Juju@lists.ubuntu.com
 Modify settings or unsubscribe at:
 https://lists.ubuntu.com/mailman/listinfo/juju




-- 
she...@pobox.com
-- 
Juju mailing list
Juju@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju


Re: An Open Question: Charm Dependency Management

2015-01-20 Thread David Britton
On Tue, Jan 20, 2015 at 05:58:24PM +, Marco Ceppi wrote:
 I don't see how a Makefile in a charm doesn't resolve this issue.

+1 on some standard published Makefile targets.  We already have some
that are highly recommended:

 - test
 - lint

Maybe:

 - test-depends or depends  # to install/update dependencies needed for
  testing

Are there others that are needed/missing or that I forgot we already
have as standard?

-- 
David Britton david.brit...@canonical.com

-- 
Juju mailing list
Juju@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju


An Open Question: Charm Dependency Management

2015-01-20 Thread Charles Butler
Greetings,

If you work on charms in any capacity: this affects you, and I would love
to have your feedback.

While working the review queue I've encountered a few charm merges that are
failing our testing infrastructure due to missing dependencies. This also
has implications that reach beyond our testing infrastructure: Anyone that
is submitting a new charm, Patches being accepted to existing charms, and
even our documentation efforts over on the  Charm Authorship Docs.

 There seems to be a bit of confusion about what the recommended process is
to ensure all our dependencies are encapsulated in the charm.

Having spoken with various members of the development community, I feel
like our dependency encapsulation process for charms is still very much a
grey area with several different ideologies on how to manage them, thus far
I've seen:

   - A Virtualenv per project to manage python dependencies
   - make targets that sudo install packages on the host system
   - Zero Dependency management

This is indeed a difficult topic to approach and digest as we're supporting
basically everything out there. Not everyone uses the same tool-chain to
accomplish the goal of dependency isolation - and several different Config
Management tools have a different approach to this that assume it is
installed on the host. this leaves a broken experience for:

   - new charm authors
   - CI
   - Anyone that comes along and runs the test targets or bundletester

If we're going to ask our community to contribute to charms, is it fair to
make them run down dependencies that may or may not exist on their host? It
seems like we can do a better job of highlighting this, and providing a
quick start style development target to install these pre-deps which would
satisfy CI and Development. With this being the proposal, I follow it with
some questions:

   - How have *we* solved this problem in other areas of our ecosystem?
   - How have other platforms solved this problem?
   - Can we emulate / improve on that pattern?
   - If a package management solution exists for a technology (eg:
   virtualenv for python, bundler for ruby, npm for node, berkshelf for chef)
   - can we adopt these and get started by templating in the dependency
   management into the charm generator template?


I'm hoping this email is seen more as a conversation starter vs me being
pedantic - I'm more concerned with getting the right set of information to
our users/community than I am in solving some meta problem of packaging
charms and their Development Environments.

-- 
All the best,

Charles Butler charles.but...@canonical.com - Juju Charmer
Come see the future of datacenter orchestration: http://jujucharms.com
-- 
Juju mailing list
Juju@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju


[Review Queue]

2015-01-20 Thread Whit Morriss
Reviewed the python rewrite of the jenkins charm.  Generally looks good but
needs some minor fixes for testing and an intermittent race condition.

https://code.launchpad.net/~hopem/charms/trusty/jenkins/python-redux/+merge/245769

-w

-- 
---
D. Whit Morriss
Developer, Juju Ecosystem
Canonical USA
-- 
Juju mailing list
Juju@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju


Re: An Open Question: Charm Dependency Management

2015-01-20 Thread Marco Ceppi
I don't see how a Makefile in a charm doesn't resolve this issue. As long
as we define what targets a user should create in the Makefile, the
Makefile can then do everything required: create a virtualenv and install
deps, install ruby and execute bundler, npm for node, etc. Since charms are
so varies in how they're written and what language they're implemented in
this seems to make the most sense.

Marco

On Tue Jan 20 2015 at 12:37:00 PM Charles Butler 
charles.but...@canonical.com wrote:

 Greetings,

 If you work on charms in any capacity: this affects you, and I would love
 to have your feedback.

 While working the review queue I've encountered a few charm merges that
 are failing our testing infrastructure due to missing dependencies. This
 also has implications that reach beyond our testing infrastructure: Anyone
 that is submitting a new charm, Patches being accepted to existing charms,
 and even our documentation efforts over on the  Charm Authorship Docs.

  There seems to be a bit of confusion about what the recommended process
 is to ensure all our dependencies are encapsulated in the charm.

 Having spoken with various members of the development community, I feel
 like our dependency encapsulation process for charms is still very much a
 grey area with several different ideologies on how to manage them, thus far
 I've seen:

- A Virtualenv per project to manage python dependencies
- make targets that sudo install packages on the host system
- Zero Dependency management

 This is indeed a difficult topic to approach and digest as we're
 supporting basically everything out there. Not everyone uses the same
 tool-chain to accomplish the goal of dependency isolation - and several
 different Config Management tools have a different approach to this that
 assume it is installed on the host. this leaves a broken experience for:

- new charm authors
- CI
- Anyone that comes along and runs the test targets or bundletester

 If we're going to ask our community to contribute to charms, is it fair to
 make them run down dependencies that may or may not exist on their host? It
 seems like we can do a better job of highlighting this, and providing a
 quick start style development target to install these pre-deps which would
 satisfy CI and Development. With this being the proposal, I follow it with
 some questions:

- How have *we* solved this problem in other areas of our ecosystem?
- How have other platforms solved this problem?
- Can we emulate / improve on that pattern?
- If a package management solution exists for a technology (eg:
virtualenv for python, bundler for ruby, npm for node, berkshelf for chef)
- can we adopt these and get started by templating in the dependency
management into the charm generator template?


 I'm hoping this email is seen more as a conversation starter vs me being
 pedantic - I'm more concerned with getting the right set of information to
 our users/community than I am in solving some meta problem of packaging
 charms and their Development Environments.

 --
 All the best,

 Charles Butler charles.but...@canonical.com - Juju Charmer
 Come see the future of datacenter orchestration: http://jujucharms.com
  --
 Juju mailing list
 Juju@lists.ubuntu.com
 Modify settings or unsubscribe at: https://lists.ubuntu.com/
 mailman/listinfo/juju

-- 
Juju mailing list
Juju@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju


juju devel 1.21-rc1 is released

2015-01-20 Thread Curtis Hovey-Canonical
juju-core 1.21-rc1

A new development release of Juju, juju-core 1.21-rc1, is now available.
This release replaces 1.21-beta5.


Getting Juju

juju-core 1.21-rc1 is available for utopic and backported to earlier
series in the following PPA:

https://launchpad.net/~juju/+archive/devel

The devel packages in this archive use the devel simple-streams.
You must configure the 'agent-stream' option in your
environments.yaml to use the matching juju agents.

agent-stream: devel

Upgrading from stable releases to development releases is not
supported. You can upgrade test environments to development releases
to test new features and fixes, but it is not advised to upgrade
production environments to 1.21-rc1.


Notable Changes

This releases addresses stability and performance issues.


Resolved issues

* Error upgrade in progress - juju functionality is limited
  Lp 1411502


Finally

We encourage everyone to subscribe the mailing list at
juju-...@lists.canonical.com, or join us on #juju-dev on freenode.

-- 
Curtis Hovey
Canonical Cloud Development and Operations
http://launchpad.net/~sinzui

-- 
Juju-dev mailing list
Juju-dev@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju-dev


Re: An Open Question: Charm Dependency Management

2015-01-20 Thread Marco Ceppi
We are striving to test charms against all substrates and architectures
juju supports; and are nearing completion for that goal. Manual provider is
not currently tested AFAIK but will likely be in the future.

On Tue Jan 20 2015 at 7:41:27 PM Andrew Wilkins 
andrew.wilk...@canonical.com wrote:

 On Wed, Jan 21, 2015 at 1:36 AM, Charles Butler 
 charles.but...@canonical.com wrote:

 Greetings,

 If you work on charms in any capacity: this affects you, and I would love
 to have your feedback.

 While working the review queue I've encountered a few charm merges that
 are failing our testing infrastructure due to missing dependencies. This
 also has implications that reach beyond our testing infrastructure: Anyone
 that is submitting a new charm, Patches being accepted to existing charms,
 and even our documentation efforts over on the  Charm Authorship Docs.


 On this topic, does the automated testing cover testing charms with the
 manual provider? There have been charms that failed (and were fixed)
 because they did not explicitly install dependencies. Those charms were
 using packages that are automatically installed as a result of cloud-init
 being on the machine; since the manual provider does not use cloud-init,
 those packages don't get automatically installed and the charms fail. IIRC,
 python-yaml fits into this category.


  There seems to be a bit of confusion about what the recommended process
 is to ensure all our dependencies are encapsulated in the charm.

 Having spoken with various members of the development community, I feel
 like our dependency encapsulation process for charms is still very much a
 grey area with several different ideologies on how to manage them, thus far
 I've seen:

- A Virtualenv per project to manage python dependencies
- make targets that sudo install packages on the host system
- Zero Dependency management

 This is indeed a difficult topic to approach and digest as we're
 supporting basically everything out there. Not everyone uses the same
 tool-chain to accomplish the goal of dependency isolation - and several
 different Config Management tools have a different approach to this that
 assume it is installed on the host. this leaves a broken experience for:

- new charm authors
- CI
- Anyone that comes along and runs the test targets or bundletester

 If we're going to ask our community to contribute to charms, is it fair
 to make them run down dependencies that may or may not exist on their host?
 It seems like we can do a better job of highlighting this, and providing a
 quick start style development target to install these pre-deps which would
 satisfy CI and Development. With this being the proposal, I follow it with
 some questions:

- How have *we* solved this problem in other areas of our ecosystem?
- How have other platforms solved this problem?
- Can we emulate / improve on that pattern?
- If a package management solution exists for a technology (eg:
virtualenv for python, bundler for ruby, npm for node, berkshelf for chef)
- can we adopt these and get started by templating in the dependency
management into the charm generator template?


 I'm hoping this email is seen more as a conversation starter vs me being
 pedantic - I'm more concerned with getting the right set of information to
 our users/community than I am in solving some meta problem of packaging
 charms and their Development Environments.

 --
 All the best,

 Charles Butler charles.but...@canonical.com - Juju Charmer
 Come see the future of datacenter orchestration: http://jujucharms.com

 --
 Juju mailing list
 Juju@lists.ubuntu.com
 Modify settings or unsubscribe at:
 https://lists.ubuntu.com/mailman/listinfo/juju

 --
 Juju mailing list
 Juju@lists.ubuntu.com
 Modify settings or unsubscribe at: https://lists.ubuntu.com/
 mailman/listinfo/juju

-- 
Juju mailing list
Juju@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju


Re: An Open Question: Charm Dependency Management

2015-01-20 Thread Kit Randel
On Wed, Jan 21, 2015 at 8:24 AM, Michael Nelson 
michael.nel...@canonical.com wrote:

 For eg., if it was a python charm that needed some python packages:


 .virtualenv:
 virtualenv .virtualenv
 .virtualenv/bin/pip install -r test_requirements.txt

 test: .virtualenv
 ./virtualenv/bin/python ./unit-tests


My python charm makefiles looks like this too, but one minor improvement is
to suppress output from pip with '-q' which makes running dependant targets
like 'test' and 'lint' much less noisy, e.g.

.virtualenv:
@virtualenv .virtualenv
@.virtualenv/bin/pip install -q -r requirements.txt --upgrade

-- 
Kit Randel
Canonical - Ubuntu Engineering - Continuous Integration Team
-- 
Juju mailing list
Juju@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju


Re: An Open Question: Charm Dependency Management

2015-01-20 Thread Michael Nelson
On Wed, Jan 21, 2015 at 5:17 AM, David Britton
david.brit...@canonical.com wrote:
 On Tue, Jan 20, 2015 at 05:58:24PM +, Marco Ceppi wrote:
 I don't see how a Makefile in a charm doesn't resolve this issue.

 +1 on some standard published Makefile targets.  We already have some
 that are highly recommended:

  - test
  - lint

+1 (and -1000 on any Makefile targets which run as sudo)


 Maybe:

  - test-depends or depends  # to install/update dependencies needed for
   testing


It doesn't hurt to have an extra target like test-depends, but it
should be enough to just have the test target depend on some other
target that's required for whatever technology the author is using.
For eg., if it was a python charm that needed some python packages:


.virtualenv:
virtualenv .virtualenv
.virtualenv/bin/pip install -r test_requirements.txt

test: .virtualenv
./virtualenv/bin/python ./unit-tests

Yep, you could make that DRYer, but it might be less readable.

-Michael



 Are there others that are needed/missing or that I forgot we already
 have as standard?

 --
 David Britton david.brit...@canonical.com

 --
 Juju mailing list
 Juju@lists.ubuntu.com
 Modify settings or unsubscribe at: 
 https://lists.ubuntu.com/mailman/listinfo/juju

-- 
Juju mailing list
Juju@lists.ubuntu.com
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/juju