</volumes>
<wait>
<time>30000</time>
- <log>Initializing onboard schemas</log>
+ <log>Onboarding init was successful</log>
</wait>
<network>
<mode>custom</mode>
*.iml
*.ipr
*.iws
+/dist/sdc-onboard-db-init-docker/artifacts/upgrade-scripts/
<modelVersion>4.0.0</modelVersion>
<name>openecomp-sdc-docker-dist</name>
- <groupId>org.openecomp.sdc</groupId>
<artifactId>openecomp-sdc-docker-dist</artifactId>
<packaging>pom</packaging>
COPY --chown=sdc:sdc init_keyspaces.cql /home/sdc/
COPY --chown=sdc:sdc init_schemas.cql /home/sdc/
-COPY --chown=sdc:sdc alter_tables.cql /home/sdc/
-COPY --chown=sdc:sdc startup.sh /home/sdc/
+COPY --chown=sdc:sdc upgrade-scripts /home/sdc/upgrade-scripts
+COPY --chown=sdc:sdc startup.sh /home/sdc/
RUN chmod 770 /home/sdc/startup.sh
#!/bin/sh
-
-cd /home/sdc
+SDC_HOME="/home/sdc"
+cd $SDC_HOME || { echo "$(date) Failed to access directory $SDC_HOME"; exit 1; }
CS_PORT=""
CS_HOST=127.0.0.1
-if [ ! -z "${CS_HOST_IP}" ]; then
+if [ -n "${CS_HOST_IP}" ]; then
CS_HOST=$CS_HOST_IP
fi
-if [ ! -z "${CS_HOST_PORT}" ]; then
+if [ -n "${CS_HOST_PORT}" ]; then
CS_PORT=$CS_HOST_PORT
fi
-echo "[Info] Going to initialize sdc onboard cassandra: user=$SDC_USER; host=$CS_HOST; port=$CS_PORT"
+echo "$(date) [Info] Going to initialize sdc onboard cassandra: user=$SDC_USER; host=$CS_HOST; port=$CS_PORT"
-echo "[Info] Initializing onboard keyspaces"
-date;
-cqlsh -u $SDC_USER -p $SDC_PASSWORD -f init_keyspaces.cql $CS_HOST $CS_PORT
+echo "$(date) [Info] Initializing onboard keyspaces"
+cqlsh -u "$SDC_USER" -p "$SDC_PASSWORD" -f init_keyspaces.cql "$CS_HOST" "$CS_PORT"
rc=$?
-date;
if [ $rc != 0 ]; then
- echo "[Error] Failed to initialize onboard keyspaces";
+ echo "$(date) [Error] Failed to initialize onboard keyspaces";
exit $rc;
fi
+echo "$(date) [Info] Finished initializing onboard keyspaces"
-echo "[Info] Initializing onboard schemas"
-date;
-cqlsh -u $SDC_USER -p $SDC_PASSWORD -f init_schemas.cql $CS_HOST $CS_PORT
+echo "$(date) [Info] Initializing onboard schemas"
+cqlsh -u "$SDC_USER" -p "$SDC_PASSWORD" -f init_schemas.cql "$CS_HOST" "$CS_PORT"
rc=$?
-date;
if [ $rc != 0 ]; then
- echo "[Error] Failed to initialize onboard schemas";
+ echo "$(date) [Error] Failed to initialize onboard schemas";
exit $rc;
fi
+echo "$(date) [Info] Finished initializing onboard schemas"
+
+echo "$(date) [Info] Upgrading onboard schemas"
+for entry in "$SDC_HOME/upgrade-scripts"/*
+do
+ echo "$(date) Running upgrade file '$entry'"
+ cqlsh -u "$SDC_USER" -p "$SDC_PASSWORD" -f "$entry" "$CS_HOST" "$CS_PORT"
+ rc=$?
+ if [ $rc != 0 ]; then
+ echo "$(date) [Warn] Upgrade failed for file '$entry'. It is possible that the upgrade was previously applied.";
+ fi
+ echo "$(date) Successfully ran upgrade file '$entry'"
+done
+
+echo "$(date) [Info] Onboarding init was successful"
\ No newline at end of file
<modelVersion>4.0.0</modelVersion>
<name>openecomp-sdc-docker-db-init</name>
- <groupId>org.openecomp.sdc</groupId>
<artifactId>openecomp-sdc-docker-db-init</artifactId>
<packaging>pom</packaging>
<build>
<plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-clean-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>clean-docker-artifacts</id>
+ <phase>clean</phase>
+ <goals>
+ <goal>clean</goal>
+ </goals>
+ <configuration>
+ <filesets>
+ <fileset>
+ <directory>
+ artifacts
+ </directory>
+ <followSymlinks>false</followSymlinks>
+ <includes>
+ <include>init_keyspaces.cql</include>
+ <include>init_schemas.cql</include>
+ <include>upgrade-scripts/**</include>
+ </includes>
+ </fileset>
+ </filesets>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
<includes>
<include>init_keyspaces.cql</include>
<include>init_schemas.cql</include>
- <include>alter_tables.cql</include>
+ <include>upgrade-scripts/**</include>
</includes>
</resource>
</resources>
<module>/tools/swagger-ui</module>
<module>/tools/zusammen-tools</module>
<module>/backend</module>
+ <module>/dist</module>
</modules>
<profiles>
+++ /dev/null
-ALTER TABLE dox.package_details ADD RESOURCE_TYPE text;
--- /dev/null
+ALTER TABLE dox.package_details ADD RESOURCE_TYPE text;
\ No newline at end of file