diff --git a/deployment_scripts/install.sh b/deployment_scripts/install.sh index be01aa8..7b1171f 100644 --- a/deployment_scripts/install.sh +++ b/deployment_scripts/install.sh @@ -9,15 +9,30 @@ host=$1 nsh=$2 dpdk=$3 -wget -r -nd -np http://$host:8080/plugins/fuel-plugin-ovs-0.9/ovs_package/ubuntu if [ $nsh = 'true' ] then + wget -r -np -nH --cut-dirs=3 http://$host:8080/plugins/fuel-plugin-ovs-0.9/ovs-nsh/ dpkg -i openvswitch-datapath-dkms_2.5.90-1_all.deb dpkg -i openvswitch-common_2.5.90-1_amd64.deb dpkg -i openvswitch-switch_2.5.90-1_amd64.deb + dpkg -i python-openvswitch_2.5.90-1_all.deb if [ $dpdk = 'true' ] then + dpkg -i libxenstore3.0_4.4.2-0ubuntu0.14.04.5_amd64.deb + dpkg -i libdpdk0_2.2.0-1_amd64.deb + dpkg -i dpdk_2.2.0-1_amd64.deb dpkg -i openvswitch-switch-dpdk_2.5.90-1_amd64.deb fi +elif [ $dpdk = 'true' ] +then + wget -r -np -nH --cut-dirs=3 http://$host:8080/plugins/fuel-plugin-ovs-0.9/ovs-dpdk/ + dpkg -i libxenstore3.0_4.4.2-0ubuntu0.14.04.5_amd64.deb + dpkg -i libdpdk0_2.2.0-1_amd64.deb + dpkg -i dpdk_2.2.0-1_amd64.deb + dpkg -i openvswitch-datapath-dkms_2.5.1-1_all.deb + dpkg -i openvswitch-common_2.5.1-1_amd64.deb + dpkg -i openvswitch-switch_2.5.1-1_amd64.deb + dpkg -i python-openvswitch_2.5.1-1_all.deb + dpkg -i openvswitch-switch-dpdk_2.5.1-1_amd64.deb fi diff --git a/deployment_scripts/puppet/manifests/ovs-install-compute.pp b/deployment_scripts/puppet/manifests/ovs-install-compute.pp index 0d15ee1..3991454 100644 --- a/deployment_scripts/puppet/manifests/ovs-install-compute.pp +++ b/deployment_scripts/puppet/manifests/ovs-install-compute.pp @@ -1,10 +1,10 @@ $fuel_settings = parseyaml(file('/etc/astute.yaml')) $master_ip = $::fuel_settings['master_ip'] -$support_nsh = $::fuel_settings['fuel-plugin-ovs']['support_nsh'] -$support_dpdk = $::fuel_settings['fuel-plugin-ovs']['support_dpdk'] +$install_nsh = $::fuel_settings['fuel-plugin-ovs']['install_nsh'] +$install_dpdk = $::fuel_settings['fuel-plugin-ovs']['install_dpdk'] if $operatingsystem == 'Ubuntu' { exec { 'install ovs_nsh_dpdk': - command => "curl http://${master_ip}:8080/plugins/fuel-plugin-ovs-0.9/deployment_scripts/install.sh | bash -s ${master_ip} ${support_nsh} ${support_dpdk}", + command => "curl http://${master_ip}:8080/plugins/fuel-plugin-ovs-0.9/deployment_scripts/install.sh | bash -s ${master_ip} ${install_nsh} ${install_dpdk}", path => "/usr/bin:/usr/sbin:/bin:/sbin"; } } elsif $operatingsystem == 'CentOS' { diff --git a/deployment_tasks.yaml b/deployment_tasks.yaml index 12d9bc4..d190afb 100644 --- a/deployment_tasks.yaml +++ b/deployment_tasks.yaml @@ -1,17 +1,7 @@ -- id: ovs_nsh_dpdk - type: group - role: ['compute'] - requires: [deploy_start] - required_for: [deploy_end] - tasks: [hiera, setup_repositories, fuel_pkgs, globals, tools, logging, ovs_install_compute] - parameters: - strategy: - type: parallel - - id: ovs_install_compute type: puppet version: 2.0.0 - groups: [ovs_nsh_dpdk] + groups: [compute] required_for: [pre_deployment_end] requires: [pre_deployment_start] parameters: diff --git a/environment_config.yaml b/environment_config.yaml index 04a3fda..c4688fd 100644 --- a/environment_config.yaml +++ b/environment_config.yaml @@ -1,11 +1,11 @@ attributes: - support_dpdk: + install_dpdk: type: "checkbox" weight: 20 value: false - label: "support DPDK" - support_nsh: + label: "install DPDK" + install_nsh: type: "checkbox" weight: 20 value: false - label: "support NSH" + label: "install NSH" diff --git a/metadata.yaml b/metadata.yaml index b8f5edf..4aad5c6 100644 --- a/metadata.yaml +++ b/metadata.yaml @@ -1,7 +1,7 @@ # Plugin name name: fuel-plugin-ovs # Human-readable name for your plugin -title: Openvswitch with NSH/DPDK support +title: Install Openvswitch with NSH/DPDK # Plugin version version: '0.9.0' # Description diff --git a/ovs_build/build-ovs-dpdk.sh b/ovs_build/build-ovs-dpdk.sh index 0393967..8b2ac2e 100755 --- a/ovs_build/build-ovs-dpdk.sh +++ b/ovs_build/build-ovs-dpdk.sh @@ -43,6 +43,7 @@ dpdk (2.2.0-1) unstable; urgency=low EOF debian/rules build; fakeroot debian/rules binary cd ${BUILD_HOME}; sudo dpkg -i *.deb +apt-get download libxenstore3.0 cd ${BUILD_HOME} wget -c https://launchpad.net/ubuntu/+archive/primary/+files/openvswitch-dpdk_2.4.0.orig.tar.gz diff --git a/ovs_build/build-ovs-nsh-dpdk.sh b/ovs_build/build-ovs-nsh-dpdk.sh index 9dcf389..53bb617 100755 --- a/ovs_build/build-ovs-nsh-dpdk.sh +++ b/ovs_build/build-ovs-nsh-dpdk.sh @@ -43,6 +43,7 @@ dpdk (2.2.0-1) unstable; urgency=low EOF debian/rules build; fakeroot debian/rules binary cd ${BUILD_HOME}; sudo dpkg -i *.deb +apt-get download libxenstore3.0 cd ${BUILD_HOME} wget -c https://launchpad.net/ubuntu/+archive/primary/+files/openvswitch-dpdk_2.4.0.orig.tar.gz diff --git a/pre_build_hook b/pre_build_hook index ec8efd1..d860cb8 100755 --- a/pre_build_hook +++ b/pre_build_hook @@ -8,20 +8,17 @@ DIR="$(dirname `readlink -f $0`)" function build_pkg { case $1 in ubuntu) + rm -rf ${DIR}/repositories/ubuntu; mkdir -p ${DIR}/repositories/ubuntu + cd ${DIR}/ovs_build sudo docker build -t ovs_build . - rm -rf ${DIR}/repositories/ubuntu; mkdir -p ${DIR}/repositories/ubuntu - rm -rf ${DIR}/tmp/; mkdir -p ${DIR}/tmp/; chmod 777 ${DIR}/tmp - sudo docker run -v ${DIR}/tmp:/deb -t ovs_build /ovs_build/build-ovs-dpdk.sh - cp -r ${DIR}/tmp/*.deb ${DIR}/repositories/ubuntu + rm -rf ${DIR}/ovs-dpdk; mkdir -p ${DIR}/ovs-dpdk/; chmod 777 ${DIR}/ovs-dpdk + sudo docker run -v ${DIR}/ovs-dpdk:/deb -t ovs_build /ovs_build/build-ovs-dpdk.sh - rm -rf ${DIR}/ovs_package/ubuntu; mkdir -p ${DIR}/ovs_package/ubuntu - rm -rf ${DIR}/tmp/; mkdir -p ${DIR}/tmp/; chmod 777 ${DIR}/tmp - sudo docker run -v ${DIR}/tmp:/deb -t ovs_build /ovs_build/build-ovs-nsh-dpdk.sh - cp -r ${DIR}/tmp/*.deb ${DIR}/ovs_package/ubuntu + rm -rf ${DIR}/ovs-nsh; mkdir -p ${DIR}/ovs-nsh/; chmod 777 ${DIR}/ovs-nsh + sudo docker run -v ${DIR}/ovs-nsh:/deb -t ovs_build /ovs_build/build-ovs-nsh-dpdk.sh - rm -rf ${DIR}/tmp/; ;; *) echo "Not supported system"; exit 1;; esac