Pacemaker creates implicit resources internally for guest node remote connections, bundle components, etc. Currently, each instance chooses a resource name, and there is no convention. For bundle remote connections only, Pacemaker will fall back to a longer name starting with "pcmk-internal".
These should be made more consistent, though for backward compatibility we can't make all the changes immediately.
As a first step, a new function should be used to create an implicit resource name, everywhere that we do so. For now, it should pass in the desired name, which should be used as-is if there is no conflicting resource. If there is, it should try again with "pcmk-internal-" in front of the desired name. (This fallback method is a "lesser evil" situation; if the implicit resource gets its preferred name initially, but later the user adds a resource with the same name, the implicit resource's history may be misread as the new one's, and will be ignored for the renamed implicit resource. But that's better than failing to add the resource.)
Later, we can update the new function to always try with "pcmk-internal-" first, and as a fallback, use a UUID. This will cause restarts of implicit resources in a rolling upgrade from a version that does not do this, so it should only be done at a major version release.