部署--------->devstack环境搭建及tempest测试

 docker: http://docs.openstack.org/developer/magnum/dev/dev-manual-devstack.html

OpenStack Liberty极速体验 http://www.sdnlab.com/14430.html

centos7上对网卡的配置

[hadoop@localhost devstack]$ cat /etc/sysconfig/network-scripts/ifcfg-eno16777728 
HWADDR=00:0C:29:DF:EF:06
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777728
UUID=d5fb8218-1fcc-479b-8966-f320023d0f59
ONBOOT=yes


IPADDR=192.168.30.245
GATEWAY=192.168.30.1
NETMASK=255.255.255.0



---------------------------------------------------
例如,要永久修改主机名,你可以修改静态主机名:
[root@localhost ~]# hostnamectl --static set-hostname Linuxidc
重启CentOS 7 之后(reboot -f ),
[root@Linuxidc ~]# hostnamectl --static
Linuxidc
[root@Hunk_zhu ~]# hostnamectl --transient
Linuxidc
[root@Hunk_zhu ~]# hostnamectl --pretty
Linuxidc


---------------------------------------------------
 


[hadoop@localhost devstack]$ cat /etc/yum.repos.d/163.repo 
[base]
name=CentOS-7-Base-163.com
baseurl=http://mirrors.163.com/centos/7/os/$basearch/
#mirrorlist=http://mirrorlist.cnetos.org/?release=7&arch=$basearch&repo=os
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7


#released updates
[updates]
name=CentosOS-7-Updates-163.com
baseurl=http://mirrors.163.com/centos/7/updates/$basearch/
#mirrorlist=http://mirrorlist.cnetos.org/?release=7&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7


[extras]
name=CentOS-7-Extras-163.com
baseurl=http://mirrors.163.com/centos/7/extras/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7




[centosplus]
name=CentOS-7-Plus-163.com
baseurl=http://mirrors.163.com/centos/7/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=7&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7


[contrib]
name=CentOS-7-Contrib-163.com
baseurl=http://mirrors.163.com/centos/7/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7

sudo pip install argparse

一 Ubuntu系统IP地址配置

hadoop@ubuntu:~$ cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.30.252
gateway 192.168.30.1
netmask 255.255.255.0
network 192.168.30.0
broadcast 192.168.30.255

hadoop@ubuntu:~$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.8.8

二  安装必要的软件包

hadoop@ubuntu:~$ sudo apt-get install vim python-pip openssh-server sudo git  -y

如果需要则下载pip的最新版本地址

https://pypi.python.org/pypi/pip#downloads

https://pypi.python.org/packages/source/p/pip/pip-6.1.1.tar.gz#md5=6b19e0a934d982a5a4b798e957cb6d45

hadoop@ubuntu:~$mkdir .pip

hadoop@ubuntu:~$cd .pip && vi pip.conf

[global]
index-url = http://e.pypi.python.org/
index-url=http://pypi.douban.com

root@ubuntu:/home/hadoop# echo "hadoop ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers

hadoop@ubuntu:~$ git clone https://github.com/openstack-dev/devstack.git

hadoop@ubuntu:~/devstack$ git branch -r
  origin/HEAD -> origin/master
  origin/master
  origin/stable/havana
  origin/stable/icehouse
hadoop@ubuntu:~/devstack$ git checkout stable/icehouse
Branch stable/icehouse set up to track remote branch stable/icehouse from origin.
Switched to a new branch 'stable/icehouse'

yum install kernel iproute

三 修改配置文件

配置文件修改如下

vi stack.sh 注释掉这三行

# Configure an appropriate python environment
#if [[ "$OFFLINE" != "True" ]]; then
#    $TOP_DIR/tools/install_pip.sh
#fi

vi localrc



MYSQL_PASSWORD=stack
ADMIN_PASSWORD=stack
SERVICE_PASSWORD=stack
SERVICE_TOKEN=stack
RABBIT_PASSWORD=stack


## Keystone Configuration
KEYSTONE_TOKEN_FORMAT=PKI


## Swift
SWIFT_REPLICAS=1
SWIFT_HASH=011688b44126573e209e


## Enable Logging
LOGDIR=/opt/stack
LOGFILE=$LOGDIR/logs/stack.sh.log
VERBOSE=True
LOG_COLOR=True
SCREEN_LOGDIR=$LOGDIR/logs/screen


## Pre-requisite
ENABLED_SERVICES=rabbit,mysql,key


## Horizon(Dashboard UI)
ENABLED_SERVICES+=,horizon
#HORIZON_REPO=https://github.com/openstack/horizon
#HORIZON_BRANCH=master


## NOVA
ENABLED_SERVICES+=,n-api,n-crt,n-obj,n-cpu,n-cond,n-sch,n-novnc,n-cauth
IMAGE_URLS+=",http://download.cirros-cloud.net/0.3.3/cirros-0.3.3-x86_64-disk.img"


## GLANCE
ENABLED_SERVICES+=,g-api,g-reg


## SWIFT
#ENABLED_SERVICES+=,s-proxy,s-object,s-container,s-account


## NEUTRON
ENABLED_SERVICES+=,q-svc,q-agt,q-dhcp,q-l3,q-meta,neutron
# NEUTRON-LoadBalance
ENABLED_SERVICES+=,q-lbaas


# NEUTRON-VPN
ENABLED_SERVICES+=,q-vpn


# NEUTRON-FireWall
ENABLED_SERVICES+=,q-fwaas


# NEUTRON-LinuxBridge+VLAN
#Q_PLUGIN=linuxbridge
#ENABLE_TENANT_VLANS=True
#TENANT_VLAN_RANGE=2100:2199
#PHYSICAL_NETWORK=default
#LB_PHYSICAL_INTERFACE=eth0


# NEUTRON-OVS+VLAN
ENABLE_TENANT_VLANS=True
TENANT_VLAN_RANGE=2100:2199
PHYSICAL_NETWORK=default
OVS_PHYSICAL_INTERFACE=eth0


# NEUTRON-GRE
#Q_PLUGIN=ml2
#ENABLE_TENANT_TUNNELS=True


# NEUTRON-VXLAN
#Q_PLUGIN=ml2
#ENABLE_TENANT_NETWORK_TYPE=vxlan


## CINDER
ENABLED_SERVICES+=,cinder,c-api,c-vol,c-sch


## HEAT
ENABLED_SERVICES+=,heat,h-api,h-api-cfn,h-api-cw,h-eng
#IMAGE_URLS+=",http://fedorapeople.org/groups/heat/prebuilt-jeos-images/F17-x86_64-cfntools.qcow2"


##Ceilometer
CEILOMETER_BACKEND=mysql
ENABLED_SERVICES+=,ceilometer-acomputer,ceilometer-acentral,ceilometer-collector,ceilometer-api,ceilometer-alarm-notify,ceilometer-alarm-eval
# Apache fronted for WSGI
APACHE_ENABLED_SERVICES+=keystone,swift

四 如果需要git下载源代码

如果在使用DevStack安装OpenStack过程中,出现sudo virsh list --all 卡死,解决方案如下:

killall -9 dmidecode 

 (1)ERROR: openstackclient.shell Exception raised: six>=1.6.0

 easy_install -m six
 easy_install -m six==1.7.3

 easy_install six==1.5.2

 (2)ERROR: openstackclient.shell Exception raised: requests>=1.1

 easy_install -m requests

 easy_install -m requests==2.4.0

 easy_install requests==1.0.4

(3)ERROR: openstackclient.shell Exception raised: oslo.i18n>=0.1.0

easy_install -m oslo.i18n
easy_install -m oslo.i18n==0.2.0
easy_install oslo.i18n==0.1.0

(4)ERROR: openstackclient.shell Exception raised: jsonpatch>=0.10,<2

easy_install -m jsonpatch
easy_install -m jsonpatch==1.4
easy_install jsonpatch==0.8

(5) ERROR: openstackclient.shell Exception raised: jsonschema>=0.7,<3

easy_install -m jsonschema
easy_install -m jsonschema==2.4.0
easy_install  jsonschema==0.6

(6)

export OS_AUTH_KEY=stack
export OS_USERNAME=stack
export OS_PASSWORD=stack
export OS_TENANT_NAME=stack
export OS_AUTH_URL=http://192.168.30.252:5000/v2.0/

默认Devstack创建 admin和demo两个用户,通过设置环境变量可以进行操作

admin用户:  source openrc admin admin

demon用户: source openrc demo demo

附录

如果你希望用物理的卷代替文件模拟的volume。Devstack会检测是否存在一个stack-volumes 的卷,如果存在就使用,不存在就用文件模拟。

pvcreate /dev/sdc
vgcreate stack-volumes /dev/sdc

tempest函数测试              http://prajnagarden.com/openstack/2014/05/06/openstack-tempest-guide/?bsh_bid=401275518



(7)openstack对ceph的支持

########
# MISC #
########
DATABASE_PASSWORD=stack
ADMIN_PASSWORD=stack
SERVICE_PASSWORD=stack
SERVICE_TOKEN=stack
RABBIT_PASSWORD=stack

# Reclone each time
#RECLONE=yes

# Enable Logging
LOGFILE=/opt/stack/logs/stack.sh.log
VERBOSE=True
LOG_COLOR=True
SCREEN_LOGDIR=/opt/stack/logs

#################
# PRE-REQUISITE #
#################
ENABLED_SERVICES=rabbit,mysql,key
 

########
# CEPH #
########
ENABLED_SERVICES+=,ceph

# DevStack will create a loop-back disk formatted as XFS to store the
# Ceph data.
CEPH_LOOPBACK_DISK_SIZE=10G

# Ceph cluster fsid
CEPH_FSID=$(uuidgen)

# Glance pool, pgs and user
GLANCE_CEPH_USER=glance
GLANCE_CEPH_POOL=images
GLANCE_CEPH_POOL_PG=8
GLANCE_CEPH_POOL_PGP=8

# Nova pool and pgs
NOVA_CEPH_POOL=vms
NOVA_CEPH_POOL_PG=8
NOVA_CEPH_POOL_PGP=8

# Cinder pool, pgs and user
CINDER_CEPH_POOL=volumes
CINDER_CEPH_POOL_PG=8
CINDER_CEPH_POOL_PGP=8
CINDER_CEPH_USER=cinder
CINDER_CEPH_UUID=$(uuidgen)

# Cinder backup pool, pgs and user
CINDER_BAK_CEPH_POOL=backup
CINDER_BAK_CEPH_POOL_PG=8
CINDER_BAKCEPH_POOL_PGP=8
CINDER_BAK_CEPH_USER=cinder-bak

# How many replicas are to be configured for your Ceph cluster
CEPH_REPLICAS=${CEPH_REPLICAS:-1}
 

# Connect DevStack to an existing Ceph cluster
REMOTE_CEPH=False
REMOTE_CEPH_ADMIN_KEY_PATH=/etc/ceph/ceph.client.admin.keyring
 

##########################
# GLANCE - IMAGE SERVICE #
##########################
ENABLED_SERVICES+=,g-api,g-reg
 

#################################
# CINDER - BLOCK DEVICE SERVICE #
#################################
ENABLED_SERVICES+=,cinder,c-api,c-vol,c-sch,c-bak
CINDER_DRIVER=ceph
CINDER_ENABLED_BACKENDS=ceph

##########################
# NOVA - COMPUTE SERVICE #
##########################
ENABLED_SERVICES+=,n-api,n-crt,n-cpu,n-cond,n-sch,n-net
DEFAULT_INSTANCE_TYPE=m1.micro

猜你喜欢

转载自blog.csdn.net/xsjzdrxsjzdr/article/details/38895609