Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FSunstone] Projects Manager #6797

Open
3 tasks
vichansson opened this issue Nov 20, 2024 · 0 comments
Open
3 tasks

[FSunstone] Projects Manager #6797

vichansson opened this issue Nov 20, 2024 · 0 comments

Comments

@vichansson
Copy link
Contributor

vichansson commented Nov 20, 2024

Description

Introduce a new resource control center in Sunstone called "Projects Manager". This feature will allow users to group related resources (e.g., Virtual Machines, Datastores, Virtual Networks) into a project for improved planning, management, and lifecycle tracking.

Projects will be treated as a distinct resource within FireEdge, having their own lifecycle states and management interface. The key goals of the "Projects" feature are:

  • Provide a centralized way to manage related resources as a cohesive unit.
  • Enable better planning and tracking of resource allocation and usage.

Each project will have its own lifecycle states, reflecting its progress and the status of its associated resources. These states are categorized into two main stages: Planning and Live.

Lifecycle States:

Planning Stage
At this stage, projects track resources without considering their runtime states.

  • Planned: Resources are defined but not allocated.
  • Progressing: Some or all resources have been allocated.
  • Finished: All resources have been allocated.

Live Stage
Once a project reaches the Finished state in the Planning stage, it transitions to the Live stage. Here, the project monitors the runtime state of its resources.

  • Running: All resources are operational.
  • Halted: Some or all resources are in a non-running state.

Note: If a project needs to be modified (e.g., resources removed or added), it must revert to the Planning stage for redefinition.

Cohesive Unit Functionality

Projects will function as cohesive units, aggregating metrics from their resources. For example:

  • A Virtual Machine exposes cost metrics, so these metrics will be aggregated at the project level.
    • Example: A project contains 3 Virtual Machines with costs of 5€, 10€, and 15€ per hour. The project will expose a total cost of 30€ per hour from the project’s perspective.

Example Use Case

  1. Creating a New Project:

    • A project named "Office Infra" is created in the Project Manager tab.
    • The project includes 3 Virtual Machines, 1 Backup Datastore, and 1 Virtual Network.
    • A project-specific label, office-infra, is automatically created.
    • The project lifecycle state is initially set to Planned, as no resources have been allocated yet.
  2. Allocating Resources:

    • In the Project Manager tab, users allocate resources (either by creating new ones or selecting existing ones).
    • As resources are allocated, the project state transitions to Progressing.
    • For instance, after allocating the 3 Virtual Machines, the project state updates to Progressing.
  3. Completing the Project:

    • Once all resources (e.g., the Backup Datastore and Virtual Network) are allocated, the project transitions to Finished.
    • If all resources are running, the project state automatically updates to Running.
  4. Viewing Metrics:

    • The "Office Infra" project now aggregates metrics from all its resources. For example:
      • Combined cost: 35€ per hour (based on the sum of all resource costs).

Use Case

This feature enhances resource control and planning by grouping related resources into cohesive units with clearly defined lifecycle states. It reduces the complexity of managing individual resources and provides a high-level overview of project status, including aggregated metrics like cost.

Interface Changes

  1. A new Project Manager tab will be added to the Sunstone interface.
  2. Within the Project Manager tab, users will:
    • Create and define new projects.
    • Allocate resources to projects.
    • Monitor project lifecycle states.
    • View aggregated metrics, such as total cost, for the project.

Additional Context
Please feel free to add any other context or screenshots about the feature request here. Or any other alternative you have considered to address this new feature.

Progress Status

  • Code committed
  • Testing - QA
  • Documentation (Release notes - resolved issues, compatibility, known issues)
@dcarracedo dcarracedo added this to the Release 7.0 milestone Nov 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants