lp:~xwang2713/charms/precise/hpcc/hpcc-5.0
- Get this branch:
- bzr branch lp:~xwang2713/charms/precise/hpcc/hpcc-5.0
Branch merges
Branch information
- Owner:
- Xiaoming Wang
- Status:
- Development
Recent revisions
- 11. By Xiaoming Wang
-
Update for HPCC 5.0.0-3 release
Enable HPCC reconfiguration in dapart hook
Correct directory typo for dependencies - 10. By Xiaoming Wang
-
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
-
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
-
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
execution.
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. - 6. By Xiaoming Wang
-
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
-
Again, thanks for taking time to review HPCC Charm. Based on the 3rd review we made following change
s:
1) Add restart in start hook2) 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. - 3. By Xiaoming Wang
-
Based on the second review the following modifications are made:
1) replaced /var/lib/
juju/hpcc_ data with /var/lib/ HPCCSystems/ charm
All hpcc charm related user data saved in there. For example, ip files, url, etc2) Add two string variables: ssh-key-public and ssh-key-private. User can generate
ssh key pair and copy/paste the public key and private to these variables.
install hook script will use the values if defined. Otherwise default ssh key pair
will be used.It would be nice if we can generate key paris if user doesn't supply them. But we only
want to have one pair of key fo reach clusters and not sure how to garrantte only
one unit generating the key when relation changed. We will leave it to future enhancement.3) README file is updated to reflect the change in 2)
- 2. By Xiaoming Wang
-
Based on the initial review the following modifications are made:
1) replaced /tmp with /var/lib/juju/hpcc which is created during install hook
We do not use $CHARM_DIR since we want this directory to have the same name for all nodes.
We cannot find variable $CHARM_ROOT. If there is a variable to point to /var/lib/juju we will
be happy to use it instead of the hard-coded /var/lib/juju.2) hpcc relation hook. For the first release there are no other charms related to hpcc. But
in near future we will add other related charms, for example, ganglia-monitor and hadoop
support, etc. We add an empty hpcc-relation-changed hook to satisfy the 'juju charm proof' 3) There is a potential security risk by using supplied ssh-key. For local deployment
we added a sentence to recommend users to generate their own keys and replace the ones in hpcc/ssh-keys
directory. For deploy directly from juju-store we don't know how to use users' generated keys.4) Regarding the README section on help scripts under hpcc/bin:
Users would need to download the charm to use the scripts.
There are two main shell scripts. These are now explained in the readme (see below). The other two
python scripts are support scripts and users do not call them directly.config_hpcc.sh : When you use the `juju add-unit` command to add nodes, scripts are called automatically
to provide a default configuration. If you want to configure manually, set auto-gen to 0, wait for all
nodes to be in a "started" state, then call the config_hpcc.sh script using the following parameters:./
config_ hpcc.sh -thornodes <# of thor nodes> -roxienodes <# of roxie nodes> -supportnodes
<# of support nodes> -slavespernode <#of thor slaves per node>
Another useful script reports the URL for the ECL Watch node. Call the get-url.sh script to display the
cluster configuration and the URL for the ECL Watch service.5) We updated the icon.svg file with our company logo
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)