-
Bug
-
Resolution: Fixed
-
Major
-
None
-
None
-
NDS Sprint 1
As the end-user of NDS Labs, I should be able to add an optional service to an existing stack, so long as the stack is in a "stopped" state. Currently when adding a new service that should require the user to configure volumes or passwords, no mechanism is given to collect that information.
The user should be able to specify (at the very least) volumes and basic/advanced config options if they need to when adding an optional services. The purpose of this story is to discover all potential needs of an arbitrary optional service and decide on a way for the user to specify these parameters when adding a new service to an existing stack.
Much of this logic already exists within the ConfigurationWizard, it simply needs to be abstracted into an AngularJS Service or Factory so that it can be accessed from multiple views / controllers.
Preconditions:
- User is logged in
- Stack exists in a "stopped" state
- Stack allows, but does not currently contain, an optional service dependency
- Optional service should allow require a persistent volume, configuration, or both
- Stack allows, but does not currently contain, an optional service dependency
Primary flow:
- User clicks Add Service to add the optional service back to the stack
- User is presented with a dialog allowing them to specify configuration options and/or volume details (i.e. popover, modal, etc.)
- User is given a choice to Save or Cancel the "add service" operation
- Upon pressing save, optional service is added to the stack in the backend and UI
- If the service is persistent, the user should see that the newly-added service has a new volume attached
- If the service is configurable, the user should be able to press the View Config button to see that the configuration values they have entered are now stored
See https://github.com/nds-org/ndslabs/issues/25 for more information
This story is complete when adding a new stack service to an existing stack prompts the user and accepts from them to enter the information necessary to start the service.