Skip to main content
Version: 2.1

Changelog

2.1.0 (Released on 2026-06-12)​

Added​

Adapters​

  • Support translating OpenStack networks and routers

Admin​

  • Add admin router

Apps​

  • Enrich network info for NFV purposes
  • Support floating IP network ID identification by attached private network
  • Support multiple network selection in GET app init info
  • Support NFV-based network settings for K8s
  • Support private network selection in POST app

ASG​

  • Support applying firewall on ASG
  • Add network details to LB; filter out network-attached firewalls in init info API
  • Schema migration for ASG network settings
  • Support network specification for ASG creation
  • Add member role for ASG
  • Add VPC network field to ASG creation form

AWS​

  • Add AWS helper to operate AWS-related resources

Billing​

  • Add demo billing/usage data generator

Cluster​

  • Implement RKE2 CRUD
  • Support RKE2 cluster creation, deletion, node pool deletion/retrieval, and node pool scaling
  • Support cluster approval
  • Support getting K8s version from both RKE1 and RKE2
  • Support registering external provider for AWS cluster CCM
  • Add cluster helper for cluster operations
  • Add Kubernetes helper to operate resources in K8s
  • Verify flavor exists in OpenStack before creating cluster
  • Adjust OpenStack CCM install order to ensure correct cloud-config loading
  • Schema migration for cluster network settings
  • Allow users to remove cluster regardless of status

Cloud Admin​

  • Add projectName to private network list query
  • Implement i18n for private network-related pages, creation form
  • Integrate create/edit/list private network, project APIs
  • Analysis/cloud provider now filters by project under project view
  • Add resource analysis for cloud admin

CMP Core​

  • Extend deleted filter helper to accept new delete spec
  • Extend rollback operation for security
  • Helper function to manage update fields
  • Implement RBAC control for private networks
  • Support listing instances and settings records
  • Support CIDR overlap verification for spine and provider networks
  • Refactor CIDR verifier to handle missing cases

Config​

  • Add new config CubeControllerVIP
  • Support all CubeCMP settings in v2 API
  • Load config from env first; add new email-related settings

Events​

  • Initialize schema and create operation
  • Support startTime and endTime in query
  • Add event support for network, router, firewall, and instance operations

Errors​

  • Implement new error system following upspin pattern, with error mapping for third-party services

Firewalls​

  • Implement full firewall CRUD: create, get, list, update, delete, attach, detach
  • Implement firewall rule creation and deletion
  • Support creating firewall with multiple CIDRs
  • Support attach/detach firewall for ASG
  • Support creating rules with custom options to set port range to 0
  • Support rollback after failure
  • Use reconcile instead of attach/detach for improved robustness
  • Enhance rule validation
  • Send events for firewall operations
  • Implement v1 migration
  • Support applying firewall on instances

Flavor​

  • Support retrieving K8s flavors
  • Support flavor selection when creating load balancers
  • Display full flavor info in dropdowns
  • Implement load balancer flavor profile list router

Floating IPs​

  • Support NFV-based floating IP and workload query
  • Check if FIP exists/does not exist before action to avoid resource conflicts
  • Prevent no-provider error
  • Support specifying a floating IP when associating
  • Support floating IP specifying for POST /floatingips and PATCH endpoints
  • Support specifying IP when creating reserved IP
  • Add GET API to fetch available floating IPs from a private network
  • Add PATCH API to enable/disable non-reserved floating IP for an instance

i18n​

  • Full i18n coverage across portal pages: instances, clusters, apps, ASG, load balancers, firewalls, networks, volumes, shares, objects, images, billing, alerts, notifications, settings, policies, routers, spine networks, and NFV-related pages
  • Add i18n for site admin, tenant admin, project admin, and cloud admin sections
  • Remember previously selected language after refresh
  • Crawl UI library translations

Instances​

  • Add multiple network settings in POST API and instance creation bash
  • Add PATCH APIs to attach/detach network on an instance
  • Enrich multiple network detailed info in single instance and instance list
  • Integrate multiple network setting flow between POST API and worker handler
  • Integrate firewall info in private network list
  • Send events after instance operations
  • Support DHCP and IP specification for instance network setting
  • Support DHCP for attaching private network and enabling non-reserved floating IP
  • Support specifying interface IP when creating instance
  • Implement instance rename API
  • Add instance name validation to align with backend implementation
  • Auto-select image, snapshot, or backup based on query params in create instance page

Load Balancers​

  • Schema migration for load balancer network settings
  • Support NFV-based network settings for load balancers
  • Support load balancer attachment query by project name and private network ID
  • Check flavor as a required parameter

Networks​

  • Implement private network create, update, attach, and detach, spine network create and update
  • Implement site admin and project member network list endpoints
  • Implement available IPs listing endpoint
  • Add GET API to list network and available IP pairs per project
  • Add GET API to list floating IPs and interface IPs
  • Add external type definition, status field, and createdAt/updatedAt/deleted fields
  • Support passing array parameters constructed by comma
  • Verify name uniqueness before creating a network
  • Verify CIDR overlap before attaching
  • Initialize provider networks on startup
  • Hide non-visible networks in project list endpoint
  • Remove redundant naming and unused fields
  • Rename and clean up orphan networks

Pages​

  • Support page operations
  • Support unlimited queries
  • Set minimum total page count to 1

Policies​

  • Support spine, private, and router policies

Portal (UI)​

  • Add scrollbar to popover menu
  • Add pagination to all listing tables, and spine networks listing page
  • Add private networks column to CubeFirewallTable
  • Add hint for minimum/recommended spec for creating K8s cluster
  • Add NFV firewall API libs and NFV-related roles to settings
  • Cloud admin mock UIs: create/edit router, per-project router listing, attach/detach uplink, delete router
  • Create/edit spine network mock UIs and API integration
  • Firewall details page: private networks tab, instances tab apply/detach, ASG attach
  • NFV apply scope ASG selection
  • Separate firewall listing pages for Cube and AWS providers
  • Separate floating IP tabs for Cube and AWS providers
  • Separate instance listing page by provider
  • Separate networking tabs by provider on instance page
  • Remove Security tab on Networking page
  • Remove project dropdowns
  • Remove floating IP options from load balancer table
  • Remove Marketplace page
  • Add gateway IP fields to add spine network modal
  • Forbid CIDR with /0 subnet mask when upserting spine network
  • Show form field errors when field is dirty in add spine network modal
  • Upsert router: only show NAT control when uplink is selected
  • Add loading state and new props to dropdown components
  • Support optional expand/collapse in CubeExpandableTable
  • Split EventsTable into expandable and non-expandable variants

Projects​

  • Purge V2 resource records after project deletion
  • Add version field for migration preparation
  • Enhance project creation verification
  • Implement project create with rollback on failure
  • Simulate password generation logic used in ops
  • Support creating initial default firewalls when creating a project
  • Assign reader role when creating project user
  • Compensate reader role for early-created users

Provider​

  • Add provider field for networks, routers, and firewalls
  • Add provider middleware for validation
  • Upgrade OpenStack CCM; treat as external provider to avoid conflicts

Query​

  • Allow time range queries without end time
  • Omit endTime from RA-related API requests

RBAC​

  • Implement RBAC helper for permission control
  • Apply RBAC control to instances
  • Hide analysis and cloud provider tabs for project member role

Rancher​

  • Add Rancher helper to operate RKE-driven clusters

Resource Analysis​

  • Implement amount, ranking, and trend APIs for cloud and project
  • Make response values strings for frontend parsing
  • Add time range in WHERE condition to limit results
  • Support querying amount with specified projects
  • Remove misplaced service option in ranking API
  • Persist unpriced resource rows for RA visibility
  • Cloud admin and project admin resource analysis

Routers​

  • Implement router CRUD: create, list, update, delete, attach, detach
  • Add status, CIDR, and type fields for uplink/downlink networks
  • Include project in DB schema
  • Verify name uniqueness before create/update
  • Reconcile static routes when network/router attach or detach occurs
  • Send events for router operations

Settings​

  • Implement settings helper to handle inheritance
  • Implement new settings: alerts, email, and policies
  • Extend settings type
  • Support loading config from env; add email-related settings
  • Ensure default project and settings on creation

Fixed​

Apps​

  • Add validation for floating IP operations; fix worker panic when non-external private network is attached

ASG (Auto Scaling Group)​

  • Fix incorrect ASG approval flow
  • Fix ASG scaling issue caused by network side effects
  • Fix missing network v2 schema migration for ASG scaling
  • Correct the field used to search firewalls

AWS​

  • Fix incorrect AWS credential parsing when inheriting credentials from default project
  • Fix incorrect instance network schema conversion for AWS provider
  • Fix incorrect default storage type parsing for AWS provider
  • Fix resource operation errors for AWS instance, K8s, and floating IPs
  • Fix AWS floating IPs page missing "Assigned To" field

Billing​

  • Paginate billing reports via v2 page contract
  • Ensure totalPage for billing pagination is at least 1

Cluster / Node Pool​

  • Pass selected network to worker in K8s create/scale-up tasks
  • Fix NFV schema integration issue between cluster, node pool, and floating IPs
  • Fix incorrect floating IP check for network schema v2
  • Remove nodeTemplatedId check (RKE2 clusters don't have it)
  • Correct nodepool POST cluster lookup and harden proxy gate
  • Fix K8s network schema migration; increase kube-api query limit for worker cron
  • Only delete floating IPs within the CMP project during cluster cleanup

Config​

  • Accept absolute paths for -conf; fail loudly on no match
  • Amend missing portal config used for firewall migration

Events​

  • Populate remote_ip on v2 firewall and volume-clone events
  • Populate user/IP in alert and cloud-admin event records
  • Fix resource name disappearing in event display

Firewalls​

  • Preserve security group rule port ranges on decode
  • Correct collection name, error total item counts, and options usage
  • Handle dirty firewall records
  • Make description an optional field
  • Correct field used to search firewalls

Floating IPs​

  • Fix floating IP unassigning issue for load balancers
  • Fix incorrect network ID in the floating IP list
  • Fix missing schema update during floating IP operations
  • Fix integration issue between reserved floating IP and workloads (instances and load balancers)
  • Fix floating IP release issue during instance deletion
  • Fix incorrect floating IP info attached in the instance list
  • Fix floating IP display issue
  • Fix incorrect private info in instance details
  • Fix integration issue between reserved floating IP and instances
  • Fix FIP association issue for load balancers
  • Fix reserved FIP creation and association issue for load balancers

Instances​

  • Fix incorrect default volume type when COS has switched the default storage type
  • Fix incorrect floating IP display issue
  • Fix incorrect import path for instance
  • Fix incorrect floating IP info in instance list
  • Handle GPU type correctly to avoid panic
  • Improve GET /portal/api/v1/instances performance
  • Skip updating launched_at if instance status is error
  • Adjust network ID mapping between CMP and OpenStack network IDs
  • Enhance stability for source-based route init and default gateway setting
  • Fix Swagger v1 typo
  • Integrate floatingIp.isAcquirable info with real router and network data
  • Add default value to prevent failed null conditions
  • Correct the field used to search firewalls
  • Ensure rename instance option is only shown for the Cube provider

Image Export​

  • Clarify error message: image export only supports CubeStorage volumes

Keypair​

  • Fix incorrect keypair parsing logic during key validation

Load Balancers​

  • Fix load balancer creation/update issues for instance, app, and ASG
  • Fix FIP association issue for load balancers
  • Fix reserved FIP creation and association issue for load balancers

Networks​

  • Site-admin private networks list no longer crashes on legacy projects
  • Seed provider networks before private network migration
  • Filter network project list to only include enabled networks for spine and provider
  • Fix network ID mapping issue for network v2 schema in VM, shares, and floating IPs
  • Fix parameter typo in GET /providers/cube/projects/{projectName}/networks/available-ips
  • Make gatewayIP optional
  • Avoid directly accessing uplinkRouter when it may be empty
  • Correct allowed update options for spine and private networks
  • Correct key to make search work
  • Correct parameter usage
  • Check parameter existence before use
  • Avoid empty content when nothing is selected
  • Use original status to avoid overriding state

Options​

  • Use function call instead of immediate invocation to avoid running before definition

Page​

  • Handle missing query parameter scenario

Portal (UI)​

  • Add missing i18n entries across multiple pages and features
  • Fix i18n typos
  • Prevent empty ellipsis menu from appearing in tables
  • Fix basic events table missing event name column
  • Fix project store settings initialization bugs and user role name i18n
  • Fix admin list routers query param key
  • Fix API types defined per poorly written Swagger docs
  • Fix create private network uplink router ID key bug
  • Fix cube modal small-size modifier style issue
  • Fix failure to attach firewall to instances
  • Fix failure to edit AWS firewall description
  • Fix firewall rule UI for all ICMP type and code
  • Hide instance memory usage graph for non-Cube providers
  • Fix load balancer member interface IPs display
  • Make network field required during cluster creation
  • Fix objects page i18n issue
  • Fix project store settings and user role i18n
  • Route load balancer floating IP association/disassociation to LB collection
  • Fix router UI uplinks visibility
  • Fix router table status column appearing empty
  • Fix spine networks table column order
  • Fix unassign load balancer floating IP option handler
  • Fix upsert private network modals not filtering routers by project
  • Temporarily disable NFV create firewall
  • Hide non-available networks in upsert router modals
  • Fix networks fetched without pagination
  • Fix NFV firewall API autoScalingIDs param renaming
  • Handle NFV networks with no spec.subnets
  • Allow policy import on Default and Custom projects
  • Enforce volume quotas on clone action
  • Hide color-related properties in branding config
  • Fix i18n for instance list page dropdown (remove and destroy both visible)

Project​

  • Correct network status field when handling errors
  • Fix incorrect filter for finding network ID by metadata.id
  • Add id field on create; remove omitempty from status (empty string means success)

Portal API​

  • Demote quota alert email failure to a log line
  • Emit init+done event pair so History shows real duration
  • Give v2 instance events a unique event_id
  • Key v2 instance events by OpenStack UUID
  • Load email templates so quota alerts can render
  • Restore spine-only CIDR overlap policy; always check same-router
  • Stop swallowing PG init/migration retry errors

Provision​

  • Add SUCCESS as keyword to match customer HPG requirement

Provider​

  • Make offline OpenStack CCM install deterministic

Reserved Floating IP​

  • Fix issue with reserved FIP and instance association
  • Fix data update issue between reserved FIP deletion and instance

Resource Analysis​

  • Set admin permission on related API
  • Apply providerName filter in project trend SQL
  • Include provider_name in project trend CTE

Resource Overview​

  • Fix incorrect aggregation logic for firewall v2

Routers​

  • Check enabled networks before creating a router
  • Handle the no-router situation
  • Check bool value, not just existence
  • Pass NAT enable opts instead of hardcoding
  • Support filtering by project
  • Update record when updating OpenStack resource

Runtime​

  • Scan all external networks in OpenStack

Scripts​

  • Dynamically generate sidecar image path to avoid syntax errors

Settings​

  • Set default values to avoid v1 API failures

Spec​

  • Correct GPU type inconsistency
  • Use getK8SFlavor instead of getting flavor directly to avoid flavor-not-found errors

Tenant Admin​

  • Make CIDR optional when converting private networks

Token Sync​

  • Fix incorrect resource release order

UI Library​

  • Fix cube dropdown floating element position issue
  • Fix cube filter dropdown search input not always visible

Volumes​

  • Fix incorrect default storage type parsing for AWS provider

Misc​

  • Fix instance list page missing floating IP display
  • Fix workload dropdown missing instance interface options
  • Fix incorrect result when assigning floating IP to instance interface network
  • Accept both string and int types due to differences between AWS and Cube
  • Add missing network field to instance creation payload
  • Fix networking page floating IPs tab "Assigned To" text
  • Fix incorrect contact us link URL

2.0.0 - 2025-03-28​


Added​

  • Introduced Cloud Usage Billing Module to enable cost tracking, chargeback, and showback for internal/external users.
  • Added support for Auto-Scaling Groups (ASG) for VM workloads, enabling dynamic compute resource scaling.
  • Rolled out a refreshed UI with streamlined layout and improved navigation.

Changed​

  • Enriched CubeCMP v2 API to support new billing and ASG automation endpoints.
  • Updated installation options to support offline deployment in secure environments.

Fixed​

Application​

  • Fixed RBAC issues that prevented users from deleting applications.
  • Fixed a UI bug on the image selection page during application creation.

Load balancer​

  • Fixed an issue where the load balancer was not deleted properly.
  • Fixed an issue preventing applications from attaching to load balancer rules.
  • Fixed a failure when creating the load balancer with HTTP and HTTPS protocols.

Instance​

  • Fixed mismatch between imported instance image size and actual image size.
  • Fixed snapshot and backup image deletion errors.
  • Fixed an error preventing expired instances from updating their status to "expired".

Public Cloud​

  • Fixed AWS instance resize failure due to incorrect volume resizing.
  • Fixed instance volume stuck in "creating" state after extension.
  • Fixed a bug preventing AWS Kubernetes clusters fro being suspended or resumed.

1.4.1 – 2023-07-01​

Added​

  • Introduced multi-tenant management features for projects and quotas.
  • Enabled support for external authentication services (e.g., SSO).
  • Added instance management capabilities for flavors, images, and monitoring.
  • Included Kubernetes configuration options for node types and sizes.
  • Enabled file share and object storage configuration.
  • Added user activity and security history tracking.
  • Introduced SSH key-based user authentication.
  • Integrated cloud provider validation tools for administrators.
  • Enabled Kubernetes-as-a-Service with cluster lifecycle management.
  • Added support for Marketplace-based Kubernetes app deployments.
  • Expanded storage service capabilities with NFS/CIFS shares and image management.
  • Introduced network service management: floating IPs, firewalls, and load balancers.
  • Added approval workflows for both instance and Kubernetes lifecycle management.
  • Unified interface for managing AWS EC2 resources via CubeCMP.

Changed​

  • No previously released features were changed in this version.

Fixed​

CubeCMP Platform​

  • Fixed password update issue for local accounts.
  • Improved login theme compatibility with external authentication.
  • Enhanced firewall rule enforcement on target instances.
  • Secured authentication method for instance creation.

Kubernetes​

  • Fixed default node and pool setting inconsistencies.
  • Resolved sorting issue in Kubernetes cluster list.
  • Added support for UDP-based load balancers.

Public Cloud​

  • Fixed floating IP limitation for AWS elastic IPs.
  • Resolved issue with duplicate firewall rule names.
  • Enhanced volume information display in public cloud views.

Security​

  • Hardened authentication methods used during instance provisioning.