/srv/irclogs.ubuntu.com/2016/01/27/#juju.txt

=== natefinch-afk is now known as natefinch
=== urulama__ is now known as urulama
stubbdx: If you want to deploy a version of PostgreSQL that is not 9.3 with trusty, then you either need to set the pgdg flag when you deploy (or change it when the charm fails and retry), or have it in some other repository pointed to by the install_sources line. That second option is why it isn't on by default - the many installs where there is no egress.04:51
stubbdx: For example, we have PG 9.1 packages in our internal archives which get deployed to trusty.04:53
=== blahdeblah_ is now known as blahdeblah
bolthole_hi late night juju groupies...07:23
bolthole_I'm wondering if anyone knows who specificaly invented juju? the various writeups I've found on it did not say07:23
bolthole_I would like to contact the person who invented juju, reguarding some additional ideas I have.07:28
blahdeblahbolthole_: The person who invented it is not really relevant any more; there are several teams of full-time developers working on it now.07:29
blahdeblahThe best way to discuss those things would be to open a bug on Launchpad, or join the juju or juju-dev mailing list and post your thoughts there.07:29
bolthole_is that a code phrase for "that person no longer works at Canonical"? :-/  I would like to know how to contact them, because I have some ideas that, while sort of related to juju, are not actually applicable to normal juju itself.07:34
blahdeblahNot code at all; I don't actually know who invented it.07:35
bolthole_fair enough :)07:35
blahdeblahBut if that's the path you want to take, juju was renamed from ensemble around 2010/2011, I think, so you might want to Google for that instead.07:36
=== ryotagami_ is now known as ryotagami
suchvenuHi Matt15:08
mbruzeksuchvenu: hello15:08
suchvenuRegarding the DB2 design Doc I sent for your review15:09
suchvenuYou mentioned, relation-joined should create unique database-name/username/password so multiple charms can connect to the same db2 instance.15:09
suchvenuI am creating unique username, password and instance as per config values , but this is done in Config change hook and not in relation hook15:10
suchvenuNow to create database name in the relation hooks, the charm which needs the DB to be created on DB2 needs to give the DB name to the DB2 charm.15:10
suchvenuAlso some products may need only one DB to be created , while others may need multiple DBs15:11
mbruzeksuchvenu: Yes I think that may be incorrect.  For other database charms I believe this is done in the relation-joined hook so different charm types have different database names.15:11
suchvenuSo how do we control the no of DBs to be created and their names ?15:12
suchvenuOk, so the username and password should be provided by the related charm to DB2 charm ?15:12
mbruzeksuchvenu: If you do it per config value it is clear to me that you can not get multiple databases.  Let us assume mediawiki had a db2 relation and so did dokuwiki had a db2 relation.  Your config-changed hook would only create one instance, database, username, and password, but both charms could relate to the ibm-db2 charm.  These both would get the same information and write to each other's database.15:14
mbruzeksuchvenu: I am not a database expert but I know two different services (mediawiki and dokuwiki) using the same database would be a problem.15:15
mbruzeksuchvenu: kwmonroe and I looked into this before we made the recommendation I believe you can make multiple databases in the same instance, so your db2-relation-joined hook would use the service name to create a unique database name.  You could hash the name or just replace the invalid characters.  So in my previous example if you get a relation, and the remote service name comes back as 'mediawiki/0' you can convert that to 'mediawiki0' and 'dokuwiki15:18
mbruzeksuchvenu: that way the DB2 charm could relate to different charms and they would not use the same database name. Check out the mysql or mariadb charms for examples of how this is done.15:20
lazypowermbruzek you would really need to just split on '/' otherwise mediawiki/1 would turn into mediawiki1 - just chiming in with a slight addendum there15:20
suchvenuok. But if any service wants more than 1 DB , how do we control it ? And if they need DB with specific name15:20
mbruzeklazypower: I don't remember if mysql makes a 'mediawiki1' database or if it makes a 'mediawiki' database for all the units of mediawiki to share.15:21
suchvenuAlso for each user i am creating a separate instance with same name as user name. This is as per one of the review comment i got previously to have unique username, password and instance15:21
lazypowermbruzek - it uses the service name, and strips invalid characters + anything after the / is dropped.15:22
mbruzeksuchvenu: That may have been a review comment from someone who didn't fully understand how DB2 worked, and if it was me I apologize.  kwmonroe and I looked into the DB2 documentation last night, and you _can_ create different instances, and it appears you can create different instances.  What Kevin and I discussed last night was to have one instance but different database names to make it work more like the other databases we are familiar with.15:25
suchvenuok. So one instance name and have mulitple user names to connect to same is what you are proposing.15:25
suchvenuDb2 has the feature to create multiple instances, that's the reason i implemented it in that way.15:26
suchvenuI will relook at this one15:26
mbruzeksuchvenu: After yesterday's read of the documentation, I think different instances may be too complicated and doing different database names is the way to go.  I didn't understand what a different instance was different than a different database15:26
mbruzeksuchvenu: What we found from reading the documentation that you would have to create a different host user for each instance and you could give different memory constraints to each instance.15:27
mbruzeksuchvenu: We thought it would be better to give ALL the memory on the host to the one DB2 instance and just create different databases in the one instance15:28
suchvenuok. I will explore this one15:28
suchvenuOn removal of a db2 relation the username and password should be destroyed - This also i am not sure whether it will cause any problem if we delete the user15:28
lazypowersuchvenu - those are 2 separate use cases really, consider the db2 charm implements 2 relationships for the 2 styles of use-case where the regular db: relationship  auto-generates the database for the relating charm, based on that charms name. And each unit joining the conversation gets that database name, and a unique username/password combo per unit. This mimics the MySQL and PostGRES charms behavior which many users/applications will fall15:29
lazypower into this category. The DB2 charm only sends a connection string back to the relating charm.15:29
lazypowerConsider another relationship db-programmable: where the relating charm can then send the details of what databases it requires, creating 1-n+1 databases and then hands back the multiple database connection strings on the wire. This gives you a pathway to support both use-cases, single charm, and multiple relations enable the behavior outlined.15:29
mbruzeksuchvenu: The user is overloaded here.  You need to create a user on the host to run the db2 instance, but you can create many database users.  The review comment that we left was to remove the database user when the relation was removed.15:30
mbruzeksuchvenu: not the host user running the db2 instance.15:36
=== redelmann is now known as rudi|comida
kwmonroesuchvenu: some confusion might be coming because instance users seem to be both linux system users as well as database users.  do you know if you can create separate database users for a given instance?  (for example, can i create 'kevin' as a database user that can access a db in the 'db2inst1' instance?)15:55
kwmonroeor does db2 require that database users are also instance users, meaning 'kevin' would have to have his own instance to get his own database?15:56
suchvenuI had created linus users for the new users i created . I need to explore on whether we can create database users and conenct to the single instance16:00
jaceknis this a known problem in charms generate using "charm compose"? http://pastebin.ubuntu.com/14679942/16:02
lazypowerjacekn - its 'charm build' - and thats a new one. which version of charm tools are you on?16:03
jaceknlazypower: charm-tools 1.11.116:03
jaceknlazypower: wher eare the official docs about "charm build"? links I had saved no longer exist ( https://jujucharms.com/docs/devel/authors-charm-composing/ for example)16:04
lazypowerjacekn  - the devel docs start with building from layers from teh get-started guide - https://jujucharms.com/docs/devel/getting-started16:05
jaceknthat was after I solved this: http://pastebin.ubuntu.com/14679951/16:05
lazypowerhttps://jujucharms.com/docs/devel/developer-getting-started16:05
lazypowerrather ^ that is the correct link16:05
tertiarythis is probably more of a maas question, but if i were to use maas+juju to create shared storage with gluster, what happens when we need to upgrade the Ubuntu OS. Wont maas+juju basically destroy the machines and rebuild them with the newest OS version? Consequently destroying the shared data?16:06
lazypowerand there is a deeper dive into layers under its topic page - https://jujucharms.com/docs/devel/developer-layers16:06
lazypowerjacekn - sorry about the moving target, the road to 2.0 and the docs has been a bit of a turbulent ride while we re-work and massage the devel docs.16:08
jaceknalso is it expected that juju-local now uses twice as much space? I think it pulls lxc images to disk and then into mongodb?16:10
suchvenuSo in relation joined hook, the db2 charm will create username, password and a DB name (as per the service name which tries to connect to it ) and when the relation is broken the username needs to be deleted. Also we have only one instance name which will be shared by all users and multiple DBs can be created in the same instance.16:12
suchvenuthe username, password will be provided by the related charm in the relation hooks .16:13
suchvenuIs that right ?16:13
jaceknlazypower: so any ideas where to do about that error? I am testing in a fresh trusty environment so it may be affecting all charm authors16:14
lazypowerjacekn - i'm attempting to reproduce now in charmbox. seems to work in the :devel flavor when i update charm-tools from pypi - there's a pip 8.x bug that landed in teh 1.11.x series but that was a complaint about pyyaml verion(s)16:15
lazypower*versions16:15
lazypowerjacekn what layer are you building with? i'd like to keep this as close to your configuration as possible so i can reproduce16:15
suchvenuWhen the relation is broken the db username needs to be deleted without disturbing the DBs.16:16
lazypowerkwmonroe ^16:16
jaceknlazypower: there is no layer yet, I'm writing one on top of 'layer:basic'16:16
lazypowertertiary - thats a possibility. Unless you have modeled the storage. And even then i'm not 100% sure. I would certainly bring this up on the mailing list16:17
tertiaryi see, thanks16:17
lazypowertertiary - i feel like this has been answered before, and posting to the list raises visibility, so they can chime in16:17
suchvenuIf any product needs mutiple DBs with specific names ( like for example IBM MobileServer ) let that service create the required DB as per its requirements.16:17
jaceknlazypower: is there really no way around installing gcc and pulling packages using pypi? I can see that blocking juju deployments due to security policies in many places16:18
lazypowerjacekn - is this in reference to charm build making the wheelhouse?16:19
mbruzeksuchvenu: reading your questions  now16:19
suchvenuMatt:Kevin: lazypower: Does it sound ok ?16:19
suchvenuok16:19
jaceknyeah it means software is partially outside of OS security patching coverage16:19
jaceknlazypower: plus compilers on appservers are considered a security risk in some places16:20
lazypowerjacekn - right. I would certainly bring this up on the list as well as a talking point, i dont know that I have a good answer to that question16:20
jaceknack. I'll soon report a but about that ImportError: No module named 'charmhelpers.cli' problem16:21
lazypowerjacekn - and using the vanilla charmbox image, i was able to build both - an empty layer with only a layer.yaml containing " includes: [layer:basic]" , and a few other layers i maintain. No issue with charmhelpers.cli :/16:21
lazypowerare you running in a virtualenv or something similar?16:21
mbruzeksuchvenu: That looks correct, except for the part about the "the username, password will be provided by the related charm in the relation hooks"  the db2 charm will create the username and password, the username and password would not be provided by say the mediawiki charm.16:22
mbruzekthe user/pass would be set on the db2 relation, for the mediawiki charm to read16:22
suchvenuthen how do I take the username and password ? Based on service name ?16:22
jaceknlazypower: nope but who knows, maybe there is somethin on my test box that would affect "charm build" (kind of another reason to stick to apt-get install in the charm rather than ship depds with the charm)16:23
jaceknlazypower: I can publish my WIP charm somewhere if you want?16:23
lazypowersure16:23
suchvenuI mean how do I select any username for the mediawiki ?16:23
lazypowerjacekn lets try that, maybe theres something hinky in that layer path thats causing the problem16:23
jrwrenjacekn: I share your values and I've tried to avoid even installing pip on some of our charms, but most charm authors don't share these values and so many install python-pip and python-dev which pulls in gcc :(16:23
suchvenuAlso I need to explore whether we can create DB users without creating linux system users. If that is not possible, then I am not sure whether removal of users will cause some issues16:26
suchvenuwhen the relation is broken16:26
marcoceppisuchvenu: MySQL creates a unique database schema for every service connected, and a unique user/pass for that schema for every unit connected16:26
mbruzeksuchvenu: I don't think the linux user is directly related to the database user16:26
jaceknlazypower: hmm I wonder...I wonder if "charm build" found some junk in my "charms/trusty/<charm>" subdirectory and composed the charm on top of it. Let me verify that maybe that's the cause16:26
suchvenuMatt: I will check this up16:28
mbruzeksuchvenu: if I remember correctly db2inst1 is running the instance and that is needed to start and stop processes, but the db2admin is not a user on the filesystem.16:28
jaceknjrwren: yes understood. One other things I would point out is that this will happen on all units. So it's fine for small scale but if you want to deploy 100 units that means dozens of GBs that need to go over the network16:29
jrwrenjacekn: yup. If you solve any of these issues, I look forward to hearing how you did so.16:30
jaceknjrwren: lazypower: hmm OK then so when I started completely fresh it worked. "charm build" must have composed on top of some old files which caused this problem16:37
jaceknsorry for the noise16:37
lazypowerjacekn ah i htink i may know the issue then16:37
lazypowercharm build is additive, so if an older dependency is embedded, you need to rm -rf the output charm artifact.  We have an open bug on this, as its not clear that this behavior can lead to unexpected behavior16:37
lazypowerremovals are hard :/16:38
jaceknlazypower: aha! that would make sense, thanks for help. If you find that but # let me know I'll meto16:38
lazypowerjacekn https://github.com/juju/charm-tools/issues/8316:39
jaceknlazypower: is there anything in LP?16:42
lazypowercharm-tools has migrated over to github afaict16:42
suchvenuMatt : db2inst1 is the username used to install DB2 and it creates the instance and runs it.16:46
suchvenudb2admin is a db2 utility16:46
mbruzeksuchvenu: OK.  I meant db2admin as the administrative user for db2 then.16:47
mbruzekI am not an expert in db2, it was just a guess16:47
suchvenuNo, db2admin user doesn't exist16:50
suchvenuAfter installing db2 , I see the following users only :16:50
suchvenudb2inst1:x:1001:1001::/home/db2inst1: dasusr1:x:1002:1002::/home/dasusr1: db2fenc1:x:1003:1003::/home/db2fenc1: db2usr1:x:1004:1001::/home/db2usr1:16:50
suchvenuwhere db2inst1, dasusr1 and db2fenc1 are required for installing db2 and db2usr1 is a new user i created as per the config value in DB2 charm16:51
kwmonroeyeah suchvenu, mbruzek wasn't suggesting that a 'db2admin' system user should be created.  he just meant that there would be a "db2 admin" as a user that could interact with the database without being a system user.16:58
kwmonroesuchvenu: according to this, there are no "database users".  authenticating to the database requires a system account: http://www.ibm.com/developerworks/data/library/techarticle/dm-0508wasserman/17:01
kwmonroe"This is different from other database management systems (DBMSs), such as Oracle and SQL Server, where user accounts may be defined and authenticated in the database itself, as well as in an external facility such as the operating system."17:01
kwmonroesuchvenu: this implies that any new service that connects to db2 will need a new system account.  therefore, in the db relation-joined hook, you should call useradd to create a new user (the username can be a random string), and then call 'db2icrt -u <new-user> <new-user>'.  this will create a db2 instance name based on the new system user you just created.17:04
suchvenuKevin : Ok. I was also searching whether we can create database users which are not OS users17:04
suchvenuright.. I am actually doing this in config changed hook17:05
suchvenucreating a new user and a new instance17:05
suchvenubut now that code has to go to relation hook17:05
suchvenuso in this case when the realtion is broken, and i try to delete the user, it may get into issues17:06
suchvenuas the db2 instance will be running using this userid17:06
kwmonroeyeah suchvenu, i suggest you do not remove the system user, but simply drop the instance with 'db2idrop <instance>'17:09
kwmonroeaccording to this, the database will remain in tact:  Dropping an instance will not drop your databases, so you will not lose data. You can drop your instance, recreate it and then catalog the databases to make them available. You can use the db2cfexp and db2cfimp commands to export and import instance profiles.17:10
kwmonroehttps://www-01.ibm.com/support/knowledgecenter/#!/SSEPGG_9.5.0/com.ibm.db2.luw.admin.cmd.doc/doc/r0002058.html17:10
cmaginabundletester is giving me a version conflict error for pyyaml on trusty. it was installed via pip. its looking for 3.11, but 3.10 is installed. the system is a fresh maas deployment to an x86 host17:12
lazypowertvansteenburgh - is this the same symptom we saw emitting from charm-tools 1.11.x series? ^17:13
suchvenuok kwmonroe. I can try this out17:13
tvansteenburghcmagina: curious if you installed it in a virtualenv or not17:15
cmaginatvansteenburgh: just a simple pip install bundletester17:15
tvansteenburghcmagina: would you mind trying it in a virtualenv?17:16
cmaginatvansteenburgh: i can do that17:16
tvansteenburghmy guess is that pip refused to upgrade the pyyaml system dep that was already installed17:16
suchvenukwmonroe: Suppose the related charm needs more than the default db , then its up to that charm to create the DB. DB2 charm will not handle it. Is that approach fine ?17:17
jaceknwhere do I report charms.reactive bugs?17:19
jaceknor "where should I" rather17:19
mbruzekjacekn: against charm-tools17:19
mbruzeklet me get you a link17:19
mbruzekjacekn: https://github.com/juju/charm-tools/issues17:20
mbruzeksuchvenu: as long as the database user has the permission to create a database or table that should be fine17:23
suchvenuYes the db user has permission to create DB. As per the current implementation where we are not creating any default DB in DB2 charm, we are returnign the db2 user name to the related charm17:25
suchvenuUsing this db2 user the related charm can create DBs17:25
=== rudi|comida is now known as redelmann
kwmonroesuchvenu: i think after you create an instance, you will still need to create a db.  but your approach seems fine -- a connecting service should receive the ip, port, user, password, and db name.17:28
suchvenuyes after creating instance for new user, we need to creatre DB as well.17:28
suchvenuyes, i was not sending db name . I will add that as well17:29
suchvenuwhen we remove the relation the instance name is deleted. Now again if we try to set relation, it will create a new username and instance , right ?17:31
kwmonroethat's correct suchvenu17:35
suchvenui will chk whether the username and instance name exists  and reuse the same if it exists17:35
suchvenuinstead of creating multiple usernames for the same service17:36
suchvenui think instance will not have issue, as we are deleting it when the relation is broken17:36
suchvenuThanks a lot mbruzek, kwmonroe,lazypower, marcoceppi for your time to clear some of the design related queries i had on DB2 charm. Appreciate your help17:40
suchvenuI will send updated design doc with the points we discussed today17:43
kwmonroethanks suchvenu!!17:55
boltholeI'd like to write a charm that deploys a webapp to a tomcat service. As such, I think I need to require some kind of relationship between a tomcat charm instance, and my charm, to make sure it gets deployed to the same machine? What should I be looking at for this?18:49
plarsHi, I'm trying to add an lxc instance to a maas environment with juju-deployer. I have several other ones deployed this exact same with with 'to: lxc:agent-host' in my deployer bundle, so I just copied one of those as I've done before, and made the necessary changes.18:49
plarsbut when I try to run juju-deployer, I get an error: 2016-01-28 02:46:03 Invalid service placement snappyx86003 to lxc:agent-host18:49
lazypowermbruzek - bolthole is asking about tomcat :)18:49
plarsany ideas where to look to figure out what's wrong?18:50
mbruzekhi bolthole: let me dust that section of my memory off18:54
mbruzekbolthole: What you are looking for is what Juju calls a subordinate service18:57
mbruzekhttps://jujucharms.com/docs/master/authors-subordinate-services18:57
boltholeSounds good. thanks18:58
mbruzekThe tomcat charm (written by me) accepts subordinate charms with the juju-info relation.  Look to the openmrs charm for an example.18:58
mbruzekhttps://jujucharms.com/openmrs/precise/118:59
mbruzekbolthole: It was pointed out to me that tomcat should not use the juju-info relation and instead provide a "webapp" relation or something of that kind, but I have not implemented that yet, and I don't see that in the current cs:trusty/tomcat charm19:00
mbruzekSo that is the way it works now, and if you look at the openmrs code that should help.19:01
mbruzekbolthole: please let me know if you have any other questions.19:02
boltholeHm. Is there really a requirement to have a particular relationship defined in juju, to make use of the subordinate designation?19:02
mbruzekbolthole: no. But a webapp has some expectations of things (like the directory where it should put the war file).  Currently the openmrs can be a subordinate to any regular charm and that is probably not a good thing.19:04
boltholeAnd if there is.. the page you referenced seems to imply I could just define "a standard client-server relation" fpr tjos19:04
bolthole* for this19:04
mbruzekbolthole: it probably makes more sense to have tomcat provide a webapp interface and charms that are webapps only consume that19:05
boltholeah. so the relationship would define the webapp directory, then19:05
mbruzekbolthole: yes.  It would be a very basic thing19:05
boltholeI see that openmrs "requires: tomcat-war:". Wouldnt it be more accurate to say that it *provides* tomcat-war ? And does the other side have to be coded to support the same relation19:17
lazypowerplars - can i see your bundle?19:18
plarslazypower: sure, one sec...19:18
=== lathiat_ is now known as lathiat
plarslazypower: http://paste.ubuntu.com/14681702/19:20
lazypowerplars - try adding the unit number   --to lxc:agent-host/019:20
plarslazypower: actually, I am doing it without the bit for deploying agent-host. It's already deployed, but I include it here for clarity19:20
plarslazypower: I did, same error19:21
lazypower:-\ hmm... we used the --to operator in our k8s bundle... let me fish that up19:21
lazypowercontrast/compare19:21
plarslazypower: I've used it *exactly* like this in this same environment on lots of other units19:21
lazypoweryeah, that looks correct19:22
lazypowerlooks like there may be a regression or something going on here19:22
lazypoweri'm not positive19:22
lazypowersorry :(19:22
plarslazypower: any tips for debugging? or where to go from here?19:23
boltholembruzek: erm. it seems like the tomcat module now already looks for webapp: java-webapp19:25
lazypowerplars not off the top of my head, i've been working with the newer juju deploy bin for the last month or so19:25
lazypowera lot of that info is now replaced19:25
mbruzekbolthole: I pulled the trust/tomcat one I don't see that in metadat.yaml, where do you see this?  Are you on precise/tomcat?19:25
plarslazypower: so is there a better way I should be doing this?19:26
lazypowerplars - aside from upgrading to 2.0-alpha1 and giving it a go19:26
boltholeI.... think so?  still new to ubuntu. i'm using ubuntu15.10, which I think is "precise", so I was looking at https://jujucharms.com/tomcat/precise/119:27
lazypowerplars - obv. thats not recommended if this is a production environment19:27
lazypowerbolthole - "wiley" - ftfy :)19:27
plarslazypower: heh, well it is production, but it's not working19:27
lazypowerbogus :\19:28
boltholeoh wait. my actual deployed stuff, says verison of tomcat = cs/trusty/tomcat-119:28
mbruzekbolthole: yes, https://wiki.ubuntu.com/Releases19:28
boltholewhcih is .. neither precise, nor wily. wth....19:28
mbruzekbolthole If you deployed "tomcat" you likely got the precise version (12.04) I think that is how juju defaults. I also see the java-webapp in the metadata.yaml for precise/tomcat19:29
boltholewhatisthisidonteven19:29
mbruzekbolthole sorry for the confusion.  I think this change is not in the more recent version of tomcat19:30
boltholeso... precise is the OLDER version ... butit is better for having more logical relations defined?19:32
mbruzekbolthole: it appears that someone updated the older version of tomcat with the fix I described earlier, but did not move this to the later version of tomcat.19:34
boltholeand this is extra sad, since I cant seem to use the "change version" to switch to the older version, in juju-gui.19:35
mbruzekbolthole: Does it matter to you what version of the operating system you have?  precise (12.04) compared to trusty (14.04)?19:37
mbruzekbolthole you will still get tomcat7 with either install, both should work very well19:39
boltholei have no idea.19:40
boltholecomparing things, I guess my desktop is 15.10...19:40
boltholebut i've deployed to azure, which uses  14.04.1 ubuntu imags19:40
boltholeby default, I guess.19:40
rick_h_marcoceppi: with resources, what's the charm you've got in your mind that would use the most number of individual resources? (/cc lazypower aisrael mbruzek)19:41
lazypowerrick_h_ - easily the big data stack19:41
rick_h_lazypower: right, so a single service with how many resources declared? 2, 4?19:41
lazypowerrick_h_ - considering each install ships w/ a 90MB JVM + each component has a suite of jars.19:41
lazypowercory_fu kwmonroe admcleod1  ^ can you chime in on this? like, ballpack19:41
boltholembruzek I still think whoever "fixed" it, fixed it backwards again. the app should be the thing "providing" webapp. :-/19:41
lazypower*ballpark19:41
marcoceppirick_h_: I'd see about 6 at most19:42
rick_h_marcoceppi: lazypower k, ty for the feedback.19:42
mbruzekbolthole: the webapp charm will need to require the "webapp" relationship because a relationship needs both sides.19:44
lazypowerrick_h_  - hey i found a good place to look - https://api.jujucharms.com/charmstore/v5/~bigdata-dev/trusty/cloudera-hadoo-yarn-master-0/archive/resources.yaml19:44
cory_furick_h_: The core Hadoop charms have around 9 resources defined currently, most of which are different arch and versions of the libraries19:44
boltholembruzek technically speaking, using java language, I believe the proper terminology would be that it "provides: webcontainer"19:45
cory_fulazypower: This is better: https://api.jujucharms.com/charmstore/v5/~bigdata-dev/apache-hadoop-yarn-master/archive/resources.yaml19:45
cory_furick_h_: ^19:46
lazypowerwoo19:46
cory_fuA couple of those are python deps that go away with layers, and there are a couple dupes for handling older charms that don't have  a version specified and will go away19:46
boltholeIs there a way to search the store for (Charms that use relation: webapp) ?19:47
cory_fuBut at a minimum it will be 7, until we add new supported versions19:47
cory_fuOr arches19:48
cory_fubolthole: You'd want https://jujucharms.com/provides/webapp or https://jujucharms.com/requires/webapp19:48
cory_fuBut neither of those return any results19:48
cory_fubolthole: Here's one that has results: https://jujucharms.com/provides/http19:49
boltholegot it thanks.19:50
cory_fubolthole: You can discover this on the store by going to a charm that you know of that uses a given interface and clicking on the link in the "Connects to:" section on the right, just above the files list19:50
boltholethanks19:51
boltholeso if I want to file a bug "please provide webcontainer", should I do it against tomcat or tomcat7 charm?19:51
boltholeseems like the tomcat7 writeup suggests tomcat. but the tomcat code seems in chaos  ;-}19:52
cory_fulazypower, mbruzek: ^19:53
cory_fuI think that https://jujucharms.com/tomcat/trusty is the most recent19:54
cory_fuBut I defer to those who have actually worked on it19:54
boltholecontrariwise... if I want to submit code... can I do that? It seems like stuff owned by "charmers" has some kind of extraspecial layer where people cant submit proposed stuffs through the normal process19:54
mbruzekbolthole I did a diff between precise and trusty on the tomcat charm.  Only that webapp relation is different19:54
mbruzekbolthole: do not use tomcat7 that is deprecated, use trusty/tomcat and I can move the fix for precise forward.19:58
lazypowerbolthole - you are correct that "charmer" owned charms have a layer of "special" - they are reviewed and curated charms. You can propose fixes against them through a traditional launchpad merge proposal. This process will change sometime near APril, but we will have docs in place for that process change.20:00
lazypowerbolthole there's docs on contributing here: https://jujucharms.com/docs/devel/authors-charm-store#submitting20:00
lazypowerbolthole - but if this is only to scratch an itch where you dont want a review to block you, you can always publish to your personal namespace, which is covered in the doc as well20:00
boltholembruzek i can wait for the official code fix, thats fine.... Just please fix the naming ;)20:16
mbruzekbolthole what naming?20:16
boltholethe usage is backwards. tomcat needs to require 'webapp', not provide it.  Or, it could provide 'webcontainer'20:17
mbruzekbolthole: that is not wrong, that is a Juju convention.20:17
boltholenooo... what i described, matches mysql usage20:17
mbruzekbolthole: tomcat provides a webapp relationship, that webapps can require.20:18
boltholei compared with that first ;)20:18
boltholelook at it this way.  wordpress is an aplication, that requires a database (mysql) to run. It *requires* mysql20:19
kwmonroei think the confusion here is because we're talking about a subordinate relation to tomcat.20:19
boltholeopenmrs is a webapp, that requires a webcontainer (like tomcat) to run. therefore, it *requires* webcontainer20:19
kwmonroeso bolthole, it is actually correct as written -- tomcat is "providing the ability for a java-webapp to be connected"20:19
boltholetomcat is not providing an ability, it is providing a platform/service. just like mysql provides a platform/service.20:20
kwmonroeyeah, i get the overall descriptions you're using, but when you're talking about a juju charm being subordinate to another, the principal provides that interface, the subordinate requires it.20:21
boltholeyes. exactly.  tomcat is the principle. it provides webcontainer.   any webapp, Requires a webcontainer to run20:22
boltholeso rename webapp to webcontainer, and it's all good20:22
kwmonroeoh, sure - i don't have any skin in the naming of the relation.. just trying to explain why provides/requires may seem reversed in a principal/subordinate context.20:24
boltholegot it20:24
cmaginatvansteenburgh: i tested it in a virtualenv and hit the same issue20:35
boltholeawwright... I have used bzr to make myself a local clone thingie, and made the trivial code changes. trying to push it up to my "personal space"... but its giving me permission denied?20:55
bolthole("Cannot create branch at /~s-phil-s/charms/blahblah")20:55
boltholelazypower I did try to carefully follow the instructions at that url. but it doesnt seem to work :(21:01
kwmonroebolthole: is the ssh-key (~/.ssh/id_?rs.pub) listed in your launchpad account?21:01
boltholeyes21:01
kwmonroebolthole: what's the push command you gave?  just 'bzr push'?21:02
bolthole( ssh missing, gives an explicit "you havent registered any keys" error ;)21:02
boltholeI did a very explicit push as follows:21:02
boltholebzr push lp:~s-phil-s/charms/tomcat/trunk.21:03
kwmonroehmph, that's looks legit21:04
lazypowernewp21:04
lazypowermissing series21:04
kwmonroeah21:04
kwmonroebzr push lp:~s-phil-s/charms/trusty/tomcat/trunk21:04
kwmonroebolthole: give that a try ^21:04
boltholetried it. nope.21:05
=== clvx1 is now known as clvx
boltholeoh qr21:05
boltholewait21:05
boltholediffernt error21:05
bolthole"project s-phil-s does not exist"21:06
boltholeoops typo21:06
boltholeadded tilde back... and it works21:06
boltholethats annoying. i thought launchpad was more free-form21:06
kwmonroei think it's more restrictive with charms because the ingestion process that scrapes launchpad to pick up namespaced charms needs them in a specific structure -- charms/series/foo/trunk21:08
kwmonroealternatively bolthole, if you didn't want to wait for your modified charm to hit the charm store, you can deploy a local charm with "JUJU_REPOSITORY=~/charms juju deploy local:trusty/<newtomcat>"21:10
boltholenaw I can wait a bit. and want to do this right anyways21:10
kwmonroecool21:10
boltholeso, now, do I do the "proposal to merge" from my branch, or from the main one?21:11
boltholethe "propose merge" stuff on the web, is a little.. lacking in documentation21:12
kwmonroebolthole: you'd do it from your branch.. click the "Propose for merging" link here: https://code.launchpad.net/~s-phil-s/charms/trusty/tomcat/trunk21:12
boltholeah okay, now it looks more helpful then :)21:12
boltholealthough I also pushed a precise branch. which one is better? I would think the precise one since thats where charms/tomcat seems to redirect to, but iunno21:13
kwmonroewell, generally speaking, you'd propose your precise branch into lp:charms/precise/tomcat and your trusty branch into lp:charms/trusty/tomcat.. but in this case, mbruzek already has you beat ;)  he's testing a similiar change to those branches at this very moment.21:15
boltholekewl. well, good practice either way :)21:15
kwmonroethat's the spirit!!  and thanks for bringing this up.. it's the right way to handle webapp subordinates in tomcat. (vs a more generic interface)21:17
=== urulama is now known as urulama__
jw4I'm considering using juju to deploy a few services in mesos/marathon, including a webservice app, front end app, postgres, and a cassandra cluster.  Does this even sound reasonable, or would it be too much hassle to use juju to deploy through mesos/marathon?21:27
tvansteenburghcmagina: weird. i'll try it in a clean container and see if i can figure out what's happening21:29
cmaginatvansteenburgh: ok, thanks21:29
firlanyone know where a list of “actions” that I can send to my openstack charms for neutron would be?21:33
rick_h_firl: "juju action defined $servicename"21:34
firlty21:35
rick_h_np21:35
firlanyone know how to have neutron recreate qdhcp/qrouter besides uninstall and reinstall with juju?21:43
lazypowerjw4 - that would be an excellent question on the juju mailing list. one of our isv partners has been working in marathon/juju land for the last 4 months22:00
jw4lazypower: cool.. will do22:00
lazypowerjw4 - they don't idle on irc, but with a mailing list post, i can signpost them to it.22:00
jw4+122:00
lazypower:) happy to help. ping me when you've sent so i do it before i forget.22:01
jw4will do - is that https://lists.ubuntu.com/mailman/listinfo/juju or https://lists.ubuntu.com/mailman/listinfo/juju-dev?  I assume the former?22:02
lazypowerjuju@22:02
jw4perfect22:02
lazypowerjuju-dev is if you're a golang hacker and want to discuss the innards of juju22:02
jw4It's all coming back to me slowly :)22:03
* lazypower eyes narrow... "wait.... you *were* a core hacker weren't you jw4?"22:04
jw4uh oh22:04
jw4now I'm in trouble22:04
lazypower\o/ man its been a while :D22:04
jw4:)22:04
jw4yep; I miss this team :)22:05
mbruzekbolthole: I created 2 Merge proposals for the problems we discussed today, https://code.launchpad.net/~mbruzek/charms/trusty/tomcat/trunk/+merge/28418922:11
mbruzekbolthole: https://code.launchpad.net/~mbruzek/charms/precise/tomcat/trunk/+merge/28418822:13
mbruzekbolthole: Please take a look and let me know if that was in-line from what you suggested.22:13
jw4lazypower: sent: subject "Mesos / Marathon with Juju"22:23
cory_fuSo, has anyone tried to deal with upgrading an existing deployed service from a non-layered charm to a layered charm?22:37
marcoceppicory_fu: nope >:D22:38
cory_fuI'm running into a pretty big road block because the interface states (well, all of the states) need to be reconstructed without the chain of hooks actually being invoked22:40
cory_fuIs it reasonable as a community to say that upgrading from non-layered to layered charms just isn't feasible?22:41
cory_fumarcoceppi: ^?22:43
marcoceppicory_fu: it's possible. but couldn't upgrade hook do this?22:54
marcoceppicory_fu: the only thing it cant' really do is relation stuff22:54
marcoceppican't really do *easily*22:55
marcoceppicory_fu: want to jump on a hangout in like 5 mins?22:56
marcoceppimaybe 10 mins22:56
lazypowerjw4 done and done23:03
=== lazypower is now known as lazypower|travel
jw4awesome sauce23:06
cory_fumarcoceppi: You up for that hangout?23:11

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!