[10:59] tvansteenburgh: Have you seen the apt failures in the bundletester CI system? Something odd going in inside the charmbox container best I can tell from here. [11:30] stub: yes, this is the root cause https://bugs.launchpad.net/ubuntu/+source/python-urllib3/+bug/1500768 [11:30] Bug #1500768: python3.4.3 SRU break requests [11:33] tvansteenburgh: ta [13:55] hi [13:55] In my juju local container I am getting the issue like shown below : [13:55] Err http://security.ubuntu.com trusty-security Release.gpg Could not resolve 'security.ubuntu.com' Err http://archive.ubuntu.com trusty Release.gpg Could not resolve 'archive.ubuntu.com' [13:56] Can anyone help pls [14:19] Begin Install. 2015-10-14 13:48:04 INFO install Err http://security.ubuntu.com trusty-security InRelease 2015-10-14 13:48:04 INFO install 2015-10-14 13:48:04 INFO install Err http://archive.ubuntu.com trusty InRelease 2015-10-14 13:48:04 INFO install 2015-10-14 13:48:04 INFO install Err http://archive.ubuntu.com trusty-updates InRelease 2015-10-14 13:48:04 INFO install 2015-10-14 13:48:04 INFO install Err http://security.ubuntu.com [14:19] This is the section from debug-log [14:22] suchvenu: o/ [14:22] I was just reading your email [14:23] suchvenu: this seems to be a networking/dns resolution issue. Do you have an HTTP proxy set? [14:25] No [14:29] suchvenu: can you log into the machine and run `ping 8.8.8.8` ? [14:45] ok [14:45] Its pinging [15:01] hey aisrael, have you gone up to vbox 5 yet? and if so, any gotchas doing vagrant/juju stuffs with that? [15:03] kwmonroe: I've been running virtualbox 5 for a while. No issues that I've run into. [15:03] cool, thx aisrael! [15:28] Hi , I have a scenario in which a user is deploying service A and service B simulataneously , but service B should be executed after service A is deployed successfully. [15:28] Is there some way where there can be a delay in the order which service B is called after A [15:57] shilkaul: Yes. You can use relations to model the dependency between services. Specifically, service A can use relation-set to set a value on the relation interface, and service B can block its actions until it sees that flag from service A. [16:00] shilkaul: I should note that these sorts of cross-service dependencies can be tricky to keep track of for multiple services, or when combined with dependencies on config values, etc. That is a big part of the motivation behind the reactive & layers pattern that we developed: https://jujucharms.com/docs/stable/authors-charm-composing [16:01] The idea there being that you depend on relation interface layers to set states, and you use @when and other decorators to respond to combinations of states from whatever interfaces you depend on. [16:02] It's still under development, though, so consider that pattern in the "early adopter" or "public beta" phase, but it should hopefully give you an idea of how this problem can be solved [16:03] You can also solve the problem with traditional style hooks, especially with simpler charms, but you have to think carefully about what the overall state of your service might be during any given hook invocation (since they can be called in many possible orders) [16:12] thanks cory , the issue I am facing is that these two hooks are not participating in any join relation , they are unrelated.in hook A I am mounting some directory.In hook B I want to run some services when successfull mounting happens in hook A. [16:15] I'm a bit confused. If there is no relation between the services, then why does B care whether a directory is mounted on A? [16:23] I have a storage service A and another Service B which is my master of cluster.To add a slave node ie service C , I am adding relation between A and C and B and C.So when C joins A , it will mount directories on C from A.and when C joins B , some services I need to run from bin folder of mounted folder. [16:27] Ah. Hrm. I guess you would have to propagate state along the relations that exist. Specifically, A should tell C that its storage is ready to use, then, once it has that info, C should tell B that it is ready to act as a slave. We do something much like this in the big data charms, though those use the older "services framework" to manage the inter-dependencies, which is not nearly as easy to follow as the reactive + layers pattern [16:29] can you please share some big data example which i can explore on this type of sceanrios ? [16:31] Certainly. The bundle that contains the core set of charms is: https://jujucharms.com/apache-core-batch-processing/ [16:32] In that case, apache-hadoop-hdfs-master (and apache-hadoop-yarn-master) depends on apache-hadoop-compute-slave to do useful work. Then, apache-hadoop-plugin depends on apache-hadoop-hdfs-master (and apache-hadoop-yarn-master) to tell it when it is ready to do work (i.e., has at least one compute-slave)_ [16:33] ok , thanks [16:33] shilkaul: The specific bits of code you're interested in are the "requires" blocks in common.py in each charm, such as: http://bazaar.launchpad.net/~bigdata-dev/charms/trusty/apache-hadoop-plugin/trunk/view/head:/hooks/common.py#L87 [16:34] In the parlance of the services framework, those say "don't do anything in callbacks unless these relations have set their ready flag" [16:39] The relation classes are a bit more complicated than that due to other constraints in big data, but that's the core of it. They're also hosted in a shared library: === wesleyma` is now known as wesleymason === wolverin_ is now known as wolverineav