[build] env/darwin/macstadium: update documentation after cluster migration

15 views
Skip to first unread message

Carlos Amedee (Gerrit)

unread,
Apr 28, 2021, 4:13:53 PM4/28/21
to goph...@pubsubhelper.golang.org, golang-...@googlegroups.com, Alexander Rakoczy, Dmitri Shuralyov, Go Bot, Heschi Kreinick, golang-co...@googlegroups.com

Carlos Amedee submitted this change.

View Change

Approvals: Dmitri Shuralyov: Looks good to me, approved Heschi Kreinick: Looks good to me, approved Alexander Rakoczy: Looks good to me, approved Carlos Amedee: Trusted; Run TryBots Go Bot: TryBots succeeded
env/darwin/macstadium: update documentation after cluster migration

The macOS cluster hosted at MacStadium has been migrated to a new set
of machines. With that migration, several configuration options
changed along with the migration. This change updates the
documentation to reflect the changes which have been made.

For golang/go#45088

Change-Id: I076f482865f3a1ce57addd8495ab18588c2d87e2
Reviewed-on: https://go-review.googlesource.com/c/build/+/313710
Trust: Carlos Amedee <car...@golang.org>
Run-TryBot: Carlos Amedee <car...@golang.org>
TryBot-Result: Go Bot <go...@golang.org>
Reviewed-by: Heschi Kreinick <hes...@google.com>
Reviewed-by: Dmitri Shuralyov <dmit...@golang.org>
Reviewed-by: Alexander Rakoczy <al...@golang.org>
---
M env/darwin/macstadium/README.md
M env/darwin/macstadium/image-setup-notes.txt
M env/darwin/macstadium/vmware-notes.md
3 files changed, 21 insertions(+), 26 deletions(-)

diff --git a/env/darwin/macstadium/README.md b/env/darwin/macstadium/README.md
index 1d53c8d..8d2a87f 100644
--- a/env/darwin/macstadium/README.md
+++ b/env/darwin/macstadium/README.md
@@ -1,10 +1,10 @@
# Overview

Go's Mac builders run at Mac hosting provider,
-[MacStadium](https://macstadium.com). We have a VMware cluster with 10
-physical Mac Minis on which we run two VMs each.
+[MacStadium](https://macstadium.com). We have a VMware cluster with 8
+physical Mac Pros on which we run two VMs each. There is also a single M1 Mac Mini.

-In addition to 20 Mac VMs, we also run one 1 Linux VM that's our
+In addition to the Mac VMs and M1 Mac mini, we also run one a Linux VM that's our
bastion host & runs various services.

## Bastion Host
@@ -18,7 +18,7 @@

It also runs:

-* a DHCP server for the 20 Mac VMs to get IP addresses from (systemd
+* a DHCP server for the 16 Mac VMs to get IP addresses from (systemd
unit `isc-dhcp-server.service`, so watch with `journalctl -f -u
isc-dhcp-server.service`)

@@ -41,18 +41,14 @@
## OpenVPN

The method of last resort to access the cluster, which works even if
-the bastion host VM is down, is to VPN to our Cisco something gateway.
-
-TODO: put this info somewhere. It's currently circulated in email
-between Brad, Russ, and Dmitri in an email with some subject "macOS VM
-info".
+the bastion host VM is down, is to [VPN to our Cisco gateway](http://go/go-how-to-vpn-into-macstadium).

## VMware web UI

Once you've connected to either OpenVPN or WireGuard, you can hit the
VMware web UI at:

- https://10.88.203.9/ui/
+ https://10.87.58.9/ui/

(Alternatively, `ssh -D` to the bastion host to make a SOCKS tunnel
and configure your browser to send proxy through that SOCKS tunnel.)
@@ -79,13 +75,13 @@

* What does `journalctl -f -u makemac` say? Is it error looping?

-* Look at https://10.88.203.9/ui/ and see if VMware is unhappy about
+* Look at https://10.87.58.9/ui/ and see if VMware is unhappy about
things. Did hosts die? Did storage disappear?

* Need to hard reboot machines? Eventually we'll fix
https://github.com/golang/go/issues/32033 but for now you can use
https://portal.macstadium.com/subscriptions and power cycle
machines that VMware reports dead (or that you see missing from
- https://farmer.golang.org's reverse pool info).
+ [https://farmer.golang.org](https://farmer.golang.org)'s reverse pool info).

* Worst case, file a ticket: https://portal.macstadium.com/tickets
diff --git a/env/darwin/macstadium/image-setup-notes.txt b/env/darwin/macstadium/image-setup-notes.txt
index d0ddb9d..87ea680 100644
--- a/env/darwin/macstadium/image-setup-notes.txt
+++ b/env/darwin/macstadium/image-setup-notes.txt
@@ -29,7 +29,7 @@
Create executable $HOME/stage0.sh with:

#!/bin/bash
- while true; do (curl -v http://10.50.0.2:8713/stage0/$(sw_vers -productVersion) | sh); sleep 5; done
+ while true; do (curl -v http://172.17.20.2:8713/stage0/$(sw_vers -productVersion) | sh); sleep 5; done

chmod +x $HOME/stage0.sh

diff --git a/env/darwin/macstadium/vmware-notes.md b/env/darwin/macstadium/vmware-notes.md
index 0de2446..d3cdfc1 100644
--- a/env/darwin/macstadium/vmware-notes.md
+++ b/env/darwin/macstadium/vmware-notes.md
@@ -1,7 +1,7 @@
* Setup OS X.
* Shut it down.
-* Clone to Virtual Machine (convention: "osx_11_frozen" for OS X
- 10.11")
+* Clone to Virtual Machine (convention: "osx_amd64_11_0_frozen" for macOS
+ 11.0")
* Snapshot that new frozen VM once to make its vmdk in COW format.

Then, to create more:
@@ -11,36 +11,37 @@
```bash
export VMHOST=4
export VMWHICH=b
-export VMNAME="mac_10_14_host0${VMHOST}_${VMWHICH}"
+export VMNAME="mac_10_14_host0${VMHOST}${VMWHICH}"
govc vm.create -m 4096 -c 6 -on=false -net dvPortGroup-Private -g darwin18_64Guest -ds "BOOT_$VMHOST" $VMNAME
govc vm.change -e smc.present=TRUE -e ich7m.present=TRUE -e firmware=efi -e guestinfo.key-host-darwin-10_14=$(cat $HOME/keys/host-darwin-10_14) -e guestinfo.name=$VMNAME -vm $VMNAME
govc device.usb.add -vm $VMNAME
-govc vm.disk.attach -vm $VMNAME -link=true -persist=false -ds GGLGLN-A-001-STV1 -disk osx_14_frozen_nfs/osx_14_frozen_nfs_17.vmdk
+govc vm.disk.attach -vm $VMNAME -link=true -persist=false -ds GGLGLN-A-002-STV1 -disk osx_amd64_10_14_frozen_nfs/osx_amd64_10_14_frozen_nfs_17.vmdk
govc vm.power -on $VMNAME
```

-* 10.x:
+* MAJOR.MINOR:

-Change MINOR to target minor version (14, 12, 11, 10, and 8 are supported)
+Change MAJOR to target major version and MINOR to target minor version (10.12, 10.14, 10.15, and 11.0 are supported)

```bash
+export MAJOR=10
export MINOR=14
-export VMHOST=4
+export VMHOST=04
export VMWHICH=b
export GUEST_TYPE=darwin$(expr $MINOR + 4)_64Guest # (14: darwin18, 12: darwin16...)
-export VMNAME="mac_10_${MINOR}_host0${VMHOST}_${VMWHICH}"
-export SNAPSHOT=$(govc vm.info -json osx_${MINOR}_frozen_nfs | jq -r '.VirtualMachines[0].Layout.Snapshot[0].SnapshotFile|.[]|match(" .+vmdk$").string')
+export VMNAME="mac_${MAJOR}_${MINOR}_amd64_host0${VMHOST}${VMWHICH}"
+export SNAPSHOT=$(govc vm.info -json osx_amd64_${MAJOR}_${MINOR}_frozen_nfs | jq -r '.VirtualMachines[0].Layout.Snapshot[0].SnapshotFile|.[]|match(" .+vmdk$").string')
govc vm.create -m 4096 -c 6 -on=false -net dvPortGroup-Private -g darwin16_64Guest -ds "BOOT_$VMHOST" $VMNAME
govc vm.change -e smc.present=TRUE -e ich7m.present=TRUE -e firmware=efi -e guestinfo.key-host-darwin-10_$MINOR=$(cat $HOME/keys/host-darwin-10_${MINOR}) -e guestinfo.name=$VMNAME -vm $VMNAME
govc device.usb.add -vm $VMNAME
-govc vm.disk.attach -vm $VMNAME -link=true -persist=false -ds GGLGLN-A-001-STV1 -disk $SNAPSHOT
+govc vm.disk.attach -vm $VMNAME -link=true -persist=false -ds GGLGLN-A-002-STV102 -disk $SNAPSHOT
govc vm.power -on $VMNAME
```

Other misc notes:

```bash
-$ govc vm.info -json osx11_host12_a | jq . | grep MacAdd
+$ govc vm.info -json mac_11_0_amd64_host07a | jq . | grep MacAdd
"MacAddress": "00:50:56:b4:05:57",
```

@@ -58,5 +59,3 @@
https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1012225
... doesn't seem to work
... but changing from SATA to IDE does make the RemovableMedia assertion go away (but `pmset sleepnow` stil doesn't work)
-
-

To view, visit change 313710. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: build
Gerrit-Branch: master
Gerrit-Change-Id: I076f482865f3a1ce57addd8495ab18588c2d87e2
Gerrit-Change-Number: 313710
Gerrit-PatchSet: 3
Gerrit-Owner: Carlos Amedee <car...@golang.org>
Gerrit-Reviewer: Alexander Rakoczy <al...@golang.org>
Gerrit-Reviewer: Carlos Amedee <car...@golang.org>
Gerrit-Reviewer: Dmitri Shuralyov <dmit...@golang.org>
Gerrit-Reviewer: Go Bot <go...@golang.org>
Gerrit-Reviewer: Heschi Kreinick <hes...@google.com>
Gerrit-MessageType: merged
Reply all
Reply to author
Forward
0 new messages