> For the complete documentation index, see [llms.txt](https://docs.zenon.org/hypercore/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zenon.org/hypercore/technical/roles/orchestrator/migration-guide-on-pillar.md).

# Migration Guide (On Pillar)

{% hint style="warning" %}
This guide outlines the steps to migrate an existing orchestrator from one Pillar virtual machine (VM) to another, preserving its ability to participate in the HyperCore bridge’s Threshold Signature Scheme (TSS) signer set. It builds on the [Orchestrator Setup Guide on Pillar](https://docs.zenon.org/hypercore/technical/roles/orchestrator/setup-guide-on-pillar).
{% endhint %}

### Table of Contents

1. [Prerequisites](#id-1-prerequisites)
2. [Set Up the Orchestrator on the New VM](#id-3-set-up-the-orchestrator-on-the-new-vm)
3. [Transfer the Orchestrator Configuration](#id-3-transfer-the-orchestrator-configuration)
4. [Set Up and Start the Orchestrator Service](#id-6-set-up-and-start-the-orchestrator-service)
5. [Verify Migration](#id-7-verify-operation)

***

### 1) Prerequisites

* **Old VM Access**: Ensure the original VM (old Pillar) is still accessible and running the orchestrator.
* **New VM Setup**: The new VM should have a working Pillar node synced with the Zenon Network of Momentum (NoM), as per the [Pillar setup guide](https://docs.zenon.org/no-m/technical/pillars/setup-guide).
* **Backup**: Back up the old VM’s orchestrator directory (/root/.orchestrator) and producer keystore before proceeding.
* **SSH Access**: You need SSH access to both the old and new VMs with sufficient permissions (e.g., root or sudo).

***

### 2) Set Up the Orchestrator on the New VM

If the orchestrator isn’t already installed on the new VM, follow the initial setup steps from the [Orchestrator Setup Guide](https://docs.zenon.org/hypercore/technical/roles/orchestrator/setup-guide-on-pillar) first.

***

### **3) Transfer the Orchestrator Configuration**

Copy the entire .orchestrator folder from the old VM to the new VM. This includes the old /producer folder and old config.json:

```bash
scp -r root@<old-vm-ip>:/root/.orchestrator /root/
```

***

### 4) Set Up and Start the Orchestrator Service

Follow [step 6](https://docs.zenon.org/hypercore/technical/roles/orchestrator/setup-guide-on-pillar#id-6-setting-up-orchestrator-as-a-service) of the Setup Guide.

***

### 5) Verify Migration

Confirm the orchestrator is functioning and recognized by the bridge.

**a) Check Logs**:

View recent logs for errors:

```bash
journalctl -u orchestrator -n 50
```

**b) Test Health Check**:

Query the orchestrator’s API:

```bash
curl -X POST -d '{"method":"getBuildInfo", "params":[]}' -H "Content-Type: application/json" http://localhost:55000
```

Expected output includes version info, e.g.,&#x20;

```json
{"result":{"version":"v0.0.9a","gitCommit":"edf58a929989e70656a5f04501b25fb918f6ef71","goVersion":"go1.22.1"},"error":""}.
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.zenon.org/hypercore/technical/roles/orchestrator/migration-guide-on-pillar.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
