Explorar o código

HPCC-11289 Add README file for HPCC Juju Charm Development

Remove the source code to avoid duplicated repositories.
Xiaoming Wang %!s(int64=10) %!d(string=hai) anos
pai
achega
37d0fb7f7d

+ 80 - 0
charm/README

@@ -0,0 +1,80 @@
+HPCC Juju Charm Development Guide
+
+Table of Contents
+-----------------
+Introduction
+How to get source code
+How to open a bug
+How to work on a bug or new feature code
+
+
+Introduction
+------------
+HPCC Juju Charm helps users deploy HPCC Platform on various cloud environment.
+It can be deployed either directly from charm store or on local system image.
+It currently supports deploying HPCC to Ubuntu 12.04 amd64 (precise) and 14.04 amd64 (trusty).
+
+Development system is also on Ubuntu precise or trusty for easily test with local provider.
+
+There are not many differences between precise and trusty codes except HPCC images, checksum
+and README items.
+
+HPCC Juju Charm for precise:  https://jujucharms.com/hpcc/precise/
+HPCC Juju Charm for trusty:  https://jujucharms.com/hpcc/trusty/
+
+Juju charm Documentation: https://juju.ubuntu.com/docs/
+
+
+How to get source code
+----------------------
+1. Install charm-tools
+   sudo add-apt-repository ppa:juju/stable
+   sudo apt-get update
+   sudo apt-get install charm-tools
+   sudo apt-get bzr
+
+2. Get HPCC Juju Charm source for Ubuntu precise:
+   mkdir precise
+
+   download Download.zip from  https://jujucharms.com/hpcc/precise
+   or
+   charm get cs:precise/hpcc
+   or
+   bzr branch ip:~charmers/charms/precise/hpcc/trunk hpcc
+
+3. Get HPCC Juju Charm source for Ubuntu trusty:
+   mkdir trusty
+   download Download.zip from  https://jujucharms.com/hpcc/trusty
+   or
+   charm get cs:trusty/hpcc
+   or
+   bzr branch ip:~charmers/charms/trusty/hpcc/trunk hpcc
+
+How to open a bug
+----------------------------------------
+1. Create launchpad id if haven't at: https://launchpad.net
+2. https://bugs.launchpad.net/juju-core/+filebug
+
+
+How to work on a bug or new feature code
+----------------------------------------
+For development (fix bugs or add new features) you should checkout the source code
+from launchpad with bzr command as documented in "How to get source code" section.
+
+After you get the source code you can work with the code:
+1. Make your changes
+2. bzr commit -m "<comment>"
+3  bzr push lp:~<your-launchpad-username>/charms/<precise|trusty>/hpcc/<branch name>
+   This is where you could create a merge proposal with the hpcc charm
+
+4. If you are or  want to be the  owner of the bug
+   Click on "Link to related branch" in
+     https://bugs.launchpad.net/charms/+source/hpcc/+bug/<bug number>
+5. Assign the bug to yourself
+6. Change the status to "Fix Committed"
+7. That should enter your bug in the review queue. Juju Charm Development team will
+   assign a tester/developer to review it.
+
+
+Reference https://juju.ubuntu.com/docs/authors-charm-store.html#submitting-a-fix-to-an-existing-charm
+for more information

+ 0 - 105
charm/precise/hpcc/README.md

@@ -1,105 +0,0 @@
-# Overview
-
-[HPCC Systems,](http://HPCCSystems.com) an open source High Performance Computing Cluster, is a massive parallel-processing computing platform that solves Big Data problems. HPCC Systems is an enterprise-proven platform for manipulating, transforming, querying, and data warehousing Big Data. Built by LexisNexis, the HPCC platform has helped it grow to a $1.5 billion information solutions company.
-
-The HPCC Systems architecture incorporates a data query engine (called Thor) and a data delivery engine (called Roxie), as well as common middleware support components, an external communications layer, client interfaces which provide both end-user services and system management tools, and auxiliary components to support monitoring and to facilitate loading and storing of file system data from external sources.
-
-An HPCC environment can include only Thor clusters, or both Thor and Roxie clusters. The HPCC Juju charm creates a cluster which contains both, but you can customize it after deployment.
-
-See [How it Works](http://www.hpccsystems.com/Why-HPCC/How-it-works)  for more details. 
-
-See [System Requirements](http://hpccsystems.com/download/docs/system-requirements) for  hardware details. 
-
-The HPCC Juju Charm encapsulates best practice configurations for the HPCC  Systems Platform.  You can use a Juju Charm to stand up an HPCC Platform on:
-
-- Local Provider (LXC)
-
-- Amazon Web Services Cloud
-
-
-# Usage
-
-## General Usage
-
-1. To deploy an HPCC Cluster:
-
-    `juju deploy hpcc <cluster_name>`
-
-    **For example:**
-
-        'juju deploy hpcc cluster1`
-
-1. To check the status , run
-        juju status
-
-        You also can log into the node to check if HPCC is properly installed.
-
-        `juju ssh cluster1/0`
-
-Once the service is deployed and running, you can find the address for the GUI by running juju status and looking for the public-address field for the juju-gui service
-
-1.  Once HPCC is properly installed, you can add more nodes using this command:
-
-        `juju add-unit <cluster_name> -n <#_of_nodes_to_add>`
-
-    **For example:**
-
-        `juju add-unit cluster1 -n 3`
-
-1. You can expose the HPCC cluster by running:
-
-       `juju expose <cluster_name>`
-
-Once the service is deployed, running, and exposed, you can find the address for the ECL Watch Web interface by running juju status and looking for the public-address field. Type that address plus :8010 for the port.
-
-For example, **nnn.nnn.nnn.nnn:8010**.
-
-If you have multiple nodes, the ECL Watch node will be the lowest IP address (first hpcc node listed).
-
-
-
-# Configuration
-
-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.
-
-### ssh-keys ###
-The hpcc charm automatically generates a key pair  (*id\_rsa*  &  *id\_rsa.pub*) to configure nodes. 
-
-If you already have your own key pair and wish to use it, copy and paste their contents into the two variables (*ssh-key-public* and *ssh-key-private*) in the configuration file (config.yaml) or in the Juju canvas configuration settings.  
-
-### Verifying the checksum
-The charm uses an md5sum to verify the checksum of the HPCC platform  package before installing.  
-
-For this version of the charm, it is set to check the md5sum for the Community Edition Version 4.2.0-4 for Ubuntu 12.04. To verify a different version, edition, or OS version, change the value of the md5sum in the package-checksum variable in config.yaml. 
-
- 
-
-### AWS Cloud
-
-When deploying to Amazon Web Services Cloud, the charm automatically opens for external access, the following ports:
-
-- Port **8010** for ECLWatch access
-- Port **8002** for WsECL access.
-- Port **9876** for direct Roxie access
-- Port **8015** for Configuration Manager access.  
-
-### Next Steps ###
-
-After deploying and adding nodes, you can tweak various options to optimize your HPCC deployment to meet your needs.
- 
-See [HPCC Systems Web site](http://HPCCSystems.com) for more details.
-
-
-# HPCC Systems Contact Information
-
-[HPCC Systems Web site](http://HPCCSystems.com)
-
-For support, visit the HPCC Community Forums:
-[HPCC Community Forums](http://hpccsystems.com/bb/index.php?sid=0bda2dddb2ea50418357171d33b11e5f)

+ 0 - 244
charm/precise/hpcc/bin/config_hpcc.sh

@@ -1,244 +0,0 @@
-#!/bin/bash
-
-function usage()
-{
-   cat <<EOF
-
-    Trigger HPCC envgen with charm configure changed hook
-    Usage:  $(basename $0) <options>
-    where
-       -name <service name> :
-          Juju charm service name. Then name can be provided at charm
-          deploy name. The default is the same as charm name.  This will
-          identify HPCC cluster.
-
-       -supportnodes <number of support nodes>:
-          Number of nodes to be used for non-Thor and non-Roxie components.
-          If not specified or specified as 0, thor and roxie nodes may
-          overlap with support nodes. If an invalid value is provided,
-          support nodes are treated to be 0
-
-       -roxienodes <number of roxie nodes>:
-          Number of nodes to be generated for roxie. If not specified or
-          specified as 0, no roxie nodes are generated
-
-       -thornodes <number of thor nodes>: Number of nodes to be generated
-          for thor slaves. A node for thor master is automatically added.
-          If not specified or specified as 0, no thor nodes are generated
-
-       -slavespernode <number of thor slaves per node>:
-          Number of thor nodes per slave.
-
-
-       -list:
-          List envgen optios only.
-
-       -updateonly :
-          Update config values only. Will not trigger envgen. This is
-          mainly for update values before add new nodes. So new nodes
-          relation changed hooks will generate desired environment.xml.
-
-    The value with "+" mean add to original number.
-    The value with "-" mean substract from original number.
-
-EOF
-}
-
-function get_service_information()
-{
-   _options=
-
-   [ -n "${service[service_name]}" ] && _options="-s ${service[service_name]}"
-
-   service_info=$(python ${ABS_CWD}/parse_status.py $_options)
-   service_list=( $service_info )
-   for item in "${service_list[@]}"
-   do
-       key=$(echo $item | cut -d '=' -f1)
-       value=$(echo $item | cut -d '=' -f2)
-       [ -n "$key" ] && service["$key"]=$value
-   done
-}
-
-function get_current_config()
-{
-   juju get ${service[service_name]} > /tmp/${service[service_name]}.cfg
-   config_info=$(python ${CWD}/parse_config.py /tmp/${service[service_name]}.cfg)
-   config_list=( $config_info )
-   for item in "${config_list[@]}"
-   do
-       key=$(echo $item | cut -d '=' -f1)
-       value=$(echo $item | cut -d '=' -f2)
-       [ -n "$key" ] && config["$key"]=$value
-   done
-   current_signature="${config[supportnodes]}-${config[roxienodes]}-${config[thornodes]}-${config[slavesPerNode]}"
-}
-
-
-function display_current_configuration()
-{
-   printf "%s%-15s: %8d\n" "$INDENT" "Support nodes" ${config[supportnodes]}
-   printf "%s%-15s: %8d\n" "$INDENT" "Roxie nodes" ${config[roxienodes]}
-   printf "%s%-15s: %8d\n" "$INDENT" "Thor nodes" ${config[thornodes]}
-   printf "%s%-15s: %8d\n" "$INDENT" "Slaves per node" ${config[slavesPerNode]}
-
-   #envgen_status="Current environment.xml probably already has above settings"
-   #if [ "$current_signation" != "${config[slavesPerNode]}" ]
-   #then
-   #   envgen_status="Current environment.xml probably doesnot have above settings"
-   #fi
-   #printf "%s%-15s: %s\n"  "$INDENT" "Status" "$envgen_status"
-
-   printf "\n"
-
-}
-
-function update_value()
-{
-   original_value=$1
-   [ -z "$2" ] && echo "$original_value" && return
-
-   input_value=$2
-
-   echo $input_value | grep -q -e "^[[:digit:]]"
-   [ $? -eq 0 ] && echo "${input_value}" && return
-
-   echo $input_value | grep -q -e "^+"
-   [ $? -eq 0 ] &&  input_value=${input_value:1}
-
-   echo "$(expr $original_value \+ ${input_value})"
-
-}
-
-function update_configuration()
-{
-   printf "%s%-15s  %8s %8s\n" "$INDENT" "ENVGEN OPTIONS" "BEFORE" "NOW"
-   printf "%s%s\n" "$INDENT" "----------------------------------"
-
-   supportnodes=$(update_value ${config[supportnodes]}  ${inputs[supportnodes]})
-   printf "%s%-15s: %8d %8d\n" "$INDENT" "Support nodes" \
-           ${config[supportnodes]} $supportnodes
-   config[supportnodes]=$supportnodes
-
-   roxienodes=$(update_value ${config[roxienodes]}  ${inputs[roxienodes]})
-   printf "%s%-15s: %8d %8d\n" "$INDENT" "Roxie nodes" \
-           ${config[roxienodes]} $roxienodes
-   config[roxienodes]=$roxienodes
-
-   thornodes=$(update_value ${config[thornodes]}  ${inputs[thornodes]})
-   printf "%s%-15s: %8d %8d\n" "$INDENT" "Thor nodes" \
-           ${config[thornodes]} $thornodes
-   config[thornodes]=$thornodes
-
-   slavesPerNode=$(update_value ${config[slavesPerNode]}  ${inputs[slavesPerNode]})
-   printf "%s%-15s: %8d %8d\n" "$INDENT" "Slaves Per Node" \
-           ${config[slavesPerNode]} $slavesPerNode
-   config[slavesPerNode]=$slavesPerNode
-
-   printf "\n"
-
-   if [ $update_only -eq 0 ]
-   then
-      config[envgen_signature]="${config[supportnodes]}-${config[roxienodes]}-${config[thornodes]}-${config[slavesPerNode]}"
-   fi
-
-}
-
-##
-## Main
-##################
-
-CWD=$(dirname $0)
-
-CUR_DIR=$(pwd)
-cd $CWD
-ABS_CWD=$(pwd)
-cd $CUR_DIR
-
-CHARM_NAME=$(basename $(dirname $ABS_CWD))
-
-
-declare -A inputs
-inputs[thornodes]=
-inputs[roxienodes]=
-inputs[supportnodes]=
-inputs[slavesPerNode]=
-
-list_only=0
-update_only=0
-
-declare -A config
-declare -A service
-service[service_name]=
-
-INDENT="    "
-
-
-num_args=$#
-for ((i=1; i<=num_args; i++))
-do
-  case $1 in
-    -name) shift
-            i=$(expr $i \+ 1)
-            service[service_name]=$1
-            ;;
-    -thornodes) shift
-            i=$(expr $i \+ 1)
-            inputs[thornodes]=$1
-            ;;
-    -roxienodes) shift
-            i=$(expr $i \+ 1)
-            inputs[roxienodes]=$1
-            ;;
-    -supportnodes) shift
-            i=$(expr $i \+ 1)
-            inputs[supportnodes]=$1
-            ;;
-    -slavespernode) shift
-            i=$(expr $i \+ 1)
-            inputs[slavesPerNode]=$1
-            ;;
-    -list) list_only=1
-            ;;
-    -updateonly) update_only=1
-            ;;
-    *) usage
-       exit 0
-  esac
-  shift
-done
-
-get_service_information
-get_current_config
-
-#for key in "${!inputs[@]}"
-#do
-#   echo "$key : ${inputs[$key]}"
-#done
-
-
-#echo "list_only=$list_only"
-#echo "update_only=$update_only"
-
-printf "\n"
-printf "%s%-15s: %-20s\n" "$INDENT" "CHARM NAME" "$CHARM_NAME"
-printf "%s%-15s: %-20s\n" "$INDENT" "SERVICE NAME" "${service[service_name]}"
-printf "%s%-15s: %-20s\n" "$INDENT" "UNIT NUMBER" "${service[unit_number]}"
-printf "\n"
-
-if [ $list_only -eq 1 ]
-then
-   display_current_configuration
-   exit
-fi
-
-
-update_configuration
-
-
-juju set ${service[service_name]} \
-           envgen-signature=${config[envgen_signature]} \
-           thornodes=${config[thornodes]} \
-           roxienodes=${config[roxienodes]} \
-           supportnodes=${config[supportnodes]} \
-           slavesPerNode=${config[slavesPerNode]}

+ 0 - 71
charm/precise/hpcc/bin/get_url.sh

@@ -1,71 +0,0 @@
-#!/bin/bash
-
-
-function get_service_information()
-{
-
-
-   service_info=$(python ${ABS_CWD}/parse_status.py)
-   service_list=( $service_info )
-   for item in "${service_list[@]}"
-   do
-       key=$(echo $item | cut -d '=' -f1)
-       value=$(echo $item | cut -d '=' -f2)
-       if [ "$key" = "service_name" ]
-       then
-         service_name=$value
-         break
-       fi
-   done
-}
-
-
-##
-## Main
-##################
-
-CWD=$(dirname $0)
-
-CUR_DIR=$(pwd)
-cd $CWD
-ABS_CWD=$(pwd)
-cd $CUR_DIR
-
-CHARM_NAME=$(basename $(dirname $ABS_CWD))
-
-
-unit_name=$1
-service_name=
-
-eclwatch_url_file=eclwatch_url.txt
-LOCAL_ENV_FILE=/tmp/environment.xml
-LOCAL_URL_FILE=/tmp/${eclwatch_url_file}
-
-[ -e $LOCAL_ENV_FILE ] && rm -rf  $LOCAL_ENV_FILE
-[ -e $LOCAL_URL_FILE ] && rm -rf  $LOCAL_URL_FILE
-
-
-if [ -z "$unit_name" ]
-then
-  get_service_information
-  unit_name=$(juju status | grep "${service_name}/" | \
-    /usr/bin/head -n 1 | cut -d: -f1)
-fi
-
-juju scp ${unit_name}:/etc/HPCCSystems/environment.xml $LOCAL_ENV_FILE  > /dev/null 2>&1
-
-juju scp ${unit_name}:/var/lib/HPCCSystems/charm/${eclwatch_url_file} $LOCAL_URL_FILE > /dev/null 2>&1
-
-if [ -e $LOCAL_URL_FILE ]
-then
-   echo "ECLWatch URL: $(cat $LOCAL_URL_FILE)"
-else
-   echo "Failed to get $eclwatch_url_file from unit ${unit_name}"
-fi
-
-if [ -e $LOCAL_ENV_FILE ]
-then
-   echo "HPCC environment.xml is available under /tmp/"
-else
-   echo "Failed to get environment.xml from unit ${unit_name}"
-fi

+ 0 - 20
charm/precise/hpcc/bin/parse_config.py

@@ -1,20 +0,0 @@
-import sys
-import yaml
-
-config_file = sys.argv[1]
-stream = file(config_file, "r")
-config = yaml.load(stream)
-
-envgen_options = [ 'roxienodes',
-                   'slavesPerNode',
-                   'supportnodes',
-                   'thornodes',
-                   'envgen-signature'
-                 ]
-
-for option in envgen_options:
-  try:
-      value = config["settings"][option]["value"]
-  except:
-      value = ""
-  print (option + "=" + str(value))

+ 0 - 121
charm/precise/hpcc/bin/parse_status.py

@@ -1,121 +0,0 @@
-import sys
-import os.path
-import yaml
-import getopt
-import re
-#from subprocess import call
-
-
-def Usage():
-    print("\nUsage parse_status.py [options]\n")
-    print("  -?, --help      print help")
-    print("  -f, --file      Juju status file name. This is optional")
-    print("  -q, --query     Query information from juju status. Multiple")
-    print("                  query can be requested and seperated by comma")
-    print("  -s, --service   Charm service name. In chance deployed multiple")
-    print("                  service names for difference HPCC cluster this")
-    print("                  option should be provided, otherwise first service")
-    print("                  name will be used.")
-    print("\n")
-
-
-
-def LoadYamlObject():
-   global config
-   global status_file_name
-
-   stream = file(status_file_name, "r")
-   config = yaml.load(stream)
-
-def GetServiceName():
-   global service_name
-   global charm_name
-
-   if (service_name != "" ):
-      return
-   pattern = re.compile(".*\/"+charm_name+"-\d+")
-   for key in config["services"].keys():
-      if (pattern.match(config["services"][key]["charm"])):
-         service_name = key
-         print("service_name=" + key)
-         break
-
-def GetNumOfUnites():
-   global service_name
-
-   if (service_name == ""):
-      GetServiceName()
-
-   if (service_name == ""):
-      return
-
-   number_of_units = len(config["services"][service_name]["units"].keys())
-   print("unit_number=" + str(number_of_units))
-
-def ParseStatus():
-   global query_actions
-   global query_all
-
-   for action in query_all:
-       if (action == "service"):
-           GetServiceName()
-       elif (action == "num_of_units"):
-           GetNumOfUnites()
-
-
-
-
-if __name__ == "__main__":
-
-   charm_name= os.path.basename(
-               os.path.dirname(
-               os.path.dirname(
-               os.path.realpath(__file__))))
-
-   config =  None
-
-   query_all     = [
-                     "service",
-                     "num_of_units",
-                   ]
-   query_actions = ""
-   query_list = []
-   service_name = ""
-   status_file_name = ""
-
-   try:
-      opts, args = getopt.getopt(sys.argv[1:],":q:f:s:",
-           ["help", "query", "file", "service"])
-
-   except getopt.GetoptError as err:
-      print(str(err))
-      Usage()
-      exit()
-
-   for arg, value in opts:
-      if arg in ("-?", "--help"):
-         Usage()
-         exit(0)
-      elif arg in ("-q", "--query"):
-         query_actions = value
-      elif arg in ("-s", "--service"):
-         service_name = value
-      elif arg in ("-f", "--file"):
-         status_file_name = value
-      else:
-         print("\nUnknown option: " + arg)
-         Usage()
-         exit(0)
-
-   if ( query_actions != "" ):
-       query_list =  query_actions.split(',')
-   else:
-       query_list =  query_all
-
-   if ( status_file_name == "" ):
-      status_file_name = "/tmp/juju_status.txt"
-      os.system("juju status > " + status_file_name)
-
-   LoadYamlObject()
-
-   ParseStatus()

+ 0 - 111
charm/precise/hpcc/config.yaml

@@ -1,111 +0,0 @@
-options:
-
-  base-url:
-    type: string
-    default: http://cdn.hpccsystems.com/releases
-    description: HPCC download base URL
-
-  hpcc-version:
-    type: string
-    default: 4.2.0-4
-    description: HPCC package version
-
-  hpcc-type:
-    type: string
-    default: CE
-    description: HPCC package type -  CE (Community Edition) is only choice now.
-
-  package-checksum:
-    type: string
-    default: bc2fb0ad5f9fa1eaf7a33483ec31bfa3
-    description: |
-      HPCC package checksum. The default the value is for HPCC CE 4.2.0-4 Ubunut
-      12.04 amd64. User can get other package checksum from:
-           http://hpccsystems.com/download
-      In future HPCCSystem download site will provide checksum file which will
-      allow automatically verification without this setting.
-      Set this value to empty string to skip the validation when download the
-      package.
-   
-  start-check-delay:
-    type: int
-    default: 5
-    description: |
-      Delay time in seconds. If the value is not zero it will wait amount of time
-      before checking the HPCC processes status. Otherwise will check immediately
-      after start.
-
-  download-url:
-    type: string
-    default: ""
-    description: |
-      Download URL. If this is defined all above three download related settings 
-      are ignored.
-
-  ssh-key-public:
-    type: string
-    default: ""
-    description: The content of public SSH Key
-
-  ssh-key-private:
-    type: string
-    default: ""
-    description: The content of private SSH Key
-
-
-
-# HPCC environment variable - Do we want to define them here?
-
-# Control when to run envgen
-  auto-gen:
-    type: int
-    default: 1
-    description: |
-      0: will not generate HPCC cluster configuration in relation-changed hook.
-         User need manually run bin/config_hpcc.sh script to do it.
-      1: automatically generate HPCC cluster configuration in relation-changed
-         hook with following topology with nodes N:
-           1 support nodes, N-1 thor nodes, and N-1 roxie nodes.
-      2: automatically generate HPCC cluster configuration in relation-changed
-         hook with parameters defined in service configuration. Usually user
-         run bin/config_hpcc.sh script with option -updateonly to set parameters
-         before add nodes to the cluster.
-
-
-# Following variables should not be changed directly by end users
-
-  envgen-signature:
-    type: string
-    default: ""
-    description: |
-      When manually trigger envgen set this variable as:
-        <supportnodes>-<roxienodes>-<thornodes>-<slavePerNode>
-      This will prevent unwanted running of envgen when roxienode/thornodes increase with new node join.
-      Each node also will keep previous envgen-sigature value in a file
-      Only previous value is different than current envgen-signature
-      will trigger envgen  from config-changed. It is for non-envgen related config variable update,(for example: download-url for HPCC update).
-      In this case, we don't want to trigger envgen.
-
-
-# Following are the parameters for envgen which will create environment.xml
-# Reference HPCC Platform envgen usage for more details
-
-  supportnodes:
-    type: int
-    default: 1
-    description: Number of nodes to be used for non-Thor and non-Roxie components.
-
-  roxienodes:
-    type: int
-    default: 1
-    description: Number of nodes to be generated for roxie.
-
-  thornodes:
-    type: int
-    default: 1
-    description: Number of nodes to be generated for thor.
-
-  slavesPerNode:
-    type: int
-    default: 0
-    description: Number of thor slaves per node.

+ 0 - 16
charm/precise/hpcc/copyright

@@ -1,16 +0,0 @@
-[ Please note: HPCC SYSTEMS now licenses the HPCC Systems Community Edition, starting with v3.8, under the Apache v2 license agreement.  Appropriate files are being updated. ]
-
-
-HPCC SYSTEMS software Copyright (C) 2012 HPCC Systems.
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-   you may not use this file except in compliance with the License.
-   You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-   Unless required by applicable law or agreed to in writing, software
-   distributed under the License is distributed on an "AS IS" BASIS,
-   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-   See the License for the specific language governing permissions and
-   limitations under the License.

+ 0 - 1
charm/precise/hpcc/dependences/el6

@@ -1 +0,0 @@
-yum install -y boost-regex openldap libicu m4 libtool libxslt libxml2 gcc-c++ openssh-server openssh-clients expect libarchive rsync

+ 0 - 3
charm/precise/hpcc/dependences/precise

@@ -1,3 +0,0 @@
-#!/bin/bash
-
-DEBIAN_FRONTEND=noninteractive apt-get -y install libboost-regex1.46.1 libicu48 libxalan110 libxerces-c28 binutils libldap-2.4-2 openssl zlib1g g++ openssh-client openssh-server expect libarchive12 rsync

+ 0 - 3
charm/precise/hpcc/dependences/saucy

@@ -1,3 +0,0 @@
-#!/bin/bash
-
-DEBIAN_FRONTEND=noninteractive apt-get -y install libboost-regex1.53.0 libicu48 libxalan-c111 libxerces-c3.1 binutils libldap-2.4-2 openssl zlib1g g++ openssh-client openssh-server expect libarchive13 rsync

+ 0 - 31
charm/precise/hpcc/hooks/config-changed

@@ -1,31 +0,0 @@
-#!/bin/bash -e
-# config-changed occurs everytime a new configuration value is updated (juju set)
-
-. ${CHARM_DIR}/hooks/hpcc-common
-
-##
-## Check if need to generate environment.xml
-##
-
-envgen_signature=$(config-get envgen-signature)
-juju-log "envgen_signature: $envgen_signature"
-[ -z "${envgen_signature}" ] && exit 0
-
-SIGNATURE_FILE=${JUJU_HPCC_DIR}/env_signature.txt
-if [ -e ${SIGNATURE_FILE} ]
-then
-    saved_signature=$(head -n 1 $SIGNATURE_FILE)
-    juju-log "saved_signature: $saved_signature"
-    [ "$saved_signature" == "$envgen_signature" ] && exit 0
-fi
-
-[ ! -e $IP_FILE ] && exit 0
-
-get_envgen_configuration
-
-composed_signature="${support_nodes}-${roxie_nodes}-${thor_nodes}-${slaves_per_node}"
-juju-log "composed_signature: $composed_signature"
-[ "$composed_signature" != "$envgen_signature" ] && exit 0
-
-
-configure_cluster

+ 0 - 102
charm/precise/hpcc/hooks/hpcc-cluster-relation-changed

@@ -1,102 +0,0 @@
-#!/bin/bash -e
-# This must be renamed to the name of the relation. The goal here is to
-# affect any change needed by relationships being formed, modified, or broken
-# This script should be idempotent.
-
-
-. ${CHARM_DIR}/hooks/hpcc-common
-
-#juju-log $JUJU_REMOTE_UNIT modified its settings
-#juju-log Relation settings:
-#relation-get
-#juju-log Relation members:
-#relation-list
-
-TMP_FILE=${JUJU_HPCC_DIR}/ip_file.tmp
-
-LOCAL_IP=$(head -n 1  $LOCAL_IP_FILE) 
-echo "${LOCAL_IP};,$JUJU_UNIT_NAME" > ${TMP_FILE}
-
-RESET_SSH_KEYS=$(relation-get reset-ssh-keys)
-
-juju-log "RESET_SSH_KEYS: $RESET_SSH_KEYS"
-
-TOTAL_UNITS=1
-for UNIT in $(relation-list)
-do
-   UNIT_ADDRESS=$(relation-get netAddress ${UNIT})
-   if [ -n "${UNIT_ADDRESS}" ]
-   then
-      TOTAL_UNITS=$(expr ${TOTAL_UNITS} \+ 1)
-      echo "${UNIT_ADDRESS};,${UNIT}" >> "${TMP_FILE}"
-   fi
-done
-
-##
-## Sort IPs
-##
-cat $TMP_FILE | cut -d',' -f 1 | \
-   sort -n -t . -k 1,1 -k 2,2 -k 3,3 -k 4,4  > $IP_FILE
-
-LOWEST_IP=$(head -n 1 $IP_FILE | cut -d ';' -f1)
-
-
-##
-## Set SSH Keys
-##
-if [ -n "$RESET_SSH_KEYS" ] &&  [ $RESET_SSH_KEYS -eq 1 ] 
-then
-  if [ "$LOWEST_IP" = "$LOCAL_IP" ]
-  then
-     PUB_KEY=$(relation-get ssh-key-public)
-     PRI_KEY=$(relation-get ssh-key-private)
-     if [ -z "$PUB_KEY" ] || [ -z "$PRI_KEY" ] 
-     then
-        create_and_set_ssh_keys
-     fi
-  else
-     LOWEST_IP_UNIT=$(cat ${TMP_FILE} | grep "${LOWEST_IP}" | \
-        cut -d',' -f 2)
-     SELECTED_PUB_KEY=$(relation-get ssh-key-public ${LOWEST_IP_UNIT})
-     SELECTED_PRI_KEY=$(relation-get ssh-key-private ${LOWEST_IP_UNIT})
-     [ -z "$SELECTED_PUB_KEY" ] || [ -z "$SELECTED_PRI_KEY" ] && exit 0 
-
-     # If we have the same public key as DESIRED_PUB_KEY
-     # our ssh keys are already set correctly
-     PUB_KEY=$(relation-get ssh-key-public)
-     if [ "$PUB_KEY" != "$SELECTED_PUB_KEY" ]
-     then 
-        juju-log "Set ssh keys from lowest ip system"
-        PUB_KEY=$SELECTED_PUB_KEY
-        PRI_KEY=$SELECTED_PRI_KEY
-        set_ssh_keys
-        relation-set ssh-key-public="${PUB_KEY}"
-        relation-set ssh-key-private="${PRI_KEY}"
-     fi
-  fi
-fi
-
-
-
-[  ${TOTAL_UNITS}  -eq 1 ] && exit 0
-
-##
-## If auto-gen set to 0 we need manually trigger
-#  configure_cluster by running bin/config_hpcc.sh script later
-##
-auto_gen=$(config-get auto-gen)
-juju-log "auto_gen $auto_gen"
-[  ${auto_gen}  -eq 0 ] && exit 0
-
-
-if [ ${auto_gen} -eq 1 ]
-then
-   configure_cluster ${TOTAL_UNITS}
-   rc=$?
-else
-   get_envgen_configuration
-   configure_cluster
-   rc=$?
-fi
-
-exit $rc

+ 0 - 56
charm/precise/hpcc/hooks/hpcc-cluster-relation-departed

@@ -1,56 +0,0 @@
-#!/bin/bash -e
-# This must be renamed to the name of the relation. The goal here is to
-# affect any change needed by the remote unit leaving the relationship.
-# This script should be idempotent.
-juju-log $JUJU_REMOTE_UNIT departed
-
-
-JUJU_HPCC_DIR=/var/lib/HPCCSystems/charm
-TMP_FILE=${JUJU_HPCC_DIR}/ip_file.tmp
-
-LOCAL_IP_FILE=${JUJU_HPCC_DIR}/local_ip.txt
-IP_FILE=${JUJU_HPCC_DIR}/ip_file.txt
-
-[ -e ${LOCAL_IP_FILE} ] && echo "$(head -n 1  $LOCAL_IP_FILE);" > ${TMP_FILE}
-
-TOTAL_UNITS=1
-for UNIT in $(relation-list)
-do
-   UNIT_ADDRESS=`relation-get netAddress ${UNIT}`
-   if [ -n "${UNIT_ADDRESS}" ]
-   then
-      TOTAL_UNITS=$(expr ${TOTAL_UNITS} \+ 1)
-      echo "${UNIT_ADDRESS};" >> "${TMP_FILE}"
-   fi
-done
-
-[  ${TOTAL_UNITS}  -eq 1 ] && exit 0
-
-
-
-
-##
-## Sort IPs
-##
-cat $TMP_FILE | sort -n -t . -k 1,1 -k 2,2 -k 3,3 -k 4,4  > $IP_FILE
-
-##
-## DON'T HAVE A WAY TO CHECK IF CURRENT NODE IS LEAVING
-## IF IT IS FOLLOWING WILL FAIL.
-## For user need manually run  bin/config_hpcc.sh to reconfigure HPCC
-## after destroy a unit.
-##
-
-#. ${CHARM_DIR}/hooks/hpcc-common
-
-#auto_gen=$(config-get auto-gen)
-#juju-log "auto_gen $auto_gen"
-#[  ${auto_gen}  -eq 0 ] && exit
-
-#if [ ${auto_gen} -eq 1 ]
-#then
-#   configure_cluster ${TOTAL_UNITS}
-#else
-#   get_envgen_configuration
-#   configure_cluster
-#fi

+ 0 - 22
charm/precise/hpcc/hooks/hpcc-cluster-relation-joined

@@ -1,22 +0,0 @@
-#!/bin/bash -e
-# This must be renamed to the name of the relation. The goal here is to
-# affect any change needed by relationships being formed
-# This script should be idempotent.
-juju-log $JUJU_REMOTE_UNIT joined
-
-. ${CHARM_DIR}/hooks/hpcc-common
-
-save_local_ip
-
-relation-set name="${HOSTNAME}" netAddress="${IP_ADDRESS}"
-
-PUB_KEY=$(config-get ssh-key-public)
-PRI_KEY=$(config-get ssh-key-private)
-fix_private_key
-if [ -z "$PUB_KEY" ] || [ -z "$PUB_KEY" ]
-then
-   relation-set reset-ssh-keys=1
-   create_and_set_ssh_keys
-else
-   relation-set reset-ssh-keys=0
-fi

+ 0 - 229
charm/precise/hpcc/hooks/hpcc-common

@@ -1,229 +0,0 @@
-JUJU_HPCC_DIR=/var/lib/HPCCSystems/charm
-CONFIG_DIR=/etc/HPCCSystems
-ENV_XML_FILE=environment.xml
-ENV_CONF_FILE=environment.conf
-ENV_GEN="/opt/HPCCSystems/sbin/envgen"
-SIGNATURE_FILE=${JUJU_HPCC_DIR}/env_signature.txt
-LOCAL_IP_FILE=${JUJU_HPCC_DIR}/local_ip.txt
-IP_FILE=${JUJU_HPCC_DIR}/ip_file.txt
-ECLWATCH_URL_FILE=${JUJU_HPCC_DIR}/eclwatch_url.txt
-
-##
-## Fix private key in chance newlines removed
-##
-function fix_private_key()
-{
-   head_end_marks=$(echo "${PRI_KEY}" | \
-       sed -n "s/\(-----.*-----\).*\(-----.*-----\)/\1,\2/p" )
-
-   [ -z "$head_end_marks" ] && return
-
-   BEGIN_KEY=$(echo ${head_end_marks} | cut -d',' -f1)
-   END_KEY=$(echo ${head_end_marks} | cut -d',' -f2)
-
-   private_key=$(echo "${PRI_KEY}" | \
-       sed "s/${BEGIN_KEY}\(.*\)${END_KEY}/\1/g" | sed 's/ /\n/g')
-
-   END_KEY=$(echo "${END_KEY}"  | sed 's/^/\n/g')
-   PRI_KEY="${BEGIN_KEY}${private_key}${END_KEY}"
-
-}
-
-##
-## Parse environment.conf
-##
-function parse_env_config()
-{
-  HPCC_CONFIG=${HPCC_CONFIG:-${CONFIG_DIR}/${ENV_CONF_FILE}}
-  SECTION=${1:-DEFAULT}
-
-  PATH_PREFIX=$(cat ${HPCC_CONFIG} | sed -n "/\[${SECTION}\]/,/\[/p" | \
-     grep "^home *= *" | sed -e 's/^home *= *//')
-  USER_NAME=$(cat ${HPCC_CONFIG} | sed -n "/\[${SECTION}\]/,/\[/p" | \
-     grep "^user *= *" | sed -e 's/^user *= *//')
-
-  PATH_HOME=${PATH_PREFIX}/${USER_NAME}
-}
-
-##
-## Set SSH Keys
-##
-function set_ssh_keys()
-{
-  [ -z "$PUB_KEY" ] || [ -z "$PRI_KEY" ] && return 0
-
-  parse_env_config
-  juju-log "Set SSH Keys. HOME: $PATH_HOME, USER: $USER_NAME."
-  if [ ! -d $PATH_HOME/.ssh ]; then
-     mkdir $PATH_HOME/.ssh
-  fi
-  rm -fr $PATH_HOME/.ssh/*
-
-
-  echo "$PUB_KEY" > $PATH_HOME/.ssh/id_rsa.pub
-  echo "$PRI_KEY" > $PATH_HOME/.ssh/id_rsa
-  if [ -e $PATH_HOME/.ssh/id_rsa.pub ]; then
-     cat $PATH_HOME/.ssh/id_rsa.pub > $PATH_HOME/.ssh/authorized_keys
-  fi
-
-  chown -R $USER_NAME:$USER_NAME $PATH_HOME/.ssh
-  chmod 644 $PATH_HOME/.ssh/authorized_keys
-  chmod 600 $PATH_HOME/.ssh/id_rsa
-  chmod 644 $PATH_HOME/.ssh/id_rsa.pub
-
-}
-
-##
-## Query/Create and set SSH Keys
-##
-function create_and_set_ssh_keys()
-{
-  for UNIT in $(relation-list)
-  do
-    PUB_KEY=$(relation-get ssh-key-public ${UNIT})
-    PRI_KEY=$(relation-get ssh-key-private ${UNIT})
-    [ -n "$PUB_KEY" ] && [ -n "$PRI_KEY" ]  && break
-  done
-  if [ -z "$PUB_KEY" ] || [ -z "$PRI_KEY" ]
-  then
-    SSH_DIR=/tmp/hpcc_ssh
-    [ -d ${SSH_DIR} ] && rm -rf ${SSH_DIR}
-    mkdir ${SSH_DIR}
-    juju-log "Generate ssh keys with ssh-keygen"
-    ssh-keygen -f ${SSH_DIR}/id_isa -t rsa -N ''
-    PUB_KEY=$(cat ${SSH_DIR}/id_isa.pub)
-    PRI_KEY=$(cat ${SSH_DIR}/id_isa)
-    rm -rf ${SSH_DIR}
-  fi
-  set_ssh_keys
-  if [ -n "${JUJU_RELATION_ID}" ]
-  then
-     relation-set ssh-key-public="${PUB_KEY}"
-     relation-set ssh-key-private="${PRI_KEY}"
-  fi
-}
-
-##
-## Save local ip to a file
-##
-function save_local_ip()
-{
-  HOSTNAME=$(unit-get public-address)
-  PRIVATE_HOSTNAME=$(unit-get private-address)
-  IP_ADDRESS=$(dig +short ${PRIVATE_HOSTNAME} | tail -n 1)
-  echo "$IP_ADDRESS" > $LOCAL_IP_FILE
-}
-
-##
-## Get currently defined envgen parameters
-##
-function get_envgen_configuration()
-{
-  support_nodes=$(config-get supportnodes)
-  thor_nodes=$(config-get thornodes)
-  roxie_nodes=$(config-get roxienodes)
-  slaves_per_node=$(config-get slavesPerNode)
-}
-
-
-##
-## Generate environemt.xml
-##
-function configure_cluster()
-{
-
-  number_of_nodes=$1
-
-  if [ -n "$number_of_nodes" ]
-  then
-     support_nodes=1
-     thor_nodes=$(expr $number_of_nodes \- 1)
-     roxie_nodes=$(expr $number_of_nodes \- 1)
-     slaves_per_node=1
-  fi
-
-  juju-log "Stop HPCC"
-  # Following command return 3 even stop succeeds
-  # It will be fixed in HPCC 5.0 release
-  service hpcc-init stop || :
-
-  juju-log "Run envgen ${ENV_GEN} -env ${CONFIG_DIR}/${ENV_XML_FILE} -ipfile ${IP_FILE} -thornodes ${thor_nodes} -slavesPerNode ${slaves_per_node} -roxienodes ${roxie_nodes} -supportnodes ${support_nodes}"
-  "${ENV_GEN}" -env "${CONFIG_DIR}/${ENV_XML_FILE}" -ipfile "${IP_FILE}" -thornodes "${thor_nodes}" -slavesPerNode "${slaves_per_node}" -roxienodes "${roxie_nodes}" -supportnodes "${support_nodes}"
-  [ $? -ne 0 ] && exit 1
-
-  juju-log "Start HPCC"
-  start_and_check
-  rc=$?
-
-  save_evngen_signature
-  save_eclwatch_url
-
-  return $rc
-}
-
-##
-## Save envgen signature
-##
-function save_evngen_signature()
-{
-
-   _signature="${support_nodes}-${roxie_nodes}-${thor_nodes}-${slaves_per_node}"
-   juju-log "Save envgen signature: $_signature"
-   echo "$_signature" > $SIGNATURE_FILE
-}
-
-
-##
-## Save EclWatch URL to a file
-##
-function save_eclwatch_url()
-{
-  juju-log "Update Check ECLWatch URL"
-
-  first_node=$(head -n 1 $IP_FILE | cut -d';' -f1)
-  cat ${CONFIG_DIR}/${ENV_XML_FILE} | grep -q $first_node || exit 0
-
-  eclwatch_port=$(cat ${CONFIG_DIR}/${ENV_XML_FILE} | \
-  sed -n '
-    /<EspBinding/,/>/ {
-      s/port=\([[:digit:]]*\)/\1/p
-    }
-  ' | head -n 1 | cut -d '"' -f 2)
-
-  eclwatch_ip=$(cat ${CONFIG_DIR}/${ENV_XML_FILE} | \
-  sed -n '
-    /<EspProcess/,/EspProcess>/ {
-      s/netAddress=\([[:digit:]]*\)/\1/p
-    }
-  ' |  cut -d '"' -f 2)
-
-  juju-log "set eclwatch-url http://${eclwatch_ip}:${eclwatch_port}"
-
-  echo "http://${eclwatch_ip}:${eclwatch_port}" > ${ECLWATCH_URL_FILE}
-}
-
-##
-## Check HPCC Status
-##
-function check_hpcc_status()
-{
-  stopped_components=$(service hpcc-init status | grep "stopped" | awk '{ print $1 }')
-  [ -z "$stopped_components" ] && return 0
-  juju-log "Failed to start HPCC processes. Check each log directory under /var/log/HPCCSysgtems for detail: ${stopped_components}."
-  return 1
-}
-
-##
-## Start HPCC and check its status
-##
-function start_and_check()
-{
-
-  juju-log "Starting HPCC ..."
-  service hpcc-init start
-  start_check_delay=$(config-get start-check-delay)
-  [ ${start_check_delay} -gt 0 ] && sleep ${start_check_delay}
-
-  check_hpcc_status || return $?
-  
-}

+ 0 - 165
charm/precise/hpcc/hooks/install

@@ -1,165 +0,0 @@
-#!/bin/bash -e
-
-##
-## Set debugging
-##
-set -ux
-
-
-##
-## Current working directory
-##
-CWD=$(dirname $0)
-
-. ${CHARM_DIR}/hooks/hpcc-common
-
-
-##
-## Detect Linux Distro
-##
-uname -a  | grep -q "x86_64" || ( juju-log "Only arch x86_64 is supported."; exit 1)
-
-
-Distributor_ID=$(lsb_release -a | grep  "Distributor ID:" | \
-sed -n "s/.*:[[:space:]]*\(.*\)/\1/p")
-juju-log "Distriobutor_ID: $Distributor_ID"
-
-if [ "$Distributor_ID" == "CentOS" ]
-then
-   os_release=$(lsb_release -a | grep -e "Release:" | \
-   sed -n "s/.*:[[:space:]]*\(.*\)/\1/p")
-   if [ ${os_release:0:1} -eq 6 ]
-   then
-      os_id=el6
-   elif [ ${os_release:0:1} -eq 5 ]
-   then
-      os_id=el5
-   else
-      juju-log "Unsupported CenOS version: ${os_release}."
-      exit 1
-   fi
-
-elif [ "$Distributor_ID" == "Ubuntu" ]
-then
-   code_name=$(lsb_release -a | grep -e "Codename:" | \
-   sed -n "s/.*:[[:space:]]*\(.*\)/\1/p")
-   os_id=$code_name
-else
-   juju-log "Unsupported Linux for Juju/charm HPCC: $Distributor_ID"
-   exit 1
-fi
-juju-log "OS release version:  $os_id"
-
-
-##
-## HPCC prerequisites
-##
-dependence_dir=${CWD}/../dependences
-if [ ! -e ${dependence_dir}/${os_id} ]
-then
-   juju-log "Prequisites for $os_id hasn't been implemented yet."
-   exit 1
-fi
-${dependence_dir}/${os_id}  || exit 1
-
-
-##
-## Download and install HPCC
-##
-download_url=$(config-get download-url)
-if [ -z "$download_url" ]
-then
-  base_url=$(config-get  base-url)
-  hpcc_type=$(config-get  hpcc-type)
-  hpcc_version=$(config-get  hpcc-version)
-  hpcc_version_mmp=$(echo $hpcc_version | cut -d '-' -f1)
-  juju-log "hpcc_version_mmp: $hpcc_version_mmp"
-
-  declare -A type_detail
-  type_detail[CE]=community
-  type_detail[EE]=enterprise
-  type_detail[LN]=internal
-
-  package_name="hpccsystems-platform_${type_detail[$hpcc_type]}-${hpcc_version}"
-  download_url="${base_url}/${hpcc_type}-Candidate-${hpcc_version_mmp}"
-  download_url="${download_url}/bin/platform/$package_name"
-
-  if [ "$Distributor_ID" == "CentOS" ]
-  then
-    download_url="${download_url}.${os_id}_x86_64.rpm"
-  else
-     download_url="${download_url}${os_id}_amd64.deb"
-  fi
-fi
-
-juju-log "Download URL: $download_url"
-
-
-curl -s -O $download_url
-hpcc_package=$(basename $download_url)
-
-expected_checksum=$(config-get package-checksum)
-if [ -n "$expected_checksum" ]
-then 
-   downloaded_checksum=$(md5sum ${hpcc_package} | cut -d ' ' -f1)
-   if [ "$expected_checksum" != "${downloaded_checksum}" ]
-   then
-      juju-log "Package checksum don't match. Expected ${expected_checksum} but get ${downloaded_checksum}" 
-      exit 1
-   fi
-else
-  juju-log "Missing package-checksum in config.yaml. You must validate checksum before installing the HPCC package. The checksum can be retrieved from http://hpccsystems.com/download/free-community-edition/server-platform for HPCC Community Server Platform." 
-  exit 1
-   
-fi
-
-if [ "$Distributor_ID" == "CentOS" ]
-then
-   rpm -i $hpcc_package || exit 1
-else
-   DEBIAN_FRONTEND=noninteractive dpkg -i $hpcc_package || exit 1
-fi
-
-
-##
-## Set SSH keys
-## Using shipped for now. Will provide script to generate new kyes later
-##
-parse_env_config
-echo $PATH_HOME
-
-if [ ! -d $PATH_HOME/.ssh ]; then
-        mkdir $PATH_HOME/.ssh
-fi
-rm -fr $PATH_HOME/.ssh/*
-
-set +x
-PUB_KEY=$(config-get ssh-key-public)
-PRI_KEY=$(config-get ssh-key-private)
-fix_private_key
-set_ssh_keys
-set -x
-
-##
-## Open the necessory firewall ports
-##
-which open-port  && \
-if [ $? -eq 0 ];then
-   open-port 8010/TCP
-   open-port 8002/TCP
-   open-port 8015/TCP
-   open-port 9876/TCP
-   #open-port 18010/TCP
-   #open-port 18002/TCP
-   #open-port 18008/TCP
-fi
-
-##
-## Create directory for stagging and tempory files
-##
-JUJU_HPCC_DIR=/var/lib/HPCCSystems/charm
-if [ ! -e ${JUJU_HPCC_DIR} ]
-then
-   mkdir -p $JUJU_HPCC_DIR
-   chmod -R 777 $JUJU_HPCC_DIR
-fi

+ 0 - 18
charm/precise/hpcc/hooks/start

@@ -1,18 +0,0 @@
-#!/bin/bash -e
-# Here put anything that is needed to start the service.
-# Note that currently this is run directly after install
-# i.e. 'service apache2 start'
-
-#export PS4='+${BASH_SOURCE[1]} ${LINENO}'
-#set -x
-
-. ${CHARM_DIR}/hooks/hpcc-common
-
-parse_env_config
-if [ ! -e ${PATH_HOME}/.ssh/id_rsa ]
-then
-   create_and_set_ssh_keys
-fi
-
-start_and_check
-exit $?

+ 0 - 10
charm/precise/hpcc/hooks/stop

@@ -1,10 +0,0 @@
-#!/bin/bash -e
-# This will be run when the service is being torn down, allowing you to disable
-# it in various ways..
-# For example, if your web app uses a text file to signal to the load balancer
-# that it is live... you could remove it and sleep for a bit to allow the load
-# balancer to stop sending traffic.
-# rm /srv/webroot/server-live.txt && sleep 30
-
-# work-around current HPCC stop return code
-service hpcc-init stop || :

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 430
charm/precise/hpcc/icon.svg


+ 0 - 33
charm/precise/hpcc/metadata.yaml

@@ -1,33 +0,0 @@
-name: hpcc
-summary: HPCC (High Performance Computing Cluster)
-maintainer: xiaoming.wang@lexisnexis.com
-description: |
-  HPCC Systems, an open source High Performance Computing Cluster, is a massive parallel-processing computing 
-  platform that solves Big Data problems. HPCC Systems is an enterprise-proven platform for manipulating, 
-  transforming, querying, and data warehousing Big Data. Built by LexisNexis, the HPCC platform has helped 
-  it grow to a $1.5 billion information solutions company.
-  .
-  The HPCC Systems architecture incorporates a data query engine (called Thor) and a data delivery engine 
-  (called Roxie), as well as support components. An HPCC environment can include only Thor clusters, 
-  or both Thor and Roxie clusters. The HPCC Juju charm creates a cluster which contains both, but you can 
-  customize it after deployment.
-  .
-  The HPCC Juju Charm encapsulates best practice configurations for the HPCC Systems Platform. You can use a Juju Charm to stand up an HPCC Platform on:
-  .
-  * Local Provider (LXC)
-  * Amazon Web Services Cloud
-  
-  
-categories:
-    - applications
-subordinate: false
-
-provides:
-  hpcc:
-    interface: hpcc
-#requires:
-#  requires-relation:
-#    interface: interface-name
-peers:
-  hpcc-cluster:
-    interface: hpcc-cluster

+ 0 - 1
charm/precise/hpcc/revision

@@ -1 +0,0 @@
-1