Consumers are organized in a tree structure that models the organizational relationships among consumers. A short consumer name is defined as the name of a consumer without any path information of the tree. A full consumer name is defined as the name of a consumer with complete path information.
When a full consumer name is used in an application profile or service deployment and you need to modify the consumer tree hierarchy, the following components affected by the change must be updated in order to keep the applications working:
The benefit of the full consumer name is that it enables Symphony to do more error checking to keep cluster configuration consistent. The drawback is that when the consumer tree hierarchy changes, more effort is required to update the application and borrow/lend relationships.
The benefit of the short consumer name is that when the consumer tree hierarchy changes, there is no need to re-deploy service packages or re-register application profiles. This benefit minimizes the effort to maintain and administer applications and service packages.
You can specify either a short consumer name or full consumer name to identify a consumer when you perform the following operations:
Full names and short names can co-exist in the cluster provided they are for different consumers.
The following guidelines apply when using short and full consumer names. For the sake of brevity, short and full consumer names are referred to as simply short names and full names, respectively.
For each leaf consumer, you can deploy service packages using either the full name or short name. You cannot use any other format, such as a relative path, in the consumer name
If a service package is deployed with a full name, the application profile must also specify the full name in order to use it.
When a service package is deployed under "/", it can be accessed by any consumer no matter if the application profile specifies the consumer with a short name or full name. If the package exists at the root consumer "/", the package cannot be deployed to any other consumer, regardless of whether it is deployed with a short consumer name or full path.
When a service package is deployed under a non-leaf node other than "/", it can only be used by an application if its application profile uses a full name. The reason is to make sure applications get the correct packages when the consumers are moved around in the tree. If the package is also deployed under a short name of a consumer which is the child of the non-leaf node above, the one deployed with a short name will be used no matter if the application specifies a short name or full name.
It is not allowed to deploy a service package under a short name when there exists one that was deployed under a full name. This is safeguard to prevent errors that can cause the workload to stop running. For the same reason, it is also not allowed to deploy a package under a full name when there exists one that was deployed under a short name. In both cases, if you really want to change the type of consumer name, the old package must be explicitly removed before it can be re-deployed.
Security checks, which are performed when accessing a service package or re-deploying a service package, are based on the current consumer tree, not the tree when the package was first deployed.
T1: consumer A's full name was /test/A. You need to have administrator privilege for /test/A to deploy the package
T2: consumer A's full name changes to /production/A. If you want to remove or re-deploy the package, you need to have administrator privilege for /production/A.
If a service package is deployed with a full name, the application profile must also specify the full name in order to use it.
If a service package is deployed with a short name, the application profile can either specify a full name or short name. In the case where the application profile is using a full name, if the consumer tree hierarchy changes, it is not necessary to re-deploy the package but you need to change the application profile.
Whether the PMC shows a service package with a short name or full name depends on which one was used when it was deployed.
When the PMC shows runtime information (for example, the application properties page), it will always show the full name no matter how it was configured. However, for service package management, the consumer name is whatever was used when it was deployed.
If the service package is deployed with a short name, the CLI soamdeploy command can access the package by short name only. Similarly, if the package is deployed with a full name, the soamdeploy command can access the package by full name only.