Installing and using Tackle

About Tackle

Tackle is a cloud-native application that assesses your applications to determine an appropriate migration strategy for each application, for example, rehosting, replatforming, or refactoring. Tackle also helps you to plan the migration of your applications to an enterprise Kubernetes platform.

Tackle uses an interactive questionnaire for the assessment. The assessment process enables key stakeholders to gather information about applications, to discuss risks flagged by Tackle, and to reach a consensus in formulating recommendations for each application.

Installing Tackle

Installing the Tackle Operator

You download and install the Tackle Operator on an Enterprise Kubernetes Platform cluster.

Prerequisites
  • You must have cluster-admin privileges.

Procedure
  1. Install the Tackle Operator:

    $ kubectl create -f https://operatorhub.io/install/tackle-operator.yaml

    The Tackle Operator is installed in the my-tackle-operator namespace by default.

  2. Verify the Tackle Operator installation by viewing its resources:

    $ kubectl get all -n my-tackle-operator

Installing the Tackle application

You install Tackle in a namespace by creating an instance of the Tackle application.

Prerequisites
  • The Tackle Operator must be installed on the cluster.

  • You must have project-admin privileges.

Procedure
  1. Create an instance of the Tackle application, specifying its namespace:

    $ kubectl apply -n <namespace> -f https://raw.githubusercontent.com/konveyor/tackle-operator/main/src/main/resources/k8s/tackle/tackle.yaml

    You can create multiple instances of the Tackle application in the same namespace by specifying a unique name for each instance in the tackle.yaml file.

  2. In the Kubernetes dashboard, click WorkloadsDeployments to verify the installation.

Logging in to the Tackle web console

You can log in to the Tackle web console.

Prerequisites
  • You must have the Tackle application installed.

Procedure
  1. In the Kubernetes dashboard, click ServicesIngresses.

  2. Click the Endpoint of the tackle-sample ingress to launch the Tackle web console in a new browser window.

  3. Enter tackle in the Username or email field, password in the Password field, and click Log in.

You must change the default password of the tackle user.

Tackle web console services

Tackle web console provides the following services:

  • Application inventory

  • Assessments

  • Reviews

  • Reports

  • Controls

Application inventory

The Application inventory page enables you to perform the following tasks:

  • Manage your application portfolio.

  • Define and manage application dependencies.

  • Link applications to the business services that they support.

  • Describe and categorize applications by using tags.

Assessments

You can assess your applications on the Application inventory page.

The assessment helps you determine an appropriate migration strategy for each application, for example, rehosting, replatforming, or refactoring.

The assessment is an interactive questionnaire that gathers information and identifies possible risks and their severity.

Reviews

You can review a completed assessment on the Application inventory page.

The following information is collected from each reviewer:

  • Proposed action: Proposed action for the application, for example, replatforming or rehosting.

  • Effort estimate: How much effort is involved in migrating the application, based on the proposed action and the identified risks.

  • Business criticality: How critical the application is to your business on a scale of 1 to 10.

  • Work priority: Your work priority estimate for the proposed action on a scale of 1 to 10.

The Reports page displays the results of the reviews.

Reports

The Reports page displays the results of the application assessments and reviews and can help you to plan your migration.

The reports provide information about the following:

  • Suitability of applications for containerization.

  • Possible risks and severity.

  • Adoption plan based on estimated effort, work priority, and application dependencies.

Controls

The Controls page enables you to manage the following entities:

  • Stakeholder: A stakeholder is an individual with an interest in an application or a subject matter expert.

  • Stakeholder group: A stakeholder group is a group of related stakeholders. A stakeholder can belong to one or more stakeholder groups. Stakeholder groups are used to assign multiple stakeholders to review an assessment.

  • Job function: A job function is an attribute of a stakeholder. You use a predefined job function or create a new job function.

  • Business service: A business service is an attribute of an application, for example, credit card service, transportation, or IT support. You can use a predefined business service or create a new business service.

  • Tag: A tag is an attribute of an application. Tags are an extensible and flexible way to add metadata to applications. Tags are grouped under a parent tag type. You can use a predefined tag or create a new tag.

  • Tag type: A tag type defines the rank and background color of a group of related tags.

Managing users and credentials

You can manage Tackle users and passwords by using the Keycloak admin console.

Accessing the Keycloak admin console

When you install Tackle, a Keycloak admin user is created. You must obtain the admin user name and password to log in to the Keycloak admin console. The credentials are stored in the tackle-keycloak secret.

Prerequisites
  • You must have cluster-admin privileges.

Procedure
  1. Run the following command to obtain the admin credentials:

    $ kubectl get secret tackle-keycloak -o go-template='{{range $k,$v := .data}}{{printf "%s: " $k}}{{if not $v}}{{$v}}{{else}}{{$v | base64decode}}{{end}}{{"\n"}}{{end}}'
    Example output
    ADMIN_PASSWORD: <password>
    ADMIN_USERNAME: admin
  2. Launch a browser and navigate to https://<www.example.com>/auth, specifying the Tackle cluster URL.

  3. Log in to the Keycloak admin console with the admin user name and password.

Changing the default password

You must change the default password of the tackle user.

Prerequisites
  • You must have cluster-admin privileges

  • You must have the Keycloak admin user name and password.

Procedure
  1. Log in to the Keycloak admin console at https://<www.example.com>/auth, specifying the Tackle cluster URL.

  2. Locate the tackle user in the Tackle realm. See Searching for users in the Keycloak documentation.

  3. Update the tackle user’s password. See User Credentials.

  4. Log out of the Keycloak admin console.

  5. Log in to the Tackle web console as the tackle user to verify the new password.

Adding users

You can add users by using the Keycloak admin console.

Prerequisites
  • You must have cluster-admin privileges

  • You must have the Keycloak admin user name and password.

Procedure
  1. Log in to the Keycloak admin console at https://<www.example.com>/auth, specifying the Tackle cluster URL.

  2. Create a new user in the Tackle realm. See Creating a new user in the Keycloak documentation.

  3. Create a password for the new user. See Creating a password for the user.

  4. Optional: Set attributes and permissions for the new user. See User profile.

Additional resources for Keycloak

Managing applications

You can create, import, tag, and modify your applications in the Application inventory page of the Tackle web console.

Creating an application

You can create an application on the Application inventory page of the Tackle web console.

Procedure
  1. In the Tackle web console, click Application inventory and then click Create new.

  2. Complete the following fields:

    • Name: Name of the application.

    • Description: Optional. Description of the application.

    • Business service: Optional. You can select a business service that describes the application.

    • Tags: Optional. You can select one or more tags.

    • Comments: Optional. Comments about the application.

  3. Click Create.

    The new application is displayed on the Application inventory page.

  4. Expand the application to view its tags and comments.

Importing applications

You can import one or more applications into the Application inventory page of the Tackle web console by using a CSV file.

You cannot create tags or business services by importing a CSV file. Specified tags or business services must exist in the web console before you import the applications.

The CSV file contains the following fields:

Record Type 1:

  • Describes an application or application dependencies.

  • Required for all records.

The following values are allowed for Record Type 1:

  • 1: Application: This option has the following fields:

    • Application Name: Required.

    • Description: Optional.

    • Comments: Optional.

    • Business Service: Optional. Must exist in the web console.

    • Tag Type <1..20>: Optional. Must exist in the web console.

    • Tag <1..20>: Optional. Must exist in the web console.

      You can import up to 20 Tag Type <x> and Tag <x> fields.

  • 2: Application dependencies: This option requires the following fields:

    • Application Name

    • Dependency: Must be the same as the Application Name of the dependency.

    • Dependency Direction: Allowed values are northbound and southbound.

      All other fields are empty.

Table 1. CSV example
Record Type 1 Application Name Dependency Dependency Direction Description Comments Business Service Tag Type 1 Tag 1 Tag Type 2 Tag 2 Tag Type 3 Tag 3

1

Imported-Purchasing

Vendor management

Required for purchase order processing and accounts payable

Finance and HR

Operating System

Z/OS

Database

DB2

Language

COBOL

2

Imported-Purchasing

Tiller

northbound

1

Imported-PO

Requisitions, purchase orders, goods received

Requisition to receipt

Finance and HR

Operating System

Z/OS

Database

DB2

Language

COBOL

1

Imported-Payroll

Payroll

To be retired at the end of the financial year

Finance and HR

Language

Java

Database

Oracle

Language

Java

2

Imported-Payroll

Imported-GL

northbound

2

Imported-Payroll

Imported-HR

southbound

1

Imported-GL

General Ledger

Finance and HR

Operating System

Z/OS

Database

DB2

Language

COBOL

1

Imported-HR

Human Resources

Go live scheduled for Q3

Finance and HR

Operating System

RHEL 8

Database

PostgreSQL

Language

Python

Prerequisites
  • Valid CSV file.

  • Specified business services, tag types, and tags created in the web console.

Procedure
  1. In the Tackle web console, click Application inventory.

  2. Click the Options menu kebab in the toolbar and select Import.

  3. Browse to the CSV file and click Open.

  4. Click Import.

    The imported applications are displayed on the Application inventory page .

Managing application imports

You can manage application imports on the Application import page of the Tackle web console.

Procedure
  1. In the Tackle web console, click Application inventory.

  2. Click the Options menu kebab in the toolbar and select Manage imports.

    The Application import page displays a list of application imports.

  3. Click the Options menu kebab beside an application import and select one of the following options:

    • Delete deletes the application import.

    • View error report displays a table of application import errors.

    • Export errors enables you to save the application import errors as a CSV file.

Updating the tags assigned to an application

You can add or remove tags assigned to an application on the Application inventory page of the Tackle web console.

Procedure
  1. In the Tackle web console, click Application inventory.

  2. Click the Edit icon beside an application.

  3. Add or delete tags and click Save.

  4. Expand the application to view the updated tags.

Updating the business service assigned to an application

You can update the business service assigned to an application on the Application inventory page of the Tackle web console.

Prerequisites
  • The business service must exist on the Controls page.

Procedure
  1. In the Tackle web console, click Application inventory.

  2. Click the Edit icon beside an application.

  3. Select a business service and click Save.

    The updated business service is displayed in the Business service column of the application.

Managing application dependencies

You can add, delete, and view application dependencies in the Manage dependencies window on the Application inventory page of the Tackle web console.

Procedure
  1. In the Tackle web console, click Application inventory.

  2. Click the Options menu kebab beside an application and select Manage dependencies.

  3. To add dependencies, select applications in the northbound or southbound dependencies fields.

  4. To remove dependencies, delete selected applications in the northbound or southbound dependencies fields.

  5. Click Close to save and close.

Managing assessments

You can start, edit, review, and delete application assessments in the Application inventory page of the Tackle web console.

Starting an assessment

You start an application assessment on the Application inventory page of the Tackle web console.

Procedure
  1. In the Tackle web console, click Application inventory.

  2. Select an application that does not have a Completed assessment status and click the Assess button in the toolbar.

  3. Select individual stakeholders or stakeholder groups and then click Next.

  4. Select responses to questions on each page of the Application assessment wizard and then click Next.

    All questions are mandatory.

  5. When you have completed all the responses, click Save to save the assessment or Save and review to start the assessment review process.

    The Assessment status of each assessed application is Completed.

Editing an assessment

You can make an application assessment on the Application inventory page of the Tackle web console.

Prerequisites
  • An application must have a Completed assessment status.

Procedure
  1. In the Tackle web console, click Application inventory.

  2. Select an application with a Completed assessment status and click the Assess button in the toolbar.

  3. Click Continue to confirm that you want to edit the assessment.

  4. After you have updated your responses, click Save to save the assessment or Save and review to start the assessment review process.

Reviewing an assessment

You review an application assessment on the Application inventory page of the Tackle web console.

Prerequisites
  • An application must have a Completed assessment status and a Not started review status.

Procedure
  1. In the Tackle web console, click Application inventory.

  2. Select an application with a Completed assessment status and a Not started review status and click the Review button in the toolbar.

  3. Review the assessment in the Assessment summary section on the Review page.

    The Assessment summary table contains a Risk column that indicates the severity of the risk associated with each response.

  4. Select a Proposed action and an Effort estimate.

  5. Set values for Business criticality and Work priority.

  6. Optional: Enter comments in the Comments field.

  7. Click Submit review.

    The Review status of each application is Completed.

  8. Expand the application to view the review results.

Copying and applying assessments and reviews

You copy an assessment or assessment and review from a single application and apply them to multiple applications on the Application inventory page of the Tackle web console.

You can apply assessments and reviews to groups of related applications, for example, applications written in Java or belonging to the same business service.

Prerequisites
  • An application must have a Completed assessment status or Completed assessment and review statuses, depending on whether you are copying an assessment or an assessment and review.

Procedure
  1. In the Tackle web console, click Application inventory.

  2. Click the Options menu kebab beside an application with a Completed assessment status or Completed assessment and review statuses.

  3. Select Copy assessment or Copy assessment and review.

  4. Optional: In the dialog box, click Name to select a filter, for example, Tag, and select a tag, for example, Java, to display a filtered list of applications.

  5. Select the applications to which you want to apply the copied assessment or assessment and review.

  6. If a selected application has an existing assessment or review, select the Yes, continue check box to confirm that existing assessments and reviews will be overwritten.

  7. Click Copy.

    The selected applications display a Completed assessment status or Completed assessment and review statuses.

Deleting an assessment

You delete an application assessment on the Application inventory page of the Tackle web console. Deleting an assessment deletes its review.

Prerequisites
  • An application must have a Completed assessment status.

Procedure
  1. In the Tackle web console, click Application inventory.

  2. Click the Options menu kebab beside an application with a Completed assessment status and select Discard assessment.

  3. Click Continue to confirm the deletion.

    The Assessment and Review status of the application are Not started.

Managing controls

The Controls page of the Tackle web console enables you to manage stakeholders, stakeholder groups, job functions, business services, and tags.

Creating a stakeholder

You can create a stakeholder on the Controls page of the Tackle web console.

Prerequisites
  • The stakeholder must have a valid email address.

Procedure
  1. In the Tackle web console, click Controls.

  2. Click the Stakeholders tab and then click Create new.

  3. Complete the following fields:

    • Email: Email address of the stakeholder.

    • Display name: Name of the stakeholder.

    • Job function: Optional. You can select a predefined job function or type a job function to create it.

    • Groups: Optional. You can select one or more stakeholder groups from a list of stakeholder groups that you have created.

  4. Click Create.

    The new stakeholder is displayed on the Stakeholders tab.

  5. Expand the stakeholder to view the stakeholder groups to which the stakeholder belongs.

Creating a stakeholder group

You can create stakeholder groups on the Controls page of the Tackle web console. Stakeholder groups enable you to assign multiple stakeholders to review an assessment.

Procedure
  1. In the Tackle web console, click Controls.

  2. Click the Stakeholder groups tab and then click Create new.

  3. Complete the following fields:

    • Name: Name of the stakeholder group.

    • Description: Optional. Description of the stakeholder group.

    • Member(s): Optional. You can select one or more stakeholders to add to the group.

  4. Click Create.

    The new stakeholder group is displayed on the Stakeholder groups tab.

  5. Expand the stakeholder group to view the group members.

Creating a job function

A job function is an attribute of a stakeholder. You can use a predefined job function or create a new job function on the Controls page of the Tackle web console.

Procedure
  1. In the Tackle web console, click Controls.

  2. Click the Job functions tab and then click Create new.

  3. Enter the Name of the job function and click Create.

    The new job function is displayed on the Job functions tab.

Creating a business service

A business service is an attribute of an application. You can create a business service on the Controls page of the Tackle web console.

Procedure
  1. In the Tackle web console, click Controls.

  2. Click the Business services tab and then click Create new.

  3. Complete the following fields:

    • Name: Name of the business service.

    • Description: Optional: Description of the business service.

    • Owner: Optional: Select a stakeholder.

  4. Click Create.

    The new business service is displayed on the Business services tab.

Creating a tag type

You can create a tag type on the Controls page of the Tackle web console.

A tag type is the parent of a group of related tags. The tag type defines the rank and background color of the tags on the Application inventory page.

Procedure
  1. In the Tackle web console, click Controls.

  2. Click the Tags tab and then click Create tag type.

  3. Complete the following fields:

    • Name: Name of the tag type.

    • Rank: The rank determines the order in which the tags are displayed.

    • Color: The color is displayed as the background color for all tags associated with this tag type.

  4. Click Create.

    The new tag type is displayed on the Tags tab.

Creating a tag

You can create a tag on the Controls page of the Tackle web console.

Tags are an extensible and flexible way to add metadata to applications. Tags are added to applications on the Application inventory page.

Tags belong to a parent tag type that determines the display order and color of the tags. You can use a predefined tag type or create a new tag type.

Procedure
  1. In the Tackle web console, click Controls.

  2. Click the Tags tab and then click Create tag.

  3. Complete the following fields:

    • Name: Name of the tag.

    • Tag type: Select a tag type.

  4. Click Create.

    The new tag is displayed under its tag type on the Tags tab.

About reports

You can view a report of the assessments and reviews on the Reports page of the Tackle web console.

The Reports page contains the following sections:

Current landscape

This section displays all applications according to their risk levels.

Adoption candidate distribution

This section lists the assessed applications with the following columns:

  • Criticality is based on the Business criticality value of the review.

  • Priority is based on the Work priority value of the review.

  • Effort is based on the Effort estimate value of the review.

  • Decision is based on the Proposed action value of the review.

    By default, all applications are selected. You can clear some of the application check boxes to filter the report.

Suggested adoption plan

This section displays a suggested adoption plan based on effort, priority, and dependencies.

Identified risks

This section lists the severe risks identified in the assessments for all applications.

Upgrading the Tackle application

You manually upgrade instances of the Tackle application.

Upgrading from version 1.1.0 to 1.2.0

You manually upgrade an instance of the Tackle application from 1.1.0 to 1.2.0.

Prerequisites
  • You must have project administrator privileges.

Procedure

For each step, specify the namespace and the Tackle instance name.

  1. Update the keycloak deployment of the Tackle instance:

    $ kubectl set image -n <namespace> deployment/<tackle_instance>-keycloak keycloak-theme=quay.io/konveyor/tackle-keycloak-init:1.2.0
  2. Update the application-inventory-rest deployment:

    $ kubectl set image -n <namespace> deployment/<tackle_instance>-application-inventory-rest \
      <tackle_instance>-application-inventory-rest=quay.io/konveyor/tackle-application-inventory:1.2.0-native
  3. Update the controls-rest deployment:

    $ kubectl set image -n <namespace> deployment/<tackle_instance>-controls-rest \
      <tackle_instance>-controls-rest=quay.io/konveyor/tackle-controls:1.2.0-native
  4. Update the pathfinder-rest deployment:

    $ kubectl set image -n <namespace> deployment/<tackle_instance>-pathfinder-rest \
      <tackle_instance>-pathfinder-rest=quay.io/konveyor/tackle-pathfinder:1.2.0-native
  5. Update the ui deployment:

    $ kubectl set image -n <namespace> deployment/<tackle_instance>-ui \
      <tackle_instance>-ui=quay.io/konveyor/tackle-ui:1.2.0
  6. Log in to the web console and click the Help icon beside the user name to verify the upgrade.

    The About Tackle window opens and displays the version number.

Upgrading from version 1.0.0 to 1.1.0

You manually upgrade an instance of the Tackle application from 1.0.0 to 1.1.0.

Prerequisites
  • You must have project administrator privileges.

Procedure

For each step, specify the namespace and the Tackle instance name.

  1. Update the keycloak deployment of the Tackle instance:

    $ kubectl -n <namespace> exec deployments/<tackle_instance>-keycloak \
      -c <tackle_instance>-keycloak -- bash -c '/opt/jboss/keycloak/bin/kcadm.sh \
      update realms/tackle -s internationalizationEnabled=true -s supportedLocales+=en \
      -s supportedLocales+=es -s defaultLocale=en --server http://localhost:8080/auth \
      --realm master --user $KEYCLOAK_USER --password $KEYCLOAK_PASSWORD'
  2. Update the application-inventory-rest deployment:

    $ kubectl set image -n <namespace> deployment/<tackle_instance>-application-inventory-rest \
      <tackle_instance>-application-inventory-rest=quay.io/konveyor/tackle-application-inventory:1.1.0-native
  3. Update the controls-rest deployment:

    $ kubectl set image -n <namespace> deployment/<tackle_instance>-controls-rest \
      <tackle_instance>-controls-rest=quay.io/konveyor/tackle-controls:1.1.0-native
  4. Update the pathfinder-rest deployment:

    $ kubectl set image -n <namespace> deployment/<tackle_instance>-pathfinder-rest \
      <tackle_instance>-pathfinder-rest=quay.io/konveyor/tackle-pathfinder:1.1.0-native
  5. Update the ui deployment:

    $ kubectl set image -n <namespace> deployment/<tackle_instance>-ui \
      <tackle_instance>-ui=quay.io/konveyor/tackle-ui:1.1.0
  6. Log in to the web console and click the Help icon beside the user name to verify the upgrade.

    The About Tackle window opens and displays the version number.