管理虚拟机过期和删除
os-vm-expire的Python项目详细描述
在openstack云中管理vm过期和自动删除。
这个项目是一个非官方的openstack项目,但是遵循openstack项目架构,带有horizon插件和相关服务。
- 免费软件:apache许可证
- 文档:http://os-vm-expire.readthedocs.io/
- 错误:https://github.com/genouest/os-vm-expire/issues
- 地平线插件:https://github.com/genouest/os-vm-expire-horizon-plugin
- OSC插件(OpenStack客户端):https://github.com/genouest/os-vm-expire-osc-plugin
openstack vmexpiration管理服务向vms添加过期。 过期后,vm将被删除。 用户可以通过api或horizon延长vm的生命周期。 过期扩展不受限制,用户始终可以扩展虚拟机,但只会在配置的持续时间内进行扩展。 用户不能将其延长超过配置的持续时间。 示例:
- date A: VM is created, VM will expire at A + N days
- some days before expiration user is notified
- user extend VM to today + M days (M is configuration based, user cannot specify it)
- if user tries to extend VM again, it will be extend again to today + M days
要求
需要启用nova通知才能获取vm开始和结束消息。
软件已经在pike和otaca上进行了测试,并在单域和多域配置中进行了测试。它应该从牛顿做功。
功能
- 在创建虚拟机时,添加到期日期
- 在接近到期日时,向用户发送电子邮件
- Horizon插件,用于查看虚拟机到期并延长到期时间
- 在到期日,删除虚拟机并向用户发送电子邮件
- 用于延长虚拟机或从虚拟机中删除过期时间的cli命令(仅限管理员)
配置
目录/etc/os vm expire/:
- osvmexpire.conf
- policy.json
- osvmexpire-api-paste.ini(用于wsgi服务器)
可以通过环境变量osvmexpire_config指定主配置文件。
部件
启动API服务器
对于dev(端口8000)
exportOSVMEXPIRE_PORT=9411# optional osvmexpire-wsgi-api
对于prod
uwsgi --master --die-on-term --emperor /etc/os-vm-expire/vassals --logto /var/log/os-vm-expire/osvmexpire-api.log --stats localhost:9314
启动工人
管理实例创建和删除时的nova通知以创建/删除过期对象。
osvmexpire-worker --config-file /etc/os-vm-expire/osvmexpire.conf
启动清洁器
检查虚拟机的过期时间,并在过期前发送通知,以便在必要时使用扩展虚拟机。 一旦到达过期时间(如果可以通知用户过期时间),删除vm。
osvmexpire-cleaner --config-file /etc/os-vm-expire/osvmexpire.conf
cli用法
这些命令行工具需要访问配置文件,因此专用于管理该工具,而不是供最终用户使用。
osvmexpire-manage vm list osvmexpire-manage vm extend -h osvmexpire-manage vm remove -h
学分
代码主要是受Barbican OpenStack项目的启发(代码库来自)的,代码或多或少是为了管理不同的对象而更新的。 此项目采用相同的许可证并保留原始文件头。
该项目由法国伊里萨的热那亚核心设施开发。