[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