Skyline APIServer未来路线图:新功能预告与社区贡献指南
【免费下载链接】skyline-apiserverSkyline is an OpenStack dashboard optimized by UI and UE, support OpenStack Train+.项目地址: https://gitcode.com/openeuler/skyline-apiserver
前往项目官网免费下载:https://ar.openeuler.org/ar/
Skyline APIServer是OpenStack生态中一款针对UI和UE进行优化的现代仪表板后端服务,支持OpenStack Train及以上版本。本文将详细介绍Skyline APIServer的未来功能规划和社区贡献指南,帮助开发者和用户更好地了解项目发展方向并参与其中。
🌟 核心功能升级:多区域与域切换
Skyline APIServer即将迎来一项重大功能升级——多区域(Multi Region)与域(Domain)切换功能。这一功能将极大提升用户在复杂OpenStack环境中的操作体验。
🔍 现有问题与挑战
目前,Skyline存在两个主要限制:
- 用户登录后无法切换区域,必须在登录时选择区域
- 不支持域切换功能
这些限制给管理多区域、多域OpenStack环境的用户带来了不便。
💡 解决方案概述
新的实现方案将带来以下改进:
- 简化登录流程:移除登录页面的区域和域选择项,用户只需输入用户名(支持
username@domain格式)和密码 - 区域切换功能:登录后可通过页面顶部的区域选择器随时切换区域
- 跨域项目访问:用户可直接访问有权限的任何域中的项目,无需单独的域切换操作
🛠️ 技术实现要点
后端改造主要包括:
- 新增
POST /switch_region/{region}API端点,支持轻量级区域切换 - 增强
POST /switch_project/{project_id}API,支持跨域项目切换 - 扩展
GET /profile响应,增加用户可访问区域列表和项目域信息
前端改造将在全局头部添加区域选择器,并优化项目切换界面,按域分组显示项目列表。
🚀 2024年H1重要更新计划
除了多区域与域切换功能,Skyline APIServer在2024年上半年还有以下重要更新计划:
1️⃣ 同步模式重构
Skyline APIServer最初采用了异步模式,但考虑到云控制台的特性,团队决定将其重构为同步模式:
- FastAPI同步模式更易于编码和维护
- 对于云控制台而言,同步模式性能足够
- 代码库规模适中,重构成本可控
2️⃣ 依赖库升级
为提升系统稳定性和安全性,将升级多个核心依赖库:
- 基础Docker镜像更新
- SqlAlchemy 1.x升级至2.x
- 支持Python 3.11+
- React组件版本更新
3️⃣ CI/CD流程加速
优化开发和部署流程:
- 改进Docker镜像构建流程
- 提升开发和调试效率
- 优化OpenDev CI/CD流水线
4️⃣ 非OpenStack组件集成示例
为满足企业用户需求,将提供非OpenStack组件集成示例:
- 增加更多使用案例
- 提供定制化集成的代码示例
- 帮助企业用户扩展Skyline功能
🤝 社区贡献指南
Skyline APIServer欢迎所有开发者参与贡献,以下是参与贡献的详细指南。
🔗 沟通渠道
- IRC频道:
#openstack-skyline(工作日活跃) - 邮件列表:openstack-discuss@lists.openstack.org(主题请添加
[skyline]前缀) - 代码审查:https://review.opendev.org
📋 贡献流程
- 提交Bug或功能请求:通过Launchpad提交(https://bugs.launchpad.net/skyline-apiserver)
- 创建蓝图:对于新功能,需在Launchpad创建蓝图(https://blueprints.launchpad.net/skyline-apiserver)
- 代码开发:遵循项目编码规范和最佳实践
- 提交补丁:通过Gerrit提交代码(所有GitHub Pull Request将被忽略)
- 代码审查:至少需要2个+2的审查意见才能合并(文档变更只需1个+2)
✅ 代码审查标准
进行代码审查时,请关注以下方面:
- 测试覆盖:新功能或修改必须包含单元测试
- 文档更新:确保相关文档已更新
- 代码可读性:代码应易于理解,复杂逻辑需添加注释
- 类型注解:新代码应包含mypy类型注解
- 提交信息:应清晰说明变更原因和内容,遵循规范格式
- 发布说明:重要功能或bug修复需添加发布说明
📚 开发资源
- 官方文档:doc/source/index.rst
- 贡献指南:doc/source/contributor/contributing.rst
- 代码审查指南:doc/source/contributor/gerrit.rst
📥 如何开始参与
- 克隆仓库:
git clone https://gitcode.com/openeuler/skyline-apiserver - 设置开发环境:参考doc/source/contributor/development.environment.rst
- 选择任务:查看Launchpad上的"low-hanging-fruit"标签bug
- 提交贡献:遵循贡献流程提交补丁
无论是修复bug、添加新功能,还是改进文档,所有贡献都将帮助Skyline APIServer变得更好!
📝 未来展望
Skyline APIServer团队将持续优化用户体验和系统性能,未来还将探索更多创新功能。我们期待与社区一起,打造更强大、更易用的OpenStack仪表板解决方案。
加入Skyline APIServer社区,一起塑造OpenStack的未来! 🌟
【免费下载链接】skyline-apiserverSkyline is an OpenStack dashboard optimized by UI and UE, support OpenStack Train+.项目地址: https://gitcode.com/openeuler/skyline-apiserver
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考