I have a new function file in which I had to remove some parameters because they didn't belong to that function. When I try to activate this file it fails with below message:
This message just shows in which Service Definitions the function is used, but doesn't mention the reason why it fails.
Also the Function Manager log file doesn't mention anything:
Logfile "SLFunctionManager" from agent "10.10.18.100"... 2021/10/01 14:49:51.865|SLLog|ApplyLogLevels|CRU|-1|Log Levels: Info: 1; Error: 1; Debug: 1 (from LogSettings.xml) 2021/10/01 14:53:27.277|SLNet.exe|Initialize|CRU|0|76|Initializing BaseFunctionManager... 2021/10/01 14:53:27.353|SLNet.exe|Initialize|CRU|0|76|Initialized BaseFunctionManager. **********
I had to use the client test tool and follow my Cube session to see the TraceData > ErrorData in SetCurrentFunctionsXmlResponseMessage. It mentions 3 error reasons: SetCurrentBlockedModifications, ProtocolFunctionInUseByServiceDefinitions and ProtocolFunctionInUseByResources.
Question 1: What exactly is blocking the activation of the functions file? Is it because parameters are no longer available? Is it because it's used in several Service Definitions? ...
Question 2: How can I force activate the new functions file? I don't want to deactivate it since that will result in losing all my resources with manually added capacities, capabilities and properties.
Removing parameters is considered as a configuration change that can potentially break the entire workflow implemented on top of it ( ie : Profile-load no longer capable to orchestrate the resources because parameters are missing). That's the reason why such a warning message gets generated.
Clicking 'Continue Deactivation' will force de-activating previous function definition and activating new one.
Regarding question 2 i just tried the following:
Having 3 resources based on a given Function that holds 1 parameter.
I forced the activation of a new function (same function Guid) with no parameter.
My resources where kept unchanged. All capabilities where kept.
Note that new function.xml contained exact same Function Guid.
Make sure to tested it further so you won't lose any data (only checked not losing resources + not losing a Capability configured in it).
From this simple test i don't expect any resources to be adulterated as long as you keep the Function Guid.
Thank you, David. My confusion was that the warning mentioned to deactivate functions v10 while that’s the version I tried to activate (v9 was active).