Type: New Feature
Affects Version/s: Slider 0.80, Slider 0.90.2
Fix Version/s: None
Need ability to permanently remove a component from application (not just stop it).
At present, once a component is added; it can only be stopped (using flex 0 or setting yarn.instances = 0). The stopped component still remains in application history forever and can never be deleted from application configuration files.
In following use case; it is required to remove the component permanently.
The service has instances (a.k.a. components) provided per user.
1. When a new user is added, a new component is started for that user. The idea is not to bring the existing app / components down for existing users. Say first user "user1" joins and gets component named "user1". When "user2" joins, I add "user2" component to metainfo/appconfig/resource, redeploy the package and do a "slider upgrade". This keeps "user1" component running (don't want to bring down user1) and brings user2 component up.
2. When the user is decommissioned, its component should be decommissioned permanently without impacting other running components. Flex zero or upgrade with resource.json yarn.instance=0 for this component stops the component but it still remembers the component in history; which is not desired. With many users coming and going, there should be option to delete the decommissioned component and remove it from all configuration files i.e. it should be possible to remove this component from metainfo, appconfig and resource
3. As a separate but related ask, it should also be possible to reuse the removed components yarn.role.priority for existing component. Further, the existing component should not be restarted if already running if its role priority is changed. E.g. say a component with role priority 10 was deleted as part of implementation of #2. Now it should be possible to assign 10 to other running component without restarting. At present, if role priority of running components are changed; the components are redeployed as new containers - which will impact running users.
Discussion for this thread can be found on dev mailing list.