[CORD-2138] change codes for build_and_run component and add copyright

Change-Id: I3253e6561021d902c6225b22e5ad08edfe0f589a
(cherry picked from commit 9eea197db9d50cd7f5fd69caaccca8d914a74f89)
diff --git a/xos/synchronizer/steps/roles/build_and_run/tasks/main.yml b/xos/synchronizer/steps/roles/build_and_run/tasks/main.yml
new file mode 100644
index 0000000..74d619c
--- /dev/null
+++ b/xos/synchronizer/steps/roles/build_and_run/tasks/main.yml
@@ -0,0 +1,70 @@
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+---
+
+# Set CPU Hexacode
+- name: change CPU hexacode in run.sh file
+  become: yes
+  template:
+    src=run.sh.j2
+    dest="{{source_path}}/cp/run.sh" owner=root group=root mode=755
+
+# Set size of Hugepage
+- name: set hugepage parameter
+  become: yes
+  shell: "echo vm.nr_hugepages=512 >> /etc/sysctl.conf"
+
+# Adjust the parameter for Hugepage
+- name: adjust changed hugepage parameter
+  become: yes
+  shell: "sysctl -p"
+
+# Make shell script to run vSPGW-C with log
+- name: make run with log file
+  become: yes
+  template:
+    src=run_with_log.sh.j2
+    dest="{{source_path}}/cp/run_with_log.sh" owner=root group=root mode=755
+
+# Must wait until vSPGW-U successfully runs ngic dp software
+# Must insert codes to wait until above
+# Following codes will be uncommented when vSPGWU playbook is completed
+#- name: wait until vSPGW-U runs successfully
+#  wait_for:
+#    timeout: 1800
+#    path: "{{ source_path }}/cp/finish_vspgwu_flag"
+#    msg: Timeout to wait that vSPGWU runs successfully
+
+# This part should be run after user plane (data plane) runs in vSPGW-U
+# If not, vSPGW-U and vSPGW-C will not be working well
+- name: build and run vspgwc
+  become: yes
+  shell: "{{ item }}"
+  args:
+    chdir: "{{ source_path }}/cp"
+  environment:
+    NG_CORE: "{{ source_path }}"
+    RTE_SDK: "{{ source_path }}/dpdk"
+    RTE_TARGET: "x86_64-native-linuxapp-gcc"
+    HYPERSCANDIR: "/root/ngic/hyperscan-4.1.0"
+  with_items:
+    - make clean
+    - make
+    - ./run_with_log.sh
+
+# Finish
+- name: write flag
+  become: yes
+  shell: "echo 1 > {{source_path}}/cp/finish_flag_build_and_run"
\ No newline at end of file
diff --git a/xos/synchronizer/steps/roles/interface_config/templates/run.sh.j2 b/xos/synchronizer/steps/roles/build_and_run/templates/run.sh.j2
similarity index 100%
rename from xos/synchronizer/steps/roles/interface_config/templates/run.sh.j2
rename to xos/synchronizer/steps/roles/build_and_run/templates/run.sh.j2
diff --git a/xos/synchronizer/steps/roles/build_and_run/templates/run_with_log.sh.j2 b/xos/synchronizer/steps/roles/build_and_run/templates/run_with_log.sh.j2
new file mode 100644
index 0000000..44dc8de
--- /dev/null
+++ b/xos/synchronizer/steps/roles/build_and_run/templates/run_with_log.sh.j2
@@ -0,0 +1,16 @@
+#! /bin/bash
+# Copyright 2017-present Open Networking Foundation
+#
+# 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.
+
+./run.sh > results &
\ No newline at end of file
diff --git a/xos/synchronizer/steps/roles/interface_config/tasks/main.yml b/xos/synchronizer/steps/roles/interface_config/tasks/main.yml
index ec6e96d..78bb7b0 100644
--- a/xos/synchronizer/steps/roles/interface_config/tasks/main.yml
+++ b/xos/synchronizer/steps/roles/interface_config/tasks/main.yml
@@ -38,52 +38,6 @@
     src=cp_config.cfg.j2
     dest="{{source_path}}/config/cp_config.cfg" owner=root group=root mode=755
 
-- name: change CPU hexacode in run.sh file
+- name: write flag for interface_config
   become: yes
-  template:
-    src=run.sh.j2
-    dest="{{source_path}}/cp/run.sh" owner=root group=root mode=755
-
-- name: set hugepage parameter
-  become: yes
-  shell: "echo vm.nr_hugepages=512 >> /etc/sysctl.conf"
-
-- name: adjust changed hugepage parameter
-  become: yes
-  shell: "sysctl -p"
-
-- name: make run with log file
-  become: yes
-  template:
-    src=run_with_log.sh.j2
-    dest="{{source_path}}/cp/run_with_log.sh" owner=root group=root mode=755
-
-# Must wait until vSPGW-U successfully runs ngic dp software
-# Must insert codes to wait until above
-# Following codes will be uncommented when vSPGWU playbook is completed
-#- name: wait until vSPGW-U runs successfully
-#  wait_for:
-#    timeout: 1800
-#    path: "{{ source_path }}/cp/finish_vspgwu_flag"
-#    msg: Timeout to wait that vSPGWU runs successfully
-
-# This part should be run after user plane (data plane) runs in vSPGW-U
-# If not, vSPGW-U and vSPGW-C will not be working well
-- name: build and run vspgwc
-  become: yes
-  shell: "{{ item }}"
-  args:
-    chdir: "{{ source_path }}/cp"
-  environment:
-    NG_CORE: "{{ source_path }}"
-    RTE_SDK: "{{ source_path }}/dpdk"
-    RTE_TARGET: "x86_64-native-linuxapp-gcc"
-    HYPERSCANDIR: "/root/ngic/hyperscan-4.1.0"
-  with_items:
-    - make clean
-    - make
-    - ./run_with_log.sh
-
-- name: write flag
-  become: yes
-  shell: "echo 1 > {{source_path}}/cp/finish_flag"
\ No newline at end of file
+  shell: "echo 1 > {{source_path}}/cp/finish_flag_interface_config"
\ No newline at end of file
diff --git a/xos/synchronizer/steps/roles/interface_config/templates/run_with_log.sh.j2 b/xos/synchronizer/steps/roles/interface_config/templates/run_with_log.sh.j2
deleted file mode 100644
index f286205..0000000
--- a/xos/synchronizer/steps/roles/interface_config/templates/run_with_log.sh.j2
+++ /dev/null
@@ -1 +0,0 @@
-./run.sh > results &
\ No newline at end of file
diff --git a/xos/synchronizer/steps/vspgwctenant_playbook.yaml b/xos/synchronizer/steps/vspgwctenant_playbook.yaml
index 11b6ae2..7dd9fd1 100644
--- a/xos/synchronizer/steps/vspgwctenant_playbook.yaml
+++ b/xos/synchronizer/steps/vspgwctenant_playbook.yaml
@@ -36,3 +36,4 @@
 
   roles:
     - interface_config
+    - build_and_run