# TODO - [x] Guest 删除后,回收其 IP、VNC 端口 - [x] os_init_write 的更新方法里,支持 os_init_id 参数 - [x] 抽象出视图层的父类,尤其是 get、get_list、delete 这些方法基本相同 - [x] guest_disk 表中加入 path 字段,具体磁盘位置由 path 指明 - [x] guest 的系统磁盘,也需记录到 guest_disk 表中 - [x] 将 Guest 的系统镜像合并到单独的磁盘镜像目录中。即不再为 Guest 的系统镜像单独分配目录 - [x] os_template 表中 name 改为 path 字段。用 path 指明完整路径 - [x] 统一 guest_disk 称谓为 disk - [x] 统计活着的宿主机,并提供获取列表的接口,供迁移时选择 - [x] 分离出 API 与 views 出入口,涉及 add_rule 与 route_table - [x] 加入被动更新 Guest xml 的功能,由宿主机主动推送。具体时机待定 - [x] 重置Guest密码功能 - [x] 虚拟机加入用户级的重启作业功能 - [x] 提示待做的启动作业 - [x] 密码栏默认隐藏,加入显示开关 - [x] `不予支持`收集存在于 JimV-N,却不存在于 JimV-C 的 Guest。(无法确定其创建的规范,比如是否使用了规划的分布式文件系统、模板、开启 vnc 等。这样导致迁移、重置密码、前端 ICON 显示有问题) - [x] `不予支持`IP 为空的,允许用户手动补入 Guest 的真实 IP,补入时并检查新 IP 是否可用 - [x] 批量添加启动作业 - [x] 单独写页面展现已有启动作业的虚拟机列表 - [x] 磁盘页面,默认不显示系统盘,加 CheckBox 来控制 - [x] 不显示系统级别的启动作业 - [x] 宿主机性能状态展现 - [x] 设计、实现 Dashboard 页面 - [x] 重新设计创建虚拟机时的机制,虚拟机创建分配由 JimV-C 角色实现 - [x] 创建虚拟机时显示进度 - [x] 重新设计 JimV-N 到 JimV-C 的回调机制,现有实现比较混乱。改进为基于对象的回调 - [x] 重新设计创建虚拟机机制,批量创建虚拟机时,依照宿主机负载大小,倒序依次挨个分配虚拟机的创建任务 - [x] 规范日志路径。把日志路径调整至 /var/log/ 下 - [x] 清除15天前的监控日志 - [x] 允许删除创建失败的虚拟机 - [x] 日志实现简短字段及详情字段,详情字段用 text,存储完整的日志文本。因为日志太长,无法在简短日志字段存放完整。 - [x] 修改密码功能 - [x] 密码[找回|重置]功能 - [x] 前端页面校验字段有效值 - [x] 加入手动清除已经离线的宿主机功能 - [x] 显示计算节点离线时间 - [x] 系统模板加入是否为 Windows 类系统的标记 - [x] 系统模板为 Windows 时,时钟偏移值设定为 localtime,否则为 utc - [x] 初始化时,生成默认的启动作业及其细则,方便用户直接使用 - [x] 制作适用于 JimV 的 CentOS 7 Mini 模板镜像 - [x] 制作适用于 JimV 的 Windows 2012 模板镜像 - [x] README 列出配置需求 - [x] 制作模板镜像的 BT 链接,并展现到模板镜像的下载页面 - [x] 解决数据库重连隐患(当数据库[MySQL|Redis]重启后) - [x] 去除非 Debug 模式下的调试信息 - [x] 在线重置密码,前端加入随机生成功能 - [x] 计算节点页面,展现每个计算节点上功能线程的状态 - [x] 避免计算节点主机名相同的情况 - [x] 安装脚本、文档加入ntp时间同步环节 - [x] 实现创建虚拟机时,手动指定计算节点功能 - [x] 计算机节点加入是否接受自动分配虚拟机开关 - [x] 取消单独的初始化密码操作,合并入具体的操作系统初始化操作中 - [x] 修复 Guest 对模板对象的依赖。bug 表现为,当依赖的模板项被删除后,虚拟机实例列表会出现 500 错误 - [x] 实现网络流量限速 - [x] 根据计算节点 CPU 是否支持 VT-X,来确定虚拟机是使用 KVM 还是 QEMU - [ ] 考虑开辟一个单独的消息处理线程。所有业务消息都塞到进程中的队列内,由该线程统一处理。这样可以更好的处理数据库重连问题。 - [ ] 实现 CentOS 7 单机版一建安装脚本(包括全新的数据库安装、配置、部署) - [ ] 实现磁盘联动机制。即当删除宿主机时,相随的所有磁盘一并删除 - [x] 融入 Systemd - [ ] 增加模板镜像上传功能 - [x] 加入 Tag或分组,类似qq用户分组 功能 - [ ] 虚拟机状态变化时时展现在前端页面上 - [ ] 迁移时计算出剩余时间 - [ ] 初始化页面检测 redis、mysql 是否准备好 - [ ] 日志里面加入操作轨迹 - [ ] 考虑 vm_network,vm_manage_network 改名为 vm_network_bridge,vm_manage_network_bridge - [x] 通过 sysctl 隔离出 vnc 使用的端口,避免被冲突。参见 net.ipv4.ip_local_reserved_ports - [ ] 考虑热更新、升级的问题 - [ ] 加入清除老旧日志的功能 - [ ] 忽略 guestfs- 为首的日志 - [x] 周期轮询试的同步虚拟机状态 - [ ] 实现类似于VMware的故障转移功能 - [x] 实现变配功能 - [ ] 迁移中的虚拟机,不允许做任何操作 - [x] 通过 QemuGuestAgent 实现 Guest 的内存使用率监控 - [ ] 实现通过 JimV-C 修改主机名(当前为备注的地方),同步到具体 Guest 上 - [ ] 修复在大磁盘虚拟机创建快照时,等待时间过长的问题 - [x] 安装脚本加入中国本土仓库 - [ ] 对某个 Guest 进行快照操作时,禁止对该镜像做其它快照方面的操作 - [x] 修复JimV-C 先 Redis 启动后,JimV-C event_processor Redis lpop 异常的问题 - [x] 计算节点以 JimV-C 为第一 NTP 服务器 - [ ] 数据库时间戳,采用 JimV-N 的时间。避免 JimV-C 挂掉后,监控数据批量集中在同一个时间点上 - [ ] 加入监控图标汇聚功能,时间范围内的平均值、最高值 - [x] 加入 About 页面 - [x] 在 About 页面,展现当前版本号 - [ ] 在 About 页面,展现是否可以升级信息 - [ ] 在 About 页面,加入更新功能 - [ ] 大于 内存、负载 百分比后,禁止创建虚拟机 - [x] 考虑用 /etc/machine-id 替换 node_id - [ ] 邮局设置从配置文件提取到JimV系统配置中 - [x] 当计算节点失联后,相应的虚拟机状态标识为"未知"状态 - [x] 保留 IP 列表(可用作 VIP 场景) - [x] IP 修正功能 - [x] 替换热迁移时计算节点的主机名为 IP 地址 - [ ] 加入批量执行脚本功能 - [ ] 创建虚拟机时,加入高级功能,选择 IP 池,选择分组 - [ ] 统计计算节点上所承载、运行的虚拟机实例数量,并通过超级链接能检索出相应虚拟机列表 - [ ] IP 字段加入 link 功能,且允许用户定制。通过点击链接,直接打开目标页面 - [x] 支持 vlan 功能 - [ ] 加入虚拟机排序功能 - [ ] 企业版分叉 - [ ] 加入邮件、短信报警功能