Bug 1522997 Comment 2 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

I have got Taskcluster generic-worker running on aarch64.

## Process

### Prerequisites

- Set up "Remote Desktop Users" on aarch64 machine: `net localgroup "Remote Desktop Users" /add`
- Request Taskcluster scope `assume:project:taskcluster:generic-worker-tester` 
- Download and unzip NSSM to a directory in `C:\`

### Steps

1. download the latest `generic-worker-windows-386.exe` from taskcluster generic-worker [releases](https://github.com/taskcluster/generic-worker/releases)
2. download the latest `livelog.exe` and `taskcluster-proxy.exe`.
3. create new directory `C:\generic-worker`
4. move the three executable files under the new directory.
5. rename `generic-worker-windows-386.exe` to `generic-worker.exe`.
6. create `generic-worker.config` and follow the [set up environment](https://github.com/taskcluster/generic-worker#set-up-your-env) steps.
7. launch `cmd.exe` with Administrator rights
8. `cd c:\generic-worker`
9. `generic-worker.exe install service --config generic-worker.config --nssm c:\nssm-2.24\win32\nssm.exe`
10. reboot once installation completes
11. launch Services
12. check if entry "Generic Worker" is present
13. start service

The above should get the laptop in a state where `generic-worker` is running and is ready to accept tasks. Once in this state, go to https://tools.taskcluster.net and create a task with `provisionerId` and `workerType` that match the content of `generic-worker.config`.
I have got Taskcluster generic-worker running on aarch64.

## Process

### Prerequisites

- Set up "Remote Desktop Users" on aarch64 machine: `net localgroup "Remote Desktop Users" /add`
- Request Taskcluster scope `assume:project:taskcluster:generic-worker-tester` 
- Download and unzip NSSM to a directory in `C:\`; should look something like `C:\nssm-2.24\`

### Steps

1. download the latest `generic-worker-windows-386.exe` from taskcluster generic-worker [releases](https://github.com/taskcluster/generic-worker/releases)
2. download the latest `livelog.exe` and `taskcluster-proxy.exe`.
3. create new directory `C:\generic-worker`
4. move the three executable files under the new directory.
5. rename `generic-worker-windows-386.exe` to `generic-worker.exe`.
6. create `generic-worker.config` and follow the [set up environment](https://github.com/taskcluster/generic-worker#set-up-your-env) steps.
7. launch `cmd.exe` with Administrator rights
8. `cd c:\generic-worker`
9. `generic-worker.exe install service --config generic-worker.config --nssm c:\nssm-2.24\win32\nssm.exe`
10. reboot once installation completes
11. launch Services
12. check if entry "Generic Worker" is present
13. start service

The above should get the laptop in a state where `generic-worker` is running and is ready to accept tasks. Once in this state, go to https://tools.taskcluster.net and create a task with `provisionerId` and `workerType` that match the content of `generic-worker.config`.
I have got Taskcluster generic-worker running on aarch64.

## Process

### Prerequisites

- Set up "Remote Desktop Users" on aarch64 machine: `net localgroup "Remote Desktop Users" /add`
  - my laptop did not have the group Remote Desktop Users added, hence this was a required step. YMMV.
- Request Taskcluster scope `assume:project:taskcluster:generic-worker-tester` 
- Download and unzip NSSM to a directory in `C:\`; should look something like `C:\nssm-2.24\`

### Steps

1. download the latest `generic-worker-windows-386.exe` from taskcluster generic-worker [releases](https://github.com/taskcluster/generic-worker/releases)
2. download the latest `livelog.exe` and `taskcluster-proxy.exe`.
3. create new directory `C:\generic-worker`
4. move the three executable files under the new directory.
5. rename `generic-worker-windows-386.exe` to `generic-worker.exe`.
6. create `generic-worker.config` and follow the [set up environment](https://github.com/taskcluster/generic-worker#set-up-your-env) steps.
7. launch `cmd.exe` with Administrator rights
8. `cd c:\generic-worker`
9. `generic-worker.exe install service --config generic-worker.config --nssm c:\nssm-2.24\win32\nssm.exe`
10. reboot once installation completes
11. launch Services
12. check if entry "Generic Worker" is present
13. start service

The above should get the laptop in a state where `generic-worker` is running and is ready to accept tasks. Once in this state, go to https://tools.taskcluster.net and create a task with `provisionerId` and `workerType` that match the content of `generic-worker.config`.
I have got Taskcluster generic-worker running on aarch64.

## Process

### Prerequisites

- Set up "Remote Desktop Users" on aarch64 machine: `net localgroup "Remote Desktop Users" /add`
  - my laptop did not have the group Remote Desktop Users added, hence this was a required step. YMMV.
- Request Taskcluster scope `assume:project:taskcluster:generic-worker-tester` 
- Download and unzip NSSM to a directory in `C:\`; should look something like `C:\nssm-2.24\`

### Steps

1. download the latest `generic-worker-windows-386.exe` from taskcluster generic-worker [releases](https://github.com/taskcluster/generic-worker/releases)
2. download the latest 386 version of `livelog.exe` and `taskcluster-proxy.exe`.
3. create new directory `C:\generic-worker`
4. move the three executable files under the new directory.
5. rename `generic-worker-windows-386.exe` to `generic-worker.exe`.
6. create `generic-worker.config` and follow the [set up environment](https://github.com/taskcluster/generic-worker#set-up-your-env) steps.
7. launch `cmd.exe` with Administrator rights
8. `cd c:\generic-worker`
9. `generic-worker.exe install service --config generic-worker.config --nssm c:\nssm-2.24\win32\nssm.exe`
10. reboot once installation completes
11. launch Services
12. check if entry "Generic Worker" is present
13. start service

The above should get the laptop in a state where `generic-worker` is running and is ready to accept tasks. Once in this state, go to https://tools.taskcluster.net and create a task with `provisionerId` and `workerType` that match the content of `generic-worker.config`.
I have got Taskcluster generic-worker running on aarch64.

## Process

### Prerequisites

- win10/aarch64 hardware must be taken out of Windows S mode
- User Account Control is disabled
- Set up "Remote Desktop Users" on aarch64 machine: `net localgroup "Remote Desktop Users" /add`
  - my laptop did not have the group Remote Desktop Users added, hence this was a required step. YMMV.
- Request Taskcluster scope `assume:project:taskcluster:generic-worker-tester` 
  - have an account used to authenticate to Taskcluster
- Download and unzip NSSM to a directory in `C:\`; should look something like `C:\nssm-2.24\`

### Steps

1. download the latest `generic-worker-windows-386.exe` from taskcluster generic-worker [releases](https://github.com/taskcluster/generic-worker/releases)
2. download the latest 386 version of `livelog.exe` and `taskcluster-proxy.exe`.
3. create new directory `C:\generic-worker`
4. move the three executable files under the new directory.
5. rename `generic-worker-windows-386.exe` to `generic-worker.exe`.
6. generate two signing keys:
```
generic-worker new-openpgp-keypair --file <unique_file_name>
generic-worker new-ed25519-keypair --file <unique_file_name>
```
7. create `generic-worker.config` and include the following:
```
{
    "accessToken":                "<access token tied to taskcluster>",
    "clientId":                   "<client ID tied to taskcluster>",
    "ed25519SigningKeyLocation":  "<file location you wrote ed25519 private key in step 6>",
    "livelogSecret":              "<any text>",
    "openpgpSigningKeyLocation":  "<file location you wrote gpg private key kn step 6>",
    "provisionerId":              "test-provisioner",
    "publicIP":                   "<ideally an IP address of one of your network interfaces>",
    "workerGroup":                "test-worker-group",
    "workerId":                   "test-worker-id",
    "workerType":                 "<a unique string that only you will use for your test worker(s)>"
}
```
8. launch `cmd.exe` with Administrator rights
9. `cd c:\generic-worker`
10. `generic-worker.exe install service --config generic-worker.config --nssm c:\nssm-2.24\win32\nssm.exe`
11. reboot once installation completes
12. launch Services
13. check if entry "Generic Worker" is present
14. start service

The above should get the laptop in a state where `generic-worker` is running and is ready to accept tasks. Once in this state, go to https://tools.taskcluster.net and create a task with `provisionerId` and `workerType` that match the content of `generic-worker.config`.
I have got Taskcluster generic-worker running on aarch64.

## Process

### Prerequisites

- win10/aarch64 hardware must be taken out of Windows S mode
- User Account Control is disabled
- Set up "Remote Desktop Users" on aarch64 machine: `net localgroup "Remote Desktop Users" /add`
  - my laptop did not have the group Remote Desktop Users added, hence this was a required step. YMMV.
- Request Taskcluster scope `assume:project:taskcluster:generic-worker-tester` 
  - have an account used to authenticate to Taskcluster
- Download and unzip NSSM to a directory in `C:\`; should look something like `C:\nssm-2.24\`

### Steps

1. download the latest `generic-worker-windows-386.exe` from taskcluster generic-worker [releases](https://github.com/taskcluster/generic-worker/releases)
2. download the latest 386 version of `livelog.exe` and `taskcluster-proxy.exe`.
3. create new directory `C:\generic-worker`
4. move the three executable files under the new directory.
5. rename `generic-worker-windows-386.exe` to `generic-worker.exe`.
6. generate two signing keys:
```
generic-worker new-openpgp-keypair --file <unique_file_name>
generic-worker new-ed25519-keypair --file <unique_file_name>
```
7. create `generic-worker.config` and include the following:
```
{
    "accessToken":                "<access token tied to taskcluster>",
    "clientId":                   "<client ID tied to taskcluster>",
    "ed25519SigningKeyLocation":  "<file location you wrote ed25519 private key in step 6>",
    "livelogSecret":              "<any text>",
    "openpgpSigningKeyLocation":  "<file location you wrote gpg private key kn step 6>",
    "provisionerId":              "test-provisioner",
    "publicIP":                   "<ideally an IP address of one of your network interfaces>",
    "rootURL":                    "https://taskcluster.net",
    "workerGroup":                "test-worker-group",
    "workerId":                   "test-worker-id",
    "workerType":                 "<a unique string that only you will use for your test worker(s)>"
}
```
8. launch `cmd.exe` with Administrator rights
9. `cd c:\generic-worker`
10. `generic-worker.exe install service --config generic-worker.config --nssm c:\nssm-2.24\win32\nssm.exe`
11. reboot once installation completes
12. launch Services
13. check if entry "Generic Worker" is present
14. start service

The above should get the laptop in a state where `generic-worker` is running and is ready to accept tasks. Once in this state, go to https://tools.taskcluster.net and create a task with `provisionerId` and `workerType` that match the content of `generic-worker.config`.
I have got Taskcluster generic-worker running on aarch64.

## Process

### Prerequisites

- win10/aarch64 hardware must be taken out of Windows S mode
- User Account Control is disabled
- Set up "Remote Desktop Users" on aarch64 machine: `net localgroup "Remote Desktop Users" /add`
  - my laptop did not have the group Remote Desktop Users added, hence this was a required step. YMMV.
- Request Taskcluster scope `assume:project:taskcluster:generic-worker-tester` 
  - have an account used to authenticate to Taskcluster
- Download and unzip NSSM to a directory in `C:\`; should look something like `C:\nssm-2.24\`
- Download and install Mozilla-Build 2.0.0, available from [here](https://ftp.mozilla.org/pub/mozilla/libraries/win32/MozillaBuildSetup-2.0.0.exe)
- Download [mozharness](https://queue.taskcluster.net/v1/task/DdbhnS_zRmiRXF5yh8UBiA/artifacts/public/build/mozharness.zip) and extract to `C:\mozilla-build\`; the structure should be `C:\mozilla-build\mozharness\...`

### Steps

1. download the latest `generic-worker-windows-386.exe` from taskcluster generic-worker [releases](https://github.com/taskcluster/generic-worker/releases)
2. download the latest 386 version of `livelog.exe` and `taskcluster-proxy.exe`.
3. create new directory `C:\generic-worker`
4. move the three executable files under the new directory.
5. rename `generic-worker-windows-386.exe` to `generic-worker.exe`.
6. generate two signing keys:
```
generic-worker new-openpgp-keypair --file <unique_file_name>
generic-worker new-ed25519-keypair --file <unique_file_name>
```
7. create `generic-worker.config` and include the following:
```
{
    "accessToken":                "<access token tied to taskcluster>",
    "clientId":                   "<client ID tied to taskcluster>",
    "ed25519SigningKeyLocation":  "<file location you wrote ed25519 private key in step 6>",
    "livelogSecret":              "<any text>",
    "openpgpSigningKeyLocation":  "<file location you wrote gpg private key kn step 6>",
    "provisionerId":              "test-provisioner",
    "publicIP":                   "<ideally an IP address of one of your network interfaces>",
    "rootURL":                    "https://taskcluster.net",
    "workerGroup":                "test-worker-group",
    "workerId":                   "test-worker-id",
    "workerType":                 "<a unique string that only you will use for your test worker(s)>"
}
```
8. launch `cmd.exe` with Administrator rights
9. `cd c:\generic-worker`
10. `generic-worker.exe install service --config generic-worker.config --nssm c:\nssm-2.24\win32\nssm.exe`
11. reboot once installation completes
12. launch Services
13. check if entry "Generic Worker" is present
14. start service

The above should get the laptop in a state where `generic-worker` is running and is ready to accept tasks. Once in this state, go to https://tools.taskcluster.net and create a task with `provisionerId` and `workerType` that match the content of `generic-worker.config`.
I have got Taskcluster generic-worker running on aarch64.

## Process

### Prerequisites

- win10/aarch64 hardware must be taken out of Windows S mode
- User Account Control is disabled
- Set up "Remote Desktop Users" on aarch64 machine: `net localgroup "Remote Desktop Users" /add`
  - my laptop did not have the group Remote Desktop Users added, hence this was a required step. YMMV.
- Request Taskcluster scope `assume:project:taskcluster:generic-worker-tester` 
  - have an account used to authenticate to Taskcluster
- Download and unzip NSSM to a directory in `C:\`; should look something like `C:\nssm-2.24\`
- disable Windows Firewall

### Optional Requirements

- Download and install Mozilla-Build 2.0.0, available from [here](https://ftp.mozilla.org/pub/mozilla/libraries/win32/MozillaBuildSetup-2.0.0.exe)
- Download [mozharness](https://queue.taskcluster.net/v1/task/DdbhnS_zRmiRXF5yh8UBiA/artifacts/public/build/mozharness.zip) and extract to `C:\mozilla-build\`; the structure should be `C:\mozilla-build\mozharness\...`

### Steps

1. download the current 386 release of `generic-worker-windows-386.exe` from taskcluster generic-worker [releases](https://github.com/taskcluster/generic-worker/releases).
2. download the latest 386 version of `livelog.exe` and `taskcluster-proxy.exe`.
3. create new directory `C:\generic-worker`
4. move the three executable files under the new directory.
5. rename `generic-worker-windows-386.exe` to `generic-worker.exe`.
6. generate two signing keys:
```
generic-worker new-openpgp-keypair --file <unique_file_name>
generic-worker new-ed25519-keypair --file <unique_file_name>
```
7. create `generic-worker.config` and include the following:
```
{
    "accessToken":                "<access token tied to taskcluster>",
    "clientId":                   "<client ID tied to taskcluster>",
    "ed25519SigningKeyLocation":  "<file location you wrote ed25519 private key in step 6>",
    "livelogSecret":              "<any text>",
    "openpgpSigningKeyLocation":  "<file location you wrote gpg private key kn step 6>",
    "provisionerId":              "test-provisioner",
    "publicIP":                   "<ideally an IP address of one of your network interfaces>",
    "rootURL":                    "https://taskcluster.net",
    "workerGroup":                "test-worker-group",
    "workerId":                   "test-worker-id",
    "workerType":                 "<a unique string that only you will use for your test worker(s)>"
}
```
8. launch `cmd.exe` with Administrator rights
9. `cd c:\generic-worker`
10. `generic-worker.exe install service --config generic-worker.config --nssm c:\nssm-2.24\win32\nssm.exe`
11. reboot once installation completes
12. launch `cmd.exe` with Administrator rights
13. `sc query "Generic Worker"` - ensure the status is RUNNING

The above should get the laptop in a state where `generic-worker` is running and is ready to accept tasks. Once in this state, go to https://tools.taskcluster.net and create a task with `provisionerId` and `workerType` that match the content of `generic-worker.config`. An example is below:

```
provisionerId: test-provisioner
workerType: aarch64windowsedwin
retries: 5
created: '2019-01-31T17:47:35.526Z'
deadline: '2019-01-31T20:47:35.526Z'
expires: '2020-01-31T20:47:35.526Z'
scopes: []
taskGroupId: YUosbKEtSs2GZGLenPTPpw
dependencies:
  - DdbhnS_zRmiRXF5yh8UBiA
payload:
  maxRunTime: 120
  command:
    - dir
    - echo hi
metadata:
  owner: egao@mozilla.com
  source: >-
    https://hg.mozilla.org/mozilla-central/file/6b7bc40023111979a4755dfeca82629c9c022cd5/taskcluster/ci/test
  description: Mochitest xpcshell-test run aarch64
  name: test-windows10-aarch64/xpcshell-test-long-run-env
```
I have got Taskcluster generic-worker running on aarch64.

## Process

### Prerequisites

- win10/aarch64 hardware must be taken out of Windows S mode
- User Account Control is disabled
- Set up "Remote Desktop Users" on aarch64 machine: `net localgroup "Remote Desktop Users" /add`
  - my laptop did not have the group Remote Desktop Users added, hence this was a required step. YMMV.
- Request Taskcluster scope `assume:project:taskcluster:generic-worker-tester` 
  - have an account used to authenticate to Taskcluster
- Download and unzip NSSM to a directory in `C:\`; should look something like `C:\nssm-2.24\`
- disable Windows Firewall

### Optional Requirements

- Download and install Mozilla-Build 2.0.0, available from [here](https://ftp.mozilla.org/pub/mozilla/libraries/win32/MozillaBuildSetup-2.0.0.exe)
- Download [mozharness](https://queue.taskcluster.net/v1/task/DdbhnS_zRmiRXF5yh8UBiA/artifacts/public/build/mozharness.zip) and extract to `C:\mozilla-build\`; the structure should be `C:\mozilla-build\mozharness\...`

### Steps

1. download the current 386 release of `generic-worker-windows-386.exe` from taskcluster generic-worker [releases](https://github.com/taskcluster/generic-worker/releases).
2. download the latest 386 version of `livelog.exe` and `taskcluster-proxy.exe`.
3. create new directory `C:\generic-worker`
4. move the three executable files under the new directory.
5. rename `generic-worker-windows-386.exe` to `generic-worker.exe`.
6. generate two signing keys:
```
generic-worker new-openpgp-keypair --file <unique_file_name>
generic-worker new-ed25519-keypair --file <unique_file_name>
```
7. create `generic-worker.config` and include the following:
```
{
    "accessToken":                "<access token tied to taskcluster>",
    "clientId":                   "<client ID tied to taskcluster>",
    "ed25519SigningKeyLocation":  "<file location you wrote ed25519 private key in step 6>",
    "livelogSecret":              "<any text>",
    "openpgpSigningKeyLocation":  "<file location you wrote gpg private key kn step 6>",
    "provisionerId":              "test-provisioner",
    "publicIP":                   "<ideally an IP address of one of your network interfaces>",
    "rootURL":                    "https://taskcluster.net",
    "workerGroup":                "test-worker-group",
    "workerId":                   "test-worker-id",
    "workerType":                 "<a unique string that only you will use for your test worker(s)>"
}
```
8. launch `cmd.exe` with Administrator rights
9. `cd c:\generic-worker`
10. `generic-worker.exe install service --config generic-worker.config --nssm c:\nssm-2.24\win32\nssm.exe`
11. reboot once installation completes
12. launch `cmd.exe` with Administrator rights
13. `sc query "Generic Worker"` - ensure the status is RUNNING

The above should get the laptop in a state where `generic-worker` is running and is ready to accept tasks. Once in this state, go to https://tools.taskcluster.net and create a task with `provisionerId` and `workerType` that match the content of `generic-worker.config`. An example is below:

```
provisionerId: test-provisioner
workerType: aarch64windowsedwin
retries: 5
created: '2019-01-31T17:47:35.526Z'
deadline: '2019-01-31T20:47:35.526Z'
expires: '2020-01-31T20:47:35.526Z'
scopes: []
taskGroupId: YUosbKEtSs2GZGLenPTPpw
dependencies:
  - DdbhnS_zRmiRXF5yh8UBiA
payload:
  maxRunTime: 120
  command:
    - dir
    - echo hi
metadata:
  owner: egao@mozilla.com
  source: >-
    https://hg.mozilla.org/mozilla-central/file/6b7bc40023111979a4755dfeca82629c9c022cd5/taskcluster/ci/test
  description: test run
  name: test run
```

Back to Bug 1522997 Comment 2