Openstack使用自定义密码创建虚拟机
nova.api.openstack.compute.servers.py
中的create
函数写道虚拟机的adminPass
来自一个名为password
的变量。这个变量又是通过_get_server_admin_password
函数产生的:
create
函数:
1 | password = self._get_server_admin_password(server_dict) |
_get_server_admin_password
函数:
1 | def _get_server_admin_password(self, server): |
由此可见,_get_server_admin_password
函数已经具备判断并选择自定义密码的能力,于是只要传入一个adminPass
到server_dict
里即可。
修改后的create
函数:
1 | meta_dict = body['server'].get('metadata', None) |
调用方法:
1 | nova boot ******* --meta password=mypass ***** |