Created by Xiaoming Wang on 2014-01-23 and last modified on 2014-09-24
Get this branch:
bzr branch lp:~xwang2713/charms/precise/hpcc/trunk
Only Xiaoming Wang can upload to this branch. If you are Xiaoming Wang please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Xiaoming Wang

Recent revisions

14. By Xiaoming Wang on 2014-09-24

Re-implement to make configuration not immutable

1. Simplify config.yaml to have 3 set of configuration:
   a. HPCC package version and checksum
   b. SSH Keys
   c. HPCC components configratation (thor/roxie)

2. Re-implement config-changed hook
   a. Update HPCC package. HPCC has related short release cycle.
      Usually every 2-3 months there is a new/update release.
      User can update HPCC package by:
         juju set <hpcc service> hpcc-version=<new version> package-checksum=<checksum>

   b. Update SSH Keys
         juju set <hpcc service> ssh-key-public=<new key> ssh-key-private=<new key>

   c. Update HPCC cluster topology:
         juju set <hpcc service> thor-ratio=<new ratio> roxie-ratio=<new ratio>
      The ratio is based on compute nodes which is <number of unit node> minus
      <support node>.

3. Update README.md. Particularly add 4GB memory requirement.

4. Make the scripts under hpcc/bin optinal. There is a readme which tell the purpose
   of these scripts

5. We still support juju local provider
   But due to the problem reported in launchpad bug 1288969 it can run multiple roxie
   nodes in lxc environment. If users want launch multiple nodes they need set
   roxie-ratio to 0 in config.yaml.

13. By Xiaoming Wang on 2014-09-16

Get ESP public ip from unit name

12. By Xiaoming Wang on 2014-08-19

Fix HPCC version and amazon retrieve public ip script

11. By Xiaoming Wang on 2014-08-18

Update for HPCC 5.0.0-3 release
Enable HPCC reconfiguration in dapart hook
Correct directory typo for dependencies

10. By Xiaoming Wang on 2014-03-08

Add fix for config-get update
If config-get bug fixed previous fix_private_key will break
This update fix the problem

9. By Xiaoming Wang on 2014-03-06

During test we found config-get return string has newlines replaced with spaces.
This prevent us using ssh private key defined through config.yaml.
I opened bug report at launchpad project juju-core: bug# 1288960
Here is a workaround for HPCC side: add newlines after retrive ssh private value
from config-get

8. By Xiaoming Wang on 2014-03-06

Again, thanks for taking time to review HPCC Charm. Based on the 5th review we made following changes:
1) add '-e' bash option for all the hook scripts
   So if any statement return non-zero value the hook script will stop
2) Remove unused charm upgrade and hpcc-relation-changed hooks
   The later will result "INFO" level message from 'juju charm proof'
   as expected.
3) For reported HPCC roxie process fails to start, it is due to lacking
   of network resource (/proc/sys/net/core/rmem_max. It is only happens
   on some Juju local environment. We will open a bug against juju-core.

7. By Xiaoming Wang on 2014-02-27

Fix missing ssh keys for single instance deployment

6. By Xiaoming Wang on 2014-02-20

Again, thanks for taking time to review HPCC Charm. Based on the 4th review we made following changes:
1) remove extra precise/hpcc directories in repository
2) enforce checksum validation before installing HPCC package. If checksum not
   supplied message will be logged with juju-log (though log as INFO) and exit 1
   We will defer sha1sum implementation due to the time limit.
3) Add check status after starting HPCC. It is neccessory even start run
   successfully (return code 0) becasue some processes may exit unexpectedly.
   A variable "start-check-wait" in seconds is introduced in config.yaml to delay
   the checking.
   If error found messsage logged to tell user where to find the detail about
   the error: /var/log/HPCCSystems/<component>/

4) Update README. It adds a link to HPCC Hardware requirement. HPCC require
   4GB memory. With less memory some processes may not start successfully or
   even started may not function correctly.

5. By Xiaoming Wang on 2014-02-10

Again, thanks for taking time to review HPCC Charm. Based on the 3rd review we made following change
1) Add restart in start hook

2) Add checksum validation. We add a string package-checksum in config.yaml. If it is not empty inst
all script will use it to validate the downloaded package before install. In future our download sit
e will provide md5sum file so validate will be conducted automatically wihtout this setting.

3) Fix the open-port which was broken before.

4) Add implementation to automatically generate ssh key pair if user doesn't provide them in config.
yaml. Basically if no keys supplied in config.yaml every new joined node will try to use existing ssh keys through relation-get. If can find it will call ssh-keygen to create new pair. In relation-chanage hook every node will use the keys from lowest ip node if there are different thant its pair. It shouldn't have overhead since when every nodes has the same pair of key. We tested in various scenarios, for example deploy multiple nodes, add new nodes, etc. There is a restriction: user can not change the keys setting in config.yaml after the charm deployed. It will be added in future enhancement.

5) We add CentOS prerequisite but never test it. Actually we are not sure if current juju charm supp
ort CentOS or Fedora.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
This branch contains Public information 
Everyone can see this information.