Re: python-django test plan

2015-02-03 Thread Nicolás Pace
On Mon, Feb 2, 2015 at 10:33 PM, sheila miguez  wrote:

> I'm grateful and happy to see this. I've been working off of a branch of
> python-django and haven't put together merge requests because I'm
> relatively new to this and wasn't sure how to go through the process of
> testing changes. I've been using mojo as a brute force way to tell when
> I've broken something with a change. I'll subscribe and start adding
> comments.
>

Great Sheila,
Thanks!


>
>
>
>
> On Thu, Jan 29, 2015 at 3:08 PM, Nicolás Pace  wrote:
>
>> Hi guys,
>> I've defined a test plan for the Python-Django charm.
>> I would like to know your thoughts about the scenaries, and propose any
>> other that you might thought important.
>> https://bugs.launchpad.net/charms/+source/python-django/+bug/1416108
>>
>> Thanks,
>>
>> --
>> Ing. Nicolás Pace
>>
>> --
>> Juju mailing list
>> Juju@lists.ubuntu.com
>> Modify settings or unsubscribe at:
>> https://lists.ubuntu.com/mailman/listinfo/juju
>>
>>
>
>
> --
> she...@pobox.com
>



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


Deploying Spark charm to data-analytics-with-sql-like loses HDFS configuration

2015-02-03 Thread Ken Williams
Hi,

  I'm able to deploy the 'data-analytics-with-sql-like' bundle successfully.
  When it's deployed I can run the hdfs and hive smoke tests described
  here (
https://api.jujucharms.com/v4/bundle/data-analytics-with-sql-like-5/archive/README.md)
successfully.

  I then need to deploy the Spark charm and add relations connecting
  spark-master to yarn-hdfs-master. I do this by deploying spark-master
  to the same machine where yarn-hdfs-master is located (see my
  previous email).

  However, once I have deployed the spark charm and added relations
  from yarn-hdfs-master to spark-master, I can no longer connect
  to hdfs.

root@adminuser-VirtualBox:~# juju ssh yarn-hdfs-master/0
ubuntu@ip-172-31-27-83:~$ sudo su $HDFS_USER
hdfs@ip-172-31-27-83:/home/ubuntu$
hdfs@ip-172-31-27-83:/home/ubuntu$ hdfs dfs -ls /
ls: Incomplete HDFS URI, no host: hdfs://TODO-NAMENODE-HOSTNAME:PORT
hdfs@ip-172-31-27-83:/home/ubuntu$

It seems that adding relations between yarn-hdfs-master and
spark overwrites the hdfs configuration so it cannot connect anymore.

This is how I deploy the spark-charm and the relations I add,
root@adminuser-VirtualBox:~# cd ~
root@adminuser-VirtualBox:~# mkdir charms
root@adminuser-VirtualBox:~# mkdir charms/trusty
root@adminuser-VirtualBox:~# cd charms/trusty
root@adminuser-VirtualBox:~# git clone
https://github.com/Archethought/spark-charm spark

// Deploy spark to specific node(s) in the cluster
// in particular, deploy spark-master to same node as yarn-hdfs-master
   juju status // which node machine is yarn-hdfs-master on ?
   // e.g. say machine: "4"
   // deploy spark-master to same node as yarn-hdfs-master
   juju deploy --repository=charms local:trusty/spark --to 4 spark-master
   juju deploy --repository=charms local:trusty/spark spark-slave
   juju add-relation spark-master:master spark-slave:slave

   // add relations - connect YARN to SPARK
   juju add-relation yarn-hdfs-master:resourcemanager spark-master
   juju add-relation yarn-hdfs-master:namenode spark-master
   juju status


Attached is my 'juju status'.

Any help is very appreciated,

Ken
root@adminuser-VirtualBox:~# juju status
environment: amazon
machines:
  "0":
agent-state: started
agent-version: 1.21.1
dns-name: 54.152.135.200
instance-id: i-a0b24a5a
instance-state: running
series: trusty
hardware: arch=amd64 cpu-cores=1 cpu-power=100 mem=1740M root-disk=8192M
state-server-member-status: has-vote
  "1":
agent-state: started
agent-version: 1.21.1
dns-name: 54.164.136.34
instance-id: i-4026e7af
instance-state: running
series: trusty
hardware: arch=amd64 cpu-cores=1 cpu-power=100 mem=1740M root-disk=8192M
  "2":
agent-state: started
agent-version: 1.21.1
dns-name: 54.152.183.122
instance-id: i-d81b7429
instance-state: running
series: trusty
hardware: arch=amd64 cpu-cores=1 cpu-power=100 mem=1740M root-disk=8192M
  "3":
agent-state: started
agent-version: 1.21.1
dns-name: 54.152.37.83
instance-id: i-68b74f92
instance-state: running
series: trusty
hardware: arch=amd64 cpu-cores=1 cpu-power=100 mem=1740M root-disk=8192M
  "4":
agent-state: started
agent-version: 1.21.1
dns-name: 54.152.140.119
instance-id: i-532aebbc
instance-state: running
series: trusty
hardware: arch=amd64 cpu-cores=1 cpu-power=100 mem=1740M root-disk=8192M
  "5":
agent-state: started
agent-version: 1.21.1
dns-name: 54.152.233.201
instance-id: i-ec3c521d
instance-state: running
series: trusty
hardware: arch=amd64 cpu-cores=1 cpu-power=100 mem=1740M root-disk=8192M
services:
  compute-node:
charm: cs:trusty/hdp-hadoop-4
exposed: false
relations:
  datanode:
  - yarn-hdfs-master
  nodemanager:
  - yarn-hdfs-master
units:
  compute-node/0:
agent-state: started
agent-version: 1.21.1
machine: "1"
open-ports:
- 8010/tcp
- 8025/tcp
- 8030/tcp
- 8050/tcp
- 8088/tcp
- 8141/tcp
- 8480/tcp
- 10020/tcp
- 19888/tcp
- 50010/tcp
- 50075/tcp
public-address: 54.164.136.34
  hdphive:
charm: cs:trusty/hdp-hive-2
exposed: false
relations:
  db:
  - mysql
  namenode:
  - yarn-hdfs-master
  resourcemanager:
  - yarn-hdfs-master
units:
  hdphive/0:
agent-state: started
agent-version: 1.21.1
machine: "2"
open-ports:
- 1/tcp
public-address: 54.152.183.122
  juju-gui:
charm: cs:trusty/juju-gui-17
exposed: true
units:
  juju-gui/0:
agent-state: started
agent-version: 1.21.1
machine: "0"
open-ports:
- 80/tcp
- 443/tcp
public-address: 54.152.135.200
  mysql:
charm: cs:trusty/mysql-4
exposed: false
relations:
  cluster:
  - mysql
  db:
  - hd

[Review Queue] Openbook

2015-02-03 Thread Matt Bruzek
I spent some time in the Review Queue yesterday reviewing the Openbook
charm.  The charm is written by our partner Talligent.  The charm is very
close to passing review and being included in the recommended section of
the charm store.

https://bugs.launchpad.net/charms/+bug/1411402

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


Re: simple stream for runabove

2015-02-03 Thread Patrick Hetu
> Bonjour Patrick,
>
Salut Thomas,


>
> Can you give us the result of the following command:
> juju metadata validate-tools
>

Tools are not a problem, images are:

u-ph:~$ juju metadata validate-images -e run
ERROR index file has no data for cloud {BHS-1 https://auth.runabove.io/v2.0}
not found
Resolve Metadata:
  source: default cloud images
  signed: false
  indexURL: http://cloud-images.ubuntu.com/releases/streams/v1/index.json
ERROR subprocess encountered error code 1

 u-ph:~$ juju metadata validate-tools -e run
Matching Tools Versions:
- 1.21.1-trusty-amd64
- 1.21.1-trusty-arm64
- 1.21.1-trusty-armhf
- 1.21.1-trusty-i386
- 1.21.1-trusty-ppc64el
Resolve Metadata:
  source: default simplestreams
  signed: true
  indexURL: https://streams.canonical.com/juju/tools/streams/v1/index2.sjson

In my environment.yaml in the run section I have:

image-metadata-url: "
https://storage.bhs-1.runabove.io/v1/AUTH_abcde.../ubuntu_stream/";

but it looks like juju metadata validate-images ignores it.


> Did you check/follow this :
> https://juju.ubuntu.com/docs/howto-privatecloud.html


Yep, I've follow this and copy the json structure from
http://cloud-images.ubuntu.com/releases/streams/v1/


>
> Best regards,
>
> On 03/02/2015 04:50, Patrick Hetu wrote:
> > Hi there,
> >
> > I'm trying to get Runabove's openstack cloud to work with Juju but
> > I can't get the simple stream to work. Simplestream.go seems to
> > just skip to index2.json because of an error but it didn't report
> > any:
> >
> > 2015-02-03 02:38:34 INFO juju.cmd supercommand.go:37 running juju
> > [1.21.1-utopic-amd64 gc] 2015-02-03 02:38:34 INFO
> > juju.provider.openstack provider.go:248 opening environment "run"
> > 2015-02-03 02:38:35 DEBUG juju.environs.configstore disk.go:336
> > writing jenv file to /home/avoine/.juju/environments/run.jenv
> > 2015-02-03 02:38:35 INFO juju.network network.go:106 setting
> > prefer-ipv6 to false 2015-02-03 02:38:35 DEBUG juju.environs
> > imagemetadata.go:105 trying datasource "keystone catalog"
> > 2015-02-03 02:38:35 DEBUG juju.environs.simplestreams
> > simplestreams.go:374 searching for metadata in datasource
> > "image-metadata-url" 2015-02-03 02:38:35 INFO juju.utils http.go:59
> > hostname SSL verification enabled 2015-02-03 02:38:35 DEBUG
> > juju.environs.simplestreams simplestreams.go:465 fetchData failed
> > for
> > "
> https://storage.bhs-1.runabove.io/v1/AUTH_XXX/ubuntu_stream/streams/v1/index2.sjson
> ":
> >
> >
> cannot find URL
> > "
> https://storage.bhs-1.runabove.io/v1/AUTH_XXX/ubuntu_stream/streams/v1/index2.sjson
> "
> >
> >
> not found
> > [...]
> >
> > This is what I have in my index.json
> >
> > { "index": { "com.ubuntu.cloud:released:runabove": { "updated":
> > "Mon, 02 Feb 2015 14:14:09 +", "clouds": [ { "region":
> > "BHS-1", "endpoint": "https://auth.runabove.io/v2.0"; }], "format":
> > "products:1.0", "datatype": "image-ids", "cloudname": "runabove",
> > "products": [ "com.ubuntu.cloud:server:12.04:amd64" ], "path":
> > "streams/v1/com.ubuntu.cloud:released:runabove.json" } } }
> >
> > and in com.ubuntu.cloud:released:runabove.json:
> >
> > { "updated": "Thu, 06 Nov 2014 13:28:28 +", "datatype":
> > "image-ids", "content_id": "com.ubuntu.cloud:released:runabove",
> > "products": { "com.ubuntu.cloud:server:12.04:amd64": { "release":
> > "precise", "version": "12.04", "arch": "amd64", "versions": {
> > "20141015.1": { "items": { "BHS-1": { "virt": "kvm", "crsn":
> > "BHS-1", "root_size": "8GB", "id":
> > "23b30a81-1b0f-45d3-8dc1-eed72091d020" } }, "pubname": "Ubuntu
> > Server 12.04 (amd64 20141015.1) - Image", "label": "release" } } }
> > }, "format": "products:1.0", "_aliases": { "crsn": { "BHS-1": {
> > "region": "BHS-1", "endpoint": "https://auth.runabove.io/v2.0"; } }
> > } }
> >
> > Tell me if you need more info. Also, should I bug the fact that
> > runabove is not in "the offical stream"?
> >
> > Thanks,
> >
> > Patrick
> >
> >
>
> - --
> Best Regards,
> Nicolas Thomas  -  Solution Architect   -   Canonical
> http://insights.ubuntu.com/?p=889
> GPG FPR: D592 4185 F099 9031 6590 6292 492F C740 F03A 7EB9
> -BEGIN PGP SIGNATURE-
> Version: GnuPG v1
>
> iQEcBAEBAgAGBQJU0HntAAoJEEkvx0DwOn65JBAH/2hwa14nFsZPj19EU7LLaGXa
> 3lqn/YKFYnLw6+JnS+oDsyOtcK8xz124g/Hg1yIzhothY1raudivcBphicqrE3+t
> dDnrQz/VKzZBtdlkOSUU9Q318sCkzV4jKak3VMNFjGoKj1d97dLhjcxLVR2+Moqs
> BnSkrmb9i/e2mulLzk3L/dnMPsCkV1P/mDMNgsW8qH/1YA0DqPiS0ShB8cvhzTuE
> H8Y++Pj6q9CBCBwky/ktS65pHWU+Pn53UDHKvfudNZz9VAAuHiY5UzAVhViTqXX8
> HXvgaIfePHXcCF8PItl03N9mOyABanUf6nYZC6jOtJ8A0Gnc/qoKMTQRIVKM18w=
> =zMel
> -END PGP SIGNATURE-
>
> --
> 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: django-python upgrade questions

2015-02-03 Thread Patrick Hetu
Hi Sheila,

Thank you for all your great ideas, for some backgrounds checkout a
discussion about the future of the charm in this thread:

  http://comments.gmane.org/gmane.linux.ubuntu.juju.user/1649

I'm working to rewrite the charm using Ansible so I don't think I'll add
new features to the current "pure python" charm.
But all your comments are really welcome for helping building the new charm.

2015-01-09 10:29 GMT-05:00 sheila miguez :

> I need to have upgrade functionality for this charm. I'm not experienced
> with writing hooks, so I want to check my assumptions and ask questions.
>
> Here begins the wall of text.
>
> During install, configure_and_install[1] is called in the install hook to
> install Django and, optionally, South.
>
> configure_and_install is handling concerns that I think would be better to
> split out.
>
> Here is the current logic:
>   * if the user specifies a ppa, it will add the ppa
>   * if the user specifies a key, it will add the key
>   * if the method is somehow called with an empty string, it bails
>   * otherwise it defaults to pip
>
> I think it would be better to break this up.
>
> Adding apt repositories and keys should be done separately. Config items
> could be added for a ppa list and a key list. Install could check for those
> and add them regardless of any django or south concerns.
>

I agree with you. The idea will be to create an "aptkit" ansible role that
could be reuse as many time that you need in the charm's playbook see:


http://bazaar.launchpad.net/~patrick-hetu/charms/precise/python-django/ansible_reboot/view/head:/playbooks/roles/aptkit/defaults/main.yml

or you could use "pure" ansible modules in the in the pre_tasks section:

  http://docs.ansible.com/apt_repository_module.html


>
> Django and South versions/distro/whatever would proceed separately.
>

The idea here was to create a "django-app" ansible role that handle is
dependencies independently of the other apps:


http://bazaar.launchpad.net/~patrick-hetu/charms/precise/python-django/ansible_reboot/view/head:/playbooks/roles/django-app/tasks/main.yml


> This makes upgrade simpler, I think. Upgrade would have similar steps to
> install, but I have a question about idempotence when adding apt
> repositories and keys. Are those idempotent? If not, then refactoring them
> out of that method makes it easier to idempotently handle Django and South
> dependencies.
>

They should be idempotent because apt-add-repository, pip, apt-get are
idempotent and in the pure-python charm they are checked every time
configuration change.
So changing the ppa should upgrade the packages.


>
> Now on to general plans for upgrade hook. It needs these to be added, but
> I want to know if my assumptions are mistaken:
>   * ability to pull new src
>   * ability to upgrade django and south
>   * ability re-inject settings
>
>
I think those actions could be done via configuration changes and not
necessarily via an explicit upgrade but drawing the line is tricky.
I'm trying to build the new charm in a way that it would be easier to be
integrated in a continuous integration workflow but I'm really not sure how
thing would work.


> And one general observation I have -- if I could remove some of the
> options this charm allows, it would be easier to deal with. e.g. not give
> many options for how packages are installed. Force people to do it only one
> way. Pick a recommended practice and stick with it. I recommend taking a
> look at what audryr and pydanny suggest, but ultimately, whatever devops
> people decide to want, I will roll with it. but pick one way.
>

 I don't think there is a clear recommended practice that I can stick with.


> To sum up, if you reached this far, I'd really like for my assumptions to
> be checked and corrected. Help!
>


> Ps. as a side note, you can see some of the tiny incremental changes I'm
> thinking about in my branch[2]. I need to have the ability to install a
> project from a tarball due to lack of access. I'm not sure I will
> ultimately request any merge for tarball functionality as it is really
> janky. but it's what I have to work with based on what we've been doing at
> work.
>

Yeah, I can really see how this feature would be useful. Also, Micheal is
working on something similar:

  https://github.com/absoludity/charm-ansible-roles/tree/master/wsgi-app

Thanks again and sry to have took so long to answer.

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