最新发行版Openstack Havana单机安装指引
分类: Openstack 2013-11-14 10:20 640人阅读 评论(1) 收藏 举报
openstack云计算虚拟化
目录(?)[+]
转载请注明出处 - 阿Q
v1.0 //2013/11/12
v1.1 //2013/12/6 修改glance的配置,防止snapshot创建时的错误。
//2013/12/7 修改Horizon的配置,使一些项目可以编辑
//2014/02/08修改小错误
Havana于2013年10月份发布,稳定版本为2013.2。相信很多Openstack爱好者和开发测试人员已经开始使用了。作为IaaS架构平台,Openstack面向的是集群主机虚拟化和资源的半自动化调配。但是作为测试和开发使用,尤其是在有限成本控制下,多主机测试在资金和空间占用上耗费较多。所以我们寻求在单主机下实现Openstack的运行。
本文面向的读者:
- 具备基本的Openstack知识(逻辑架构和组成部分)
- 熟悉基本的Linux操作和配置。本文使用的是Ubuntu12.04 LTS Server版,这也是Openstack官方测试所选择的Linux发行版。
既然是单主机系统,那就对主机的配置稍有要求。我用的是Dell的PC服务器,4核,4G内存,500G硬盘,单网卡。这也应该算是最低配置了。说起网卡,Havana官方文档建议的是采用双网段(可以区分内网管理和外网服务),这也就要求我们的服务器具有两个物理端口。因为我们是测试环境,无需区分网络,所以单网卡可以满足要求,只是需要检查单网段下Havana是否工作正常。
因为是单机安装,存储和网络相对都简单化了,所以这里我们暂时不会涉及对象存储(Object Storage),块存储(Block Storage)和网络,以后我会讲如何仿真。
安装会涉及到如下几部分。
操作系统的基本配置
配置认证服务(Identity Service)
配置镜像服务(Image Service)
配置云计算服务(Compute Services)
增加用户面板(Dashboard)
注:本文所有的操作命令都是在Ubuntu 12.04 LTS Server版的root用户下执行,所以请先进入root用户模式(sudo -i)以方便执行。
1. 操作系统的基本配置
1.1 网络配置
由于我们只有单网卡,OS的网络配置在你安装系统的时候就已经完成了,所以在此无需配置。针对Openstack的内部网段,我们可以通过虚拟桥接方式实现。你可以手工配置,当然Openstack安装的时候也会自动配置,这里我们先略过不谈。
1.2 NTP配置
因为是单机安装,无需配置NTP Server。
1.3 安装MySql数据库
Openstack服务需要数据库来存储信息。我们就拿常用的MySql来举例。需要安装客户端,数据库和Python库。
# apt-get install python-mysqldb mysql-server
安装时,会需要你设置root用户密码。Openstack要求MySql没有匿名用户权限,所以你需要删除匿名用户和无关的数据库。下面这个命令可以实现。
# mysql_secure_installation
运行以后,会有一些选项,全选yes就ok。
1.4 准备Openstack包
在Ubuntu下,需要安装一些针对Havana的最新的包。
# apt-get install python-software-properties
# add-apt-repository cloud-archive:havana
这些包安装完后,你需要升级一下系统。
# apt-get update && apt-get dist-upgrade
1.5 安装消息队列服务
Openstack默认选用了RabbitMQ。也支持Qpid和ZeroMQ。
# apt-get install rabbitmq-server
2. 配置认证服务(Identity Service)
2.1 安装认证服务(Keystone)
# apt-get install keystone python-keystone python-keystoneclient
我们在mysql里为认证服务创建一个数据库,名字就叫做keystone,密码也是keystone
# mysql -u root -p
mysql> CREATE DATABASE keystone;
mysql> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' IDENTIFIED BY 'gogo20060330';
mysql> GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' IDENTIFIED BY 'gogo20060330';
修改Keystone的配置文件/etc/keystone/keystone.conf,使其指向我们刚刚创建的数据库。修改[sql]部分如下:
[sql]
# The SQLAlchemy connection string used to connect to the database
connection = mysql://keystone:keystone@localhost/keystone
接下来创建keystone需要的表格。
# keystone-manage db_sync
生成admin的token。(4b218b252bc08879ba80)
# openssl rand -hex 10
还是编辑/etc/keystone/keystone.conf,把上面生成的token替换下面的ADMIN_TOKEN
[DEFAULT]
# A "shared secret" between keystone and other openstack services
admin_token = bb4470feb2602b1f46ef
重启认证服务
91f1cd5a9639265b8c97
# service keystone restart
2.2 定义用户(Users)、租户(Tenants)和角色(Roles)
在使用认证服务的时候,你需要一对用户名和密码。目前我们还没有创建任何用户,但我们可以使用之前创建的管理token。需要做的就是把这个token传给keystone命令(参数为--token)。为了避免每次使用keystone命令都加一些相同的参数,我们可以把这些参数值放到环境变量里。
# export OS_SERVICE_TOKEN=4b218b252bc08879ba80
# export OS_SERVICE_ENDPOINT=http://controller:35357/v2.0
其中endpoint指明认证服务在哪运行。下面创建租户。
# keystone tenant-create --name=admin --description="Admin Tenant"
# keystone tenant-create --name=service --description="Service Tenant"
创建管理用户。用户密码ADMIN_PASS需要自己指定。
# keystone user-create --name=admin --pass=gogo20060330 --email=lvtaoo@https://www.doczj.com/doc/3717160523.html,
创建角色
# keystone role-create --name=admin
为用户添加角色和租户属性。
# keystone user-role-add --user=admin --tenant=admin --role=admin
2.3 定义服务和API接入点(endpoints)
认证服务不光管理着用户属性,还登记所有Openstack服务,包括它自己本身。所以我们注册一个认证服务。
# keystone service-create --
name=keystone --type=identity --description="Keystone Identity Service"
创建成功后会生成一个id,这个id要用在下面这个命令上,以便创建API接入点。(id=7a6e072fa833431b970fe293938e26b6)
# keystone endpoint-create --service-id=ecf6f17ecbec0e8f7736 --publicurl=http://controller:5000/v2.0 --internalurl=http://controller:5000/v2.0 --adminurl=http://controller:35357/v2.0
同样的,当你安装其他Openstack服务时,像Glance,Nova,都要运行类似上面的命令。
2.4 验证认证服务是否安装成功
先把环境变量取消。
# unset OS_SERVICE_TOKEN OS_SERVICE_ENDPOINT
制作一个文件,文件名自取,例如ksrc,内容如下,然后source一下它。
export OS_USERNAME=admin
export OS_PASSWORD=ADMIN_PASS
export OS_TENANT_NAME=admin
export OS_AUTH_URL=http://127.0.0.1:35357/v2.0
# source ksrc
现在你可以尝试获得一下token,如果成功,说明认证服务工作正常。
$ keystone token-get
3. 配置镜像服务
很多命令与配置认证服务一样,我就不做过多解释了。
3.1 安装镜像服务(Glance)
安装glance包。
# apt-get install glance
删除/var/lib/glance/glance.sqlite,防止错误使用sqlite数据库。
为镜像服务创建数据库,名字叫做glance,密码也是glance
# mysql -u root -p
mysql> CREATE DATABASE glance;
mysql> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' IDENTIFIED BY 'glance';
mysql> GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' IDENTIFIED BY 'glance';
生成数据表。
# glance-manage db_sync
keystone里创建glance用户,密码(GLANCE_PASS)自己指定
# keystone user-create --name=glance --pass=gogo20060330 --email=lvtaoo@https://www.doczj.com/doc/3717160523.html,
# keystone user-role-add --user=glance --tenant=service --role=admin
修改glance配置文件/etc/glance/glance-api.conf和glance-registry.conf,找到如下部分并修改。
[keystone_authtoken]
auth_host = 127.0.0.1
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = glance
admin_password = GLANCE_PASS
[paste_deploy]
flavor = keystone
在认证服务里注册镜像服务并创建API接入点。
# keystone service-create --name=glance --type=image --description="Glance Image Service"
(得到ID=0a2d9ac1ddd74ff59d52cebc2b73acc4)
# keystone endpoint-create --service-id=0a2d9ac1ddd74ff59d52cebc2b73acc4 --publicurl=http://127.0.0.1:9292 --internalurl=http://127.0.0.1:9292 --adminurl=http://127.0.0.1:9292
重启服务。
# service glance-registry restart
# service glance-api restart
3.2 验证镜像服务是否安装成功(此处学习制作镜像文件,将ubuntu 12.04lts上传至192.168.15.136,然后制作)
准备好一个镜像文件,这个镜像文件可以自己制作,也可以从网上下载。我制作了一个Ubuntu12.04 LTS Server的镜像ubuntu_1204_server.qcow2。至于怎么制作镜像,
我们另文讨论。
创建一个镜像。
# glance image-create --name="Ubuntu 12.04 LTS Server" --disk-format=qcow2 --container-format=bare --is-public=true < ubuntu_1204_server.qcow2
我的镜像如下所示。
# glance image-list
+--------------------------------------+-------------------------+-------------+------------------+------------+--------+
| ID | Name | Disk Format | Container Format | Size | Status |
+--------------------------------------+-------------------------+-------------+------------------+------------+--------+
| dbe3ba9c-c22b-41c9-bac5-dd0e6964c1ce | Ubuntu 12.04 LTS Server | qcow2 | bare | 1502347264 | active |
+--------------------------------------+-------------------------+-------------+------------------+------------+--------+
4. 配置云计算服务
4.1 安装nova控制服务
先安装所需要的包
# apt-get install nova-novncproxy novnc nova-api nova-ajax-console-proxy nova-cert nova-conductor nova-consoleauth nova-doc nova-scheduler python-novaclient
为nova创建数据库,名字叫做nova,密码也是nova
# mysql -u root -p
mysql> CREATE DATABASE nova;
mysql> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' IDENTIFIED BY 'nova';
mysql> GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' IDENTIFIED BY 'nova';
编辑nova配置文件/etc/nova/nova.conf,使其指向自己的数据库。
[database]
# The SQLAlchemy connection string used to connect to the database
sql_connection = mysql://nova:nova@localhost/nova
还有一些其他需要在配置文件nova.conf里修改或添加的属性,如下所示
my_ip=127.0.0.1
vncserver_listen=0.0.0.0
vncserver_proxyclient_address=127.0.0.1
auth_strategy=keystone
rpc_backend=nova.rpc.impl_kombu
rabbit_host=127.0.0.1
glance_host=127.0.0.1
同时修改/etc/nova/api-paste.ini如下。
[filter:authtoken]
paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory
auth_host = 127.0.0.1
auth_port = 35357
auth_protocol = http
admin_tenant_name=service
admin_user=nova
admin_password=nova
生成数据表。
# nova-manage db sync
接下来就是比较熟悉的命令了,如果命令返回错误,可以重启一下nova服务。
# keystone user-create --name=nova --pass=gogo20060330 --email=lvtaoo@https://www.doczj.com/doc/3717160523.html,
# keystone user-role-add --user=nova --tenant=service --role=admin
# keystone service-create --name=nova --type=compute --description="Nova Compute Service"
ID=38846521edda47ed85cc02ba0d4ddc4e
# keystone endpoint-create --service-id=38846521edda47ed85cc02ba0d4ddc4e --publicurl=http://127.0.0.1:8774/v2/%\(tenant_id\)s --internalurl=http://127.0.0.1:8774/v2/%\(tenant_id\)s --adminurl=http://127.0.0.1:8774/v2/%\(tenant_id\)s
然后重启一下服务
# service nova-api restart
# service nova-cert restart
# service nova-consoleauth restart
# service nova-scheduler restart
# service nova-conductor restart
# service nova-novncproxy restart
下面可以检查一下nova是否配置正确,可以用如下命令。
# nova image-list
+--------------------------------------+-------------------------+--------+--------+
| ID | Name | Status | Server |
+--------------------------------------+-------------------------+--------+--------+
| dbe3ba9c-c22b-41c9-bac5-dd0e6964c1ce | Ubuntu 12.04 LTS Server | ACTIVE | |
+--------------------------------------+-------------------------+--------+--------+
4.2 安装一个nova云计算节点
先下载所需要的包。
# apt-get install nova-compute-kvm python-novaclient python-guestfs
删除默认安装的SQLite数据库
# rm /var/lib/nova/nova.sqlite
重启计算服务
# service nova-compute restart
4.3 激活内部网络
这应该算是很关键的一步了。我们选用FlatDHCPManager。以后我会用一个专题讲网络。
下载网络包。
# apt-get install nova-network
编辑配置文件/etc/nova/nova.conf
[DEFAULT]
network_manager=https://www.doczj.com/doc/3717160523.html,work.manager.FlatDHCPManager
fixed_range=192.168.122.0/24
flat_network_dhcp_start=192.168.122.2
flat_network_bridge=virbr0
重启网络服务。
# service nova-network restart
创建自己的虚拟网络。
# nova network-create vmnet --bridge-interface=virbr0
4.4 启动一个镜像
生成密钥
$ ssh-keygen
$ cd .ssh
$ nova keypair-add --pub_key id_rsa.pub mykey
如果你需要自己的镜像实例能被ping通和ssh,需要放开如下权限
# nova secgroup-add-rule defaulttcp 22 22 0.0.0.0/0
# nova secgroup-add-rule defaulticmp -1 -1 0.0.0.0/0
启动实例
$ nova boot --flavor
以下是我的例子。
# nova flavor-list
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
| ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
| 1 | m1.tiny | 512 | 1 | 0 | | 1 | 1.0 | True |
| 2 | m1.small | 2048 | 20 | 0 | | 1 | 1.0 | True |
| 3 | m1.medium | 4096 | 40 | 0 | | 2 | 1.0 | True |
| 4 | https://www.doczj.com/doc/3717160523.html,rge | 8192 | 80 | 0 | | 4 | 1.0 | True |
| 5 | m1.xlarge | 16384 | 160 | 0 | | 8 | 1.0 | True |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
# nova image-list
+--------------------------------------+---
----------------------+--------+--------+
| ID | Name | Status | Server |
+--------------------------------------+-------------------------+--------+--------+
| dbe3ba9c-c22b-41c9-bac5-dd0e6964c1ce | Ubuntu 12.04 LTS Server | ACTIVE | |
+--------------------------------------+-------------------------+--------+--------+
# nova list
+--------------------------------------+--------+--------+------------+-------------+---------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+--------+--------+------------+-------------+---------------------+
| eff82154-bd75-40a7-bc83-60ba0f5b2ac4 | ubuntu | ACTIVE | None | Running | vmnet=192.168.122.2 |
+--------------------------------------+--------+--------+------------+-------------+---------------------+
5. 增加用户面板
这个非常简单,安装完以后就可以访问了。
# apt-get install memcached libapache2-mod-wsgi openstack-dashboard
编辑/etc/openstack-dashboard/local_settings.py
OPENSTACK_KEYSTONE_DEFAULT_ROLE = "_member_"
接着访问http://
因为时间有限,写的比较简单,肯定会有错误,有些概念也没有深入,以后有时间我会补充。也希望大家的反馈。
#----------networking options---------------#
#nova的dhcpbridge配置的文件位置
--dhcpbridge_flagfile=/etc/nova/nova.conf
--dhcpbridge=/usr/bin/nova-dhcpbridge
#公共IP的网络主机
--routing_source_ip=192.168.1.50
#高效网络
--multi_host=true
#公网网卡
--public_interface=eth0
#FLAT的网卡
--flat_interface=eth1
#简单的网桥
--flat_network_bridge=br100
#虚拟机子网
--fixed_range=10.0.1.1/24
#是否尝试注入来宾网络设置
--flat_injected=False
#如果为true,例如终止发送DHCP释放
--force_dhcp_release=true
#子网的地址数
--network_size=256
#驱动程序用来创建以太网设备
--linuxnet_interface_driver = https://www.doczj.com/doc/3717160523.html,work.linux_net.LinuxBridgeInterfaceDriver
#Name of Open vSwitch bridge used with linuxnet
--linuxnet_ovs_integration_bridge=br-int
#自动分配浮动ip
--auto_assign_floating_ip=false
#---Description of common nova.conf configuration options for the Compute API, RabbitMQ, EC2 API, S3 API, instance types
#日志的目录
--logdir=/var/log/nova
#nova的目录
--state_path=/var/lib/nova
#文件锁定的目录
--lock_path=/var/lock/nova
#访问s3 API的地址
--s3_host=192.168.1.50
#访问ec2 API的地址
--ec2_host=192.168.1.50
#RabbitMQ主机
--rabbit_host=192.168.1.50
#镜像服务器
--glance_api_servers=192.168.1.50:9292
#镜像服务
--image_service=nova.image.glance.GlanceImageService
#数据库连接
--sql_c
onnection=mysql://novadbadmin:novasecret@192.168.1.50/nova
#用来调用EC2 API服务器的路径前缀
--ec2_path=http://192.168.1.50:8773/services/Cloud
#nova api的配置
--api_paste_config=/etc/nova/api-paste.ini
#是否(重新)开始客人时,主机重新启动。如果启用,此选项会导致客人无条件 重新启动时 启动NOVA计算分配给主机。如果客人被发现停止,它会启动。如果发现在运行,它会重新启动。
--start_guests_on_host_boot=true
#是否启动主机重新启动之前,正在运行的客人。如果启用,此选项会导致NOVA-计算开始时,重新启动主机分配的客人 , 如果他们一直活跃在主机上,而 新星计算最后跑了。如果这样的客人已经在
运行,它保持不变。
--resume_guests_state_on_host_boot=true
#网络管理类
--network_manager=https://www.doczj.com/doc/3717160523.html,work.manager.FlatDHCPManager
#虚拟化API连接类型
--connection_type=libvirt
#帮助
--root_helper=sudo nova-rootwrap
#打印信息
--verbose=true
#防火墙驱动程序(默认为iptables)
--firewall_driver=nova.virt.firewall.IptablesFirewallDriver
#DNS管理的浮动IP的完整类名
--floating_ip_dns_manager=https://www.doczj.com/doc/3717160523.html,work.dns_driver.DNSDriver
#使用系统日志
use-syslog=true
#----------Description of nova.conf file configuration options for hypervisors
#虚拟技术
--libvirt_type=kvm
#Use virtio for bridge interfaces
--libvirt_use_virtio_for_bridges=true
#libvirt的的VIF驱动程序,配置的VIF。
--libvirt_vif_driver = nova.virt.libvirt.vif.LibvirtBridgeDriver
#同步虚拟机和真正的鼠标光标在Windows虚拟机
--use_usb_tablet=true
#集成桥由Open vSwitch的
--libvirt_ovs_bridge=br-int
#使用的Virtio
--libvirt_use_virtio_for_bridges=true
#----------------身份验证-------------------#
#身份验证
--auth_strategy=keystone
#令牌
--keystone_ec2_url=http://192.168.1.50:5000/v2.0/ec2tokens
#----------------调度器-------------------#
--scheduler_driver=nova.scheduler.multi.MultiScheduler
#-------------------------VNC的配置--------------
#启用VNC相关的功能
--vnc_enabled=true
#VNC控制台
--novncproxy_base_url= http://192.168.1.50:6080/vnc_auto.html
#计算节点的地址
--vncserver_proxyclient_address=192.168.1.55
#例如VNC服务器的IP地址监听
--vncserver_listen=192.168.1.55
#键盘映射VNC
--vnc_keymap=en-us
#--------nova.conf的日志文件中的配置
#每行前的异常输出,这种格式0
--logging_exception_prefix="%(asctime)s TRACE %(name)s %(instance)s"
#发布错误事件
--publish_errors=true
#--------------------计算节点配置选项-------------------------#
#驱动器,用于控制虚拟化
--compute_driver=nova.virt.connection.get_connection
#实例路径
--instances_path=$state_path/instances
openstack相关服务的删除卸载命令 (2013-01-25 16:50:48)转载
▼
标签: mysql glance nova keystone ubuntu 分类: openstack
在装openstack时,出错的可能只是一个服务模块,比如mysql,keystone,glance,nova等等,我们就需要把相应的模块卸载掉,不用重装整个系统了,这可以节省我们很多的时间,但很多人有不知道完全卸载这些模块的命令,往往保留了以前装的错误的配置文件,这就需要我们把所有的配置文件都卸载干净。
现在我给大家提供一些完全卸载的命令,我们可以写成脚本语言,可以很方便的执行:
#!/usr/bin/env bash
#删除glance
apt-get remove -y glance glance-api glance-client glance-common glance-registry python-glance
#删除nova
apt-get remove -y nova-api nova-cert nova-common nova-compute nova-compute-kvm nova-doc nova-network nova-objectstore nova-scheduler nova-volume python-nova python-novaclient nova-consoleauth python-novnc novnc
删除dashboard
apt-get remove -y libapache2-mod-wsgi openstack-dashboard
#删除mysql数据库
apt-get remove -y mysql-server python-mysqldb
#删除keystone
apt-get remove -y keystone python-keystone python-keystoneclient
dpkg -l |grep keystone|awk '{print $2}'|xargs dpkg -P
dpkg -l |grep glance|awk '{print $2}'|xargs dpkg -P
dpkg -l |grep nova|awk '{print $2}'|xargs dpkg -P
dpkg -l |grep mysql|awk '{print $2}'|xargs dpkg -P
dpkg -l |grep libapache2-mod-wsgi|awk '{print $2}'|xargs dpkg -P
## 删除掉mysql里相应的数据库
MYSQL_PASSWD=${MYSQL_PASSWD:-"cloud1234"}
mysql -uroot -p$MYSQL_PASSWD -e "DROP DATABASE IF EXISTS nova;"
mysql -uroot -p$MYSQL_PASSWD -e "DROP DATABASE IF EXISTS glance;"
mysql -uroot -p$MYSQL_PASSWD -e "DROP DATABASE IF EXISTS keystone;"
Malformed endpoint URL [closed]
That is good news. In your command you are trying to delete 'keystone endpoint-delete'. Instead of this you can delete the service itself i.e keystone service-delete
openstack nova 命令有很多方便查找,这里记录一下。
absolute-limits Print a list of absolute limits for a user
actions Retrieve server actions.
add-fixed-ip Add new IP address to network.
add-floating-ip Add a flo
ating IP address to a server.
add-secgroup Add a Security Group to a server.
aggregate-add-host Add the host to the specified aggregate.
aggregate-create Create a new aggregate with the specified details.
aggregate-delete Delete the aggregate by its id.
aggregate-details Show details of the specified aggregate.
aggregate-list Print a list of all aggregates.
aggregate-remove-host Remove the specified host from the specified aggregate.
aggregate-set-metadata Update the metadata associated with the aggregate.
aggregate-update Update the aggregate's name and optionally availability zone.
boot Boot a new server.
cloudpipe-create Create a cloudpipe instance for the given project
cloudpipe-list Print a list of all cloudpipe instances.
cloudpipe-update Update a cloudpipe instance
console-log Get console log output of a server.
credentials Show user credentials returned from auth
delete Immediately shut down and delete a server.
diagnostics Retrieve server diagnostics.
dns-create Create a DNS entry for domain, name and ip.
dns-create-private-domain Create the specified DNS domain.
dns-create-public-domain Create the specified DNS domain.
dns-delete Delete the specified DNS entry.
dns-delete-domain Delete the specified DNS domain.
dns-domains Print a list of available dns domains.
dns-list List current DNS entries for domain and ip or domain and name.
endpoints Discover endpoints that get returned from the authenticate services
fixed-ip-get Show information for a fixed IP
fixed-ip-reserve Reserve a fixed IP
fixed-ip-unreserve Unreserve fixed IP
flavor-create Create a new flavor
flavor-delete Delete a specific flavor
flavor-key Set or unset extra_spec for a flavor.
flavor-list Print a list of available 'flavors' (sizes of servers).
flavor-show Show details about the given flavor.
floating-ip-create Allocate a floating IP for the current tenant.
floating-ip-delete De-allocate a floating IP.
floating-ip-list List floating ips for this tenant.
floating-ip-pool-list List all floating ip pools.
get-vnc-console Get a vnc console to a server.
host-action Perform a power action on a host.
host-describe Describe a specific host
host-list List all hosts by service
host-update Update host settings.
hypervisor-list List hypervisors.
hypervisor-servers List instances belonging to specific hypervisors.
hypervisor-show Display the details of the specified hypervisor.
hypervisor-stats Get hypervisor statistics over all compute nodes.[cpu,mem]
hypervisor-uptime Display the uptime of the specified hypervi
sor.
image-create Create a new image by taking a snapshot of a running server.
image-delete Delete an image.
image-list Print a list of available images to boot from.
image-meta Set or Delete metadata on an image.
image-show Show details about the given image.
keypair-add Create a new key pair for use with instances
keypair-delete Delete keypair by its id
keypair-list Print a list of keypairs for a user
list List active servers.
list-extensions List available extensions
live-migration Migrates a running instance to a new machine.
lock Lock a server.
meta Set or Delete metadata on a server.
migrate Migrate a server.
network-list Print a list of available networks.
network-show Show details about the given network.
pause Pause a server.
quota-class-show List the quotas for a quota class.
quota-class-update Update the quotas for a quota class.
quota-defaults List the default quotas for a tenant.
quota-show List the quotas for a tenant.
quota-update Update the quotas for a tenant.
rate-limits Print a list of rate limits for a user
reboot Reboot a server.
rebuild Shutdown, re-image, and re-boot a server.
remove-fixed-ip Remove an IP address from a server.
remove-floating-ip Remove a floating IP address from a server.
remove-secgroup Remove a Security Group from a server.
rename Rename a server.
rescue Rescue a server.
reset-state Reset the state of an instance
resize Resize a server.
resize-confirm Confirm a previous resize.
resize-revert Revert a previous resize (and return to the previous
VM).
resume Resume a server.
root-password Change the root password for a server.
secgroup-add-group-rule
Add a source group rule to a security group.
secgroup-add-rule Add a rule to a security group.
secgroup-create Create a security group.
secgroup-delete Delete a security group.
secgroup-delete-group-rule
Delete a source group rule from a security group.
secgroup-delete-rule
Delete a rule from a security group.
secgroup-list List security groups for the current tenant.
secgroup-list-rules
List rules for a security group.
service-list List nova services
show Show details about the given server.
ssh SSH into a server.
start Start a server.
stop Stop a server.
suspend Suspend a server.
unlock Unlock a server.
unpause Unpause a server.
unrescue Unrescue a server
.
usage-list List usage data for all tenants
volume-attach Attach a volume to a server.
volume-create Add a new volume.
volume-delete Remove a volume.
volume-detach Detach a volume from a server.
volume-list List all the volumes.
volume-show Show details about a volume.
volume-snapshot-create Add a new snapshot.
volume-snapshot-delete Remove a snapshot.
volume-snapshot-list List all the snapshots.
volume-snapshot-show Show details about a snapshot.
volume-type-create Create a new volume type.
volume-type-delete Delete a specific flavor.
volume-type-list Print a list of available 'volume types'.
x509-create-cert Create x509 cert for a user in tenant.
x509-get-root-cert Fetches the x509 root cert.
bash-completion Prints all of the commands and options to stdout.