Commit d1367432 authored by Pascal Déchamboux's avatar Pascal Déchamboux
Browse files

Introducing bug with change in ls cmd

parent f49e7e49
Loading
Loading
Loading
Loading
+45 −31
Original line number Diff line number Diff line
@@ -490,7 +490,8 @@ stages:
    generate_vars_file

    # find manifest
    export manifestfile=$(ls -1 "$CF_SCRIPTS_DIR/${CF_MANIFEST_BASENAME}-${env}.yml" 2>/dev/null || ls -1 "$CF_SCRIPTS_DIR/${CF_MANIFEST_BASENAME}.yml" 2>/dev/null || echo "")
    manifestfile=$(ls -1 "$CF_SCRIPTS_DIR/${CF_MANIFEST_BASENAME}-${env}.yml" 2>/dev/null || ls -1 "$CF_SCRIPTS_DIR/${CF_MANIFEST_BASENAME}.yml" 2>/dev/null || echo "")
    export manifestfile
    if [[ -z "$manifestfile" ]]
    then
      log_info "Manifest not found, lookedup paths are:\n - \\e[33;1m$CF_SCRIPTS_DIR/${CF_MANIFEST_BASENAME}-${env}.yml\\e[0m\n - \\e[33;1m$CF_SCRIPTS_DIR/${CF_MANIFEST_BASENAME}.yml\\e[0m\n - no app to deploy"
@@ -669,7 +670,8 @@ stages:
    pre_delete

    # delete app
    local sfound=$(cf apps | sed -e 1,3d | grep "^${appname} " | cat)
    local sfound
    sfound=$(cf apps | sed -e 1,3d | grep "^${appname} " | cat)
    if [[ -z "$sfound" ]]; then
      log_info "--- nothing to delete"
    else
@@ -755,21 +757,25 @@ stages:
  }

  function get_desc_field() {
    local field_value=$(cat $1 | jq .${2})
    local notnull=$3
    export desc_field_error=""
    local field_value
    local notnull
    field_value=$(cat "$1" | jq ."${2}")
    notnull=$3
    export desc_field
    export desc_field_error
    desc_field_error=""
    if [[ "${field_value}" == "null" ]]; then
      if [[ "${notnull}" == "true" ]]; then
   	    export desc_field_error="${2} should not be null: creation aborted"
   	    desc_field_error="${2} should not be null: creation aborted"
   	    return
   	  else
   	    export desc_field=""
   	    desc_field=""
   	  fi
    else
      if [[ "${field_value}" == "\""* ]]; then
        export desc_field=$(expr substr ${field_value} 2 $(( ${#field_value} - 2 )))
        desc_field=$(expr substr ${field_value} 2 $(( ${#field_value} - 2 )))
      else
        export desc_field=${field_value}
        desc_field=${field_value}
      fi
    fi
  }
@@ -796,12 +802,17 @@ stages:
  }

  function create_service() {
    local fields=("cfServiceName" "cfServiceOffering" "cfServicePlan" "cfServiceBroker" "cfServiceArgs")
    local mandatory=("true" "true" "true" "false" "false")
    local fvalues=("" "" "" "" "")
    local service_desc=$1
    local smsg="Create service instance ${COLOR_YELLOW}${service_desc}${COLOR_NONE}: "
    for fi in ${!fields[@]}
    local fields
    local mandatory
    local fvalues
    local service_desc
    local smsg
    fields=("cfServiceName" "cfServiceOffering" "cfServicePlan" "cfServiceBroker" "cfServiceArgs")
    mandatory=("true" "true" "true" "false" "false")
    fvalues=("" "" "" "" "")
    service_desc=$1
    smsg="Create service instance ${COLOR_YELLOW}${service_desc}${COLOR_NONE}: "
    for fi in "${!fields[@]}"
    do
      get_desc_field $service_desc "${fields[$fi]}" "${mandatory[$fi]}"
      if [[ ! -z "$desc_field_error" ]]; then
@@ -812,29 +823,31 @@ stages:
      fvalues[$fi]=$(echo ${desc_field} | tr -d '\r' | envsubst)
    done
    log_info "${smsg}service definition OK - proceed"
    for fi in ${!fields[@]}
    for fi in "${!fields[@]}"
    do
      log_info "--- ${fields[$fi]}: ${COLOR_YELLOW}${fvalues[$fi]}${COLOR_NONE}"
    done
    local sfound=$(cf services | sed -e 1,3d | grep "^${fvalues[0]}" | cat)
    local sfound
    sfound=$(cf services | sed -e 1,3d | grep "^${fvalues[0]}" | cat)
    if [[ -z "$sfound" ]]; then
      is_cups "${fvalues[1]}" "${fvalues[2]}"
      if [[ "$res_is_cups" = "CUPS" ]]; then
        cf cups ${fvalues[0]} -p $(echo "'${fvalues[4]}'" | tr -d ' ') >/dev/null 2>&1
        cf cups "${fvalues[0]}" -p "$(echo "'${fvalues[4]}'" | tr -d ' ')" >/dev/null 2>&1
      else
        if [[ -z "${fvalues[3]}" ]]; then
          broker=""
        else
          broker="-b ${fvalues[3]}"
        fi
        local argfile=`mktemp`
        local argfile
        argfile=`mktemp`
        if [[ -z "${fvalues[4]}" ]]; then
          params=""
        else
          echo ${fvalues[4]} >${argfile}
          echo "${fvalues[4]}" >"${argfile}"
          params="-c ${argfile}"
        fi
         cf create-service ${fvalues[1]} ${fvalues[2]} ${fvalues[0]} ${broker} ${params} -w >/dev/null 2>&1
         cf create-service "${fvalues[1]}" "${fvalues[2]}" "${fvalues[0]}" "${broker}" "${params}" -w >/dev/null 2>&1
        rm -f ${argfile}
      fi
      log_info "${COLOR_GREEN}... created${COLOR_NONE}"
@@ -844,7 +857,7 @@ stages:
  }

  function delete_service() {
    local service_desc=$1
    service_desc=$1
    case ${ENV_TYPE} in
    staging | production)
      log_info "Delete service instance ${COLOR_YELLOW}${service_desc}${COLOR_NONE}: ignored (env=${ENV_TYPE})"
@@ -857,10 +870,10 @@ stages:
        manage_services_errors=$((manage_services_errors+1))
        return
      fi
      local name=$(echo ${desc_field} | tr -d '\r')
      name=$(echo ${desc_field} | tr -d '\r')
      log_info "${smsg}service definition OK - proceed"
      log_info "--- cfServiceName: ${COLOR_YELLOW}${name}${COLOR_NONE}"
      local sfound=$(cf services | sed -e 1,3d | grep "^${name}" | cat)
      sfound=$(cf services | sed -e 1,3d | grep "^${name}" | cat)
      if [[ -z "$sfound" ]]; then
        log_info "${COLOR_BLUE}.... service instance \"${name}\" does not exist - skipped${COLOR_NONE}"
      else
@@ -872,8 +885,9 @@ stages:
  }

  function manage_services() {
    local mgt_action=${1}
    export manage_services_errors=0
    mgt_action=${1}
    export manage_services_errors
    manage_services_errors=0
    # service_files service descriptors for service instances to be created before deployment
    if [[ -d "${CF_SCRIPTS_DIR}/${ENV_TYPE}" ]]; then
      service_dir="${CF_SCRIPTS_DIR}/${ENV_TYPE}"
@@ -881,7 +895,7 @@ stages:
      service_dir="${CF_SCRIPTS_DIR}"
    fi
    log_info "Looking for service descriptor files into: ${service_dir}"
    service_files=$(ls -l "${service_dir}" | grep "cf-service.json" | cut -d ':' -f2 | cut -d ' ' -f2)
    service_files=$(ls -1 "${service_dir}"/*.cf-service.json)
    if [[ -z "$service_files" ]]
    then
      log_info "No service found to manage, expected files are: \\e[33;1m${service_dir}/*.cf-service.json\\e[0m"
@@ -893,14 +907,14 @@ stages:
    do
      case ${mgt_action} in
      create)
        create_service "${service_dir}/${service_desc}"
        create_service "${service_desc}"
        ;;
      delete)
        delete_service "${service_dir}/${service_desc}"
        delete_service "${service_desc}"
        ;;
      esac
    done
    if [[ "$manage_services_errors" > "0" ]]; then
    if (( manage_services_errors > 0 )); then
      log_info "${COLOR_RED}Errors while managing service instances - aborted${COLOR_NONE}"
      return 1
    fi