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

Allow user to suspend project so it doesnt consume resources #377

Closed
1 of 6 tasks
sammachin opened this issue Mar 17, 2022 · 8 comments · Fixed by #893
Closed
1 of 6 tasks

Allow user to suspend project so it doesnt consume resources #377

sammachin opened this issue Mar 17, 2022 · 8 comments · Fixed by #893
Labels
scope:node-red Features for FlowFuse to boost the vanilla Node-RED experience size:S - 2 Sizing estimation point story A user-oriented description of a feature
Milestone

Comments

@sammachin
Copy link
Contributor

sammachin commented Mar 17, 2022

Epic

#787

Description

As a: Owner

I want to: have the ability to stop a container for a project

So that: I am not charged for consuming resources

Which customers would this be availble to

  • All Users, (CE)
  • Specific Project Types (EE)
  • Specific Team Tiers (EE)
  • Other (See comments)

Acceptance Criteria

  • Container is stopped/removed
  • Project is removed from billing
@sammachin sammachin added the story A user-oriented description of a feature label Mar 17, 2022
@sammachin
Copy link
Contributor Author

This needs some discussion about engineering design and UX, specific questions are:

Should this be a separate state from the current stopped project which stops Node-RED from handling any requests but doesn't remove the container?
Is that a useful state to keep for example if you need to just pause whatever your flow is doing.

Should that be renamed to pause?

What do we call this, halted?, terminated?

What is the billing experience, eg if a user stops and starts containers in a short timeframe do we refund and then charge again when its started?

Do we have any kind of charge/limit on the number of projects without a running container that a user might have?

@sammachin
Copy link
Contributor Author

Also how does this experience relate and impact localfs where there is no container as such, does the UI need to hide the option in localfs mode

@sammachin sammachin changed the title Stopping project should stop container Stopping Container Mar 17, 2022
@knolleary
Copy link
Member

The work done in #392 and #437 has introduced the 'suspended' state to a Project - a necessary state when considering how stacks get changed.

Whilst developing and testing #437 I had added a 'suspend' option in the project action menu to help me test different state combinations.

I have removed the menu option from the final PR to not confuse matters. For future reference, this is the comit that did hid it - so you can see what front-end api is there to use in the future - cf3606a

But the main take-away is that the questions around what a suspended project means have been largely addressed through the lifecycle review work.

The remain piece of dev work is on how to expose it properly in the UI.

Whilst I had put it in the action menu (the drop-down menu in the RH side of the project screen) as a super convenient place whilst I was testing, it is more suited for the 'Danger' settings panel.

The text that goes on screen also needs to reference the impact on billing - but only if billing is enabled.

As such, I am going to add a small sizing for this item to reflect the relatively small piece of UI work needed.

@knolleary knolleary added the size:S - 2 Sizing estimation point label Apr 6, 2022
@sammachin sammachin added this to the 0.6 milestone May 9, 2022
@knolleary knolleary changed the title Stopping Container Allow user to suspend project so it doesnt consume resources May 27, 2022
@ZJvandeWeg ZJvandeWeg added the scope:node-red Features for FlowFuse to boost the vanilla Node-RED experience label Jun 3, 2022
@sammachin sammachin removed this from the 0.6 milestone Jun 13, 2022
@sammachin
Copy link
Contributor Author

TODO Look at billing experience of stopping & starting with credits

@hardillb
Copy link
Contributor

OK, basic UI done for suspending, might have a chat with @joepavitt tomorrow about if we want to change things for restarting.

The billing is currently already handled by the existing container code, so need to decide if we want to handle this differently to a stack upgrade (which can cause billing change)

@sammachin
Copy link
Contributor Author

Stack upgrades shouldn't result in a billling change, only changing the project type (which isn't currently supported)
There's also a related task to remove the stop/start from actions (leave restart) #836

@hardillb
Copy link
Contributor

We need to keep start (unless we also move that to Settings/Danger section as well)

@sammachin
Copy link
Contributor Author

So start will start the container and node-red now?
We may need to change the labels depending on the UX converstaion with @joepavitt tmw

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
scope:node-red Features for FlowFuse to boost the vanilla Node-RED experience size:S - 2 Sizing estimation point story A user-oriented description of a feature
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

4 participants