FROM ubuntu:16.04
-
MAINTAINER "Lu Ji" <lu.ji3@zte.com.cn>
+# Expose the Usecase-UI backend port and postgreSQL port
EXPOSE 8082
-EXPOSE 3306
-
-ARG HTTP_PROXY=${HTTP_PROXY}
-ARG HTTPS_PROXY=${HTTPS_PROXY}
+EXPOSE 5432
-ENV http_proxy $HTTP_PROXY
-ENV https_proxy $HTTPS_PROXY
+# set env parameters
+ENV PG_HOME=/etc/postgresql \
+ PG_VERSION=9.5 \
+ PG_VAR_LIB=/var/lib/postgresql \
+ PG_USR_LIB=/usr/lib/postgresql \
+ PG_LOGDIR=/var/log/postgresql
-RUN echo "mysql-server mysql-server/root_password password root" | debconf-set-selections
-RUN echo "mysql-server mysql-server/root_password_again password root" | debconf-set-selections
+# Install PostgreSQL 9.5
+RUN wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | apt-key add - && \
+ echo 'deb http://apt.postgresql.org/pub/repos/apt/ trusty-pgdg main' > /etc/apt/sources.list.d/pgdg.list && \
+ apt-get -y -q install postgresql-${PG_VERSION} postgresql-client-${PG_VERSION} postgresql-contrib-${PG_VERSION}
+# Update the Ubuntu and install tools
RUN apt-get update && \
apt-get install -y openjdk-8-jdk && \
apt-get install -y gcc && \
- apt-get install -y libmysqlclient-dev && \
- apt-get install -y mysql-server && \
- apt-get install -y mysql-client && \
apt-get install -y curl && \
+ apt-get install -y vim && \
apt-get install -y build-essential && \
apt-get install -y libssl-dev && \
apt-get install -y libffi-dev
-#configure the JDK
+# Adjust PostgreSQL configuration
+RUN echo "host all all 0.0.0.0/0 md5" >> ${PG_HOME}/${PG_VERSION}/main/pg_hba.conf
+RUN echo "listen_addresses='*'" >> ${PG_HOME}/${PG_VERSION}/main/postgresql.conf
+
+# Add VOLUMEs to allow backup of config, logs and databases
+VOLUME ["${PG_HOME}", "${PG_VAR_LIB}", "${PG_LOGDIR}"]
+
+# Set the default command to run postgreSQL when starting the container
+CMD ["${PG_USR_LIB}/${PG_VERSION}/bin/postgres", "-D", "${PG_VAR_LIB}/${PG_VERSION}/main", "-c", "config_file=${PG_HOME}/${PG_VERSION}/main/postgresql.conf"]
+
+#Configure Java SDK
RUN sed -i 's|#networkaddress.cache.ttl=-1|networkaddress.cache.ttl=10|' /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/java.security
ENV JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64
ENV PATH $PATH:/usr/lib/jvm/java-8-openjdk-amd64/jre/bin:/usr/lib/jvm/java-8-openjdk-amd64/bin
ENV CLASSPATH .:${JAVA_HOME}/lib:${JRE_HOME}/lib
ENV JRE_HOME ${JAVA_HOME}/jre
-#add uui related resources to the docker image
+#Add Usecase-UI server related resources to the docker image
RUN mkdir /home/uui
WORKDIR /home/uui
ADD usecase-ui-server-*-linux64.tar.gz /home/uui/
-#init db
-#RUN chmod 755 /home/uui/resources/bin/*.sh
-#RUN /home/uui/resources/bin/initDB.sh root root 3306 127.0.0.1
-
-#RUN chmod 755 /home/uui/bin/*.sh
-
-#ENTRYPOINT /home/uui/resources/bin/initDB.sh root root 3306 127.0.0.1
ENTRYPOINT /home/uui/bin/run.sh
--- /dev/null
+--
+-- Copyright (C) 2019 CMCC, Inc. and others. 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.
+--
+
+-- ----------------------------
+-- Table structure for "alarms_additionalinformation"
+-- ----------------------------
+DROP TABLE alarms_additionalinformation;
+CREATE TABLE alarms_additionalinformation(
+ id serial,
+ "header_id" varchar(50) NOT NULL,
+ "name" varchar(100) DEFAULT NULL,
+ "value" varchar(100) DEFAULT NULL,
+ "source_id" varchar(100) DEFAULT NULL,
+ "start_epoch_microsec" varchar(100) DEFAULT NULL,
+ "last_epoch_microsec" varchar(100) DEFAULT NULL,
+ CONSTRAINT alarms_additionalinformation_pk PRIMARY KEY (id)
+) WITH ( OIDS = FALSE);
+
+-- ----------------------------
+-- Table structure for "alarms_commoneventheader"
+-- ----------------------------
+DROP TABLE alarms_commoneventheader;
+CREATE TABLE alarms_commoneventheader (
+ "id" varchar(50) NOT NULL,
+ "version" varchar(100) DEFAULT NULL,
+ "event_name" varchar(100) DEFAULT NULL,
+ "domain" varchar(100) DEFAULT NULL,
+ "event_id" varchar(100) DEFAULT NULL,
+ "event_type" varchar(100) DEFAULT NULL,
+ "nfc_naming_code" varchar(100) DEFAULT NULL,
+ "nf_naming_code" varchar(100) DEFAULT NULL,
+ "source_id" varchar(100) DEFAULT NULL,
+ "source_name" varchar(100) DEFAULT NULL,
+ "reporting_entity_id" varchar(100) DEFAULT NULL,
+ "reporting_entity_name" varchar(100) DEFAULT NULL,
+ "priority" varchar(50) DEFAULT NULL,
+ "start_epoch_microsec" varchar(100) DEFAULT NULL,
+ "last_epoch_microsec" varchar(100) DEFAULT NULL,
+ "start_epoch_microsec_cleared" varchar(100) DEFAULT NULL,
+ "last_epoch_microsec_cleared" varchar(100) DEFAULT NULL,
+ "sequence" varchar(100) DEFAULT NULL,
+ "fault_fields_version" varchar(100) DEFAULT NULL,
+ "event_servrity" varchar(100) DEFAULT NULL,
+ "event_source_type" varchar(100) DEFAULT NULL,
+ "event_category" varchar(100) DEFAULT NULL,
+ "alarm_condition" varchar(100) DEFAULT NULL,
+ "specific_problem" varchar(100) DEFAULT NULL,
+ "vf_status" varchar(100) DEFAULT NULL,
+ "alarm_interfacea" varchar(100) DEFAULT NULL,
+ "status" varchar(50) DEFAULT NULL,
+ CONSTRAINT alarms_commoneventheader_pk PRIMARY KEY (id)
+) WITH ( OIDS = FALSE );
+
+-- ----------------------------
+-- Table structure for "performance_additionalinformation"
+-- ----------------------------
+DROP TABLE performance_additionalinformation;
+CREATE TABLE performance_additionalinformation (
+ id serial,
+ "header_id" varchar(50) NOT NULL,
+ "name" varchar(100) DEFAULT NULL,
+ "value" varchar(100) DEFAULT NULL,
+ "source_id" varchar(100) DEFAULT NULL,
+ "start_epoch_microsec" varchar(100) DEFAULT NULL,
+ "last_epoch_microsec" varchar(100) DEFAULT NULL,
+ CONSTRAINT performance_additionalinformation_pk PRIMARY KEY (id)
+) WITH ( OIDS = FALSE );
+
+-- ----------------------------
+-- Table structure for "performance_commoneventheader"
+-- ----------------------------
+DROP TABLE performance_commoneventheader;
+CREATE TABLE performance_commoneventheader (
+ "id" varchar(50) NOT NULL,
+ "version" varchar(100) DEFAULT NULL,
+ "event_name" varchar(100) DEFAULT NULL,
+ "domain" varchar(100) DEFAULT NULL,
+ "event_id" varchar(100) DEFAULT NULL,
+ "event_type" varchar(100) DEFAULT NULL,
+ "nfc_naming_code" varchar(100) DEFAULT NULL,
+ "nf_namingcode" varchar(100) DEFAULT NULL,
+ "source_id" varchar(100) DEFAULT NULL,
+ "source_name" varchar(100) DEFAULT NULL,
+ "reporting_entity_id" varchar(100) DEFAULT NULL,
+ "reporting_entity_name" varchar(100) DEFAULT NULL,
+ "priority" varchar(50) DEFAULT NULL,
+ "start_epoch_microsec" varchar(100) DEFAULT NULL,
+ "last_epoch_microsec" varchar(100) DEFAULT NULL,
+ "sequence" varchar(100) DEFAULT NULL,
+ "measurements_for_vf_scaling_version" varchar(100) DEFAULT NULL,
+ "measurement_interval" varchar(100) DEFAULT NULL,
+ CONSTRAINT performance_commoneventheader_pk PRIMARY KEY (id)
+) WITH (OIDS = FALSE);
+
+-- ----------------------------
+-- Table structure for service_instances
+-- ----------------------------
+DROP TABLE service_instances;
+CREATE TABLE service_instances (
+ "id" varchar(50) NOT NULL,
+ "service_instance_id" varchar(100) NOT NULL,
+ "customer_id" varchar(50) NOT NULL,
+ "service_type" varchar(50) NOT NULL,
+ "usecase_type" varchar(50) NOT NULL,
+ "parent_service_instance_id" varchar(100) DEFAULT NULL,
+ "uuid" varchar(100),
+ "invariant_uuid" varchar(100),
+ CONSTRAINT service_instances_pk PRIMARY KEY (service_instance_id)
+);
+
+-- ----------------------------
+-- Table structure for service_instance_operations
+-- ----------------------------
+DROP TABLE service_instance_operations;
+CREATE TABLE service_instance_operations (
+ "service_instance_id" varchar(100) NOT NULL,
+ "operation_id" varchar(100) NOT NULL,
+ "operation_type" varchar(50) NOT NULL,
+ "operation_progress" varchar(50) NOT NULL,
+ "operation_result" varchar(100) DEFAULT NULL,
+ "start_time" varchar(100) NOT NULL,
+ "end_time" varchar(100),
+ CONSTRAINT service_instance_operations_pk PRIMARY KEY (service_instance_id, operation_id)
+);
+
+-- ----------------------------
+-- Table structure for sort_master
+-- ----------------------------
+DROP TABLE sort_master;
+CREATE TABLE sort_master (
+ "sort_type" varchar(50) NOT NULL,
+ "sort_code" varchar(10) NOT NULL,
+ "sort_value" varchar(100) NOT NULL,
+ "language" varchar(50) NOT NULL,
+ CONSTRAINT sort_master_pk PRIMARY KEY (sort_type, sort_code, language)
+);