因为devstack在部署的过程当中会检查操做系统版本,以前在CentOS 6.5上部署时会报错,须要7.0的环境。 1) CentOS 7.0 ISO下载地址: http://101.110.118.38/isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1511.iso 进去以后选择一个源下载便可。 2) CentOS 7.0具体安装教程参见以下连接: http://jingyan.baidu.com/article/a3aad71aa180e7b1fa009676.html
Root权限下使用:yum install git
cd /opt git clone http://git.trystack.cn/openstack-dev/devstack.git -b stable/mitaka
cd /opt/devstack/tools ./create-stack-user.sh chown -R stack:stack /opt/devstack
配置CentOS的网络和主机名 1) 网络配置再也不赘述,和ubuntu下的配置同样配置好静态IP便可; 2) 配置主机名 devstack在部署的过程当中会调用hostname –f的shell命令校验主机名,若是不配置主机名,则会部署中断报错。我这里将主机名配置为devstack vi /etc/hosts html
安装PIPhtml5
devstack在安装openstack的时候,若是不提早安装PIP就会遇到 generate-subunit: command not found的问题。 解决方案: sudo yum -y install epel-release yum install python-pip pip install --upgrade pip pip install -U os-testr
将CentOS自带的yum源更换为国内163的源,可以大大提升部署过程当中下载须要的软件的速度。 cd /etc/yum.repos.d mv CentOS-Base.repo CentOS-Base.repo.backup wget http://mirrors.163.com/.help/CentOS6-Base-163.repo mv CentOS6-Base-163.repo CentOS-Base.repo yum clean all
在etc目录下建立pip.conf的pip源配置文件 vi /etc/pip.conf
[[local|localrc]] # use TryStack git mirror GIT_BASE=http://git.trystack.cn NOVNC_REPO=http://git.trystack.cn/kanaka/noVNC.git SPICE_REPO=http://git.trystack.cn/git/spice/spice-html5.git #OFFLINE=True RECLONE=True # Define images to be automatically downloaded during the DevStack built process. DOWNLOAD_DEFAULT_IMAGES=False IMAGE_URLS="http://images.trystack.cn/cirros/cirros-0.3.4-x86_64-disk.img" HOST_IP=192.168.7.120 # Credentials DATABASE_PASSWORD=admin ADMIN_PASSWORD=admin SERVICE_PASSWORD=admin SERVICE_TOKEN=admin RABBIT_PASSWORD=admin HORIZON_BRANCH=stable/mitaka KEYSTONE_BRANCH=stable/mitaka NOVA_BRANCH=stable/mitaka NEUTRON_BRANCH=stable/mitaka GLANCE_BRANCH=stable/mitaka CINDER_BRANCH=stable/mitaka #keystone KEYSTONE_TOKEN_FORMAT=UUID ##Heat HEAT_BRANCH=stable/mitaka enable_service h-eng h-api h-api-cfn h-api-cw ## Swift SWIFT_BRANCH=stable/mitaka ENABLED_SERVICES+=,s-proxy,s-object,s-container,s-account SWIFT_REPLICAS=1 SWIFT_HASH=011688b44136573e209e ## Ceilometer enable_plugin ceilometer http://git.trystack.cn/openstack/ceilometer stable/mitaka # Enabling Neutron (network) Service disable_service n-net enable_service q-svc enable_service q-agt enable_service q-dhcp enable_service q-l3 enable_service q-meta enable_service q-metering enable_service neutron ## Neutron options Q_USE_SECGROUP=True FLOATING_RANGE="192.168.7.0/24" FIXED_RANGE="10.0.0.0/24" Q_FLOATING_ALLOCATION_POOL=start=192.168.7.121,end=192.168.7.126 PUBLIC_NETWORK_GATEWAY="192.168.7.1" Q_L3_ENABLED=True PUBLIC_INTERFACE=eth0 Q_USE_PROVIDERNET_FOR_PUBLIC=True OVS_PHYSICAL_BRIDGE=br-ex PUBLIC_BRIDGE=br-ex OVS_BRIDGE_MAPPINGS=public:br-ex # #VLAN configuration. Q_PLUGIN=ml2 ENABLE_TENANT_VLANS=True # Logging LOGFILE=/opt/stack/logs/stack.sh.log VERBOSE=True LOG_COLOR=True SCREEN_LOGDIR=/opt/stack/logs
注意这里须要确认下neutron的IP和网卡配置,我安装的CentOS的网卡名称不是常见的eth0而是ens32,配置文件里面要作相应的修改
python
切换用户为stack进行安装 su - stack cd /opt/devstack ./stack.sh
部署成功后以下: git
systemctl stop firewalld.service service iptables stop
出现opt/stack/functions 496: invalid path permission; 查看上面日志,发现stack文件夹的权限为700,正好报错。使用root对/opt/stack文件进行权限修改,chmod 755 /opt/stack;