How to solve the problem with exceeding license limits for YouTrack and Upsource after connecting to Hub

Update: Hub 2.0 (released in April 2016) explicitly connects a user with a license to an appropriate service. Licenses are no longer derived from the service-permission scheme. This feature helps avoid problems when connecting, for example, a YouTrack instance with a 100-user license and an Upsource instance with a 10-user license. Now you can define that user Alice.Swan has YouTrack and Upsource licenses, and user Tom.Jones only has a YouTrack license.


This post explains the problem of exceeding license limits for YouTrack and Upsource after connecting to Hub and provides a solution.

General use case

YouTrack and Upsource were migrated to an external Hub and the total number of users there exceeds the number of users of your service’s license.

Why this happens

At the moment, a user account counts against the license of each service connected to Hub (YouTrack, Upsource), if this user is granted any permission for this service. When you connect YouTrack and Upsource to an external Hub, roles with the same name from different services may be merged. This means that the merged role gets permissions from all the services. Therefore, all users with such merged roles will be counted against your each license for YouTrack and Upsource.

Solution

When you have reached the limit of one of the licenses, remove excessive permissions from users who are not supposed to have access to a service but received such permissions after being migrated to the external Hub.

Note: Before you begin, please download and install the latest Hub build.

Perform these steps to eliminate undesired permission assignments:

1. Remove undesired permissions from the “All Users” group.

By default, the “All Users” group (from which users cannot be removed) may have the default Observer role. After migrating to a single external Hub, this role may include enabled permissions from both YouTrack and Upsource (if Observer roles were merged during the migration, for example). This means that all users automatically get permissions in all services, which may lead to license limitations being exceeded.

In this case, if you do not need all users to have permissions from a service (YouTrack or Upsource or both), you should remove any role with permissions from the desired service’s  “All Users” group. Alternately, edit the Observer role to disable permissions from the specific service. Otherwise, all user accounts will be counted against both YouTrack and Upsource licenses.

2. Remove undesired permissions from the “Registered users” group.

By default, all user accounts are added to the “Registered users” group. This group may also have the Observer role and, thus, all new users automatically get permissions in YouTrack and Upsource service. Remove the Observer role from the “Registered users” group, otherwise everyone in this group will be included in YouTrack and Upsource license.

3. Check if any role received permissions from both services after the migration

Check if after migration you have any roles that have both services’ permissions (for example, after a merge). Check which groups there roles are assigned to, and make sure that users from these groups should really have access to both services. If not, edit the affected roles to have only permissions in the required service. To find all roles with permissions from a particular service, use the following search query on Roles page:

permission(service: <service name>)

This will filter all roles that include permissions from the specified service and thus affect the license for this service. Any user who is granted such roles will be counted against the service’s license.

4. Create separate roles with desired Upsource-only and YouTrack-only permissions enabled and assign these roles only to those groups of users that should have access to corresponding services.

Example

Your YouTrack has 25 users and Upsource has a free license for 10 users. Both services were migrated to an external Hub. After the migration:
– License limitations for both YouTrack and Upsource are exceeded because you assigned some default roles like Developer, Project admin or System admin to more than 10 users.
– All 35 users (25 from YouTrack and 10 from Upsource) received the Observer role. As a result, there are 35 users in YouTrack and 35 users in Upsource.

Solution:

  1. Remove the Observer role from the “All users” group (or edit it not to include Upsource and YouTrack permissions). Also, remove Developer, Project Admin or even System Admin roles from that group if any of these are assigned.
  2. Remove the Observer role from the “Registered users” group. Alternately, edit the role and disable service specific permissions from Upsource and YouTrack. Also, remove Developer, Project Admin or even System Admin roles from the group, if any.
  3. Make sure that any other user group with with permissions in both services contains only desired user accounts.
  4. Create a separate role with Upsource permissions and a separate role with YouTrack permissions, and assign these roles only to the User groups you want to have access to the corresponding service.

Please feel free to contact our support if you have any questions or troubles fixing the permissions on your own. We’ll be happy to help.

About Valerie Andrianova

Valerie Andrianova is YouTrack, Hub and Upsource Product Marketing Manager at JetBrains. Her professional interests include issue & bug tracking, project and task management, agile methodologies and team collaboration. Apart from work, she cannot imagine her life without live music, quirky books and lattes with those cute little foam hearts.
This entry was posted in How To, Tips and tagged , , . Bookmark the permalink.

2 Responses to How to solve the problem with exceeding license limits for YouTrack and Upsource after connecting to Hub

  1. Matt says:

    It would be REALLY useful if the log said which role or permission was causing the failure. At the moment I have to go through hub/youtrack deleting and removing users from roles, to see if the role is causing the failure. It’s infuriating guess work.

Leave a Reply

Your email address will not be published. Required fields are marked *