Permalink
Show file tree
Hide file tree
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Showing
13 changed files
with
398 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,103 @@ | ||
@echo off | ||
|
||
rem *************** VARIABLES *************** | ||
rem *** Docker subnet for the cluster (admin box IP is %SUBNET%.254) *** | ||
set CLUSTERNET=clusternet | ||
set SUBNET=172.16.0 | ||
set NETMASK=16 | ||
|
||
rem *** Local folder to store /home of all the containers *** | ||
set HOMES=clusterhomes | ||
if not exist %HOMES% (mkdir %HOMES%) | ||
set LOCALSHARE=%~dp0%HOMES% | ||
|
||
|
||
rem *** cleaning up previous stuff *** | ||
rem docker rm --force $(docker ps -a -q) | ||
docker network rm clusternet | ||
|
||
|
||
rem *** CREATEING NEW DOCKER SUBNET "clusternet" FOR THE CLUSTER *** | ||
docker network create --subnet=%SUBNET%.0/%NETMASK% %CLUSTERNET% | ||
|
||
|
||
|
||
rem *************** CREATING ADMIN NODE IMAGE *************** | ||
cd "admin_node" | ||
docker build . -t admin_node | ||
cd .. | ||
|
||
rem *** admin box is hooked up to :99 local VNC display *** | ||
docker run -ti -d -p 5999:5901 --mount src=%LOCALSHARE%,target=/home,type=bind --net %CLUSTERNET% --ip %SUBNET%.254 --name admin --hostname admin admin_node | ||
|
||
|
||
|
||
rem *************** CREATING CLIENT NODES *************** | ||
cd "client_node" | ||
docker build . -t client_node | ||
cd .. | ||
|
||
rem *** READING LIST OF USERS AND PASSWORDS *** | ||
set USERLIST="userlist.txt" | ||
set /a n=0 | ||
set /a vncport=5900 | ||
setlocal ENABLEDELAYEDEXPANSION | ||
|
||
FOR /F "tokens=1,2 usebackq delims=. " %%a in (%USERLIST%) do ( | ||
|
||
set /a n=n+1 | ||
|
||
rem *** local VNC port to hook up the client to *** | ||
set /a vncport=5900+n | ||
|
||
set node=%%a | ||
set passwd=%%b | ||
|
||
rem *** username, UID:GID on all clients *** | ||
set user=!node! | ||
set /a uid=1000+!n! | ||
set /a gid=1000+!n! | ||
|
||
set /a IP=100+!n! | ||
echo starting node: !node!, IP=172.16.0.!IP!, user !user!, UID !uid!, GID !gid!, password !passwd!, vncport !vncport! | ||
|
||
docker run -ti -d -p !vncport!:5901 --mount src=!LOCALSHARE!,target=/home,type=bind --net !CLUSTERNET! --ip !SUBNET!.!IP! --name !node! --hostname !node! client_node | ||
|
||
|
||
rem *** ADD USER and CHANGE PASSWORDS *** | ||
docker exec -ti !node! groupadd -g !gid! !user! | ||
|
||
rem *** careful here (delete existing home folder? -- disable next line if not)*** | ||
docker exec -ti !node! rm -fr /home/!user! | ||
|
||
docker exec -ti !node! mkdir -p /home/!user! | ||
|
||
docker exec -ti !node! useradd -u !uid! -g !gid! -d /home/!user! -s /bin/bash !user! | ||
docker exec -ti !node! chown -R !user!:!user! /home/!user!/ | ||
docker exec -ti !node! chmod o-r,o-w,o-x /home/!user!/ | ||
|
||
docker exec -ti -u !user! !node! mkdir -p /home/!user!/.vnc | ||
docker exec -ti -u !user! !node! mkdir -p /home/!user!/Desktop | ||
docker exec -ti -u !user! !node! cp /opt/seamonkey/Seamonkey.desktop /home/!user!/Desktop/ | ||
|
||
docker exec -ti -u !user! !node! /bin/bash -c "echo !passwd! | /opt/TurboVNC/bin/vncpasswd -f > /home/!user!/.vnc/passwd" | ||
docker exec -ti -u !user! !node! chmod 600 /home/!user!/.vnc/passwd | ||
|
||
docker exec -ti !node! /bin/bash -c "echo !user!:!passwd! | chpasswd" | ||
|
||
|
||
rem *** sudo for user ? *** | ||
docker exec -ti !node! usermod -aG sudo !user! | ||
|
||
rem *** start user's VNC server *** | ||
docker exec -u !user! !node! bash -c "/bin/startvnc" | ||
|
||
rem *** SSHD for inside cluster comms only (for root from admin container) *** | ||
docker exec !node! bash -c "service ssh start" | ||
|
||
rem *** add client to PDSH list and hosts file on admin node *** | ||
docker exec -ti admin bash -c "echo !node! >> /etc/pdsh/machines" | ||
docker exec -ti admin bash -c "echo %SUBNET%.!IP! !node! >> /etc/hosts" | ||
) | ||
|
||
endlocal |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
@echo off | ||
rem *** stop all cluster containers without destroying them *** | ||
|
||
set USERLIST="userlist.txt" | ||
setlocal ENABLEDELAYEDEXPANSION | ||
|
||
FOR /F "tokens=1 usebackq delims=. " %%a in (%USERLIST%) do ( | ||
|
||
set node=%%a | ||
set user=!node! | ||
docker exec -ti -u !user! !node! /opt/TurboVNC/bin/vncserver -kill :1 | ||
docker stop !node! | ||
|
||
) | ||
|
||
docker stop admin | ||
|
||
docker ps -a | ||
|
||
pause |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
@echo off | ||
|
||
set USERLIST="userlist.txt" | ||
setlocal ENABLEDELAYEDEXPANSION | ||
|
||
FOR /F "tokens=1 usebackq delims=. " %%a in (%USERLIST%) do ( | ||
|
||
set node=%%a | ||
set user=!node! | ||
|
||
docker start !node! | ||
docker exec -u !user! !node! bash -c "/bin/startvnc" | ||
docker exec !node! bash -c "service ssh start" | ||
|
||
) | ||
|
||
docker start admin | ||
docker ps -a | ||
|
||
|
||
pause | ||
exit |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
@echo off | ||
|
||
set USERLIST="userlist.txt" | ||
setlocal ENABLEDELAYEDEXPANSION | ||
|
||
FOR /F "tokens=1 usebackq delims=. " %%a in (%USERLIST%) do ( | ||
|
||
set node=%%a | ||
set user=!node! | ||
|
||
docker pause !node! | ||
|
||
) | ||
|
||
docker pause admin | ||
docker ps -a | ||
|
||
|
||
pause | ||
exit |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
@echo off | ||
|
||
set USERLIST="userlist.txt" | ||
setlocal ENABLEDELAYEDEXPANSION | ||
|
||
FOR /F "tokens=1 usebackq delims=. " %%a in (%USERLIST%) do ( | ||
|
||
set node=%%a | ||
set user=!node! | ||
|
||
docker unpause !node! | ||
|
||
) | ||
|
||
docker unpause admin | ||
docker ps -a | ||
|
||
|
||
pause | ||
exit |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
@echo off | ||
|
||
set USERLIST="userlist.txt" | ||
setlocal ENABLEDELAYEDEXPANSION | ||
|
||
FOR /F "tokens=1 usebackq delims=. " %%a in (%USERLIST%) do ( | ||
|
||
set node=%%a | ||
set user=!node! | ||
|
||
docker rm -f !node! | ||
|
||
) | ||
|
||
rem docker rm -f admin | ||
docker ps -a | ||
|
||
|
||
pause | ||
exit |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,60 @@ | ||
FROM ubuntu | ||
|
||
ARG user=root | ||
|
||
ENV DEBIAN_FRONTEND=noninteractive | ||
RUN apt-get update \ | ||
&& DEBIAN_FRONTEND=noninteractive apt-get install pdsh net-tools xfce4 wget build-essential cmake nano mc xfce4-terminal xterm bzip2 tar sudo git emacs openssh-server -y | ||
RUN wget https://kumisystems.dl.sourceforge.net/project/turbovnc/3.0/turbovnc_3.0_amd64.deb | ||
RUN dpkg -i turbovnc_3.0_amd64.deb | ||
|
||
RUN rm -fr /usr/bin/xfce4-screensaver | ||
RUN touch /usr/bin/xfce4-screensaver | ||
RUN chmod +x /usr/bin/xfce4-screensaver | ||
|
||
# pdsh stuff | ||
RUN mkdir -p /etc/pdsh | ||
RUN echo "export PDSH_RCMD_TYPE='ssh'">> /etc/bash.bashrc | ||
RUN echo "export WCOLL=/etc/pdsh/machines" >> /etc/bash.bashrc | ||
|
||
# ssh stuff for pdsh | ||
RUN mkdir -p /root/.ssh | ||
COPY id_rsa.pub /root/.ssh/ | ||
COPY id_rsa /root/.ssh/ | ||
RUN chmod 700 /root/.ssh | ||
RUN chmod 600 /root/.ssh/id_rsa | ||
RUN chmod 640 /root/.ssh/id_rsa.pub | ||
RUN cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys | ||
RUN chmod 600 /root/.ssh/authorized_keys | ||
RUN echo "StrictHostKeyChecking no" >> /root/.ssh/config | ||
RUN chmod 600 /root/.ssh/config | ||
|
||
# let's include seamonkey browser | ||
RUN wget -c https://archive.mozilla.org/pub/seamonkey/releases/2.53.12/linux-x86_64/en-GB/seamonkey-2.53.12.en-GB.linux-x86_64.tar.bz2 -O /opt/seamonkey.tar.bz2 | ||
WORKDIR "/opt/" | ||
RUN tar -xf seamonkey.tar.bz2 | ||
RUN rm -f /opt/seamonkey.tar.bz2 | ||
WORKDIR "/" | ||
RUN mkdir -p /home/$user/Desktop | ||
RUN echo "[Desktop Entry]\n \ | ||
Version=1.0\n \ | ||
Type=Application\n \ | ||
Name=Seamonkey\n \ | ||
Comment=Web Browser\n \ | ||
Exec=/opt/seamonkey/seamonkey\n \ | ||
Icon=web-browser\n \ | ||
Terminal=false" > /home/$user/Desktop/Seamonkey.desktop | ||
RUN chmod +x /home/$user/Desktop/Seamonkey.desktop | ||
|
||
# add vnc server easy startup | ||
RUN echo "service ssh start" > /bin/startvnc | ||
RUN echo "/opt/TurboVNC/bin/vncserver -fg :1'" > /bin/startvnc | ||
RUN cat /bin/startvnc | ||
RUN chmod +x /bin/startvnc | ||
|
||
EXPOSE 5901 | ||
EXPOSE 22 | ||
|
||
# startup exe: | ||
CMD /bin/bash | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
-----BEGIN OPENSSH PRIVATE KEY----- | ||
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 | ||
-----END OPENSSH PRIVATE KEY----- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDne5m/1Kd3Vd6hRBw+qgvT5/83+XuofK1u5Nk1Y4tLW6fDv6fATst5t0vWI8QHA16z+rLnsG9WaQ90xpVbEghJKtrIqm20Q1jRSfpwpwbJAPXBgEj86KLpv2heeY0jmsSQAaKJfQugY5mVJ+fGGS/gNlLOvviiSi+hl3gVPkYC8sHC7UuNy5BMrYMTkp2xz/1c0YFCxXPyKqcLTzBWWsfTQB0ozs9dfcXD0Q7gxlcQvwjU273NIIbhe7wGaxZJT+bjRCd5xKnqwNuX/fx7rS2E4/hd27UZodq0duXynedkUGR8r6iECVIN1yNTixyK5pUvJnefSrerB1kcDB4uLX+O0UoU0h/fuLrtJaLJhmuAZErYZ+JIeMDaB49jcTonKKS3k85qQrhX1MGlGJEUDkZdlOVr7T57KnM4us3kt7fmYefW2PkAkqpL68w+OjV/H6nQNdkG5We96i/m97FTKH5YireOgJ+L0zbmLG+/VarpAvTJdRELJwi81HZYpdO6Dp0= aa302@ENVYx360 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
FROM ubuntu | ||
|
||
|
||
ENV DEBIAN_FRONTEND=noninteractive | ||
RUN apt-get update \ | ||
&& DEBIAN_FRONTEND=noninteractive apt-get install pdsh net-tools xfce4 wget build-essential cmake nano mc xfce4-terminal xterm bzip2 tar sudo git emacs openssh-server -y | ||
RUN wget https://kumisystems.dl.sourceforge.net/project/turbovnc/3.0/turbovnc_3.0_amd64.deb | ||
RUN dpkg -i turbovnc_3.0_amd64.deb | ||
|
||
RUN rm -fr /usr/bin/xfce4-screensaver | ||
RUN touch /usr/bin/xfce4-screensaver | ||
RUN chmod +x /usr/bin/xfce4-screensaver | ||
|
||
# ssh stuff for root pdsh access from admin container | ||
RUN mkdir -p /root/.ssh | ||
COPY id_rsa.pub /root/.ssh/authorized_keys | ||
RUN chmod 700 /root/.ssh | ||
RUN chmod 600 /root/.ssh/authorized_keys | ||
|
||
|
||
|
||
# let's include seamonkey browser | ||
RUN wget -c https://archive.mozilla.org/pub/seamonkey/releases/2.53.12/linux-x86_64/en-GB/seamonkey-2.53.12.en-GB.linux-x86_64.tar.bz2 -O /opt/seamonkey.tar.bz2 | ||
WORKDIR "/opt/" | ||
RUN tar -xvf seamonkey.tar.bz2 | ||
RUN rm -f /opt/seamonkey.tar.bz2 | ||
|
||
RUN echo "[Desktop Entry]\n \ | ||
Version=1.0\n \ | ||
Type=Application\n \ | ||
Name=Seamonkey\n \ | ||
Comment=Web Browser\n \ | ||
Exec=/opt/seamonkey/seamonkey\n \ | ||
Icon=web-browser\n \ | ||
Terminal=false" > /opt/seamonkey/Seamonkey.desktop | ||
RUN chmod +x /opt/seamonkey/Seamonkey.desktop | ||
|
||
|
||
|
||
# vnc server startup shortcut | ||
RUN echo "/opt/TurboVNC/bin/vncserver :1" >> /bin/startvnc | ||
RUN chmod +x /bin/startvnc | ||
|
||
EXPOSE 5901 | ||
EXPOSE 22 | ||
|
||
|
||
# startup command: | ||
CMD /bin/bash | ||
|
||
|
||
|
Oops, something went wrong.