Add docker files
Adding docker files so the docker job would run
Change-Id: I7db917d261d480e28a51ff222f12422803b395e8
Issue-ID: SDC-1339
Signed-off-by: Stone, Avi (as206k) <as206k@att.com>
diff --git a/docker/docker_tools/Dockerfile b/docker/docker_tools/Dockerfile
new file mode 100644
index 0000000..4a36f7d
--- /dev/null
+++ b/docker/docker_tools/Dockerfile
@@ -0,0 +1,20 @@
+FROM onap/base_sdc-jetty:1.2.0-SNAPSHOT-latest
+
+USER root
+
+RUN adduser -h /home/dcae -s /bin/sh -D dcae
+
+COPY target/dcaedt_tools-*.jar /var/opt/dcae-tools/app/dcaedt_tools.jar
+
+COPY chef-solo /var/opt/dcae-tools/chef-solo/
+
+COPY startup.sh /var/opt/dcae-tools
+
+RUN chmod 775 /var/opt/dcae-tools/startup.sh
+
+RUN chown -R dcae /var/opt/dcae-tools
+
+USER dcae
+
+ENTRYPOINT [ "/var/opt/dcae-tools/startup.sh" ]
+
diff --git a/docker/docker_tools/chef-solo/cookbooks/Deploy-DCAE/.gitignore b/docker/docker_tools/chef-solo/cookbooks/Deploy-DCAE/.gitignore
new file mode 100644
index 0000000..b31c0d3
--- /dev/null
+++ b/docker/docker_tools/chef-solo/cookbooks/Deploy-DCAE/.gitignore
@@ -0,0 +1,20 @@
+.vagrant
+Berksfile.lock
+*~
+*#
+.#*
+\#*#
+.*.sw[a-z]
+*.un~
+
+# Bundler
+Gemfile.lock
+bin/*
+.bundle/*
+
+.kitchen/
+.kitchen.local.yml
+
+######### Private
+run.me
+DCAE-CI01.json
diff --git a/docker/docker_tools/chef-solo/cookbooks/Deploy-DCAE/.kitchen.yml b/docker/docker_tools/chef-solo/cookbooks/Deploy-DCAE/.kitchen.yml
new file mode 100644
index 0000000..37d2844
--- /dev/null
+++ b/docker/docker_tools/chef-solo/cookbooks/Deploy-DCAE/.kitchen.yml
@@ -0,0 +1,16 @@
+---
+driver:
+ name: vagrant
+
+provisioner:
+ name: chef_zero
+
+platforms:
+ - name: ubuntu-16.04
+ - name: centos-7.1
+
+suites:
+ - name: default
+ run_list:
+ - recipe[Deploy-DCAE::default]
+ attributes:
diff --git a/docker/docker_tools/chef-solo/cookbooks/Deploy-DCAE/README.md b/docker/docker_tools/chef-solo/cookbooks/Deploy-DCAE/README.md
new file mode 100644
index 0000000..27aba53
--- /dev/null
+++ b/docker/docker_tools/chef-solo/cookbooks/Deploy-DCAE/README.md
@@ -0,0 +1,4 @@
+# Deploy-DCAE
+
+TODO: Enter the cookbook description here.
+
diff --git a/docker/docker_tools/chef-solo/cookbooks/Deploy-DCAE/attributes/default.rb b/docker/docker_tools/chef-solo/cookbooks/Deploy-DCAE/attributes/default.rb
new file mode 100644
index 0000000..b774969
--- /dev/null
+++ b/docker/docker_tools/chef-solo/cookbooks/Deploy-DCAE/attributes/default.rb
@@ -0,0 +1,7 @@
+default['WORKSPACE_DIR'] = "/var/opt/dcae-tools/app"
+
+default['DCAE']['BE'][:http_port] = 8082
+default['DCAE']['BE'][:https_port] = 8444
+
+default['disableHttp'] = true
+
diff --git a/docker/docker_tools/chef-solo/cookbooks/Deploy-DCAE/files/default/config.json b/docker/docker_tools/chef-solo/cookbooks/Deploy-DCAE/files/default/config.json
new file mode 100644
index 0000000..a243dc7
--- /dev/null
+++ b/docker/docker_tools/chef-solo/cookbooks/Deploy-DCAE/files/default/config.json
@@ -0,0 +1,207 @@
+{
+ "templateInfo": [{
+ "name": "Syslog Collector Template",
+ "flowType": "Syslog Collector",
+ "description": "Syslog Collector",
+ "category": "Template",
+ "subCategory":"Base Monitoring Template",
+ "updateIfExist": "false",
+ "composition": [{
+ "type": "SyslogCollector",
+ "alias": "Syslog"
+ }, {
+ "type": "Existing Topic",
+ "alias": "eTopic"
+ }],
+ "relations": [{
+ "fromComponent": "Syslog.SyslogCollector",
+ "fromRequirement": "stream_publish_0",
+ "toComponent": "eTopic.topic",
+ "toCapability": "topic"
+ }],
+ "nodesToDelete": [
+ {
+ "type": "SyslogCollector",
+ "nodeName": "topic0"
+ }]
+ },{
+ "name": "Syslog MSEA Template",
+ "flowType": "Syslog MSEA",
+ "description": "Syslog MSEA",
+ "category": "Template",
+ "subCategory":"Base Monitoring Template",
+ "updateIfExist": "false",
+ "composition": [{
+ "type": "Map",
+ "alias": "Map"
+ }, {
+ "type": "Supplement",
+ "alias": "Sup"
+ }, {
+ "type": "Enrich",
+ "alias": "Enr"
+ }, {
+ "type": "Alert",
+ "alias": "Ale"
+ }],
+ "relations": [{
+ "fromComponent": "Sup.Supplement",
+ "fromRequirement": "dependency",
+ "toComponent": "Map.Map",
+ "toCapability": "feature"
+ },{
+ "fromComponent": "Enr.Enrich",
+ "fromRequirement": "dependency",
+ "toComponent": "Sup.Supplement",
+ "toCapability": "feature"
+ },{
+ "fromComponent": "Ale.Alert",
+ "fromRequirement": "dependency",
+ "toComponent": "Enr.Enrich",
+ "toCapability": "feature"
+ }]
+ },{
+ "name": "Status Poller Collector Template",
+ "flowType": "Status Poller Collector",
+ "description": "Status Poller Collector",
+ "category": "Template",
+ "subCategory":"Base Monitoring Template",
+ "updateIfExist": "false",
+ "composition": [{
+ "type": "StatusPoller",
+ "alias": "sPoller"
+ }, {
+ "type": "Existing Topic",
+ "alias": "eTopic0"
+ }],
+ "relations": [{
+ "fromComponent": "sPoller.StatusPoller",
+ "fromRequirement": "stream_publish_0",
+ "toComponent": "eTopic0.topic",
+ "toCapability": "topic"
+ }],
+ "nodesToDelete": [
+ {
+ "type": "StatusPoller",
+ "nodeName": "topic0"
+ }]
+ }, {
+ "name": "Status Poller MSE Template",
+ "flowType": "Status Poller MSE",
+ "description": "Status Poller MSE",
+ "category": "Template",
+ "subCategory":"Base Monitoring Template",
+ "updateIfExist": "false",
+ "composition": [{
+ "type": "Map",
+ "alias": "Map"
+ }, {
+ "type": "Supplement",
+ "alias": "Sup"
+ }, {
+ "type": "Enrich",
+ "alias": "Enr"
+ }],
+ "relations": [{
+ "fromComponent": "Sup.Supplement",
+ "fromRequirement": "dependency",
+ "toComponent": "Map.Map",
+ "toCapability": "feature"
+ },{
+ "fromComponent": "Enr.Enrich",
+ "fromRequirement": "dependency",
+ "toComponent": "Sup.Supplement",
+ "toCapability": "feature"
+ }]
+ }, {
+ "name": "FOI Collector Template",
+ "flowType": "FOI Collector",
+ "description": "FOI Collector",
+ "category": "Template",
+ "subCategory":"Base Monitoring Template",
+ "updateIfExist": "false",
+ "composition": [{
+ "type": "FOICollector",
+ "alias": "fCollector"
+ }, {
+ "type": "Existing Feed",
+ "alias": "eFeed"
+ }],
+ "relations": [{
+ "fromComponent": "fCollector.FoiSftp",
+ "fromRequirement": "stream_publish_0",
+ "toComponent": "eFeed.feed",
+ "toCapability": "feed"
+ }],
+ "nodesToDelete": [
+ {
+ "type": "FOICollector",
+ "nodeName": "feed0"
+ }]
+ }, {
+ "name": "SNMP MSE Template",
+ "flowType": "SNMP MSE",
+ "description": "SNMP MSE",
+ "category": "Template",
+ "subCategory":"Base Monitoring Template",
+ "updateIfExist": "false",
+ "composition": [{
+ "type": "Map",
+ "alias": "Map"
+ }, {
+ "type": "Supplement",
+ "alias": "Sup"
+ }, {
+ "type": "Enrich",
+ "alias": "Enr"
+ }],
+ "relations": [{
+ "fromComponent": "Sup.Supplement",
+ "fromRequirement": "dependency",
+ "toComponent": "Map.Map",
+ "toCapability": "feature"
+ },{
+ "fromComponent": "Enr.Enrich",
+ "fromRequirement": "dependency",
+ "toComponent": "Sup.Supplement",
+ "toCapability": "feature"
+ }]
+ }, {
+ "name": "Docker Map Template",
+ "flowType": "Docker Map",
+ "description": "Docker Map",
+ "category": "Template",
+ "subCategory":"Base Monitoring Template",
+ "updateIfExist": "false",
+ "composition": [{
+ "type": "DockerMap",
+ "alias": "dMp"
+ }, {
+ "type": "Existing Feed",
+ "alias": "eFeed"
+ }, {
+ "type": "Existing Topic",
+ "alias": "eTopic"
+ }],
+ "relations": [{
+ "fromComponent": "dMp.DockerMap",
+ "fromRequirement": "stream_subscribe_0",
+ "toComponent": "eFeed.feed",
+ "toCapability": "feed"
+ }, {
+ "fromComponent": "dMp.DockerMap",
+ "fromRequirement": "stream_publish_0",
+ "toComponent": "eTopic.topic",
+ "toCapability": "topic"
+ }],
+ "nodesToDelete": [
+ {
+ "type": "DockerMap",
+ "nodeName": "feed0"
+ },
+ {
+ "type": "DockerMap",
+ "nodeName": "topic0"
+ }]
+ }]
+}
\ No newline at end of file
diff --git a/docker/docker_tools/chef-solo/cookbooks/Deploy-DCAE/metadata.rb b/docker/docker_tools/chef-solo/cookbooks/Deploy-DCAE/metadata.rb
new file mode 100644
index 0000000..7935c22
--- /dev/null
+++ b/docker/docker_tools/chef-solo/cookbooks/Deploy-DCAE/metadata.rb
@@ -0,0 +1,7 @@
+name 'Deploy-DCAE'
+maintainer 'The Authors'
+maintainer_email 'you@example.com'
+license 'all_rights'
+description 'Installs/Configures Deploy-DCAE'
+long_description 'Installs/Configures Deploy-DCAE'
+version '1.0.0'
diff --git a/docker/docker_tools/chef-solo/cookbooks/Deploy-DCAE/recipes/dcae_tools_setup.rb b/docker/docker_tools/chef-solo/cookbooks/Deploy-DCAE/recipes/dcae_tools_setup.rb
new file mode 100644
index 0000000..152def2
--- /dev/null
+++ b/docker/docker_tools/chef-solo/cookbooks/Deploy-DCAE/recipes/dcae_tools_setup.rb
@@ -0,0 +1,47 @@
+workspace_dir = "#{node['WORKSPACE_DIR']}"
+
+dcae_be_host = node['DCAE_BE_VIP']
+
+if node['disableHttp']
+ protocol = "https"
+ dcae_be_port = node['DCAE']['BE'][:https_port]
+else
+ protocol = "http"
+ dcae_be_port = node['DCAE']['BE'][:http_port]
+end
+
+printf("DEBUG: [%s]:[%s] disableHttp=[%s], protocol=[%s], dcae_be_vip=[%s], dcae_be_port=[%s] !!! \n", cookbook_name, recipe_name, node['disableHttp'], protocol, dcae_be_host ,dcae_be_port )
+
+
+directory "#{workspace_dir}/conf" do
+ mode '0755'
+ owner "dcae"
+ group "dcae"
+ recursive true
+ action :create
+end
+
+
+template "dcae-tools-config-yaml" do
+ sensitive true
+ path "/#{workspace_dir}/conf/environment.json"
+ source "environment.json.erb"
+ mode "0755"
+ owner "dcae"
+ group "dcae"
+ variables ({
+ :dcae_be_host => dcae_be_host,
+ :dcae_be_port => dcae_be_port,
+ :protocol => protocol
+ })
+end
+
+
+cookbook_file "/#{workspace_dir}/conf/config.json" do
+ sensitive true
+ source "config.json"
+ owner "dcae"
+ group "dcae"
+ mode "0755"
+ action :create
+end
diff --git a/docker/docker_tools/chef-solo/cookbooks/Deploy-DCAE/templates/default/environment.json.erb b/docker/docker_tools/chef-solo/cookbooks/Deploy-DCAE/templates/default/environment.json.erb
new file mode 100644
index 0000000..a792cf9
--- /dev/null
+++ b/docker/docker_tools/chef-solo/cookbooks/Deploy-DCAE/templates/default/environment.json.erb
@@ -0,0 +1,12 @@
+{
+ "dcaeBeHost": "<%= @protocol %>://<%= @dcae_be_host %>",
+ "dcaeBePort": "<%= @dcae_be_port %>",
+ "apiPath": "/dcae",
+ "credential" :{
+ "editor": "Carlos_Santana",
+ "username": "cs0008",
+ "password": "",
+ "firstName": "",
+ "lastName": ""
+ }
+}
\ No newline at end of file
diff --git a/docker/docker_tools/chef-solo/environments/.keep b/docker/docker_tools/chef-solo/environments/.keep
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/docker/docker_tools/chef-solo/environments/.keep
diff --git a/docker/docker_tools/chef-solo/roles/dcae-tools.json b/docker/docker_tools/chef-solo/roles/dcae-tools.json
new file mode 100644
index 0000000..9544756
--- /dev/null
+++ b/docker/docker_tools/chef-solo/roles/dcae-tools.json
@@ -0,0 +1,17 @@
+{
+ "name": "dcae-tools",
+ "description": "Running DCAE setup Jar",
+ "json_class": "Chef::Role",
+ "default_attributes": {
+
+ },
+ "override_attributes": {
+
+ },
+ "chef_type": "role",
+ "run_list": [
+ "recipe[Deploy-DCAE::dcae_tools_setup]"
+ ],
+ "env_run_lists": {
+ }
+}
diff --git a/docker/docker_tools/chef-solo/solo.json b/docker/docker_tools/chef-solo/solo.json
new file mode 100644
index 0000000..b7c24a2
--- /dev/null
+++ b/docker/docker_tools/chef-solo/solo.json
@@ -0,0 +1,4 @@
+{
+ "run_list": [ "role[dcae-tools]" ]
+}
+
diff --git a/docker/docker_tools/chef-solo/solo.rb b/docker/docker_tools/chef-solo/solo.rb
new file mode 100644
index 0000000..06c1af4
--- /dev/null
+++ b/docker/docker_tools/chef-solo/solo.rb
@@ -0,0 +1,16 @@
+root = File.absolute_path(File.dirname(__FILE__))
+file_cache_path root
+cookbook_path root + '/cookbooks'
+json_attribs root + '/solo.json'
+checksum_path root + '/checksums'
+data_bag_path root + '/data_bags'
+environment_path root + '/environments'
+file_backup_path root + '/backup'
+file_cache_path root + '/cache'
+log_level :info
+log_location STDOUT
+rest_timeout 300
+role_path root + '/roles'
+syntax_check_cache_path
+umask 0022
+verbose_logging nil
diff --git a/docker/docker_tools/startup.sh b/docker/docker_tools/startup.sh
new file mode 100644
index 0000000..c8f5132
--- /dev/null
+++ b/docker/docker_tools/startup.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+set -x
+# Run chef-solo for configuration
+cd /var/opt/dcae-tools/chef-solo
+chef-solo -c solo.rb -E ${ENVNAME} --log_level "debug" --logfile "/tmp/Chef-Solo.log"
+
+status=$?
+if [ $status != 0 ]; then
+ echo "[ERROR] Problem detected while running chef. Aborting !"
+ exit 1
+fi
+
+# Execute DCAE tools
+cd /var/opt/dcae-tools/app
+java -jar dcaedt_tools.jar conf/environment.json conf/config.json
+
+exec "$@";
\ No newline at end of file