| # Copyright © 2018 AT&T, Amdocs, Bell Canada |
| # |
| # 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. |
| |
| #!/bin/bash |
| export PATH=$PATH:. |
| appDir=$(pwd) |
| if [ "$#" != 3 -a "$#" != 4 ] |
| then |
| echo "Usage $0 releaseDir loginId emailAddress [gitLocalRepository]" |
| echo "Note: Specify the gitLocalRepository path if you would want to be able to import flows from your local git repository" |
| exit |
| fi |
| if [ ! -e "releases" ] |
| then |
| mkdir releases |
| fi |
| releaseDir="$1" |
| name="Release $releaseDir" |
| loginId="$2" |
| emailid="$3" |
| dbHost="{{.Values.config.dbServiceName}}.{{.Release.Namespace}}" |
| dbPort="3306" |
| dbName="sdnctl" |
| dbUser="sdnctl" |
| dbPassword="{{.Values.config.dbSdnctlPassword}}" |
| gitLocalRepository="$4" |
| |
| lastPort=$(find "releases/" -name "customSettings.js" |xargs grep uiPort|cut -d: -f2|sed -e s/,//|sort|tail -1) |
| echo $lastPort|grep uiPort >/dev/null 2>&1 |
| if [ "$?" == "0" ] |
| then |
| lastPort=$(find "releases/" -name "customSettings.js" |xargs grep uiPort|cut -d: -f3|sed -e s/,//|sort|tail -1) |
| fi |
| #echo $lastPort |
| if [ "${lastPort}" == "" ] |
| then |
| lastPort="3099" |
| fi |
| let nextPort=$(expr $lastPort+1) |
| #echo $nextPort |
| if [ ! -e "releases/$releaseDir" ] |
| then |
| mkdir releases/$releaseDir |
| cd releases/$releaseDir |
| mkdir flows |
| mkdir flows/shared |
| mkdir flows/shared/backups |
| mkdir html |
| mkdir xml |
| mkdir lib |
| mkdir lib/flows |
| mkdir logs |
| mkdir conf |
| mkdir codecloud |
| customSettingsFile="customSettings.js" |
| if [ ! -e "./$customSettingsFile" ] |
| then |
| echo "module.exports = {" >$customSettingsFile |
| echo " 'name' : '$name'," >>$customSettingsFile |
| echo " 'emailAddress' :'$emailid'," >>$customSettingsFile |
| echo " 'uiPort' :$nextPort," >>$customSettingsFile |
| echo " 'mqttReconnectTime': 15000," >>$customSettingsFile |
| echo " 'serialReconnectTime' : 15000," >>$customSettingsFile |
| echo " 'debugMaxLength': 1000," >>$customSettingsFile |
| echo " 'htmlPath': 'releases/$releaseDir/html/'," >>$customSettingsFile |
| echo " 'xmlPath': 'releases/$releaseDir/xml/'," >>$customSettingsFile |
| echo " 'flowFile' : 'releases/$releaseDir/flows/flows.json'," >>$customSettingsFile |
| echo " 'sharedDir': 'releases/$releaseDir/flows/shared'," >>$customSettingsFile |
| echo " 'userDir' : 'releases/$releaseDir'," >>$customSettingsFile |
| echo " 'httpAuth': {user:'$loginId',pass:'cc03e747a6afbbcbf8be7668acfebee5'}," >>$customSettingsFile |
| echo " 'dbHost': '$dbHost'," >>$customSettingsFile |
| echo " 'dbPort': '$dbPort'," >>$customSettingsFile |
| echo " 'dbName': '$dbName'," >>$customSettingsFile |
| echo " 'dbUser': '$dbUser'," >>$customSettingsFile |
| echo " 'dbPassword': '$dbPassword'," >>$customSettingsFile |
| echo " 'gitLocalRepository': '$gitLocalRepository'" >>$customSettingsFile |
| echo " }" >>$customSettingsFile |
| fi |
| #echo "Created custom settings file $customSettingsFile" |
| echo "Done ....." |
| else |
| echo "ERROR:customSettings file $customSettingsFile already exists for $releaseDir" |
| exit |
| fi |
| #echo "Content of custom settings file" |
| #echo "============================================================================" |
| # cat $customSettingsFile |
| #echo "============================================================================" |
| svclogicPropFile="./conf/svclogic.properties" |
| if [ ! -d "${appDir}/yangFiles" ] |
| then |
| mkdir -p "${appDir}/yangFiles" |
| fi |
| if [ ! -d "${appDir}/generatedJS" ] |
| then |
| mkdir -p "${appDir}/generatedJS" |
| fi |
| |
| if [ ! -e "./$svclogicPropFile" ] |
| then |
| echo "org.onap.ccsdk.sli.dbtype=jdbc" >$svclogicPropFile |
| echo "org.onap.ccsdk.sli.jdbc.url=jdbc:mysql://{{.Values.config.dbServiceName}}.{{.Release.Namespace}}:3306/sdnctl" >>$svclogicPropFile |
| echo "org.onap.ccsdk.sli.jdbc.database=sdnctl" >>$svclogicPropFile |
| echo "org.onap.ccsdk.sli.jdbc.user=sdnctl" >>$svclogicPropFile |
| echo "org.onap.ccsdk.sli.jdbc.password={{.Values.config.dbSdnctlPassword}}" >>$svclogicPropFile |
| fi |
| if [ ! -e "${appDir}/flowShareUsers.js" ] |
| then |
| echo "module.exports = {\"flowShareUsers\":" >${appDir}/flowShareUsers.js |
| echo " [" >>${appDir}/flowShareUsers.js |
| echo " ]" >>${appDir}/flowShareUsers.js |
| echo "}" >>${appDir}/flowShareUsers.js |
| fi |
| grep "$releaseDir" ${appDir}/flowShareUsers.js >/dev/null 2>&1 |
| if [ "$?" != "0" ] |
| then |
| num_of_lines=$(cat ${appDir}/flowShareUsers.js|wc -l) |
| if [ $num_of_lines -gt 4 ] |
| then |
| content=$(head -n -2 ${appDir}/flowShareUsers.js) |
| echo "${content}," > ${appDir}/flowShareUsers.js |
| else |
| content=$(head -n -2 ${appDir}/flowShareUsers.js) |
| echo "$content" > ${appDir}/flowShareUsers.js |
| fi |
| echo " {" >> ${appDir}/flowShareUsers.js |
| echo " \"name\" : \"$name\"," >> ${appDir}/flowShareUsers.js |
| echo " \"rootDir\" : \"$releaseDir\"" >> ${appDir}/flowShareUsers.js |
| echo " }" >> ${appDir}/flowShareUsers.js |
| echo " ]" >> ${appDir}/flowShareUsers.js |
| echo "}" >> ${appDir}/flowShareUsers.js |
| fi |