diff options
author | Ross Brattain <ross.b.brattain@intel.com> | 2017-08-18 13:36:02 -0700 |
---|---|---|
committer | Ross Brattain <ross.b.brattain@intel.com> | 2017-08-23 22:06:56 -0700 |
commit | 1d91850970f89ff6b383c26a1cf9fbc5e9ac78eb (patch) | |
tree | 4c33c3358ab01cdbf431986ce75bd4dc6419d9fe /ansible/roles/install_samplevnf | |
parent | 5ed1f7ebbe7a9ae6138f56051a15e7774f6e71b9 (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.yml | 55 | ||||
-rw-r--r-- | ansible/roles/install_samplevnf/vars/main.yml | 41 |
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 |