summaryrefslogtreecommitdiffstats
path: root/ansible/roles/install_samplevnf
diff options
context:
space:
mode:
authorRoss Brattain <ross.b.brattain@intel.com>2017-08-18 13:36:02 -0700
committerRoss Brattain <ross.b.brattain@intel.com>2017-08-23 22:06:56 -0700
commit1d91850970f89ff6b383c26a1cf9fbc5e9ac78eb (patch)
tree4c33c3358ab01cdbf431986ce75bd4dc6419d9fe /ansible/roles/install_samplevnf
parent5ed1f7ebbe7a9ae6138f56051a15e7774f6e71b9 (diff)
ansible: update dpdk, trex and samplevnf install
we now clone samplevnf from git repo made install_samplevnf role that takes as parameter VNF name added ubuntu_server_cloudimg_modify_samplevnfs playbook Change-Id: I5724e3b844b3137542a5c293516893a5c80f5c61 Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
Diffstat (limited to 'ansible/roles/install_samplevnf')
-rw-r--r--ansible/roles/install_samplevnf/tasks/main.yml55
-rw-r--r--ansible/roles/install_samplevnf/vars/main.yml41
2 files changed, 96 insertions, 0 deletions
diff --git a/ansible/roles/install_samplevnf/tasks/main.yml b/ansible/roles/install_samplevnf/tasks/main.yml
new file mode 100644
index 000000000..d332c88bc
--- /dev/null
+++ b/ansible/roles/install_samplevnf/tasks/main.yml
@@ -0,0 +1,55 @@
+# Copyright (c) 2017 Intel Corporation
+#
+# 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_fact:
+ vnf_build_dir: "{{ samplevnf_path }}/VNFs/{{ vnf_build_dirs[vnf_name] }}"
+
+- set_fact:
+ vnf_app_name: "{{ vnf_app_names[vnf_name] }}"
+
+- name: Install extra build dependencies
+ action: "{{ ansible_pkg_mgr }} name={{ item }} state=present"
+ with_items: "{{ vnf_build_dependencies.get(vnf_name, {}).get(ansible_os_family, []) }}"
+
+
+- name: set build env vars
+ set_fact:
+ build_env_vars:
+ RTE_SDK: "{{ RTE_SDK }}"
+ RTE_TARGET: "{{ RTE_TARGET }}"
+ VNF_CORE: "{{ samplevnf_path }}"
+
+- name: set soft CRC for PROX when building in VM
+ set_fact:
+ build_env_vars: "{{ build_env_vars|combine({'crc': 'soft'}) }}"
+ when: vnf_name == "PROX" and image_type is defined and image_type == "vm"
+
+- name: "make {{ vnf_name }} clean"
+ my_make: chdir="{{ vnf_build_dir }}" target=clean extra_args="-j {{ ansible_processor_vcpus }}"
+ environment: "{{ build_env_vars }}"
+
+- name: "make {{ vnf_name }}"
+ my_make: chdir="{{ vnf_build_dir }}" extra_args="-j {{ ansible_processor_vcpus }}"
+ environment: "{{ build_env_vars }}"
+
+#- command: cp "{{ vnf_build_dir }}/{{ vnf_name }}/build/ip_pipeline" "{{ INSTALL_BIN_PATH }}/vACL_vnf"
+
+- name: "Install {{ vnf_name }} VNF"
+ copy:
+ src: "{{ vnf_build_dir }}/build/{{ vnf_app_name }}"
+ dest: "{{ INSTALL_BIN_PATH }}/{{ vnf_app_name }}"
+ remote_src: True
+ # make executable
+ mode: 0755
+
diff --git a/ansible/roles/install_samplevnf/vars/main.yml b/ansible/roles/install_samplevnf/vars/main.yml
new file mode 100644
index 000000000..6f2c44a84
--- /dev/null
+++ b/ansible/roles/install_samplevnf/vars/main.yml
@@ -0,0 +1,41 @@
+# Copyright (c) 2017 Intel Corporation
+#
+# 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.
+---
+vnf_build_dependencies:
+ PROX:
+ Debian:
+ - pkg-config
+ - liblua5.2-dev
+ - libncurses5
+ - libncurses5-dev
+ - libncursesw5
+ - libncursesw5-dev
+ - libedit-dev
+ RedHat:
+ - pkgconfig
+ - lua-devel
+ - ncurses-devel
+ - libedit-devel
+vnf_build_dirs:
+ ACL: vACL
+ FW: vFW
+ CGNATP: vCGNAPT
+ UDP_Replay: UDP_Replay
+ PROX: DPPD-PROX
+vnf_app_names:
+ ACL: vACL
+ FW: vFW
+ CGNATP: vCGNAPT
+ UDP_Replay: UDP_Replay
+ PROX: prox