Skip to content

Commit 7c691b4

Browse files
Daniel GruberDaniel Gruber
authored andcommitted
DG: Adding Vagrant based installation of a mini UGE cluster.
1 parent a5932e3 commit 7c691b4

File tree

11 files changed

+337
-5
lines changed

11 files changed

+337
-5
lines changed

LICENSE

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright (c) 2014, dgruber
1+
Copyright (c) 2014, Daniel Gruber, info@gridengine.eu
22
All rights reserved.
33

44
Redistribution and use in source and binary forms, with or without
@@ -11,10 +11,6 @@ modification, are permitted provided that the following conditions are met:
1111
this list of conditions and the following disclaimer in the documentation
1212
and/or other materials provided with the distribution.
1313

14-
* Neither the name of the {organization} nor the names of its
15-
contributors may be used to endorse or promote products derived from
16-
this software without specific prior written permission.
17-
1814
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
1915
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
2016
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE

README.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,30 @@ vagrantGridEngine
22
=================
33

44
Automatic installation of Grid Engine packages for testing purposes via Vagrant on virtual machines
5+
6+
Here are the prerequisites:
7+
- Having you own laptop / desktop with MacOS X / Linux (untested) or Windows (untested) running
8+
- Having free VirtualBox installed
9+
- Having free Vagrant installed
10+
- Having git version management installed (or alternative you can copy the files from my github account manually)
11+
- Having free Grid Engine tar.gz packages (I assume here ge-8.1.5-demo-common.tar.gz and ge-8.1.5-demo-bin-lx-amd64.tar.gz which you can get here for free)
12+
13+
Once you have all the files in a own directory (including the ge-8.1.5... packages!)
14+
just run:
15+
16+
vagrant up
17+
18+
A Vagrant "box" (VM image based on CentOS 6.5 is downloaded from Vagrant repository - but just one time)
19+
is created is created and 3 virtual machines are created under Virtual Box (master, execd1, execd2).
20+
21+
In order to use your cluster, just type
22+
23+
vagrant ssh master
24+
25+
Then you can do qhost, qstat -f, qsub -b y sleep 120, qstat -j <jobid> etc.
26+
27+
Have fun!
28+
29+
Note that I just hacked that together to have it running and it is not perfect.
30+
31+
Daniel

Vagrantfile

Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
# -*- mode: ruby -*-
2+
# vi: set ft=ruby :
3+
4+
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
5+
VAGRANTFILE_API_VERSION = "2"
6+
7+
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
8+
# All Vagrant configuration is done here. The most common configuration
9+
# options are documented and commented below. For a complete reference,
10+
# please see the online documentation at vagrantup.com.
11+
12+
# Every Vagrant virtual environment requires a box to build off of.
13+
#config.vm.box = "hashicorp/precise32"
14+
#config.vm.box = "chef/centos-6.5"
15+
16+
#config.vm.synced_folder ".", "/vagrant", type: "nfs"
17+
config.vm.synced_folder ".", "/vagrant"
18+
19+
config.vm.define "execd2" do |execd2|
20+
execd2.vm.box = "chef/centos-6.5"
21+
execd2.vm.hostname = "execd2"
22+
execd2.vm.network "private_network", ip: "192.168.10.101"
23+
execd2.vm.provision "shell", path: "hostnames.sh"
24+
end
25+
26+
config.vm.define "execd1" do |execd1|
27+
execd1.vm.box = "chef/centos-6.5"
28+
execd1.vm.hostname = "execd1"
29+
execd1.vm.network "private_network", ip: "192.168.10.100"
30+
execd1.vm.provision "shell", path: "hostnames.sh"
31+
end
32+
33+
config.vm.define "master" do |master|
34+
master.vm.box = "chef/centos-6.5"
35+
master.vm.hostname = "master"
36+
master.vm.network "private_network", ip: "192.168.10.99"
37+
master.vm.provision "shell", path: "hostnames.sh"
38+
master.vm.provision "shell", path: "installation.sh"
39+
end
40+
41+
# Disable automatic box update checking. If you disable this, then
42+
# boxes will only be checked for updates when the user runs
43+
# `vagrant box outdated`. This is not recommended.
44+
# config.vm.box_check_update = false
45+
46+
# Create a forwarded port mapping which allows access to a specific port
47+
# within the machine from a port on the host machine. In the example below,
48+
# accessing "localhost:8080" will access port 80 on the guest machine.
49+
# config.vm.network "forwarded_port", guest: 80, host: 8080
50+
51+
# Create a private network, which allows host-only access to the machine
52+
# using a specific IP.
53+
config.vm.network "private_network", ip: "192.168.33.10"
54+
55+
# Create a public network, which generally matched to bridged network.
56+
# Bridged networks make the machine appear as another physical device on
57+
# your network.
58+
# config.vm.network "public_network"
59+
60+
# If true, then any SSH connections made will enable agent forwarding.
61+
# Default value: false
62+
# config.ssh.forward_agent = true
63+
64+
# Share an additional folder to the guest VM. The first argument is
65+
# the path on the host to the actual folder. The second argument is
66+
# the path on the guest to mount the folder. And the optional third
67+
# argument is a set of non-required options.
68+
# config.vm.synced_folder "../data", "/vagrant_data"
69+
70+
# Provider-specific configuration so you can fine-tune various
71+
# backing providers for Vagrant. These expose provider-specific options.
72+
# Example for VirtualBox:
73+
#
74+
config.vm.provider "virtualbox" do |vb|
75+
# # Don't boot with headless mode
76+
vb.gui = false
77+
#
78+
# # Use VBoxManage to customize the VM. For example to change memory:
79+
vb.customize ["modifyvm", :id, "--memory", "1024"]
80+
end
81+
#
82+
# View the documentation for the provider you're using for more
83+
# information on available options.
84+
85+
# Enable provisioning with CFEngine. CFEngine Community packages are
86+
# automatically installed. For example, configure the host as a
87+
# policy server and optionally a policy file to run:
88+
#
89+
# config.vm.provision "cfengine" do |cf|
90+
# cf.am_policy_hub = true
91+
# # cf.run_file = "motd.cf"
92+
# end
93+
#
94+
# You can also configure and bootstrap a client to an existing
95+
# policy server:
96+
#
97+
# config.vm.provision "cfengine" do |cf|
98+
# cf.policy_server_address = "10.0.2.15"
99+
# end
100+
101+
# Enable provisioning with Puppet stand alone. Puppet manifests
102+
# are contained in a directory path relative to this Vagrantfile.
103+
# You will need to create the manifests directory and a manifest in
104+
# the file default.pp in the manifests_path directory.
105+
#
106+
# config.vm.provision "puppet" do |puppet|
107+
# puppet.manifests_path = "manifests"
108+
# puppet.manifest_file = "site.pp"
109+
# end
110+
111+
# Enable provisioning with chef solo, specifying a cookbooks path, roles
112+
# path, and data_bags path (all relative to this Vagrantfile), and adding
113+
# some recipes and/or roles.
114+
#
115+
# config.vm.provision "chef_solo" do |chef|
116+
# chef.cookbooks_path = "../my-recipes/cookbooks"
117+
# chef.roles_path = "../my-recipes/roles"
118+
# chef.data_bags_path = "../my-recipes/data_bags"
119+
# chef.add_recipe "mysql"
120+
# chef.add_role "web"
121+
#
122+
# # You may also specify custom JSON attributes:
123+
# chef.json = { mysql_password: "foo" }
124+
# end
125+
126+
# Enable provisioning with chef server, specifying the chef server URL,
127+
# and the path to the validation key (relative to this Vagrantfile).
128+
#
129+
# The Opscode Platform uses HTTPS. Substitute your organization for
130+
# ORGNAME in the URL and validation key.
131+
#
132+
# If you have your own Chef Server, use the appropriate URL, which may be
133+
# HTTP instead of HTTPS depending on your configuration. Also change the
134+
# validation key to validation.pem.
135+
#
136+
# config.vm.provision "chef_client" do |chef|
137+
# chef.chef_server_url = "https://api.opscode.com/organizations/ORGNAME"
138+
# chef.validation_key_path = "ORGNAME-validator.pem"
139+
# end
140+
#
141+
# If you're using the Opscode platform, your validator client is
142+
# ORGNAME-validator, replacing ORGNAME with your organization name.
143+
#
144+
# If you have your own Chef Server, the default validation client name is
145+
# chef-validator, unless you changed the configuration.
146+
#
147+
# chef.validation_client_name = "ORGNAME-validator"
148+
end

authorized_keys

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key
2+
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzX+2F+dBaK1l1GnSuAQijeWPTdKoDh1tSjB83TKQ0VqPqBo/RimdUQuyDgoRU+7US4XNNxubWcZ+nrjdt+/snqiJ+RcjTC+6W9008/P8SwpnWzTJQRNx3aT9x/b8fl1hVZ+w6/JorvbI420xoqdldFhO9EiXi27lG6KSb+VutpV3amROFJRlKGj+qZN/IsUIF4sQQmSi7SdUdGwdoBrrzH4Cg5IkXtmKmjJH8zZkX4mUFDvrnxcVLP+1jZqzPKot831IWRCJJTkG2rNGJtOw2847yggXndyfg0/eEgd9x9hptS7XnPQX+sLfRtdsynpZBW1s6e3O0wseCM65DzNTOQ== vagrant@master
3+
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA6NF8iallvQVp22WDkTkyrtvp9eWW6A8YVr+kz4TjGYe7gHzIw+niNltGEFHzD8+v1I2YJ6oXevct1YeS0o9HZyN1Q9qgCgzUFtdOKLv6IedplqoPkcmF0aYet2PkEDo3MlTBckFXPITAMzF8dJSIFo9D8HfdOV0IAdx4O7PtixWKn5y2hMNG0zQPyUecp4pzC6kivAIhyfHilFR61RGL+GPXQ2MWZWFYbAGjyiYJnAmCP3NOTd0jMZEnDkbUvxhMmBYSdETk1rRgm+R4LOzFUGaHqHDLKLX+FIPKcF96hrucXzcWyLbIbEgE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ== vagrant insecure public key
4+
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzX+2F+dBaK1l1GnSuAQijeWPTdKoDh1tSjB83TKQ0VqPqBo/RimdUQuyDgoRU+7US4XNNxubWcZ+nrjdt+/snqiJ+RcjTC+6W9008/P8SwpnWzTJQRNx3aT9x/b8fl1hVZ+w6/JorvbI420xoqdldFhO9EiXi27lG6KSb+VutpV3amROFJRlKGj+qZN/IsUIF4sQQmSi7SdUdGwdoBrrzH4Cg5IkXtmKmjJH8zZkX4mUFDvrnxcVLP+1jZqzPKot831IWRCJJTkG2rNGJtOw2847yggXndyfg0/eEgd9x9hptS7XnPQX+sLfRtdsynpZBW1s6e3O0wseCM65DzNTOQ== vagrant@master

auto_install_template

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
SGE_ROOT="/vagrant/UGE"
2+
SGE_QMASTER_PORT="802"
3+
SGE_EXECD_PORT="803"
4+
SGE_ENABLE_SMF="false"
5+
SGE_CLUSTER_NAME="p802"
6+
SGE_JMX_PORT="Please enter port"
7+
SGE_JMX_SSL="false"
8+
SGE_JMX_SSL_CLIENT="false"
9+
SGE_JMX_SSL_KEYSTORE="Please enter absolute path of server keystore file"
10+
SGE_JMX_SSL_KEYSTORE_PW="Please enter the server keystore password"
11+
SGE_JVM_LIB_PATH="Please enter absolute path of libjvm.so"
12+
SGE_ADDITIONAL_JVM_ARGS="-Xmx256m"
13+
CELL_NAME="default"
14+
ADMIN_USER=""
15+
QMASTER_SPOOL_DIR="/vagrant/UGE/default/spool/master"
16+
EXECD_SPOOL_DIR="/vagrant/UGE/default/spool"
17+
GID_RANGE="20000-20100"
18+
SPOOLING_METHOD="classic"
19+
DB_SPOOLING_SERVER="none"
20+
DB_SPOOLING_DIR="/opt/tools/uge/mycluster/bdb"
21+
PG_SPOOLING_ARGS="none"
22+
PAR_EXECD_INST_COUNT="20"
23+
ADMIN_HOST_LIST="execd1 execd2 master"
24+
SUBMIT_HOST_LIST="execd1 execd2 master"
25+
EXEC_HOST_LIST="execd1 execd2 master"
26+
EXECD_SPOOL_DIR_LOCAL="/opt/UGE/spool"
27+
HOSTNAME_RESOLVING="true"
28+
SHELL_NAME="ssh"
29+
COPY_COMMAND="scp"
30+
DEFAULT_DOMAIN="none"
31+
ADMIN_MAIL="none"
32+
ADD_TO_RC="true"
33+
SET_FILE_PERMS="true"
34+
RESCHEDULE_JOBS="wait"
35+
SCHEDD_CONF="3"
36+
SHADOW_HOST=""
37+
EXEC_HOST_LIST_RM=""
38+
REMOVE_RC="false"
39+
WINDOWS_SUPPORT="false"
40+
WIN_ADMIN_NAME="Administrator"
41+
WIN_DOMAIN_ACCESS="false"
42+
WIN_ADMIN_PASSWORD=""
43+
CSP_RECREATE="true"
44+
CSP_COPY_CERTS="false"
45+
CSP_COUNTRY_CODE="DE"
46+
CSP_STATE="Germany"
47+
CSP_LOCATION="Building"
48+
CSP_ORGA="Organisation"
49+
CSP_ORGA_UNIT="Organisation_unit"
50+
CSP_MAIL_ADDRESS="name@yourdomain.com"

hostnames.sh

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#!/bin/sh
2+
3+
# configure passwordless ssh
4+
mkdir -p /home/vagrant/.ssh
5+
chmod 700 /home/vagrant/.ssh
6+
cp /vagrant/id_rsa.pub /home/vagrant/.ssh/
7+
cp /vagrant/id_rsa /home/vagrant/.ssh/
8+
cp /vagrant/known_hosts /home/vagrant/.ssh/known_hosts
9+
cp /vagrant/authorized_keys /home/vagrant/.ssh/
10+
chown -R vagrant:vagrant /home/vagrant/.ssh
11+
12+
mkdir -p /root/.ssh
13+
chmod 700 /root/.ssh
14+
cp /vagrant/id_rsa.pub /root/.ssh/
15+
cp /vagrant/id_rsa /root/.ssh/
16+
cp /vagrant/known_hosts /root/.ssh/known_hosts
17+
cp /vagrant/authorized_keys /root/.ssh/
18+
19+
# TERM needs to be set for the installer
20+
echo "export TERM=xterm" >> /root/.bashrc
21+
echo "export TERM=xterm" >> /home/vagrant/.bashrc
22+
23+
# local execd spooling
24+
mkdir -p /opt/UGE/spool
25+
chown -R vagrant:vagrant /opt/UGE
26+
27+
# install libnuma.so
28+
yum install -y numactl
29+
30+
# configure hosts file
31+
mv /etc/hosts /etc/hosts_orig
32+
echo "192.168.10.99 master" > /etc/hosts
33+
echo "192.168.10.100 execd1" >> /etc/hosts
34+
echo "192.168.10.101 execd2" >> /etc/hosts
35+
echo "127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4" >> /etc/hosts
36+
echo "::1 localhost localhost.localdomain localhost6 localhost6.localdomain6" >> /etc/hosts
37+

id_rsa

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
-----BEGIN RSA PRIVATE KEY-----
2+
MIIEpAIBAAKCAQEAzX+2F+dBaK1l1GnSuAQijeWPTdKoDh1tSjB83TKQ0VqPqBo/
3+
RimdUQuyDgoRU+7US4XNNxubWcZ+nrjdt+/snqiJ+RcjTC+6W9008/P8SwpnWzTJ
4+
QRNx3aT9x/b8fl1hVZ+w6/JorvbI420xoqdldFhO9EiXi27lG6KSb+VutpV3amRO
5+
FJRlKGj+qZN/IsUIF4sQQmSi7SdUdGwdoBrrzH4Cg5IkXtmKmjJH8zZkX4mUFDvr
6+
nxcVLP+1jZqzPKot831IWRCJJTkG2rNGJtOw2847yggXndyfg0/eEgd9x9hptS7X
7+
nPQX+sLfRtdsynpZBW1s6e3O0wseCM65DzNTOQIBIwKCAQEAqkU/Gx6yie7CFmZP
8+
gocVUQAJBfev0S5TPXih+RtEyrjALDMBOiJ7CKNKY2dtcW4dnalg5ISWqXiUzKfN
9+
pwiffCU/HtioN8/GTB2viE3RCvn93dtHqvLasFWB0ZIhqofi7yyLRyfwVnS1FDXn
10+
TEGOk5mggUN2QFSR8lOApdtbu9lw//PBTyBRrSj7x1vDQhomT4g2Fk8XPpiJT8JT
11+
xf5FkguwtbsWXPdaoqh8tdMUTyjNAeEcVr4y5L/vmvMXtlISnoeX+gwQoGEjSDzb
12+
QQ9FdNckQSUBHtdBQp3Ta0CZ9e+hQKpa9TEoqBVAmpaJ6h5nRXp8lTgn/bOtZPY+
13+
DGsxFwKBgQD1Aa4XqRAwSOnoenGF12sw2BwIXgJSQt3vXCnvCgtY4pHm2sAgN1n2
14+
Ll/KqT/jj//+eyKgDyM9nkB0xXlxrZ51VDOJS8YR72fZD7dX4ec3QYkUkAR/EPTT
15+
o6ZyZ5wPwB+5mq9FPHZIXHH88Wlet11pHba9ys2+vknPgu8q0DnOnwKBgQDWuDe/
16+
3+GdVSF8YdaJOV2XWwhuVrNpk7ScEEX+ciNQmsOELpfx/eseNMCFrFAHMjUIGz6T
17+
SpK0nfrqozDVfgnFdgczxQbwYpm8lxxqEOLfJ70V9DgJ9OzVYx/oF1JtmEgH+Jd8
18+
4EtPGhPso6+K77pzRGl53cqiBd+gkG++8jGHJwKBgQDnAZWEBc1vWrCn/msJKjHd
19+
mI91mnc3niG1y+0F84cKqbzDuE6/SiGe+IY0G+vH7ivhT4cL8QP4RMBuGUaeYd6L
20+
4azvKi/HxHfbSVUYWKbNstG0TUYRZ8JD43EMyBbNBZpBSLPiMbFaK0bnLMJvPywv
21+
6NDe1ShjYvUivUfmidAalQKBgQDEUKf/4qJj9g/8sTktAT+gUzroicibCrPB4v4q
22+
dvu3aO1FpvFSRz1dcg8bITM5x4Dxd/6yjVLuR0vPNh4FBYVG0k+6Tb0zjVlb9992
23+
6t4N2zCJGczV5z7u+4ri036QFjM6fOJGSWls5KSAlafPfBgu33Zgysfkl6fjQjpI
24+
LeQjywKBgQDN3+h9bleuhSsgL130QkCgPEfvWxAQCk2a/KCNJx29wGl9Wcx0af30
25+
zDYbESfHmdYl/EvoqAjJK3NTa43+iXifUomOSIjDQIHP6bWwiaN8ZTt3Is1JGAK1
26+
ajnEsWDxsmurvfUgOKme01xOG/V6po6nj3Vd3Fs9Th7voVnSP+jscw==
27+
-----END RSA PRIVATE KEY-----

id_rsa.pub

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzX+2F+dBaK1l1GnSuAQijeWPTdKoDh1tSjB83TKQ0VqPqBo/RimdUQuyDgoRU+7US4XNNxubWcZ+nrjdt+/snqiJ+RcjTC+6W9008/P8SwpnWzTJQRNx3aT9x/b8fl1hVZ+w6/JorvbI420xoqdldFhO9EiXi27lG6KSb+VutpV3amROFJRlKGj+qZN/IsUIF4sQQmSi7SdUdGwdoBrrzH4Cg5IkXtmKmjJH8zZkX4mUFDvrnxcVLP+1jZqzPKot831IWRCJJTkG2rNGJtOw2847yggXndyfg0/eEgd9x9hptS7XnPQX+sLfRtdsynpZBW1s6e3O0wseCM65DzNTOQ== vagrant@master

installation.sh

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#!/bin/sh
2+
3+
# expected to have the UGE demo tar.gz here in vagrant directory
4+
# if you don't have then download them from www.univa.com
5+
6+
# 1.) Extract UGE packages in subdirectory
7+
if [ -d /vagrant/UGE ]; then
8+
rm -rf /vagrant/UGE
9+
fi
10+
mkdir /vagrant/UGE
11+
cd /vagrant/UGE
12+
tar zxvpf ../ge-8.1.5-demo-bin-lx-amd64.tar.gz
13+
tar zxvpf ../ge-8.1.5-demo-common.tar.gz
14+
15+
# 2.) Perfom auto installation
16+
echo "Starting auto-installation of Univa Grid Engine"
17+
export TERM=xterm
18+
./inst_sge -m -x -auto ../auto_install_template
19+
20+
# 2.1) Adapt the cluster (/bin/csh is not installed in box)
21+
source UGE/common/settings.sh
22+
# change shell to /bin/sh from /bin/csh
23+
qconf -mattr queue shell /bin/sh all.q
24+
25+
# 3.) Change .bashrc of vagrant/root user in order to source UGE environment
26+
echo "source /vagrant/UGE/default/common/settings.sh" >> /home/vagrant/.bashrc
27+
echo "source /vagrant/UGE/default/common/settings.sh" >> /root/.bashrc
28+
29+
# FINISHED
30+
echo "Installation of UGE finished"
31+

known_hosts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
execd1 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAv+VDpocINo7EnBb6PWeSCVvzxi3kNxo8uLpM04ZZUEKXYv8OkbRc+MLiBKuOHscXSdiwP016gMVCyVQmyrggUEQ1KvDSZFHDLcSSheuEiCTyxGdc0nFSG2E6AS+fth3zjL1mIj+G0U7FNHv4EVScNCFSpBQUsJwPpX9GRHtvpEZmtPgysnz5WCCv/7lCnKQubQRVffE2V24Kg2x4anUF23xaOJU75ZAi3uIZBrOOdQJKUqTLpUIcqE6BU3U0kqx+9hkPQYj/FhWyqn2GB9N+h8u6uvbEcsVtNPxWJEdE2/4rDjQBMHy6kXC6n2MG/q4gMVyLVy7IuP4vBccEOracew==
2+
execd2 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAv+VDpocINo7EnBb6PWeSCVvzxi3kNxo8uLpM04ZZUEKXYv8OkbRc+MLiBKuOHscXSdiwP016gMVCyVQmyrggUEQ1KvDSZFHDLcSSheuEiCTyxGdc0nFSG2E6AS+fth3zjL1mIj+G0U7FNHv4EVScNCFSpBQUsJwPpX9GRHtvpEZmtPgysnz5WCCv/7lCnKQubQRVffE2V24Kg2x4anUF23xaOJU75ZAi3uIZBrOOdQJKUqTLpUIcqE6BU3U0kqx+9hkPQYj/FhWyqn2GB9N+h8u6uvbEcsVtNPxWJEdE2/4rDjQBMHy6kXC6n2MG/q4gMVyLVy7IuP4vBccEOracew==
3+
master,192.168.10.99 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAv+VDpocINo7EnBb6PWeSCVvzxi3kNxo8uLpM04ZZUEKXYv8OkbRc+MLiBKuOHscXSdiwP016gMVCyVQmyrggUEQ1KvDSZFHDLcSSheuEiCTyxGdc0nFSG2E6AS+fth3zjL1mIj+G0U7FNHv4EVScNCFSpBQUsJwPpX9GRHtvpEZmtPgysnz5WCCv/7lCnKQubQRVffE2V24Kg2x4anUF23xaOJU75ZAi3uIZBrOOdQJKUqTLpUIcqE6BU3U0kqx+9hkPQYj/FhWyqn2GB9N+h8u6uvbEcsVtNPxWJEdE2/4rDjQBMHy6kXC6n2MG/q4gMVyLVy7IuP4vBccEOracew==
4+
192.168.10.101 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAv+VDpocINo7EnBb6PWeSCVvzxi3kNxo8uLpM04ZZUEKXYv8OkbRc+MLiBKuOHscXSdiwP016gMVCyVQmyrggUEQ1KvDSZFHDLcSSheuEiCTyxGdc0nFSG2E6AS+fth3zjL1mIj+G0U7FNHv4EVScNCFSpBQUsJwPpX9GRHtvpEZmtPgysnz5WCCv/7lCnKQubQRVffE2V24Kg2x4anUF23xaOJU75ZAi3uIZBrOOdQJKUqTLpUIcqE6BU3U0kqx+9hkPQYj/FhWyqn2GB9N+h8u6uvbEcsVtNPxWJEdE2/4rDjQBMHy6kXC6n2MG/q4gMVyLVy7IuP4vBccEOracew==
5+
192.168.10.100 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAv+VDpocINo7EnBb6PWeSCVvzxi3kNxo8uLpM04ZZUEKXYv8OkbRc+MLiBKuOHscXSdiwP016gMVCyVQmyrggUEQ1KvDSZFHDLcSSheuEiCTyxGdc0nFSG2E6AS+fth3zjL1mIj+G0U7FNHv4EVScNCFSpBQUsJwPpX9GRHtvpEZmtPgysnz5WCCv/7lCnKQubQRVffE2V24Kg2x4anUF23xaOJU75ZAi3uIZBrOOdQJKUqTLpUIcqE6BU3U0kqx+9hkPQYj/FhWyqn2GB9N+h8u6uvbEcsVtNPxWJEdE2/4rDjQBMHy6kXC6n2MG/q4gMVyLVy7IuP4vBccEOracew==

0 commit comments

Comments
 (0)