Note as of March 2024 yarnman 2.5.x is in sunset with end of life late 2024 - all new deployment should be using 2.6.x - install guide found here Yarnman Photon Powered (YM-PH) - Installation and Upgrade Guide
Prerequisites
Hardware | Specification |
Virtual Machines |
NFS datastores are not supported by the underlying yarnman database (Couchdb) and using NFS could lead to dataloss if NFS connectivity is interupted during write operations |
Virtualization software | VMware vSphere ESXi 6 or higher VMware Workstation support 12 or higher |
Yarnman Deployment
1. Deploy yarnman OVA to VMware
Yarnman ova can be depoyed either using VMware OVFtool or by uploading the ova to vSphere/ESXi
OVA file format yarnman-2.X.X-master-XXXXXX.ova
If using Ovftool to deploy
ovftool --name="<VMNAME>" --powerOn --datastore="<datastore>" --net:"nat"="<network name>" <Yarnman OVA> "<VI path >"
VI Paths
Direct ESXI "vi://<vmware username>@<ESXI IP>"
Direct ESXI with resource pool "vi://<vmware username>@<ESXI IP>/<resource Pool>"
vSphere Host "vi://<vmware username>@<vSphere>/<datacenter name/host/<Host IP or name>"
vSphere Cluster "vi://<vmware username>@<vSphere>/<datacenter name/host/<cluster name>/<Host IP or name>"
if you use a "@" or any other special characters in your username or password it must be converted to ASCI and prefixed with % e.g. test@yarnlab.io is test%40yarnlab.io
2. Using VMware Console log into Yarnman to bootstrap configuration
Default username: yarnman Password: yarnman
Set the IP address using the VMware console.
cd /opt/yarnlab/yarnman
sudo ./scripts/bootstrap.sh
Do you want to set a static IP? Y or N : Enter Y to set static IP
You will be asked to select network interface : select number adjacent to ensXX
enter Ip address : Enter the required IP address
enter netmask : to accept default press Enter, otherwise enter required netmask
enter gateway : enter the required gateway address
enter dns server1 : to accept default, press Enter, otherwise enter required DNS server address
You will be asked if you want to change hostname : to accept existing hostname press N otherwise, Y + enter new hostname
At this point, network will restartYou will be asked if you wish to change SSH password : enter N to keep default or Y to change password
You will be asked if you wish to change yarnman-protected password : Enter N to keep default or Y to change the protected password
To change the password at any time SSH and run the passwd command.
It is strongly recommended to change the default password for SSH access
Update hostname if required via /etc/hosts
Deploy as a Standalone Core
Follow these steps to install the Migration Assistant as a core server. This configuration automatically sets up the server and all required services.
Log in to the Yarnman server as user yarnman using ssh client.
Change the directory by typing cd /opt/yarnlab/yarnman
Run the install script using node and sudo:
sudo node ./scripts/install-as-core-standalone.js -p <password> --couchport <couchport> --redisport <redisport> and substitute the <value>
sudo node ./scripts/install-as-core-standalone.js -p <password> --couchport 5984 --redisport 6379
Note: If copying sample line above, ensure that <password> is replaced with an appropriate database password to be used for the installationOn completion of installation from step 3, Open10 Web Browser, browse to Yarnman IP and set the administrator account password.
Accept the End User License Agreement by selecting the check box.
Under the Set Administrator Password option, enter the password that is used later to log in to the GUI & click "Save Acceptance and Update Administrator".
Login with the username of the administrator and password that you created.
It is strongly recommended to change the default password for web access this is done by going into the default access policy then users
Install As Arm
This is only required for distributed yarnman deployments where network traversal is required
Only follow these steps if you are deploying Yarnman as a distributed system (multiple VMs)
Note that configuration is required on the core node for allowing connectivity from the Arm to the Core describe in https://yarnlab.atlassian.net/wiki/spaces/YSP/pages/2730393636/Yarnman+Administration#Local-Firewall-Configuration
This will install the OVA as a node of Yarnman, connect to the central core database and enroll. Once accepted by the core services, interfaces may be added to it
Target full path of the core's Redis - redis://<some host or ipaddress>:<port - likely 6378>
CD to /opt/yarnlab/yarnman/
Run the script using node and sudo:
sudo node ./scripts/install-as-arm.js -n <node name> -c <couchpath> -r <redispath>
with values prepared above substituted for <value>.
Node name to appear on the enrollment screen in AdminApp of the core.
Target full path of the core's CouchDB - http(s)://<some host or ipaddress>:<port - likely 5984>
sudo node ./scripts/install-as-arm.js -n <name> -c http://<core ip>:5984 -r redis://<core ip>:6379'
Go to the Core's Administration App → Enrollments and accept the new node, you may add services and interface in the normal way.
The enrollment process will auto-generate credentials for the Arm.
Setup NTP Synchronization
By default time is synchronized from the virtual host, for distributed deployments it is recommended to setup NTP on both the core and arm nodes
Edit the following file and setting NTP server required replacing 1.2.3.4
sudo nano /etc/systemd/timesyncd.conf NTP=1.2.3.4
Restart time service
sudo systemctl restart systemd-timesyncd.service
Verify time is correct after 5 minutes
yarnman@yarnman-arm:~$ timedatectl status Local time: Wed 2021-06-16 13:13:10 UTC Universal time: Wed 2021-06-16 13:13:10 UTC RTC time: Wed 2021-06-16 13:13:10 Time zone: Etc/UTC (UTC, +0000)