--- # # Add the following two lines to /etc/ansible/hosts #[] # # # execute on target DTN: sudo service sshd start # # execute on local machine: ssh-copy-id root@ # # execute this playbook: ansible-playbook ovs-install-sl6.yml --extra-vars "DTNname= time_str=`date +%F-%R|sed s/://`" # - hosts: '{{DTNname}}' vars: ovs_version: 2.5.2 remote_user: root tasks: - name: gcc package yum: name=gcc - name: make package yum: name=make - name: python-devel package yum: name=python-devel - name: openssl-devel package yum: name=openssl-devel - name: kernel-devel package yum: name=kernel-devel - name: graphviz package yum: name=graphviz - name: kernel-debug-devel package yum: name=kernel-debug-devel - name: autoconf automake packages yum: name=autoconf,automake - name: rpm-build package yum: name=rpm-build - name: redhat-rpm-config package yum: name=redhat-rpm-config - name: libtool package yum: name=libtool - name: yum-conf-softwarecollections package yum: name: http://ftp.scientificlinux.org/linux/scientific/6/external_products/softwarecollections/yum-conf-softwarecollections-2.0-1.el6.noarch.rpm state: present - name: python27 package yum: name: python27 - name: enable python 2.7 in .bashrc lineinfile: name: ~/.bashrc insertafter: '^# User specific' line: 'source /opt/rh/python27/enable' - name: directory ~/rpmbuild/SPECS file: path: ~/rpmbuild/SPECS state: directory - name: directory ~/rpmbuild/SOURCES file: path: ~/rpmbuild/SOURCES state: directory - name: get OVS {{ovs_version}} tarball get_url: url: http://openvswitch.org/releases/openvswitch-{{ovs_version}}.tar.gz dest: ~/rpmbuild/SOURCES/openvswitch-{{ovs_version}}.tar.gz - name: unpack OVS tarball # Need to do once to access .spec files unarchive: # tar -zxvf openvswitch-{{ovs_version}}.tar.gz src: ~/rpmbuild/SOURCES/openvswitch-{{ovs_version}}.tar.gz dest: ~/rpmbuild/SOURCES remote_src: True extra_opts: -z - name: copy RHEL OVS spec file copy: src: ~/rpmbuild/SOURCES/openvswitch-{{ovs_version}}/rhel/openvswitch.spec dest: ~/rpmbuild/SPECS remote_src: True - name: correct check for python 2.7 in .spec file lineinfile: name: /root/rpmbuild/SPECS/openvswitch.spec regexp: '^Requires:' line: 'Requires: logrotate, python27' - name: python-six package yum: name: python-six state: present - name: python six library pip: name: six state: present - name: build openvswitch shell: cd ~/rpmbuild/SPECS; rpmbuild -ba --without check openvswitch.spec >ovs_build_log.{{time_str}}.txt 2>&1 - name: install openvswitch RPM yum: name=/root/rpmbuild/RPMS/x86_64/openvswitch-{{ovs_version}}-1.x86_64.rpm - name: start openvswitch service service: name: openvswitch state: started