# SDP Windows to Linux Migration Guide

Perforce Professional Services
consulting@perforce.com
version v2023.1, 2023-08-11

## Preface

This guide documents the process for migrating a Helix Core service from Windows to Linux.

A common scenario is that an on-premisis (on-prem) Windows Helix Core service is being migrated to a cloud server, perhapns in AWS, Azure, or GCP.

Please Give Us Feedback

Perforce welcomes feedback from our users. Please send any suggestions for improving this document to consulting@perforce.com.

## 1. Overview

A Migration has these elements:

- Deploy New Linux Server machine

- Upgrade P4D to 2019.2+ on Windows

- Setup of a server spec for a Linux Replica on the Windows master.

Each of these components is covered, in detail, in this guide.

### 1.1. Deploy New Linux Server machine

#### 1.1.1. Select Operating System

As of this writing, the best options are:

- Ubuntu 20.04 (not 22.04 just yet)

- RHEL/Rocky Linux 8 (not 9 just yet)

- Amazon Linux 2 (not Amazon Linux 2023 just yet)

Use the Helix Installer, do a Configured Install:

    su -
    mkdir -p /hxdepots/reset
    cd /hxdepots/reset
    curl -L -s -O https://swarm.workshop.perforce.com/download/guest/perforce_software/helix-installer/main/src/reset_sdp.sh
    chmod +x reset_sdp.sh
    ./reset_sdp.sh -C > settings.cfg

In `settings.cfg`, change these settings:

- DNS_name_of_master_server=

- SiteTag=

- P4_PORT=

- Instance=

- Password=

- CaseSensitive=

- P4USER=

- ServerID=

- ServerType=

- P4BinRel=

- P4APIRel=

Then run the script:

    ./reset_sdp.sh -no_sd -c settings.cfg 2>&1 | tee log.reset_sdp.txt

    su - perforce
    p4 set

    cd /p4/common/site
    [[ -d config ]] || mkdir config
    cd config

Temporary Hack:

vi /p4/common/site/config/p4_N.vars.local

    export P4MASTER_ID=Master
    export P4MASTERPORT=120.2:43430
    export P4PORT=$P4MASTERPORT

vi /p4/common/config/.p4passwd.p4_mocap.admin

p4login -v

cd /p4/common/config vi SiteTags.cfg

azwestus2: Azure data center

Modify rpotections to add:

Add to Protections:

    super group ServiceUsers * //...

mkrep.sh -t fs -s azwestus2 -r TestMachine

Undo Temporary Hack:

vi /p4/common/site/config/p4_N.vars.local

    #export P4MASTER_ID=Master
    #export P4PORT=$P4MASTERPORT
    export P4MASTERPORT=120.2:43430

## Appendix A: Why Migrate?

## Appendix B: Why Migrate?

EDITME - add content later.