export LOADERS=${LOADERS:-$PACKAGE_URL/loaders.tar.gz}
export CIRROS=${CIRROS:-$PACKAGE_URL/cirros-0.3.3-x86_64-disk.img}
export SPECIAL_DEBIAN_PACKAGE=${SPECIAL_DEBIAN_PACKAGE-$PACKAGE_URL/debian-packages.tar.gz}
+export KVMFORNFV=${kvmfornfv:-https://gerrit.opnfv.org/gerrit/p/kvmfornfv.git}
export PIP_CONF="https://bootstrap.pypa.io/ez_setup.py \
--- /dev/null
+##############################################################################
+# Copyright (c) 2016 Nokia and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+# TODO compile kernel and qemu in docker container
+
+WORK_PATH=$(cd "$(dirname "$0")"/..; pwd)
+CACHE_DIR=$WORK_PATH/work/repo/temp
+DST_DIR=$WORK_PATH/work/repo/packages/kvmfornfv/
+source $WORK_PATH/build/build.conf
+
+function prepare()
+{
+ sudo apt-get install -y libtool libglib2.0-dev autoconf automake
+ mkdir -p $CACHE_DIR
+ mkdir -p $DST_DIR
+
+ if [ git ls-remote $KVMFORNFV ];
+ then
+ git clone $KVMFORNFV $CACHE_DIR/kvmfornfv
+ mkdir -p $CACHE_DIR/kvmfornfv/build/{boot,usr}
+ fi
+}
+
+function make_kernel()
+{
+ cd $CACHE_DIR/kvmfornfv/kernel
+ cp arch/x86/configs/opnfv.config .config
+ make -j8
+ make -j8 modules
+ make INSTALL_PATH=$CACHE_DIR/kvmfornfv/build/boot install
+ make INSTALL_MOD_PATH=$CACHE_DIR/kvmfornfv/build modules_install
+}
+
+function make_qemu()
+{
+ mkdir -p $CACHE_DIR/kvmfornfv/qemu/build
+ cd $CACHE_DIR/kvmfornfv/qemu/build
+ ../configure --prefix=$CACHE_DIR/kvmfornfv/build/usr --enable-system --enable-kvm
+ make -j8
+ make install
+}
+
+function make_kvmfornfv()
+{
+ pushd .
+
+ prepare
+ make_kernel
+ make_qemu
+
+ tar -czf $DST_DIR/kvmfornfv.tar.gz \
+ -C $CACHE_DIR/kvmfornfv/build .
+ cd -
+
+ popd
+}
+
+make_kvmfornfv
+
sudo: True
roles:
- common
+ - kvmfornfv
- database
- mq
- keystone
sudo: True
roles:
- common
+ - kvmfornfv
- nova-compute
- neutron-compute
--- /dev/null
+##############################################################################
+## Copyright (c) 2015 Nokia and others.
+##
+## All rights reserved. This program and the accompanying materials
+## are made available under the terms of the Apache License, Version 2.0
+## which accompanies this distribution, and is available at
+## http://www.apache.org/licenses/LICENSE-2.0
+###############################################################################
+---
+
+packages:
+ - qemu-kvm
+ - grub-pc
+ - zlib1g
+ - libglib2.0
+
--- /dev/null
+##############################################################################
+## Copyright (c) 2015 Nokia and others.
+##
+## All rights reserved. This program and the accompanying materials
+## are made available under the terms of the Apache License, Version 2.0
+## which accompanies this distribution, and is available at
+## http://www.apache.org/licenses/LICENSE-2.0
+###############################################################################
+---
+
+packages:
+ - zlib
+ - glib2
+ - gettext
+ - qemu-kvm
+ - grub2
+
+
--- /dev/null
+##############################################################################
+## Copyright (c) 2015 Nokia and others.
+##
+## All rights reserved. This program and the accompanying materials
+## are made available under the terms of the Apache License, Version 2.0
+## which accompanies this distribution, and is available at
+## http://www.apache.org/licenses/LICENSE-2.0
+###############################################################################
+---
+
+path: /tmp/kvmfornfv
+kernel_path: "{{ path }}/kernel"
+qemu_path: "{{ path }}/qemu"
+qemu_build_dir: "{{ qemu_path }}/build"
+package: kvmfornfv.tar.gz
+
--- /dev/null
+##############################################################################
+## Copyright (c) 2015 Nokia and others.
+##
+## All rights reserved. This program and the accompanying materials
+## are made available under the terms of the Apache License, Version 2.0
+## which accompanies this distribution, and is available at
+## http://www.apache.org/licenses/LICENSE-2.0
+###############################################################################
+---
+- name: get package http server
+ shell: awk -F'=' '/compass_server/ {print $2}' /etc/compass.conf
+ register: http_server
+
+- name: download kvmfornfv package file
+ get_url: url="http://{{ http_server.stdout_lines[0] }}/packages/kvmfornfv/{{ package }}" dest=/tmp/{{ package }}
+
+- name: extract kvmfornfv files
+ command: su -s /bin/sh -c "tar xzf /tmp/{{ package }} -C /"
+
+- name: Update grub on Centos
+ shell: grub2-mkconfig -o /boot/grub2/grub.conf
+ when: ansible_os_family == 'RedHat'
+
+- name: Update grub on Ubuntu
+ shell: grub-mkconfig -o /boot/grub/grub.conf
+ when: ansible_os_family == 'Debian'
+