summaryrefslogtreecommitdiffstats
path: root/deploy/prepare.sh
blob: 8a9ecef090586341f7754fd837614c8166f02068 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
function download_iso()
{
    iso_name=`basename $ISO_URL`
    rm -f $WORK_DIR/cache/"$iso_name.md5"
    curl --connect-timeout 10 -o $WORK_DIR/cache/"$iso_name.md5" $ISO_URL.md5
    if [[ -f $WORK_DIR/cache/$iso_name ]]; then
        local_md5=`md5sum $WORK_DIR/cache/$iso_name | cut -d ' ' -f 1`
        repo_md5=`cat $WORK_DIR/cache/$iso_name.md5 | cut -d ' ' -f 1`
        if [[ "$local_md5" == "$repo_md5" ]]; then
            return
        fi
    fi

    curl --connect-timeout 10 -o $WORK_DIR/cache/$iso_name $ISO_URL
}


function prepare_env() {
    export PYTHONPATH=/usr/lib/python2.7/dist-packages:/usr/local/lib/python2.7/dist-packages
    sudo apt-get update -y
    sudo apt-get install -y --force-yes mkisofs bc curl ipmitool
    sudo apt-get install -y --force-yes git python-pip python-dev
    sudo apt-get install -y --force-yes libxslt-dev libxml2-dev libvirt-dev build-essential qemu-utils qemu-kvm libvirt-bin virtinst libmysqld-dev
    sudo pip install --upgrade pip
    sudo pip install --upgrade ansible
    sudo pip install --upgrade virtualenv
    sudo pip install --upgrade netaddr
    sudo pip install --upgrade oslo.config
    sudo service libvirt-bin restart

    # prepare work dir
    rm -rf $WORK_DIR/{installer,vm,network,iso,venv}
    mkdir -p $WORK_DIR/installer
    mkdir -p $WORK_DIR/vm
    mkdir -p $WORK_DIR/network
    mkdir -p $WORK_DIR/iso
    mkdir -p $WORK_DIR/venv
    mkdir -p $WORK_DIR/cache

    download_iso

    cp $WORK_DIR/cache/`basename $ISO_URL` $WORK_DIR/iso/centos.iso -f

    # copy compass
    mkdir -p $WORK_DIR/mnt
    sudo mount -o loop $WORK_DIR/iso/centos.iso $WORK_DIR/mnt
    cp -rf $WORK_DIR/mnt/compass/compass-core $WORK_DIR/installer/
    cp -rf $WORK_DIR/mnt/compass/compass-install $WORK_DIR/installer/
    sudo umount $WORK_DIR/mnt
    rm -rf $WORK_DIR/mnt

    chmod 755 $WORK_DIR -R
    virtualenv $WORK_DIR/venv
}
ta-data deployment-scenario-metadata: title: ONOS No-HA deployment version: 0.0.2 created: Jan 10 2016 comment: ONOS No HA with Ceph, Ceilometer and Heat ############################################################################## # Stack extentions are opnfv added value features in form of a fuel-plugin # plug-ins listed below will be enabled and configured according to the # <module-config-base-uri>/<module-config-name>_<module-config-version>.yaml # It does so by copying the config file to the local plugin config directory stack-extensions: - module: onos module-config-name: fuel-onos module-config-version: 0.0.1 module-config-override: # Module config overrides public_eth: value: 'eth3' ############################################################################## # By editing the override-config sections below, you can override arbitrary # configuration name-space settings dea-override-config: environment: mode: ha net_segment_type: tun name: onos_no-ha wanted_release: Kilo on Ubuntu 14.04 nodes: - id: 1 interfaces: interfaces_1 role: mongo,controller,onos transformations: transformations_1 - id: 2 interfaces: interfaces_1 role: ceph-osd,compute transformations: transformations_2 - id: 3 interfaces: interfaces_1 role: ceph-osd,compute transformations: transformations_2 - id: 4 interfaces: interfaces_1 role: ceph-osd,compute transformations: transformations_2 # Unique network transformation for ONOS deployment transformations_2: transformations: - action: add-br name: br-fw-admin - action: add-br name: br-mgmt - action: add-br name: br-storage - action: add-br name: br-mesh - action: add-port bridge: br-fw-admin name: eth0 - action: add-port bridge: br-mgmt name: eth0.101 - action: add-port bridge: br-storage name: eth1.102 - action: add-port bridge: br-mesh name: eth2.103 settings: editable: common: libvirt_type: # ONOS requires QEMU value: qemu public_network_assignment: assign_to_all_nodes: # ONOS should not have public network assignment to all nodes value: false additional_components: ceilometer: description: If selected, Ceilometer component will be installed label: Install Ceilometer type: checkbox value: true weight: 40 heat: description: '' label: '' type: hidden value: true weight: 30 metadata: label: Additional Components weight: 20 storage: ephemeral_ceph: description: Configures Nova to store ephemeral volumes in RBD. This works best if Ceph is enabled for volumes and images, too. Enables live migration of all types of Ceph backed VMs (without this option, live migration will only work with VMs launched from Cinder volumes). label: Ceph RBD for ephemeral volumes (Nova) type: checkbox value: true weight: 75 images_ceph: description: Configures Glance to use the Ceph RBD backend to store images. If enabled, this option will prevent Swift from installing. label: Ceph RBD for images (Glance) restrictions: - settings:storage.images_vcenter.value == true: Only one Glance backend could be selected. type: checkbox value: true weight: 30 dha-override-config: # disks: # contrail: 500G ############################################################################## # The verification pipeline may populate the section below with arbitrary # testing information, which post deploy can be retreived from the fuel master: # /root/deploy-config.yaml test: