Skip to content

Commit

Permalink
ansible: release docker hosts, remove old cross-compile machines & sc…
Browse files Browse the repository at this point in the history
…ripts
  • Loading branch information
rvagg committed Apr 21, 2020
1 parent bb73d28 commit 364b8a9
Show file tree
Hide file tree
Showing 7 changed files with 23 additions and 118 deletions.
23 changes: 21 additions & 2 deletions ansible/MANUAL_STEPS.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

* [Adding firewall entries for Jenkins workers](#adding-firewall-entries-for-jenkins-workers)
* [`release-*` machines](#release--machines)
* [`release-*container*` machines](#release-container-machines)
* [macOS release machines](#macos-release-machines)
* [Full Xcode](#full-xcode)
* [Signing certificates](#signing-certificates)
Expand All @@ -15,7 +16,6 @@
* [Install XL compilers](#install-xl-compilers)
* [Fix "Missing" shared objects](#fix-missing-shared-objects)
* [Preparing gcc distributables](#preparing-gcc-distributables)
* [Preparing ccache distributables](#preparing-ccache-distributables)
* [Windows (Azure/Rackspace)](#windows-azurerackspace)
* [Control machine (where Ansible is run)](#control-machine-where-ansible-is-run)
* [Target machines](#target-machines)
Expand Down Expand Up @@ -50,14 +50,18 @@ To add an entry do the following:
Once setup, they must have `~iojs/.ssh` cloned from another machine, so they
have the ssh setup and keys required to upload release artifacts to the
nodejs.org web server. The result will be 2 files, an `id_rsa` containing
a private key, and a config containing:
a private key, and a `config` containing:

```
Host node-www
HostName direct.nodejs.org
User staging
IdentityFile ~/.ssh/id_rsa
```

Both the `config` file and `id_rsa` should be owned and only readable by the
user: `chmod 700 .ssh && chmod 600 .ssh/*`.

Its necessary to accept the `known_hosts` keys interactively on first ssh or
the release builds will fail. After setting up .ssh, do something like this:

Expand All @@ -66,6 +70,21 @@ ssh node-www date
// ... accept the host keys
```

### `release-*container*` machines

In the case of Docker container release hosts, the SSH configuration above works
differently since the `~iojs` home directories are elsewhere on the host
machine. The Docker containers are started with `/home/iojs` inside the
container mounted from `/home/iojs/name-of-container/` on the host machine.
Therefore, the above SSH configuration should take place in
`/home/iojs/name-of-container/.ssh/`, with permissions set appropriately.

`known_hosts` can be primed and SSH tested from within the running containers:

1. Find the running container ID using `docker ps`
2. Enter the container using `docker exec <containerid> -ti bash`
3. Run `ssh node-www date` (as above)

### macOS release machines

Previous notes: [#1393](https://github.com/nodejs/build/issues/1393)
Expand Down
4 changes: 1 addition & 3 deletions ansible/inventory.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ hosts:
smartos15-x64-2: {ip: 165.225.148.139}
smartos17-x64-2: {ip: 165.225.149.208}
smartos18-x64-2: {ip: 165.225.148.12}
ubuntu1604_arm_cross-x64-1: {ip: 165.225.151.28, user: ubuntu}
ubuntu1804_docker-x64-1: {ip: 165.225.150.76, user: ubuntu}

- macstadium:
macos10.11-x64-1: {ip: 207.254.58.162, port: 10013, user: administrator}
Expand Down Expand Up @@ -83,7 +83,6 @@ hosts:
- test:

- azure:
msft-ubuntu1604_arm_cross-x64-1: {ip: nodejs.eastus2.cloudapp.azure.com, user: ubuntu}
msft-win10_vcbt2015-x64-1: {ip: nodejs.eastus2.cloudapp.azure.com}
msft-win10_vcbt2015-x64-2: {ip: nodejs.westus2.cloudapp.azure.com}
msft-win10_vcbt2015-x64-3: {ip: nodejs.eastus2.cloudapp.azure.com}
Expand Down Expand Up @@ -132,7 +131,6 @@ hosts:
smartos17-x64-4: {ip: 165.225.148.16}
smartos18-x64-3: {ip: 165.225.151.114}
smartos18-x64-4: {ip: 165.225.149.13}
ubuntu1604_arm_cross-x64-1: {ip: 165.225.149.35, user: ubuntu}
ubuntu1804_docker-x64-1: {ip: 165.225.151.201, user: ubuntu}
ubuntu1804-x64-1: {ip: 165.225.149.88, user: ubuntu}

Expand Down
1 change: 1 addition & 0 deletions ansible/playbooks/jenkins/docker-host.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@

- hosts:
- test
- release

roles:
- bootstrap
Expand Down
2 changes: 0 additions & 2 deletions ansible/playbooks/jenkins/worker/create.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@
- { role: 'benchmarking',
when: is_benchmark is defined and is_benchmark|bool == True }
- jenkins-worker
- { role: 'cross-compiler',
when: "'arm_cross' in inventory_hostname" }

pre_tasks:
# Requires `secret: XXX` to be in the ansible/host_vars/HOST
Expand Down
61 changes: 0 additions & 61 deletions ansible/roles/cross-compiler/files/cc-selector.sh

This file was deleted.

46 changes: 0 additions & 46 deletions ansible/roles/cross-compiler/tasks/main.yml

This file was deleted.

4 changes: 0 additions & 4 deletions ansible/roles/cross-compiler/vars/main.yml

This file was deleted.

0 comments on commit 364b8a9

Please sign in to comment.