= SDP Windows to Linux Migration Guide
Perforce Professional Services <consulting@perforce.com>
:revnumber: v2023.1
:revdate: 2023-08-11
:doctype: book
:icons: font
:toc:
:toclevels: 5
:sectnumlevels: 4
:xrefstyle: full
// Attribute for ifdef usage
:unix_doc: true

== 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.

:sectnums:
== 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.

=== Deploy New Linux Server machine

==== 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]
== Why Migrate?

[appendix]
== Why Migrate?

EDITME - add content later.
