aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2017-03-06add open-o scenarioHarry Huang7-0/+579
add os-nosdn-openo-ha.yml and network_openo.yml in: 1. huawei-pod1 2. huawei-pod2 3. intel-pod8 Change-Id: I89ad426c1e3006bf2ef218cd9b55d97e53aa8721 Signed-off-by: Harry Huang <huangxiangyu5@huawei.com>
2017-02-28Merge "Add License header for files without it"Justin chi125-362/+1083
2017-02-28Merge "add ntp for compass-core"Justin chi3-2/+3
2017-02-27Add License header for files without itchigang125-362/+1083
JIRA: - use the first author's company for license holder use the latest year for license year add license for yml,c,cpp,shell,python,java. don't add license for template files such as config and j2 patch for auto add license: https://github.com/Justin-chi/Lab/blob/master/add_license.sh delete the files with the Eclipse License Change-Id: I4f17da4ebb36a074c0b6722a2a4154e6c235d4bb Signed-off-by: chigang <chigang@huawei.com>
2017-02-27Merge "Bug fix for odl l2"Justin chi3-5/+2
2017-02-27Merge "Update deploy.sh"Justin chi1-49/+10
2017-02-22Update deploy.shliyuenan1-49/+10
JIRA: - Remove some environment variables in deploy.sh, such as EXPANSION DEPLOY_COMPASS DEPLOY_HOST DEPLOY_RECOVERY. Those environment variables's instructions can be found in installation guide document. Change-Id: I1a7a2e1ad48d7488793ef80742bad1dab47b4270 Signed-off-by: liyuenan <liyuenan@huawei.com>
2017-02-22Bug fix for odl l2Yifei Xue3-5/+2
JIRA: COMPASS-512 1. Correct the script of unarchiving odl package for rerunnable 2. Delete the useless code in the script of installing networking-odl 3. Correct the variable "odl_pip" in vars/main.yml Change-Id: I5488dd4caedcbda735de24fd594207d66310e828 Signed-off-by: Yifei Xue <xueyifei@huawei.com>
2017-02-22Installation and release documentations updateQingyu Wang22-1100/+1127
JIRA: DOCS-165 update document for Danube release according to new doc guide; https://wiki.opnfv.org/display/DOC/Documentation+Guide add network topology for virtual and bm deployment; add a section for network_cfg.yaml configuration; add feature section, listing supported openstack version and features update installation for deployment and expansion. Change-Id: If43d94554bebc78bbd56cdf889c8c34dda926218 Signed-off-by: Qingyu <qingyuwang33@gmail.com> Signed-off-by: Justin <chigang@huawei.com>
2017-02-21add ntp for compass-coreqiwei-li-huawei3-2/+3
JIRA: COMPASS-514 add ntp for compass-core and set up timezone, make timezone in compass-core same as where hosts' are To set timezone of both compass-core and hosts, edit /deploy/conf/compass.conf TIMEZONE: Asia/Shanghai Change-Id: If60623dbff793e56e65c32f80addc5e1d956f3e1 Signed-off-by: qiwei-li-huawei <qiwei.li@huawei.com>
2017-02-20Upgrade OpenDaylight to Boron ( centos )Harry Huang9-32/+32
JIRA: COMPASS-512 1. Install requirements of networking-odl 2. Adjust order of removing neutron l3 agent 3. Modify file head Change
#
# OpenStack Health Check
# This script is meant for really basic API operations on OpenStack
# Services tested: Keystone, Glance, Cinder, Neutron, Nova
#
#
# Author:
#    jose.lausuch@ericsson.com
#
#
# 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
#

set -e

#Redirect all the output (stdout) to a log file and show only possible errors.
LOG_FILE=/home/opnfv/functest/results/healthcheck.log
YAML_FILE=${CONFIG_FUNCTEST_YAML}
echo "">$LOG_FILE
exec 1<>$LOG_FILE

info ()  {
    echo -e "$(date '+%Y-%m-%d %H:%M:%S,%3N') - healtcheck - INFO - " "$*" | tee -a $LOG_FILE 1>&2
}

debug ()  {
    if [[ "${CI_DEBUG,,}" == "true" ]]; then
        echo -e "$(date '+%Y-%m-%d %H:%M:%S,%3N') - healtcheck - DEBUG - " "$*" | tee -a $LOG_FILE 1>&2
    fi
}

error () {
    echo -e "$(date '+%Y-%m-%d %H:%M:%S,%3N') - healtcheck - ERROR - " "$*" | tee -a $LOG_FILE 1>&2
    exit 1
}

if [ -z $OS_AUTH_URL ]; then
    echo "Source credentials first."
    exit 1
fi


echo "Using following credentials:"
env | grep OS

## Variables:
project_1="opnfv-tenant1"
project_2="opnfv-tenant2"
user_1="opnfv_user1"
user_2="opnfv_user2"
user_3="opnfv_user3"
user_4="opnfv_user4"
user_5="opnfv_user5"
user_6="opnfv_user6"
kernel_image="opnfv-kernel-img"
ramdisk_image="opnfv-ramdisk-img"
image_1="opnfv-image1"
image_2="opnfv-image2"
volume_1="opnfv-volume1"
volume_2="opnfv-volume2"
net_1="opnfv-network1"
net_2="opnfv-network2"
subnet_1="opnfv-subnet1"
subnet_2="opnfv-subnet2"
port_1="opnfv-port1"
port_2="opnfv-port2"
router_1="opnfv-router1"
router_2="opnfv-router2"
flavor="m1.tiny"
instance_1="opnfv-instance1"
instance_2="opnfv-instance2"
instance_3="opnfv-instance3"
instance_4="opnfv-instance4"



function wait_for_ip() {
    # $1 is the instance name
    # $2 is the first octet of the subnet ip
    timeout=60
    while [[ ${timeout} > 0 ]]; do
        if [[ $(nova console-log $1|grep "No lease, failing") ]]; then
            error "The instance $1 couldn't get an IP from the DHCP agent." | tee -a $LOG_FILE 1>&2
            exit 1
        elif [[ $(nova console-log $1|grep "^Lease"|grep "obtained") ]]; then
            debug "The instance $1 got an IP successfully from the DHCP agent." | tee -a $LOG_FILE 1>&2
            break
        fi
        let timeout=timeout-1
        sleep 1
    done
}


#################################
info "Testing Keystone API..." | tee -a $LOG_FILE 1>&2
#################################
openstack project create ${project_1}
debug "project '${project_1}' created."
openstack project create ${project_2}
debug "project '${project_2}' created."
openstack user create ${user_1} --project ${project_1}
debug "user '${user_1}' created in project ${project_1}."
openstack user create ${user_2} --project ${project_1}
debug "user '${user_2}' created in project ${project_1}."
openstack user create ${user_3} --project ${project_1}
debug "user '${user_3}' created in project ${project_1}."
openstack user create ${user_4} --project ${project_2}
debug "user '${user_4}' created in project ${project_2}."
openstack user create ${user_5} --project ${project_2}
debug "user '${user_5}' created in project ${project_2}."
openstack user create ${user_6} --project ${project_2}
debug "user '${user_6}' created in project ${project_2}."
info "...Keystone OK!"

#################################
info "Testing Glance API..."
#################################
disk_img=$(cat ${YAML_FILE} | shyaml get-value healthcheck.disk_image 2> /dev/null || true)
disk_format=$(cat ${YAML_FILE} | shyaml get-value healthcheck.disk_format 2> /dev/null || true)
kernel_img=$(cat ${YAML_FILE} | shyaml get-value healthcheck.kernel_image 2> /dev/null || true)
ramdisk_img=$(cat ${YAML_FILE} | shyaml get-value healthcheck.ramdisk_image 2> /dev/null || true)
extra_properties=$(cat ${YAML_FILE} | shyaml get-value healthcheck.extra_properties 2> /dev/null || true)

# Test if we need to create a 3part image
if [ "X$kernel_img" != "X" ]
then
    img_id=$(glance image-create --name ${kernel_image} --disk-format aki \
             --container-format bare < ${kernel_img} | awk '$2 == "id" { print $4 }')
    extra_opts="--property kernel_id=${img_id}"

    if [ "X$ramdisk_img" != "X" ]
    then
        img_id=$(glance image-create --name ${ramdisk_image} --disk-format ari \
                 --container-format bare < ${ramdisk_img} | awk '$2 == "id" { print $4 }')
        extra_opts="$extra_opts --property ramdisk_id=${img_id}"
    fi
fi

if [ "X$extra_properties" != "X" ]
then
    keys=$(cat ${YAML_FILE} | shyaml keys healthcheck.extra_properties)
    for key in ${keys}
    do
        value=$(cat ${YAML_FILE} | shyaml get-value healthcheck.extra_properties.${key})
        extra_opts="$extra_opts --property ${key}=\"${value}\""
    done
fi

debug "image extra_properties=${extra_properties}"

eval glance image-create --name ${image_1} --disk-format ${disk_format} --container-format bare \
             ${extra_opts} < ${disk_img}
debug "image '${image_1}' created."
eval glance image-create --name ${image_2} --disk-format ${disk_format} --container-format bare \
             ${extra_opts} < ${disk_img}
debug "image '${image_2}' created."
info "... Glance OK!"

#################################
info "Testing Cinder API..."
#################################
cinder create --display_name ${volume_1} 1
debug "volume '${volume_1}' created."
cinder create --display_name ${volume_2} 10
debug "volume '${volume_2}' created."
info "...Cinder OK!"

#################################
info "Testing Neutron API..."
#################################

network_ids=($(neutron net-list|grep -v "+"|grep -v name|awk '{print $2}'))
for id in ${network_ids[@]}; do
    [[ $(neutron net-show ${id}|grep 'router:external'|grep -i "true") != "" ]] && ext_net_id=${id}
done
if [[ "${ext_net_id}" == "" ]]; then
    error "No external network found. Exiting Health Check..."
    exit 1
else
    info "External network found. ${ext_net_id}"
fi

info "1. Create Networks..."
neutron net-create ${net_1}
debug "net '${net_1}' created."
neutron net-create ${net_2}
debug "net '${net_2}' created."
net1_id=$(neutron net-list | grep ${net_1} | awk '{print $2}')
net2_id=$(neutron net-list | grep ${net_2} | awk '{print $2}')

info "2. Create subnets..."
neutron subnet-create --name ${subnet_1} --allocation-pool start=10.6.0.2,end=10.6.0.253 --gateway 10.6.0.254 ${net_1} 10.6.0.0/24
debug "subnet '${subnet_1}' created."
neutron subnet-create --name ${subnet_2} --allocation-pool start=10.7.0.2,end=10.7.0.253 --gateway 10.7.0.254 ${net_2} 10.7.0.0/24
debug "subnet '${subnet_2}' created."

info "3. Create Routers..."
neutron router-create ${router_1}
debug "router '${router_1}' created."
neutron router-create ${router_2}
debug "router '${router_2}' created."

neutron router-gateway-set ${router_1} ${ext_net_id}
debug "router '${router_1}' gateway set to ${ext_net_id}."
neutron router-gateway-set ${router_2} ${ext_net_id}
debug "router '${router_2}' gateway set to ${ext_net_id}."

neutron router-interface-add ${router_1} ${subnet_1}
debug "router '${router_1}' interface added ${subnet_1}."
neutron router-interface-add ${router_2} ${subnet_2}
debug "router '${router_2}' interface added ${subnet_2}."

info "...Neutron OK!"

#################################
info "Testing Nova API..."
#################################

# This delay should be removed after resolving Jira case APEX-149.
# The purpose is to give some time to populate openflow rules
# by SDN controller in case of odl_l2 scenario.
sleep 60


# Check if flavor exists
if [[ -z $(nova flavor-list|grep $flavor) ]]; then
    # if given flavor doesn't exist, we create one
    debug "Flavor $flavor doesn't exist. Creating a new flavor."
    nova flavor-create --is-public false ${flavor} auto 512 1 1 --is-public True
fi
debug "Using flavor $flavor to boot the instances."


nova boot --flavor ${flavor} --image ${image_1} --nic net-id=${net1_id} ${instance_1}
debug "nova instance '${instance_1}' booted on ${net_1}."
nova boot --flavor ${flavor} --image ${image_1} --nic net-id=${net1_id} ${instance_2}
debug "nova instance '${instance_2}' booted on ${net_1}."
nova boot --flavor ${flavor} --image ${image_2} --nic net-id=${net2_id} ${instance_3}
debug "nova instance '${instanc
538-24903/+1356
JIRA: COMPASS-513 Remove other roles and ppa, master only support newton. Change-Id: I47ddb16baa25902c3e05cc7f9d0d6430f5dc7e00 Signed-off-by: liyuenan <liyuenan@huawei.com>
2016-12-20Merge "add congress support"Danube.0.1Justin chi29-22/+1820
2016-12-20Merge "Add VIM registration for Tacker Mitaka"Justin chi4-0/+267