问题导读
1.nova-manage可以用来做哪些工作?
2.nova-manage如何管理用户?
用户管理
创建管理员用户
用法: nova-manage user admin name [access] [secret]
其中access 和secret可选,没有的话系统会自动生成一个。
创建普通用户
用法:nova-manage user create name [access] [secret]
access和secret可选
删除一个存在的用户
用法: nova-manage user delete username
显示一个用户的accesskey和secretkey
用法:nova-manage user exports username
显示所有用户
用法:nova-manage user list
修改用户的secretkey,accesskey,和管理员标志
用法:nova-manage user modify name access secret is_admin
is_admin:是否改为管理员 ,取值 'T' 或者'F'
任何参数留空(表示为'')就会忽略掉这个参数的修改
例如:nova-manage user modify test1 '' secret '' 表示修改test1的密码为secret
废除一个用户证书
用法:nova-manage user revoke userid <project id>
project管理
添加一个用户到一个project
用法:nova-manage project add project_id user_id
创建一个project
用法:nova-manage project create name project_manager [description]
nama : project id
project_manager :一个user id,作为project 管理者
[description] :可选,描述信息
删掉一个存在的project
用法:nova-manage project delete projectname
获取一个用户和它对应的project的环境变量,返回一个novarc(默认)文件
用法:nova-manage project environment project_id user_id [filename='novarc]
project 列表
用法:nova-manage project list
修改一个project
用法:nova-manage project modify name project_manager [description]
修改该project的project管理员为新的user,使新的用户拥有projectmanager角色
显示一个project的相关信息
nova-manage project quota project_id [key] [value]
例如:root@ubuntu10:~# nova-manage project quota testproject
metadata_items: 128
gigabytes: 1000
floating_ips: 10
instances: 10
volumes: 10
cores: 20
从一个project中移除一个user
用法:nova-manage project remove project_id user_id
删除与某个project相关的数据(如网络地址等)
用法:nova-manage project scrub project_id
把用户的userid和projectid及其相关证书,压缩到一个文件中
用法:nova-manage project zipfile project_id user_id [filename='nova.zip']
例如:nova-manage project zipfile testproject test1 creds/novatest1.zip
account管理
功能类似于project管理,不太明白它们之间的区别
nova-manage account add 添加用户到project
nova-manage account create 创建一个新的project
nova-manage account delete 删除project
nova-manage account environment 生成一个环境变量文件
nova-manage account list 显示project
nova-manage account modify 修改一个project的管理员
nova-manage account quota 设置或者显示定额
nova-manage account remove 从一个project中删除某个用户
nova-manage account scrub 删除与一个project相关的数据,例如网络等。。
nova-manage account zipfile 把登录project的用户证书压缩到.zip
role管理
openstack的用户角色有六种,分别是Cloud Administrator(cloudadmin 云管理员),IT Security(itsec ,it安全管理),System Administrator (sysadmin,系统管理),Network Administrator(netadmin,网络管理员),Developer(开发者),Project Manager(projectmanager, 创建工程时的默认角色,工程管理员)
给一个用户添加某个角色
用法:nova-manage role add user role [project]
若指定project,那么就是添加project上的角色
判断一个用户是否有某个角色
用法:nova-manage role has user role [project]
判断user是否具有role角色,如果指定了project,那么只有当user拥有全局角 色和project角色时,才返回真,对于判断角色projectmanager,必须指定project.
删除一个用户的角色
用法:nova-manage role remove user role [project]
若指定project,那么就是删除user在project上的这个角色
network管理
创建用于分配的ip地址池,类似于虚拟机内网。
用法:nova-manage network create fixed_range=FLAG, [num_networks=FLAG],
[network_size=FLAG], [vlan_start=FLAG],
[vpn_start=FLAG], [fixed_range_v6=FLAG]
例如:nova-manage network create 172.16.0.1/24 1 256
创建172.16.0.1/24内的1个网络,256个ip地址
其他的参数目前还没用过。
显示创建的网络
用法:nova-manage network list
删除一个网络
用法:nova-manage network delete network
fixed_range :就是上面list时显示的
例如:nova-manage network delete 172.16.0.1/24
注意:如果删除网络,并不会把数据库中的fixed_ips表的ip地址删掉,需要手动删除。
上面是固定ip的管理,下面是floating ip(浮动ip?)的管理
创建一定范围内的浮动ip,可以是一个,也可以是一组。
用法:nova-manage floating create host ip_range
例如: nova-manage floating create ubuntu10 192.168.1.20/32
删除一个浮动ip,或者一组浮动ip
用法:nova-manage floating delete ip_range
列出所有浮动ip
用法:nova-manage floating list
|