[cm-container] Fix CM restart issue 80/116980/1 4.1.0-cm-container
authorJack Lucas <jflos@sonoris.net>
Fri, 15 Jan 2021 18:37:49 +0000 (13:37 -0500)
committerJack Lucas <jflos@sonoris.net>
Tue, 19 Jan 2021 15:22:13 +0000 (10:22 -0500)
Update directories that are kept in persistent storage,
based on guidance from Cloudify.

Issue-ID: DCAEGEN2-2580
Signed-off-by: Jack Lucas <jflos@sonoris.net>
Change-Id: I6292d79c7c8e790187548e0e16380c4fdd5beb38

cm-container/pom.xml
cm-container/scripts/init-cloudify.sh
cm-container/scripts/set-admin-password.sh [deleted file]
cm-container/scripts/start-persistent.sh

index b128ec3..15fc9c9 100644 (file)
@@ -28,7 +28,7 @@ limitations under the License.
   <groupId>org.onap.dcaegen2.deployments</groupId>
   <artifactId>cm-container</artifactId>
   <name>dcaegen2-deployments-cm-container</name>
-  <version>4.0.0</version>
+  <version>4.1.0</version>
   <url>http://maven.apache.org</url>
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
index 8e74c8a..e2e4d0a 100644 (file)
@@ -20,7 +20,6 @@
 set -ex
 
 /scripts/setup-secret.sh
-/scripts/set-admin-password.sh
 /scripts/load-plugins.sh
 
 set +x
diff --git a/cm-container/scripts/set-admin-password.sh b/cm-container/scripts/set-admin-password.sh
deleted file mode 100755 (executable)
index 04bd375..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/bin/bash
-# ============LICENSE_START=======================================================
-# Copyright (c) 2020 AT&T Intellectual Property. All rights reserved.
-# Copyright (c) 2020-2021 J. F. Lucas.  All rights reserved.
-# ================================================================================
-# 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.
-# ============LICENSE_END=========================================================
-# Runs at deployment time to set cloudify's admin password
-
-set -x
-
-# Wait for Cloudify Manager to come up
-while ! /scripts/cloudify-ready.sh
-do
-    echo "Waiting for CM to come up"
-    sleep 15
-done
-
-set +x
-
-# Expect Cloudify password to be in file mounted from Kubernetes secret,
-# but allow overriding by CMPASS environment variable,
-# and if not provided, use the default
-CMPASS=${CMPASS:-$(cat /opt/onap/cm-secrets/password 2>/dev/null)}
-CMPASS=${CMPASS:-admin}
-
-echo "Set Cloudify's admin password"
-cd /opt/manager
-cfy_manager reset-admin-password $CMPASS 
-
-echo "Set the password used by the cfy client"
-cfy profile set -p $CMPASS
-
-echo "Cloudify password set"
index 354d634..4eed79c 100755 (executable)
@@ -1,6 +1,7 @@
 #!/bin/bash
 # ================================================================================
 # Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
+# Copyright (c) 2021 J. F. Lucas.  All rights reserved.
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -16,7 +17,8 @@
 # ============LICENSE_END=========================================================
 # Set up persistent storage for Cloudify Manager's state data
 
-PDIRS="/var/lib/pgsql/9.5/data /opt/manager/resources /opt/mgmtworker/env/plugins /opt/mgmtworker/work/deployments"
+#PDIRS="/var/lib/pgsql/9.5/data /opt/manager/resources /opt/mgmtworker/env/plugins /opt/mgmtworker/work/deployments"
+PDIRS="/var/lib /etc/cloudify /opt/cfy /opt/cloudify /opt/cloudify-stage /opt/manager /opt/mgmtworker /opt/restservice"
 PSTORE="/cfy-persist"
 
 set -ex
@@ -27,6 +29,15 @@ then
   if [ -z "$(ls -A $PSTORE)" ]
   then
     # there's nothing in the persistent store yet
+    
+    # edit the CM config file to set the admin password
+    # to our generated value; expect it to be in file
+    # mounted from Kubernetes secret, but allow overriding by 
+    # CMPASS environment variable, and if not provided, use the default
+    CMPASS=${CMPASS:-$(cat /opt/onap/cm-secrets/password 2>/dev/null)}
+    CMPASS=${CMPASS:-admin}
+    sed -i -e "s|admin_password: .*$|admin_password: ${CMPASS}|" /etc/cloudify/config.yaml
+    
     # copy in the data from the container file system
     for d in $PDIRS
     do