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