ubuntu使用devstack安装openstack的过程(下面的一长串配置文件使用了ironic服务)。
1、创建stack用户
adduser stack
2、设置stack用户使用sudo获取权限时不需要密码
apt-get install sudo -y
echo "stack ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
3、下载devstack
sudo apt-get install git -y
git clone https://git.openstack.org/openstack-dev/devstack
cd devstack
4、一些配置
在devstack目录下创建localrc文件(或者创建local.conf文件,其文件第一行为[[local|localrc]],剩下一样)
将下面内容复制到里面(注意!这个文件需要自己配置,设置密码,选择要使用的服务等,直接复制下面的内容肯定不行)
ADMIN_PASSWORD=password DATABASE_PASSWORD=password RABBIT_PASSWORD=password SERVICE_PASSWORD=password SERVICE_TOKEN=password # Enable Ironic API and Ironic Conductor enable_service ironic enable_service ir-api enable_service ir-cond # Enable Neutron which is required by Ironic and disable nova-network. disable_service n-net disable_service n-novnc enable_service q-svc enable_service q-agt enable_service q-dhcp enable_service q-l3 enable_service q-meta enable_service neutron enable_service ceilometer-acompute ceilometer-acentral ceilometer-anotification ceilometer-collector enable_service ceilometer-alarm-evaluator,ceilometer-alarm-notifier enable_service ceilometer-api # Disable Horizon #disable_service horizon # Disable Heat disable_service heat h-api h-api-cfn h-api-cw h-eng # Disable Cinder disable_service cinder c-sch c-api c-vol # Create 3 virtual machines to pose as Ironic's baremetal nodes. IRONIC_VM_COUNT=3 IRONIC_VM_SSH_PORT=22 IRONIC_BAREMETAL_BASIC_OPS=True # The parameters below represent the minimum possible values to create # functional nodes. IRONIC_VM_SPECS_RAM=1024 IRONIC_VM_SPECS_DISK=10 # Size of the ephemeral partition in GB. Use 0 for no ephemeral partition. IRONIC_VM_EPHEMERAL_DISK=0 VIRT_DRIVER=ironic # By default, DevStack creates a 10.0.0.0/24 network for instances. # If this overlaps with the hosts network, you may adjust with the # following. NETWORK_GATEWAY=10.1.0.1 FIXED_RANGE=10.1.0.0/24 FIXED_NETWORK_SIZE=256 FLAT_INTERFACE=eth3 # Log all output to files #LOGFILE=$HOME/devstack.log<pre name="code" class="plain">#Header [[local|localrc]] # Credentials ADMIN_PASSWORD=openstack MYSQL_PASSWORD=$ADMIN_PASSWORD #DATABASE_PASSWORD=$ADMIN_PASSWORD RABBIT_PASSWORD=$ADMIN_PASSWORD SERVICE_PASSWORD=$ADMIN_PASSWORD SERVICE_TOKEN=$ADMIN_PASSWORD # Branches NOVA_BRANCH=stable/icehouse KEYSTONE_BRANCH=stable/icehouse GLANCE_BRANCH=stable/icehouse CINDER_BRANCH=stable/icehouse SWIFT_BRANCH=stable/icehouse HORIZON_BRANCH=stable/icehouse CEILOMETER_BRANCH=stable/icehouse #Network Configuration: #FLOATING_RANGE=172.16.91.0/24 #FIXED_RANGE=10.11.12.0/24 HOST_IP=10.0.2.15 # Services ENABLED_SERVICES=rabbit,mysql,key ENABLED_SERVICES+=,n-net,n-api,n-crt,n-obj,n-cpu,n-cond,n-sch,n-novnc,n-cauth ENABLED_SERVICES+=,s-proxy,s-object,s-container,s-account ENABLED_SERVICES+=,g-api,g-reg ENABLED_SERVICES+=,cinder,c-api,c-vol,c-sch,c-bak ENABLED_SERVICES+=,horizon # Images # Use this image when creating test instances IMAGE_URLS+=",http://cdn.download.cirros-cloud.net/0.3.2/cirros-0.3.2-x86_64-disk.img" #Swift Requirements SWIFT_REPLICAS=1 SWIFT_HASH=011688b44136573e209e # Enable Logging LOGFILE=/opt/stack/logs/stack.sh.log VERBOSE=True LOG_COLOR=True SCREEN_LOGDIR=/opt/stack/logs
附录:下面是一份普通devstack的配置文件local.conf,不使用ironic服务