├── CNAME ├── docs ├── logs │ ├── examples.md │ ├── 0215_002_0007A_3danim_v002.0096.lock │ ├── 0215_002_0007A_3danim_v002.projectready │ └── 0215_002_0007A_3danim_v002.0096.cfg ├── ghcluster-farm.png ├── ghcluster-proxmox.png ├── ghcluster-pegged-CPU.png ├── ghcluster-power-24hr.png ├── ghcluster-power-down.png ├── ghcluster-bn01-console.png ├── ghcluster-pegged-Power.png ├── ghcluster-blenderRender.png ├── blender │ ├── Blender Cheatsheet v1.pdf │ ├── architecture │ │ ├── catArchModelNotes │ │ │ ├── CATNotes01SimpleChair.blend │ │ │ └── README.md │ │ ├── ArchiPack │ │ │ └── README.md │ │ └── README.md │ ├── tutorial │ │ ├── README.md │ │ └── learn-bg-anvil.md │ ├── wip-notes-blender.md │ ├── blender-create-shelf.md │ ├── bim │ │ └── README.md │ └── README.md ├── testrpi │ ├── ATX-BenchSupply-Pinout-1.png │ ├── ATX-BenchSupply-Pinout-2.png │ ├── ATX-BenchSupply-Diagram-1.png │ ├── ATX-BenchSupply-Diagram-2.png │ └── README.md ├── pfsense │ ├── ghlearn-ghlanNetworkOverviewDiagram.jpeg │ ├── ghlanOverviewDetail.md │ └── README.md ├── pxeboot │ └── README.md ├── gridtemplate │ ├── ghgridoverview.drawio │ ├── README.md │ └── gridtemplate-overview.drawio ├── sketchup │ └── README.md ├── teststack │ ├── README.md │ ├── NetworkMonitors.md │ └── ubuntu-19.10-Template.md ├── bn000template.html ├── proxmox │ ├── proxmox-vlan.md │ └── README.md ├── blenderCacheBake.html ├── gridfarm.html ├── overview.html ├── workflow.html ├── gridmanage.html ├── ghrenderService.html ├── crowdrender │ ├── README.md │ └── index.html ├── magma │ └── README.md ├── freeNAS │ ├── TrueNASproxmox.md │ ├── cat9FreeNAS.md │ ├── README.md │ └── configuration.md ├── rpiArtist │ └── README.md ├── ghNetworkMap.md ├── README.md ├── gridfarm.md ├── zerotier │ └── README.md ├── gridmanage.md ├── ghOverviewDiagram.drawio ├── bn000template.md ├── ghrenderService.md ├── plex │ └── README.md ├── overview.md ├── workflow.md ├── blenderCacheBake.md └── coldstorage │ └── README.md ├── favicon.ico ├── index.html.old ├── ghbin ├── indexFrames.sh ├── tplMaker.sh ├── makeRenderJob.sh └── nodeRenderService.sh └── README.md /CNAME: -------------------------------------------------------------------------------- 1 | gh.2cld.net 2 | -------------------------------------------------------------------------------- /docs/logs/examples.md: -------------------------------------------------------------------------------- 1 | # Log Examples 2 | 3 | -------------------------------------------------------------------------------- /favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2Cld/gh/master/favicon.ico -------------------------------------------------------------------------------- /docs/ghcluster-farm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2Cld/gh/master/docs/ghcluster-farm.png -------------------------------------------------------------------------------- /docs/ghcluster-proxmox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2Cld/gh/master/docs/ghcluster-proxmox.png -------------------------------------------------------------------------------- /docs/ghcluster-pegged-CPU.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2Cld/gh/master/docs/ghcluster-pegged-CPU.png -------------------------------------------------------------------------------- /docs/ghcluster-power-24hr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2Cld/gh/master/docs/ghcluster-power-24hr.png -------------------------------------------------------------------------------- /docs/ghcluster-power-down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2Cld/gh/master/docs/ghcluster-power-down.png -------------------------------------------------------------------------------- /docs/ghcluster-bn01-console.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2Cld/gh/master/docs/ghcluster-bn01-console.png -------------------------------------------------------------------------------- /docs/ghcluster-pegged-Power.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2Cld/gh/master/docs/ghcluster-pegged-Power.png -------------------------------------------------------------------------------- /docs/ghcluster-blenderRender.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2Cld/gh/master/docs/ghcluster-blenderRender.png -------------------------------------------------------------------------------- /docs/blender/Blender Cheatsheet v1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2Cld/gh/master/docs/blender/Blender Cheatsheet v1.pdf -------------------------------------------------------------------------------- /docs/testrpi/ATX-BenchSupply-Pinout-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2Cld/gh/master/docs/testrpi/ATX-BenchSupply-Pinout-1.png -------------------------------------------------------------------------------- /docs/testrpi/ATX-BenchSupply-Pinout-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2Cld/gh/master/docs/testrpi/ATX-BenchSupply-Pinout-2.png -------------------------------------------------------------------------------- /docs/testrpi/ATX-BenchSupply-Diagram-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2Cld/gh/master/docs/testrpi/ATX-BenchSupply-Diagram-1.png -------------------------------------------------------------------------------- /docs/testrpi/ATX-BenchSupply-Diagram-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2Cld/gh/master/docs/testrpi/ATX-BenchSupply-Diagram-2.png -------------------------------------------------------------------------------- /docs/logs/0215_002_0007A_3danim_v002.0096.lock: -------------------------------------------------------------------------------- 1 | blamURL=bmbn00 2 | bidCreated='Sat May 18 16:52:42 CDT 2019' 3 | bidWon='Sat May 18 16:52:43 CDT 2019' 4 | -------------------------------------------------------------------------------- /docs/pfsense/ghlearn-ghlanNetworkOverviewDiagram.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2Cld/gh/master/docs/pfsense/ghlearn-ghlanNetworkOverviewDiagram.jpeg -------------------------------------------------------------------------------- /docs/logs/0215_002_0007A_3danim_v002.projectready: -------------------------------------------------------------------------------- 1 | currentJobProject=0215_002_0007A_3danim_v002 2 | # Project: 0215_002_0007A_3danim_v002 3 | # Date: Sat May 18 15:45:43 CDT 2019 4 | -------------------------------------------------------------------------------- /docs/blender/architecture/catArchModelNotes/CATNotes01SimpleChair.blend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/2Cld/gh/master/docs/blender/architecture/catArchModelNotes/CATNotes01SimpleChair.blend -------------------------------------------------------------------------------- /docs/blender/tutorial/README.md: -------------------------------------------------------------------------------- 1 | # Learning Blender Tutorials 2 | 3 | ## [Blender Guru - Andrew P Price](https://www.youtube.com/user/AndrewPPrice/videos) 4 | - [Donut - Blender Guru - Beginner](./learn-bg-donut) 5 | - [Anvil - Blender Guru](./learn-bg-anvil) 6 | - [Archviz - Blener Guru]() 7 | - 8 | -------------------------------------------------------------------------------- /docs/logs/0215_002_0007A_3danim_v002.0096.cfg: -------------------------------------------------------------------------------- 1 | zipBucket='/media/farm/0215_002_0007A_zip/' 2 | rendBucket='/media/farm/0215_002_0007A_rend/' 3 | zip='0215_002_0007A_3danim_v002.zip' 4 | blend='0215_002_0007A_3danim_v002.blend' 5 | fileName='0215_002_0007A_3danim_v002' 6 | frameName='0215_002_0007A_3danim_v002.0096' 7 | start='0096' 8 | end='0096' 9 | -------------------------------------------------------------------------------- /docs/pxeboot/README.md: -------------------------------------------------------------------------------- 1 | # PXE Boot images 2 | All systems should have a custom pxe image 3 | 4 | ## Windows PXE 5 | - [Deploy Windows 10 using PXE](https://docs.microsoft.com/en-us/windows/deployment/deploy-windows-cm/deploy-windows-10-using-pxe-and-configuration-manager) 6 | - [Windows Deployments](https://docs.microsoft.com/en-us/windows/deployment/windows-10-deployment-scenarios) 7 | -------------------------------------------------------------------------------- /docs/gridtemplate/ghgridoverview.drawio: -------------------------------------------------------------------------------- 1 | UzV2zq1wL0osyPDNT0nNUTV2VTV2LsrPL4GwciucU3NyVI0MMlNUjV1UjYwMgFjVyA2HrCFY1qAgsSg1rwSLBiADYTaQg2Y1AA== -------------------------------------------------------------------------------- /index.html.old: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | gh-2cld 6 | 7 | 8 |
9 |

gh.2cld.net Project Site

10 | 13 |
14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/sketchup/README.md: -------------------------------------------------------------------------------- 1 | # sketchup 2 | 3 | - https://app.sketchup.com/app 4 | - christrees@gmail.com is user with google autologin 5 | - tbd 6 | - Tutorial 1 [yt-melosazemi SketchUp for Complete Beginners](https://www.youtube.com/watch?v=tkLfb-fuMSM) 7 | - https://melosazemi.com/become-an-expert 8 | - [free download of floorplan and render](https://drive.google.com/drive/folders/1Pw7RC446GH6Z2OdJtHNvtveyhdkwJdFQ) 9 | - downloaded render and floorplan catsurface downloads should add here 10 | - Tutorial 1 notes 11 | - tbd 12 | - Master Class [yt-mastersketchup](https://www.youtube.com/@Mastersketchup) 13 | -------------------------------------------------------------------------------- /docs/teststack/README.md: -------------------------------------------------------------------------------- 1 | # Example Test Stack 2 | 3 | 4 | 1. WEB FrontEnd 5 | - CPU: Quad core 2GHz+ CPU 6 | - RAM: 6 GB 7 | - SSD: 64 GB 8 | - Ubuntu Server 19.10 9 | 2. Authentication service 10 | - CPU: Quad core 2GHz+ CPU 11 | - RAM: 4 GB 12 | - SSD: 64 GB 13 | - Ubuntu Server 19.10 14 | 3. API Gateway / Docker 15 | - CPU: Quad core 2GHz+ CPU 16 | - RAM: 16 GB 17 | - SSD: 500 GB 18 | - Ubuntu Server 19.10 19 | 4. MongoDB 20 | - CPU: Quad core 2GHz+ CPU 21 | - RAM: 32 GB 22 | - SSD: 500 GB (SSD for best performance) 23 | - Ubuntu Server 19.10 24 | 5. AI Machine 25 | - CPU: Quad core i7 or superior 26 | - RAM: 32GB 27 | - SSD: 250GB 28 | - Graphic card: Nvidia Titan RTX, Nvidia Titan XP or similar 29 | 30 | -------------------------------------------------------------------------------- /docs/bn000template.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
Below displays http://gh.2cld.net/docs/bn000template.md
6 | Return to Docs index 7 |
8 |
9 | 10 | 11 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /docs/proxmox/proxmox-vlan.md: -------------------------------------------------------------------------------- 1 | # proxmox vlan config 2 | 3 | ## commandline 4 | 1. List vm on server 5 | ``` 6 | qm list 7 | ``` 8 | 2. Start vm on server 9 | ``` 10 | qm start 601 11 | ``` 12 | 2. Stop vm on server 13 | ``` 14 | qm stop 601 15 | ``` 16 | 17 | ## network config 18 | - Where the network config that matters lives 19 | ``` 20 | vi /etc/network/interfaces 21 | 22 | service networking restart 23 | 24 | /etc/init.d/networking restart 25 | ``` 26 | - Adding VLAN to proxmox [Nic VLAN tagging](https://forum.proxmox.com/threads/proxmox-single-nic-vlan-tagging.44415/) 27 | 28 | ### References 29 | - [Proxmox Networks vlan bridge nat](https://pve.proxmox.com/wiki/Network_Configuration) 30 | - [Proxmox Command Line Tools](https://pve.proxmox.com/wiki/Command_line_tools) 31 | - [Debian VLAN](https://wiki.debian.org/NetworkConfiguration#Howto_use_vlan_.28dot1q.2C_802.1q.2C_trunk.29_.28Etch.2C_Lenny.29) 32 | -------------------------------------------------------------------------------- /docs/blenderCacheBake.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 |
Below displays http://gh.2cld.net/docs/blenderCacheBake.md
7 | Return to Docs index 8 |
9 |
10 | 11 | 12 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /docs/gridfarm.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
Below displays http://gh.2cld.net/docs/gridfarm.md
6 | Return to Docs index 7 |
8 |
9 | 10 | 11 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/overview.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
Below displays http://gh.2cld.net/docs/overview.md
6 | Return to Docs index 7 |
8 |
9 | 10 | 11 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/workflow.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
Below displays http://gh.2cld.net/docs/workflow.md
6 | Return to Docs index 7 |
8 |
9 | 10 | 11 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/gridmanage.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
Below displays http://gh.2cld.net/docs/gridmanage.md
6 | Return to Docs index 7 |
8 |
9 | 10 | 11 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /docs/ghrenderService.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
Below displays http://gh.2cld.net/docs/ghrenderService.md
5 | Return to Docs index 6 |
7 |
8 | 9 | 10 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /ghbin/indexFrames.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # This is a script to take a series of frames that have been rendered with a step and 4 | # index them into a sequence on ones. 5 | 6 | echo "What is the file path to the folder holding the frames?" 7 | read path 8 | 9 | echo "What would you like the new frames to be called (hint: not the same name)" 10 | read filename 11 | 12 | echo "What frame would you like the new indexed frames to start?" 13 | read start 14 | 15 | echo "What is the extension for the outputted frames?" 16 | read extension 17 | 18 | index=$start 19 | 20 | while read frame 21 | do 22 | paddedNumber=$(printf "%04d" $index) 23 | echo "moving $frame to $path/$filename.$paddedNumber.$extension" 24 | cp $frame $path/$filename.$paddedNumber.$extension 25 | # ( index++ ) 26 | let index=$index+1 27 | 28 | # if [ "${#projectQuery}" < "5" ] 29 | # then 30 | # break 31 | # fi 32 | # source $projectQuery 33 | # ghDebug "scanProject $baseName $animBucket $rendBucket" 34 | # scanProject $baseName $animBucket $rendBucket 35 | 36 | done < <( ls -1 $path/*$extension ) 37 | -------------------------------------------------------------------------------- /docs/crowdrender/README.md: -------------------------------------------------------------------------------- 1 | # Crowd-Render 2 | 3 | - [Crowd-Render main site](https://www.crowd-render.com/ ) 4 | - [Crowd-Render YouTube videos](https://www.youtube.com/channel/UCo26vYNF6WzMuVM10xzO7sQ/videos) 5 | - [Github (docker)](https://github.com/crowdrender/cr-docker) 6 | - [Github (docker NVidia)]( https://github.com/NVIDIA/nvidia-docker ) 7 | 8 | ## Setup 9 | - [Quick Build | Making a render farm in Blender 2.81](https://www.youtube.com/watch?v=NLhdJ5a-jy4) 10 | 11 | ## Distributed Render setup 12 | - [Crowd-Render -> Packing libraries and assets](https://youtu.be/ttZVSYKFcgE) 13 | - [Explains External Data -> Automatically Pack into .blend](https://youtu.be/ttZVSYKFcgE?t=100) Warning: This does NOT pack Linked and Append files which is why it's an issue with distributed rendering 14 | - [Explains Save As -> pack all .blend](https://youtu.be/ttZVSYKFcgE?t=257) 15 | - [Shows the hard to find command ](https://youtu.be/ttZVSYKFcgE?t=544) 16 | - Edit -> Search: "pack" 17 | - Select: "File: Pack Blender Libraries" 18 | - Save As: "whatever_pack_all_libs.blend" 19 | - Copy THAT blend file to distributed nodes 20 | - Resync and render 21 | -------------------------------------------------------------------------------- /docs/magma/README.md: -------------------------------------------------------------------------------- 1 | [edit](https://github.com/2cld/gh/edit/master/docs/magma/README.md) 2 | 3 | # Magma 4 | 5 | - [ghMagma_Install google doc ghadmin](https://docs.google.com/document/d/1OMynAqcAFVLHyYkqTRr9BIQ2l7WvQnIka_QEcX6eXOc/edit) 6 | - [how-to-install-joomla-4-0-on-ubuntu-20-04](https://linuxhostsupport.com/blog/how-to-install-joomla-4-0-on-ubuntu-20-04/) 7 | - [netplan](https://netplan.io/examples) 8 | - [nfs mount on 22.04](https://www.digitalocean.com/community/tutorials/how-to-set-up-an-nfs-mount-on-ubuntu-22-04) 9 | - [open mysql port 3306 in ubuntu](https://devstudioonline.com/article/allow-mysql-to-access-anywhere-at-port-3306-in-ubuntu) 10 | 11 | --- 12 | 13 | - [Joomla on Synology](https://mariushosting.com/how-to-install-joomla-on-your-synology-nas/) 14 | - [plex on Synology](https://forums.plex.tv/t/installation-setup-of-plex-media-server-on-synology/572179/8) 15 | 16 | --- 17 | 18 | - [Virtual Box download](https://www.virtualbox.org/wiki/Downloads) 19 | - [Microsoft Visual C++ Redistributable for Visual Studio 2017](https://visualstudio.microsoft.com/vs/older-downloads/) 20 | - [Microsoft Visual C++ Redistributable for Visual Studio 2019](https://my.visualstudio.com/Downloads?q=visual%20studio%202019&wt.mc_id=o~msft~vscom~older-downloads) 21 | -------------------------------------------------------------------------------- /docs/gridtemplate/README.md: -------------------------------------------------------------------------------- 1 | # Grid Template 2 | Overview of components and innterconnect for an IaS grid deployment. 3 | 4 | ## Components 5 | ![gridtemplate-overview](gridtemplate-overview.svg) 6 | 7 | Note: gridtemplate-overview [Edit via draw.io](https://app.diagrams.net/#H2cld%2Fgh%2Fmaster%2Fdocs%2Fgridtemplate%2Fgridtemplate-overview.drawio) 8 | 9 | 1. POE Node - WAN Point of Entry 10 | - Router [pfsense](https://www.pfsense.org/) 11 | - Firewall [pfsense](https://www.pfsense.org/) 12 | - Switch [pfsense](https://www.pfsense.org/) or [cumulus](https://cumulusnetworks.com/products/cumulus-linux/) 13 | 2. LAN SDN - Local Area Network (LAN) Software Defined Network (SDN) 14 | - DHCP [drp](http://rebar.digital/) 15 | - iPXE [drp](http://rebar.digital/) 16 | - DNS [drp](http://rebar.digital/) 17 | - Subnets 18 | - VLAN 19 | 3. CPU SDC - Central Processing Unit (CPU) Software Defined Compute (SDN) 20 | - Bare Metal Boot iPXE [drp](http://rebar.digital/) 21 | - Virtual Machines [proxmox](https://www.proxmox.com/en/proxmox-ve) 22 | - K8s [k8s](https://kubernetes.io/) 23 | 4. Storage SDS - Software Defined Storage (SDS) 24 | - local [drp](http://rebar.digital/) 25 | - iSCSI [drp](http://rebar.digital/) [freeNAS](https://www.freenas.org/) 26 | - NFS [freeNAS](https://www.freenas.org/) 27 | - ceph [proxmox](https://www.proxmox.com/en/proxmox-ve) 28 | -------------------------------------------------------------------------------- /docs/freeNAS/TrueNASproxmox.md: -------------------------------------------------------------------------------- 1 | Install TrueNAS scale on proxmos 2 | 3 | # TrueNAS Scale on Proxmox [youtube](https://youtu.be/2Ja_e6CMkNY?list=PLOgmFrM3hTGdPanIqKXMI5yx76cPlsOHO) 4 | 5 | - [tc 10:35 Create vm](https://youtu.be/2Ja_e6CMkNY?t=635) - TrueNAS scale iso [download url](https://download.truenas.com/TrueNAS-SCALE-Bluefin/22.12.0/TrueNAS-SCALE-22.12.0.iso) 6 | - node: cg VM ID: 102 Name: truenas StartupOrder: 2 StatupDelay: 30 7 | - Qemu Agent: checked 8 | - scsi0 50GB QEMU image format SSD emulation 9 | - 4 more drives for testing 10 | - CPU: 4 cores Type host 11 | - Mem 24576, uncheck Ballooning Device 12 | - Passthrough PCI Hardware->Add->PCI Device find controller and pass through check all functions 13 | 14 | ## Plex app install issues 15 | - [TrueNAS: Full Setup Guide for Setting Up Portainer, Containers and Tailscale](https://www.youtube.com/watch?v=R7BXEuKjJ0k) - [level1 techs store](https://store.level1techs.com/) 16 | - [TrueNAS Scale Apps - Official, Unofficial, Docker, and Kubernetes](https://www.youtube.com/watch?v=oafOky5GSzc) 17 | - [truenas-scale-cannot-deploy-plex](https://www.truenas.com/community/threads/truenas-scale-cannot-deploy-plex.100397/) 18 | - [Plex Docker Container with NFS mounts](https://www.youtube.com/watch?v=OffGg2F6TlU) 19 | 20 | ## Truenas scale k3s issues 21 | - [k3s.yaml permission denied issue](https://devops.stackexchange.com/questions/16043/error-error-loading-config-file-etc-rancher-k3s-k3s-yaml-open-etc-rancher)/config 22 | - [.kube config issue](https://devops.stackexchange.com/questions/16013/k3s-the-connection-to-the-server-localhost8080-was-refused-did-you-specify-t/16014#16014) 23 | - [expose k3s api in truenas scale](https://www.reddit.com/r/truenas/comments/onu407/exposing_k3s_api_in_truenas_scale/) 24 | -------------------------------------------------------------------------------- /docs/blender/architecture/ArchiPack/README.md: -------------------------------------------------------------------------------- 1 | # ArchiPack 2 | Blender add-on Archipack 3 | 4 | ## Install and simple [tutorial](https://www.youtube.com/watch?v=l-aom9PyosM) 5 | 1. Info [blender-archipack.org](https://blender-archipack.org) 6 | 2. Install via add-on in Blender 2.8 [TC 1:43](https://youtu.be/l-aom9PyosM?t=103) 7 | - Edit -> Prefernces -> Search "archi" 8 | - Click "Add Mesh Archipack" 9 | 3. Verify new Add-on by adding a wall 10 | - Add -> Mesh -> Archipack -> Wall 11 | - Shift-A -> M (Mesh) -> A (Archipack) -> W (Wall) 12 | 4. Set units to Feet 13 | - Scene -> Units: Imperial - Length: Feet [TC 2:49](https://youtu.be/l-aom9PyosM?t=169) 14 | - Edit values by clicking on them [TC 3:00](https://youtu.be/l-aom9PyosM?t=180) 15 | - make wall 10' x 10' x 0.5' and close in 16 | 5. Click arrows at end of wall to add another wall segment do this to make a box [TC 4:36](https://youtu.be/l-aom9PyosM?t=276) 17 | 6. Render out complex objects [TC 5:27](https://youtu.be/l-aom9PyosM?t=327) 18 | 7. Add window to your box [TC 6:39](https://youtu.be/l-aom9PyosM?t=399) 19 | - Setup Window to auto insert into wall [TC 7:15](https://youtu.be/l-aom9PyosM?t=435) 20 | - Select Window and Wall object got to Archiback Create -> Boolean 21 | 22 | 23 | ## Other 24 | - [Floor Plan Part 1](https://www.youtube.com/watch?v=eiDVmoecTw4) 25 | - [Floor Plan Part 2](https://www.youtube.com/watch?v=YdpiSFWC4UQ) 26 | - [CAD for Blender](https://www.youtube.com/watch?v=tUU5D13nBJs) 27 | - [Snapping in Blender](https://www.youtube.com/watch?v=0p06F1LzTjQ) good for alignment of objects 28 | - [Cutters in Blender](https://www.youtube.com/watch?v=ADiqhdBF-WY) 29 | - [Model a toilet](https://www.youtube.com/watch?v=AQLNMRJiaIU) 30 | - [openvisualfx.com](https://openvisualfx.com/) 31 | -------------------------------------------------------------------------------- /docs/rpiArtist/README.md: -------------------------------------------------------------------------------- 1 | # Artist Blender Station on Raspberry Pi 4 2 | The purpose is to setup a Raspberry Pi 4 as an Artist Workstation for Blender 2.8x use. 3 | 4 | ## Setup 5 | 1. Download [Raspbian Buster with desktop and recommended software](https://www.raspberrypi.org/downloads/raspbian/). 6 | 2. The 2.65 GB file name was: 2020-02-05-raspbian-buster-full.zip at the time of this document. 7 | 3. Download [Balena.io Etcher](https://github.com/balena-io/etcher) and install. 8 | 4. Burn raspbian to SD Card. 9 | 5. Insert SD Card into rpi4 and power-on. You will be asked config information an will be required to reboot. 10 | 6. After reboot we need to [update to debian bullseye](https://ultra-technology.org/linux_for_beginners/from-buster-to-bullseye-debian/): 11 | 1. Edit /etc/apt/sources.list to add bullseye 12 | ```bash 13 | deb http://ftp.uk.debian.org/debian/ bullseye main contrib non-free 14 | ``` 15 | 2. Update the system package database. New package versions will be available: 16 | ```bash 17 | sudo apt update 18 | ``` 19 | 3. Make a full upgrade of the system (this may take awhile and has a few interactive prompts): 20 | ```bash 21 | sudo apt upgrade 22 | sudo apt dist-upgrade 23 | ``` 24 | 4. Reboot the system to start new kernel and services. 25 | 5. Check the release: 26 | ```bash 27 | lsb_release -a 28 | ... 29 | Distributor ID: Debian 30 | Description: Debian GNU/Linux bullseye/sid 31 | Release: testing 32 | Codename: bullseye 33 | ``` 34 | 7. Install blender: 35 | ```bash 36 | apt-get install blender 37 | ``` 38 | 8. Check blender version (should be 2.82 at the time of this document): 39 | ```bash 40 | blender --version 41 | ``` 42 | 9. Start blender and check 43 | ```bash 44 | ./blender 45 | ``` 46 | -------------------------------------------------------------------------------- /ghbin/tplMaker.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # !!!! THIS SCRIPT MUST BE RUN ON GALAXY !!!! 4 | 5 | # This is a script that is to be used to help create the tpl files for the shots and elements 6 | # that need to be created for MAGMA's tools to run. 7 | 8 | # 1. First we need to create a file that looks like this if it has not already been created. 9 | 10 | # administrator@rn09:/media/gh/ghprojects$ cat 0188_000.tpl 11 | # projectName='0188_000' 12 | # seriesNumber='0188' 13 | # showNumber='000' 14 | # zipName='_zip' 15 | # rendName='_rend' 16 | 17 | # The only variable parts of this are seriesNumber and showNumber which combined make up the 18 | # projectName which is also the .tpl file name 19 | 20 | # Then we need to make shot or element templates like this. 21 | 22 | # administrator@rn09:/media/gh/ghprojects$ cat 0188_001_0001A.tpl 23 | # shotName='_0001A' 24 | # start='1' 25 | # end='58' 26 | # step='2' 27 | 28 | # The name shotName reveals that most likely it will be a shot that we are working with. 29 | # This is where we really have the greatest need. The goal is to have the code 30 | # run all shots and elements in the database for a given show so we don't have to 31 | # individually make them. 32 | 33 | # So we need to call the database to retrieve a list of all the shots and elements along 34 | # with their respective start and end frames. Since step is typically a project wide 35 | # variable, we will just enter that manually by querying the user for input. 36 | 37 | # mysql -u magma -pG0B0tsMicr0B0ts69 < Volumes -> Create Dataset (under the Volume OR Dataset you desire) 46 | 47 | 48 | -------------------------------------------------------------------------------- /docs/crowdrender/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |

crowdrender for Blender Render Grid

5 |
    General 6 |
  1. Crowd-Render https://www.crowd-render.com/
  2. 7 |
  3. cat9box - What#Time https://discovery.crowd-render.com/download
  4. 8 |
  5. Github (docker) https://github.com/crowdrender/cr-docker
  6. 9 |
  7. Github (docker NVidia) https://github.com/NVIDIA/nvidia-docker
  8. 10 |
11 |
    Setup YouTube - Quick Build | Making a render farm in Blender 2.81 12 |
  1. Start Blender
  2. 13 |
  3. Install Crowd-Render Addon YouTube - Install Addon 14 |
      15 |
    • Edit -> Preferences -> Add-ons
    • 16 |
    • Uninstall old (if one exist) Search: crowd then click X (remove)
    • 17 |
    • Click "Install"
    • 18 |
    • Search for the cr_022_bl280.zip file you downloaded
    • 19 |
    • Click the checkbox to enable
    • 20 |
    • Click the Add-in (filefolder like icon) in the blender panel
    • 21 |
    • Click start in the blender addon panel (to the right)
    • 22 |
    • Should get a new addon panel
    • 23 |
    24 |
  4. 25 |
  5. Add other nodes 26 |
      27 |
    • Crowdrender -> Render Nodes click +
    • 28 |
    • Enter remote node name and IP address
    • 29 |
    • Node should eventually be highlighted and "synced" in Render Nodes list
    • 30 |
    • WARNING!!! The blend project MUST BE PACKAGES (both assets and libraries)
    • 31 |
    32 |
  6. 33 |
  7. Use "Render still" or "Animation" Crowd Render buttons to create a render
  8. 34 |
35 |
    FIX 36 |
  1. FIX Windows if old version was running Windows Fix FIX
  2. 37 |
38 | 39 | 40 | -------------------------------------------------------------------------------- /docs/pfsense/ghlanOverviewDetail.md: -------------------------------------------------------------------------------- 1 | # Overview of pfsense config of gh.lan 2 | 3 | ## [youtube - gh.lan Overview](https://youtu.be/HJzfB8MpkJg) 4 | 5 | 1. Review [gh.2cld.net/docs/](http://gh.2cld.net/docs/) [TC 0:56](https://youtu.be/HJzfB8MpkJg?t=56) 6 | 2. Talk through existing IP space using doc [TC 3:54](https://youtu.be/HJzfB8MpkJg?t=234) 7 | 3. Begin the below drawing [TC 4:33](https://youtu.be/HJzfB8MpkJg?t=273) 8 | ![ghlearn-ghlanNetworkOverviewDiagram](ghlearn-ghlanNetworkOverviewDiagram.jpeg) 9 | 4. Show DHCP Lease IP assignment [TC 7:47](https://youtu.be/HJzfB8MpkJg?t=467) 10 | 5. Show WAN interface 192.168.254.1 DNS Server [TC 10:06](https://youtu.be/HJzfB8MpkJg?t=606) 11 | 6. Discribe the 2 network LAN pools old - 192.168.254.0/24 and new - 192.168.252.0/23 [TC 11:15](https://youtu.be/HJzfB8MpkJg?t=675) 12 | 7. Why we are layering to gain control and future VLANs [TC 12:28](https://youtu.be/HJzfB8MpkJg?t=748) 13 | 8. Show pfsense interfaces WAN and LAN [TC 16:42](https://youtu.be/HJzfB8MpkJg?t=1002) 14 | 9. Show pfsense WAN firewall rules [TC 18:51](https://youtu.be/HJzfB8MpkJg?t=1131) 15 | 10. Show pfsense LAN firewall rules [TC 19:31](https://youtu.be/HJzfB8MpkJg?t=1171) 16 | 11. pfsense Dashboard widgets [TC 22:56](https://youtu.be/HJzfB8MpkJg?t=1376) 17 | 12. pfsense Screens Walkthrough [TC 24:00](https://youtu.be/HJzfB8MpkJg?t=1440) 18 | 13. pfsense DHCP Server [TC 28:39](https://youtu.be/HJzfB8MpkJg?t=1719) 19 | 14. pfsense DNS Server [TC 30:43](https://youtu.be/HJzfB8MpkJg?t=1843) 20 | 15. pfsense DNS Host Overrides [TC 32:54](https://youtu.be/HJzfB8MpkJg?t=1974) 21 | 16. pfSense DHCP MAC to IP Mappings [TC 33:55](https://youtu.be/HJzfB8MpkJg?t=2035) 22 | 17. Change document gateway IP to netstack standard [TC 36:08](https://youtu.be/HJzfB8MpkJg?t=2168) 23 | 18. Review Network Traffic using Diagram [TC 33:04](https://youtu.be/HJzfB8MpkJg?t=2284) 24 | 19. Add sg.gh.lan DNS entry [TC 39:59](https://youtu.be/HJzfB8MpkJg?t=2399) 25 | 20. Add ng.gh.lan DNS entry [TC 43:25](https://youtu.be/HJzfB8MpkJg?t=2605) 26 | 21. Go through a DHCP MAC resolution to IP to DNS [TC 48:27](https://youtu.be/HJzfB8MpkJg?t=2907) 27 | 22. Debug sg.gh.lan DNS name resolution [TC 56:00](https://youtu.be/HJzfB8MpkJg?t=3360) 28 | 29 | 30 | ----- 31 | 32 | 0. [TC tbd]() 33 | 1. [TC tbd]() 34 | 2. [TC tbd]() 35 | 3. [TC tbd]() 36 | 4. [TC tbd]() 37 | 5. [TC tbd]() 38 | 6. [TC tbd]() 39 | 7. [TC tbd]() 40 | 8. [TC tbd]() 41 | 9. [TC tbd]() 42 | -------------------------------------------------------------------------------- /docs/testrpi/README.md: -------------------------------------------------------------------------------- 1 | # Test of Raspberry Pi 5 cluster 2 | 3 | - Based on [edgelab.digital](https://github.com/digitalrebar/edgelab) 4 | 5 | ## Power setup 6 | 1. 3.0A for Raspberry Pi 4 Model B (2.5A for B+) [pi-power](https://www.raspberrypi.org/documentation/faqs/#pi-power) 7 | 2. 60W = 3A x 5V x 4 rpi4 5V Power source for stack 8 | 3. 20A @ 5V so an old PC ATX Power supply would work. 9 | 10 | ## Mechanical setup 11 | 1. Use a [4 cluster case](https://www.amazon.com/gp/product/B07CTG5N3V/ref=ppx_yo_dt_b_asin_title_o00_s00?ie=UTF8&psc=1) 12 | 2. Use a [8 port TPLink TL-SG108E](https://www.amazon.com/gp/product/B00K4DS5KU/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1) 13 | 14 | ## Schematics 15 | ![](ATX-BenchSupply-Diagram-1.png) 16 | ![](ATX-BenchSupply-Diagram-2.png) 17 | ![](ATX-BenchSupply-Pinout-1.png) 18 | ![](ATX-BenchSupply-Pinout-2.png) 19 | 20 | ## Notes: 21 | - [CircuitPython](https://en.wikipedia.org/wiki/CircuitPython) 22 | - [LiPo SHIM rpi lithuium ion battery pack shim](https://shop.pimoroni.com/products/lipo-shim) 23 | - [ATX Standards](https://en.wikipedia.org/wiki/Power_supply_unit_(computer)) 24 | - [ATX Bench Supply Tutorial](https://www.youtube.com/watch?v=n_A-jkpjpcM) 25 | - [ATX Power Supply pinout](https://youtu.be/n_A-jkpjpcM?t=768) 26 | - [Patch Panel wire diagram](https://youtu.be/n_A-jkpjpcM?t=1360) 27 | - [Volt Amp Meter wire diagram](https://youtu.be/n_A-jkpjpcM?t=2157) 28 | - [ATX Power Supply](https://www.youtube.com/watch?v=UiaqnFYK6SE) 29 | - [Andreas Spiess YouTube](https://www.youtube.com/channel/UCu7_D0o48KbfhpEohoP7YSQ/videos) 30 | - [RPi4 SSD Boot](https://www.youtube.com/watch?v=gp6XW-fGVjo) 31 | - [RPi Docker Setup](https://www.youtube.com/watch?v=a6mjt8tWUws) 32 | - [WiFi Antennas Long-Range Mode - Part1](https://www.youtube.com/watch?v=2rujjTOPIRU) 33 | - [WiFi Antennas Long-Range Mode - Part2](https://www.youtube.com/watch?v=PUppoaePi3A) 34 | - [WiFi Antennas Optimization with N1201SA VNA](https://www.youtube.com/watch?v=ZpKoLvqOWyc) 35 | - [Amazon - N1201SA VNA](https://www.amazon.com/KKmoon-137-5MHz-2-7GHz-Measuring-Instrument-Impedance/dp/B081SVYMPZ/ref=sr_1_fkmr1_2?keywords=N1201A+Vector+Impedance+Analyzer&qid=1583439104&sr=8-2-fkmr1) 36 | - [MotionEyeOS - Surveillance RPi](https://www.youtube.com/watch?v=NbFruaDUKB0) 37 | - [RPi4 V1.1 vs V1.2 Power H/W Issue](https://www.youtube.com/watch?v=_wt9NTa1UNE) 38 | 39 | ### My issues with edgelab-demo 40 | - [EEProm on fresh rpi4](https://github.com/digitalrebar/edgelab/issues/9) 41 | - [Missing rpi4 iso on default](https://github.com/digitalrebar/edgelab/issues/10) 42 | -------------------------------------------------------------------------------- /docs/freeNAS/README.md: -------------------------------------------------------------------------------- 1 | # FreeNAS 2 | 3 | The 2cld storage infrastructure pattern uses ZFS storage mounted via NFS, SMB and iSCSI via a FreeNAS server. Storage allocation, snapshots and recovery are determined via project / customer SLA and maintained through management of ZFS snapshot, replication and rsync tools via the FreeNAS server. 4 | 5 | ## Grasshorse Storage Infrastructure 6 | 7 | 1. [projects.gh.lan](https://192.168.254.6) - Production Pipline Project Storage 8 | 2. [garage.gh.lan](https://192.168.254.7) - Enterprise storage for ZFS volume replication 9 | 3. [CATFreeNAS](https://192.168.254.14) - DeepStorage and Disaster Recovery 10 | 11 | ### Snapshot, Replication and Recover 12 | 13 | 1. [projects.gh.lan](https://192.168.254.6) 14 | 1. ZFS Volumes 15 | - Projects 16 | 2. ZFS Snapshot every 2hrs 17 | 3. ZFS Replication to [garage.gh.lan](https://192.168.254.7) every night starting at 8PM CST 18 | 4. Keep 28 snapshots ? 19 | 2. [garage.gh.lan](https://192.168.254.7) 20 | 1. ZFS Volumes 21 | - Projects (target for ZFS replication) 22 | 2. XFS Snapshot daily at 4pm 23 | 24 | ![A-gh-StorageOverview](./A-gh-StorageOverview.svg) 25 | 26 | ### Reference 27 | - [Lawrence Systems - FreeNAS 11.2 Snapshots / Replication](https://www.youtube.com/watch?v=Ge8eLR2FvDU&list=PLjGQNuuUzvmug2-LMfh43ehP9nt8gmCSf&index=36) 28 | - [Lawrence Systems - How To Backup Your FreeNAS 11.3 Using ZFS Replication](https://www.youtube.com/watch?v=et7JyacV_hA&list=PLjGQNuuUzvmug2-LMfh43ehP9nt8gmCSf&index=5) 29 | - [Lawrence Systems - How To Backup Your FreeNAS 11.3 Using ZFS Replication](https://www.youtube.com/watch?v=et7JyacV_hA) 30 | - [Zerotier vpn on Freebsd](https://gist.github.com/dch/b36dd170209e65677d23f77c44825b5a) 31 | - [Zerotier CLI](https://zerotier.atlassian.net/wiki/spaces/SD/pages/29065282/zerotier-cli) 32 | - [Lawrence Systems - ZeroTier on FreeNAS](https://forums.lawrencesystems.com/t/zerotier-on-freenas/1650) 33 | - [IXXyxtems - ZeroTier on FreeNAS](https://www.ixsystems.com/community/threads/zerotier-how-is-this-configured.56070/) 34 | - [FreeNAS - Zerotier Setup](https://techmaniac.in/freenasyt/freenasyt.html) 35 | - [Lawrence Systems - FreeNAS VPN | Zerotier Setup | Remote Access FreeNAS Jail and Console](https://www.youtube.com/watch?v=fEkybngMcWk) 36 | - [Fun with ZFS send and receive](https://128bit.io/2010/07/23/fun-with-zfs-send-and-receive/) 37 | - The config instructions for [cat9FreeNAS](./cat9FreeNAS.md) from original 2017-10-26 [cat9FreeNAS google doc](https://docs.google.com/document/d/1kE2nafGL4KOyLlbPjma4ittpz_pkTlQPhcBlV2qrHMU/edit) 38 | -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- 1 | [edit](https://github.com/2cld/gh/edit/master/docs/README.md) 2 | 3 | [Network Map](./ghNetworkMap) 4 | 5 | ## [gh.lan](http://gh.2cld.net) using [netstack](https://netstack.org/docs) organizational service gateways 6 | - ng.gh.lan Network Gateway Overview [youtube - network - ng.gh.lan](https://youtu.be/HJzfB8MpkJg) detail [document - pfsense - ng.gh.lan](./pfsense/ghlanOverviewDetail) 7 | - sg.gh.lan Storage Gateway Overview [tbd youtube - storage - sg.gh.lan]() 8 | - cg.gh.lan Compute Gateway Overview [tbd youtube - compute - cg.gh.lan]() 9 | 10 | ## [ng.gh.lan](https://ng.gh.lan) Network Gateway configuration with [pfsense.org](https://www.pfsense.org/) 11 | - ng.gh.lan uses pfsense [document - pfsense](./pfsense/) 12 | - ng.gh.lan [youtube - network - ng.gh.lan](https://youtu.be/HJzfB8MpkJg) detail [document - pfsense - ng.gh.lan](./pfsense/ghlanOverviewDetail) 13 | - ng.gh.lan network setup [document - Netstack pfSense - Setup](https://netstack.org/docs/lan/network/pfsense/setup) 14 | - ng.gh.lan network maintainace - tbd 15 | - ng.gh.lan network disaster recovery (dr) - tbd 16 | 17 | ## [sg.gh.lan](https://sg.gh.lan) Storage Gateway configuration with [freenas.org](https://www.freenas.org/) 18 | - sg.gh.lan storage - freenas [document - freenas](./freeNAS/) 19 | - sg.gh.lan [tbd youtube - storage - sg.gh.lan]() detail [document - freenas - sg.gh.lan](./freeNAS/ghlanStorageOverviewDetail) 20 | - sg.gh.lan storage setup [document - netstack freenas - Setup](https://netstack.org/docs/lan/storage/freenas/setup) 21 | - sg.gh.lan storage maintainace - tbd 22 | - client storage configuration [document - Windows10 client - SMB mount](https://netstack.org/docs/lan/storage/freenas/setup#windows-10-map-network-drive) 23 | - sg.gh.lan storage disaster recovery (dr) - tbd 24 | 25 | ## [cg.gh.lan](https://cg.gh.lan) Compute Gateway configuration with [xcp-ng](https://xcp-ng.org) 26 | - cg.gh.lan compute uses xcp-ng [document - xcp-ng](./xcp-ng/) 27 | - cg.gh.lan [tbd youtube - storage - cg.gh.lan]() detail [document - xcp-ng - cg.gh.lan](./xcp-ng/ghlanComputeOverviewDetail) 28 | - cg.gh.lan compute setup [document - Netstack xcp-ng - Setup](https://netstack.org/docs/lan/compute/xcp-ng/setup) 29 | - cg.gh.lan compute maintainace - tbd 30 | - cg.gh.lan compute disaster recovery (dr) - tbd 31 | 32 | 33 | - todo [Data and Backups]() 34 | - todo [Workstation Setup]() 35 | - todo [Magma Useage]() 36 | - todo [Blender]() 37 | - todo [Render Grid]() 38 | 39 | ## Setup 40 | - rendernode [bn000template](bn000template.html) setup 41 | - rendernode [ghrenderService](ghrenderService.html) create 42 | 43 | ## FIX Notes 44 | - Grasshorse rendernode [blenderCacheBake](blenderCacheBake.html) FIX 45 | -------------------------------------------------------------------------------- /docs/teststack/NetworkMonitors.md: -------------------------------------------------------------------------------- 1 | # Fault Moniotrs 2 | 3 | ## Currently none 4 | 5 | ## Manual Monitor Notes 6 | 1. List last logins 7 | - radmin@ra01web:~$ last 8 | 2. List bash history 9 | - radmin@ra01web:~$ cat .bash_history 10 | 3. List hardware hardware 11 | - radmin@ra01web:~$ sudo lshw 12 | 13 | 54 | -------------------------------------------------------------------------------- /docs/gridfarm.md: -------------------------------------------------------------------------------- 1 | # Grid Farm shared storage setup 2 | 3 | nodeRenderService.sh uses /media/farm nfs mount to control render nodes collect render jobs 4 | 5 | ## nodeService.sh /media/farm Storage Diagram 6 | ![nodeServiceDiagram](ghOverviewDiagram-nodeServiceDiagram.svg) 7 | 8 | ## /media/farm structure 9 | On catmini (192.168.9.20) I mount farm to /private/nfs to view 10 | ``` 11 | catmini:~ cat$ sudo mount -t nfs 192.168.9.2:/mnt/MediaVolume/farm /private/nfs 12 | ``` 13 | Should see this 14 | ![ghcluster-farm](ghcluster-farm.png) 15 | 16 | ### /media/farm/ghbin 17 | contains scripts 18 | - nodeRenderService.sh - main script ( installed in /home/ghadmin/ and called by ghrender.service at startup ) 19 | 20 | ### /media/farm/ghcache 21 | contains the BakeFix cache for project assets 22 | 23 | - smoke_cashe 24 | - smoke_cashe/0215_002_0003A_3danim_cache 25 | 26 | ### /media/farm/ghlogs 27 | contains log status from each of the nodes and gridNodes.list with start/stop service details from all nodes 28 | 29 | - gridNodes.list - Start/Stop status from all node services 30 | - nodeStatus_bn01.list - Frame render start-stop times from each node 31 | - nodeStatus_bn02.list 32 | - nodeStatus_bn03.list 33 | - nodeStatus_bn04.list 34 | 35 | ### /media/farm/ghprojects 36 | contains jobPriority.list which is a list of jobs and job controls. 37 | #### Control functions 38 | 1. "PPPP_SSS_EEEEE_rend/*.cfg" - will read all cfg files in /media/farm/PPPP_SSS_EEEEE_rend directory 39 | 2. "allstop" - if this command is read, render service will stop and exit 40 | 3. "rescan" - if this command is read, render service will re-read the jobPriority.list and start from TOP 41 | 42 | - jobPriority.list 43 | #### Example one project and repeat 44 | ``` 45 | 0215_002_0007A_rend/*.cfg 46 | rescan 47 | ``` 48 | #### Example two projects but have all nodes rescan after each project (verifies top of list gets done) 49 | ``` 50 | 0215_002_0007A_rend/*.cfg 51 | rescan 52 | 0215_002_0004A_rend/*.cfg 53 | rescan 54 | ``` 55 | #### Example have nodes stop (they will finish work they are doing but next time they read jobPriority.list they will exit) 56 | ``` 57 | allstop 58 | 0215_002_0007A_rend/*.cfg 59 | rescan 60 | 0215_002_0004A_rend/*.cfg 61 | rescan 62 | ``` 63 | 64 | ### /media/farm/PPPP_SSS_EEEEV_ 65 | contains project_rend project_zip 66 | 67 | - /media/farm/PPPP_SSS_EEEEV_rend 68 | - /media/farm/PPPP_SSS_EEEEV_zip 69 | 70 | #### /media/farm/PPPP_SSS_EEEEV_rend 71 | contains frame.cfg frame.lock frame.png this is the 'work distribution and output collection' directory 72 | 73 | - frame.cfg 74 | - configure information used to feed blender render command 75 | ``` 76 | zipBucket='/media/farm/0215_002_0007A_zip/' 77 | rendBucket='/media/farm/0215_002_0007A_rend/' 78 | zip='0215_002_0007A_3danim_v002.zip' 79 | blend='0215_002_0007A_3danim_v002.blend' 80 | fileName='0215_002_0007A_3danim_v002' 81 | frameName='0215_002_0007A_3danim_v002.0001' 82 | start='0001' 83 | end='0001' 84 | step='1' 85 | ``` 86 | - frame.lock 87 | - ghrender bid / locking for node sync 88 | ``` 89 | blamURL=bn01 90 | bidCreated='Mon May 20 23:19:38 UTC 2019' 91 | bidWon='Mon May 20 23:19:39 UTC 2019' 92 | ``` 93 | - frame.png - output render 94 | - initially, the rendernode will create the frame.png with touch (empty file) while it renders 95 | - on completion of local frame.png output by blender, the node check the output and copies it to farm 96 | 97 | 98 | -------------------------------------------------------------------------------- /docs/blender/blender-create-shelf.md: -------------------------------------------------------------------------------- 1 | # Create a simple shelf in Blender 2.8 2 | 3 | ## Shelf [Video](https://www.youtube.com/watch?v=OOBKo-O6i_8) 4 | 1. Open new Blender file and set to feet 5 | - Blender default unit is 1 meter 6 | - Properties -> Scene tab -> Units -> Dropdown to select the blender units Imperial 7 | - Verify Unit Scale: 1.0 8 | - Verify Length: Feet 9 | 2. Delete camera and light 10 | - LMB click light 11 | - RMB -> Select: Delete 12 | - Repeat for camera 13 | 3. Modify Box [Video](https://youtu.be/OOBKo-O6i_8?t=27) 14 | 1. Move bottom face of box to z 0 15 | - LMB-Click z or type 7 on Numpad (top orth) 16 | - type 9 on Numpad (bottom face) 17 | - type Tab (switch to Edit Mode) 18 | - LMB-Click Face select 19 | - LMB-Click -> Select Bottom Face 20 | - type 1 on Numpad (front orth view) 21 | - type g z (grab move in z axis only) press cntrl and to z-0 22 | - press return (accept chagne) 23 | 2. Move left face of box to x 0 24 | - LMB-Click x or type 3 on Numpad (side orth) 25 | - type 9 on Numpad (left face) 26 | - type Tab (switch to Edit Mode) 27 | - LMB-Click Face select 28 | - LMB-Click -> Select Left Face 29 | - type 7 on Numpad (top orth view) 30 | - type g x (grab move in x axis only) press cntrl and to x-0 31 | - press return (accept change) 32 | 3. Move front face of box to y 0 33 | - LMB-Click x or type 1 on Numpad (side orth) 34 | - type Tab (switch to Edit Mode) 35 | - LMB-Click Face select 36 | - LMB-Click -> Select Front Face 37 | - type 7 on Numpad (top orth view) 38 | - type g y (grab move in y axis only) press cntrl and to y-0 39 | - press return (accept change) 40 | 4. Should have a 1'x1'x1' cube with origin at bottom left front vertex 41 | 5. Grab back face to get 1x1x4 box 42 | - LMB-Click x or type 1 the 9 on Numpad (back side) 43 | - type Tab (switch to Edit Mode) 44 | - LMB-Click Face select 45 | - LMB-Click -> Select Front Face 46 | - type 7 on Numpad (top orth view) 47 | - type g y (grab move in y axis only) press cntrl and to y-4 48 | - press return (accept change) 49 | 6. Delete front and back faces 50 | - MMB-Rotate so you see the long box face 51 | - LMB-Click 52 | - RMB-Click Select Delete Faces 53 | - Repeate for other long face 54 | 7. type Tab or Exit out of Edit Mode and go into Object Mode 55 | 4. Add Modifiers 56 | 1. LMB-Click object 57 | 2. Add Solidify modifier (wrench icon in properties tab) 58 | - LMB-Click Add Modifier 59 | - LMB-Click Solidify 60 | - Add thinkness 0.1ft 61 | - LMB-Click Apply 62 | 3. Add Array modifier shelf (wrench icon in properties tab) 63 | - LMB-Click Add Modifier 64 | - LMB-Click Array 65 | - Add Count 10 66 | - Add Array in x 0, y 0, z 1 67 | - LMB-Click Apply 68 | 4. Add Array modifier isle (wrench icon in properties tab) 69 | - LMB-Click Add Modifier 70 | - LMB-Click Array 71 | - Add Count 7 72 | - Add Array in x 0, y 1, z 0 73 | - LMB-Click Apply 74 | 5. Add Array modifier grid (wrench icon in properties tab) 75 | - LMB-Click Add Modifier 76 | - LMB-Click Array 77 | - Add Count 6 78 | - Add Array in x 1, y 0, z 0 79 | - LMB-Click Apply 80 | 5. View and Save 81 | - Pan and admire 82 | - File -> Save As: blender-create-shelf.blend 83 | - Upload to this directory 84 | -------------------------------------------------------------------------------- /docs/zerotier/README.md: -------------------------------------------------------------------------------- 1 | # [Zero Tier](https://www.zerotier.com/) 2 | 3 | 1. Login to your account [my.zerotier.com](https://my.zerotier.com/) 4 | 2. Create your own Network [https://my.zerotier.com/network](https://my.zerotier.com/network) 5 | 3. Load Client [https://www.zerotier.com/download/](https://www.zerotier.com/download/) 6 | 4. curl -s https://install.zerotier.com | sudo bash 7 | 5. Auth each node 8 | 9 | 10 | ## Videos 11 | 1. [Zerotier Tutorial](https://www.youtube.com/watch?v=Bl_Vau8wtgc) 12 | 2. [Zerotier via Wireshark](https://www.youtube.com/watch?v=9Rfqi62bo5M) 13 | 14 | ## Tests 15 | 16 | ```bash 17 | radmin@ratestweb:~$ ls /var/log/auth.log | grep radmin | grep session 18 | radmin@ratestweb:~$ cat /var/log/auth.log | grep radmin | grep session 19 | Dec 9 03:54:38 ratestweb login[897]: pam_unix(login:session): session opened for user radmin by LOGIN(uid=0) 20 | Dec 9 03:54:38 ratestweb systemd-logind[823]: New session 2 of user radmin. 21 | Dec 9 03:54:38 ratestweb systemd: pam_unix(systemd-user:session): session opened for user radmin by (uid=0) 22 | Dec 9 03:58:01 ratestweb sshd[1988]: pam_unix(sshd:session): session opened for user radmin by (uid=0) 23 | Dec 9 03:58:01 ratestweb systemd-logind[823]: New session 4 of user radmin. 24 | Dec 9 05:53:14 ratestweb sudo: pam_unix(sudo:session): session opened for user root by radmin(uid=0) 25 | Dec 9 06:03:27 ratestweb sudo: pam_unix(sudo:session): session opened for user root by radmin(uid=0) 26 | Dec 9 06:13:00 ratestweb sshd[3262]: pam_unix(sshd:session): session opened for user radmin by (uid=0) 27 | Dec 9 06:13:00 ratestweb systemd-logind[823]: New session 7 of user radmin. 28 | Dec 9 06:50:00 ratestweb sshd[3507]: pam_unix(sshd:session): session opened for user radmin by (uid=0) 29 | Dec 9 06:50:00 ratestweb systemd-logind[823]: New session 10 of user radmin. 30 | Dec 9 06:55:27 ratestweb sshd[3507]: pam_unix(sshd:session): session closed for user radmin 31 | Dec 9 17:19:24 ratestweb sshd[4547]: pam_unix(sshd:session): session opened for user radmin by (uid=0) 32 | Dec 9 17:19:24 ratestweb systemd-logind[823]: New session 22 of user radmin. 33 | Dec 9 19:33:59 ratestweb sshd[4547]: pam_unix(sshd:session): session closed for user radmin 34 | Dec 10 02:15:03 ratestweb sshd[5284]: pam_unix(sshd:session): session opened for user radmin by (uid=0) 35 | Dec 10 02:15:03 ratestweb systemd-logind[823]: New session 31 of user radmin. 36 | Dec 10 02:19:52 ratestweb sshd[5284]: pam_unix(sshd:session): session closed for user radmin 37 | radmin@ratestweb:~$ netstat 38 | 39 | Command 'netstat' not found, but can be installed with: 40 | 41 | sudo apt install net-tools 42 | 43 | radmin@ratestweb:~$ ps auxwww | grep sshd: 44 | root 1988 0.0 0.1 12908 8056 ? Ss Dec09 0:00 sshd: radmin [priv] 45 | radmin 2070 0.0 0.1 13220 6072 ? S Dec09 0:00 sshd: radmin@pts/0 46 | root 3262 0.0 0.2 13216 8568 ? Ss Dec09 0:00 sshd: radmin [priv] 47 | radmin 3357 0.0 0.1 13216 4940 ? S Dec09 0:00 sshd: radmin@pts/1 48 | radmin 5535 0.0 0.0 6296 924 pts/1 R+ 02:35 0:00 grep --color=auto sshd: 49 | radmin@ratestweb:~$ pgrep -ai sshd 50 | 1797 /usr/sbin/sshd -D 51 | 1988 sshd: radmin [priv] 52 | 2070 sshd: radmin@pts/0 53 | 3262 sshd: radmin [priv] 54 | 3357 sshd: radmin@pts/1 55 | radmin@ratestweb:~$ ss | grep ssh 56 | tcp ESTAB 0 36 10.147.19.89:ssh 10.147.19.27:54133 57 | tcp ESTAB 0 0 192.168.9.19:ssh 192.168.9.17:59023 58 | ``` 59 | -------------------------------------------------------------------------------- /docs/blender/architecture/catArchModelNotes/README.md: -------------------------------------------------------------------------------- 1 | # catArchModelNotes 2 | 3 | Based off of [How to make 3d floor plan in Blender Modeling](https://www.youtube.com/watch?v=o0k9kZwUhpo) these are my notes as I went through this tutorial. 4 | 5 | 1. Enable [AutocadDXF Emport](https://youtu.be/o0k9kZwUhpo?t=23) 6 | - Preferences -> Search "AutoCAD" 7 | - Check Import-Export: Import AutoCAD DXF Format .dxf 8 | - File Import you .dxf file 9 | 2. Turn on [Vertex Snapmode](https://youtu.be/o0k9kZwUhpo?t=34) to quickly draw walls. 10 | 3. Create a [plane mesh](https://youtu.be/o0k9kZwUhpo?t=46) 11 | - Shift A -> Mesh -> Plane 12 | - N -> set 13 | 14 | 15 | Based off of [Blender 2.8: Intro to 3D Modeling](https://www.youtube.com/watch?v=CmBMcYVW9x8) to learn some simple navigation and modeling in blender. 16 | 17 | 1. []() 18 | 19 | - Switching between a Mesh Object's 'Object Mode' and Edit Mode' [TC 1:39](https://www.youtube.com/watch?v=CmBMcYVW9x8&t=99s) 20 | - Working in Edit Mode & Sub-Object Selection modes (Vertices/Edges/Faces) [TC 3:09](https://www.youtube.com/watch?v=CmBMcYVW9x8&t=189s) 21 | - Extrude Region tool [TC 7:49](https://www.youtube.com/watch?v=CmBMcYVW9x8&t=469s) 22 | - Extrude Along Normals tool [TC 12:51](https://www.youtube.com/watch?v=CmBMcYVW9x8&t=771s) 23 | - Extrude Individual tool [TC 14:26](https://www.youtube.com/watch?v=CmBMcYVW9x8&t=866s) 24 | - Extrude to Cursor tool [TC 15:11](https://www.youtube.com/watch?v=CmBMcYVW9x8&t=911s) 25 | - Extrude Keyboard Shortcuts [TC 17:02](https://www.youtube.com/watch?v=CmBMcYVW9x8&t=1022s) 26 | - Loop Cut tool [TC 18:11](https://www.youtube.com/watch?v=CmBMcYVW9x8&t=1091s) 27 | - Offset Edge Loop Cut tool [TC 20:55](https://www.youtube.com/watch?v=CmBMcYVW9x8&t=1255s) 28 | - Turning on the top 'Tool Settings Bar' [TC 23:03](https://www.youtube.com/watch?v=CmBMcYVW9x8&t=1383s) 29 | - Loop Cut & Slide (Keyboard shortcut tool version) [TC 24:02](https://www.youtube.com/watch?v=CmBMcYVW9x8&t=1442s) 30 | - Bevel tool [TC 27:03](https://www.youtube.com/watch?v=CmBMcYVW9x8&t=1623s) 31 | - Bevel keyboard shortcuts [TC 30:02](https://www.youtube.com/watch?v=CmBMcYVW9x8&t=1802s) 32 | - Inset Faces tool [TC 32:03](https://www.youtube.com/watch?v=CmBMcYVW9x8&t=1923s) 33 | - Inset Faces keyboard shortcut [TC 33:01](https://www.youtube.com/watch?v=CmBMcYVW9x8&t=1981s) 34 | - Modeling the house! [TC 35:13](https://www.youtube.com/watch?v=CmBMcYVW9x8&t=2113s) 35 | 36 | ## [Blender 2.8 basics](https://www.youtube.com/watch?v=8XyIYRW_2xk&list=PLa1F2ddGya_-UvuAqHAksYnB0qL9yWDO6) 37 | 1. Simple chair model using loop-cut and extrude [TC 3:50](https://youtu.be/2qD_tcPMhOs?list=PLa1F2ddGya_-UvuAqHAksYnB0qL9yWDO6&t=230) 38 | - Start with default cube selected 39 | - Enter Edit mode (tab or dropdown in upper left) [TC 3:59](https://youtu.be/2qD_tcPMhOs?list=PLa1F2ddGya_-UvuAqHAksYnB0qL9yWDO6&t=239) 40 | - Scale cube down along Z axis (grab blue square and shrink) [TC 4:02](https://youtu.be/2qD_tcPMhOs?list=PLa1F2ddGya_-UvuAqHAksYnB0qL9yWDO6&t=242) 41 | - Use loop cut tool to left-click drag new mesh loops 1/3 in X and Y planes [TC 4:12](https://youtu.be/2qD_tcPMhOs?list=PLa1F2ddGya_-UvuAqHAksYnB0qL9yWDO6&t=252) 42 | - Use face select mode (by edit dropdown) to select the faces to extrude [TC 4:22](https://youtu.be/2qD_tcPMhOs?list=PLa1F2ddGya_-UvuAqHAksYnB0qL9yWDO6&t=262) 43 | - Select the Extrude subtool Extrude along Normals [TC 4:33](https://youtu.be/2qD_tcPMhOs?list=PLa1F2ddGya_-UvuAqHAksYnB0qL9yWDO6&t=273) 44 | - Left-click drag to extrude [TC 4:36](https://youtu.be/2qD_tcPMhOs?list=PLa1F2ddGya_-UvuAqHAksYnB0qL9yWDO6&t=276) 45 | - not sure middle mouse to move faces [TC 4:40](https://youtu.be/2qD_tcPMhOs?list=PLa1F2ddGya_-UvuAqHAksYnB0qL9yWDO6&t=280) 46 | - Save to demo file CATNotes01SimpleChair.blend 47 | 48 | -------------------------------------------------------------------------------- /docs/blender/architecture/README.md: -------------------------------------------------------------------------------- 1 | # Architecture Blender 2 | 3 | 4 | ### Packages 5 | - [Archimesh - Arch mesh]() [Example Tutorial](https://youtu.be/e1ewod-L3CY?t=349) 6 | - [Sketch Style - Line rendering]() [Example Tutorial](https://youtu.be/e1ewod-L3CY?t=141) 7 | - [JARCH Vis - Arch componentes]() [Example Tutorial](https://youtu.be/e1ewod-L3CY?t=264) 8 | 9 | ### References 10 | - [How to make 3d floor plan in Blender | Modeling](https://www.youtube.com/watch?v=o0k9kZwUhpo) [catArchModelNotes - Learning Notes](./catArchModelNotes/README.md) 11 | - [Blender 2.8 - Basic 3D House](https://www.youtube.com/watch?v=CmBMcYVW9x8) 12 | - [How to make Realtime Archviz with Blender and Eevee - part 1 of 3](https://www.youtube.com/watch?v=2VNztZdfGZY) 13 | - [How to make Realtime Archviz with Blender and Eevee - part 2 of 3](https://www.youtube.com/watch?v=VB5kMlW2EBI) 14 | - [How to make Realtime Archviz with Blender and Eevee - part 3 of 3](https://www.youtube.com/watch?v=GiQFa7XH6S8) 15 | - [Blender 2.8 Architecture Workflow](https://www.youtube.com/watch?v=DwWgUK8yS8w) 16 | - [How To Model A House In Blender - Youtube](https://www.youtube.com/watch?v=HWaSe0goih8) with [Reference Image plan](https://www.youtube.com/redirect?redir_token=QUFFLUhqa09MaWJENkllcGg5TWNEV2VGZHBaTVdQYUgxd3xBQ3Jtc0ttQ2k4Vklva1NiS2JqSUpyRWdjcC15U2NVU2NhYXJER2lxVGtERDlacnc4cDZnX094VnZyWDd0SnFkRmFESzExTzNhaVh6X0gxeEppakFSYmtua1d6eS1lVF9UOE5ZUGZZTlZDV3JSSGIwX1dBWmZqQQ%3D%3D&q=http%3A%2F%2Fwww.hausbaudirekt.de%2Fhaus%2Fconcept-m-155%2F&v=HWaSe0goih8&event=video_description) 17 | 18 | - [Blender 2.8 for 3D Printing, Start Here - Part 1 Setup](https://www.youtube.com/watch?v=HqDnLg3o9WE) 19 | - [Blender 2.8 Technical Modeling](https://www.youtube.com/watch?v=WSR6bVFe5LM) 20 | 21 | - [All 80+ Blender material nodes explained in under 30 minutes](https://www.youtube.com/watch?v=cQ0qtcSymDI) 22 | - [The RIGHT way to cut holes in surfaces in Blender](https://www.youtube.com/watch?v=Ci1jBOm_5NY) 23 | 24 | - [Blender Addons for Architectural - Feb 2020](https://www.youtube.com/watch?v=e1ewod-L3CY) 25 | 26 | 27 | ## Earthships 28 | - [Earthship - https://www.earthshipglobal.com/](https://www.earthshipglobal.com/) 29 | - [Earthship - Ontario Tour](https://www.youtube.com/watch?v=j7SUjcwXY8w&vl=en) 30 | - [Earthship - Arizona Tour](https://youtu.be/efI77fzBgvg?t=547) 31 | - [Earthship - Taos NM - Global - Encounter models](https://youtu.be/wVp5koAOu9M) Build 4 mths $219K 32 | - [Earthship - Canada winter](https://www.youtube.com/watch?v=EAvY5JeMz9w) 33 | 34 | ## Geothermal Greenhouse 35 | - [Geothermal Greenhouse - Russ Finch - Alliance Nebraska](https://www.youtube.com/watch?v=IZghkt5m1uY) 36 | - [Geothermal Greenhouse - Russ Finch - Alliance Nebraska](https://youtu.be/ZD_3_gsgsnk) 37 | - [Sunken Greenhouse - Co-Op fresh produce](https://www.youtube.com/watch?v=9jbLZxwWudk) 38 | - [Sunken Greenhouse - Trail Break Farms](https://www.youtube.com/channel/UCLA6VAIG8HlswUpjgxNHaOg) 39 | - [Greenhouse Types - Various](https://www.youtube.com/watch?v=FPjko9DDhcU) 40 | 41 | ## Build 42 | - [The Perfect Wall - Building Science](https://www.youtube.com/watch?v=jjHOqbJ9ZeQ) 43 | - [ICF vs SIP vs Framing - Pros and Cons](https://www.youtube.com/watch?v=C3KX8c3UVo4)a 44 | 45 | ## Bathroom / Toilet 46 | - [Portable Riser Toilet](https://www.amazon.com/HealthSmart-Portable-Elevated-Raised-Toilet/dp/B0009STN4W) 47 | - [Toilet Lift](http://www.discovermymobility.com/store/patient-lifts/tush-push/index.html) 48 | - [Diagnostic Toilets](https://orangematter.solarwinds.com/2020/05/18/iot-and-privacy-the-connected-toilet-strikes-again/?CMP=SOC-HAD-FB-SW_WW_X_CR_X_AW_EN_SECOMP_X-X-X_X_X_X_VidNo_X-X) 49 | - [Pool lift](http://www.discovermymobility.com/store/patient-lifts/summit/triton-pool-lift/Above-Ground-Pool-Lift.html?gclid=EAIaIQobChMI_bjq4s3_6QIVA4-GCh01gQnzEAQYAyABEgLq7fD_BwE) 50 | -------------------------------------------------------------------------------- /docs/freeNAS/configuration.md: -------------------------------------------------------------------------------- 1 | # freeNAS configuration for ghrender 2 | 3 | ## freeNAS install 4 | 1. Use freeNAS install USB thumbdrive 5 | 2. Install... 6 | 7 | ## freeNAS Storage Pool Config 8 | 1. Login to FreeNAS (root - What#Time) 9 | 2. From FreeNAS Dashboard -> Storage -> Pools -> Create 10 | - Name: drivepool 11 | - Type: raidz 12 | - Add Drives (the 4 disks) -> Set to raidz (default is raidz2) 13 | 3. Confirm Create 14 | 5. In Storage / Pools -> drivepool -> Add Dataset 15 | - Name: farm 16 | - Comments: blener render farm shared drive 17 | 5. In Services -> Enable NFS and Start Automatically 18 | 19 | ## Hindsight Jail 20 | 1. From FreeNAS Dashboard -> Jails -> ADD 21 | - Jail Name: hindsight 22 | - Release: 11.2-RELEASE 23 | - NEXT: 24 | - IPv4 Interface: em0 25 | - IPv4 Address: 192.168.1.6 26 | - IPv4 Netmask: 24 27 | - NEXT: 28 | - Confirm 29 | ``` 30 | Jail Summary 31 | Jail Name : hindsight 32 | Release : 11.2-RELEASE 33 | IPv4 Address : em0|192.168.1.6/24 34 | Confirm these settings. 35 | ``` 36 | 2. Confirm 37 | - Basic: Auto-Start 38 | - Jail: allow_set_hostname, allow_raw_sockets 39 | 3. Install hindsight - Jail -> hindsight -> shell 40 | - root@hindsight:~ # pkg install stow 41 | - root@hindsight:~ # mkdir /usr/local/stow 42 | - root@hindsight:~ # cd /usr/local/stow/ 43 | - root@hindsight:~ # scp cat@192.168.1.30:/Users/cat/Downloads/hindsight_bsd_stow.tgz . 44 | - root@hindsight:~ # tar -xzvf hindsight_bsd_stow.tgz 45 | - root@hindsight:~ # vi /etc/rc.d/hindsight 46 | ``` 47 | $ cat /etc/rc.d/hindsight 48 | #!/bin/sh 49 | # 50 | # PROVIDE: hindsight 51 | # REQUIRE: DAEMON 52 | # KEYWORD: shutdown 53 | 54 | . /etc/rc.subr 55 | 56 | name=hindsight 57 | rcvar=hindsight_enable 58 | 59 | command="/usr/sbin/daemon" 60 | command_args="-P /var/run/hindsight.pid -T hindsight /usr/local/bin/hindsight /usr/local/hindsight/hindsight.cfg 7" 61 | 62 | load_rc_config $name 63 | 64 | # 65 | # DO NOT CHANGE THESE DEFAULT VALUES HERE 66 | # SET THEM IN THE /etc/rc.conf FILE 67 | # 68 | hindsight_enable=${hindsight_enable-"NO"} 69 | pidfile=${hindsight_pidfile-"/var/run/hindsight.pid"} 70 | 71 | run_rc_command "$1" 72 | ``` 73 | - root@hindsight:~ # chmod 555 /etc/rc.d/hindsight 74 | - root@hindsight:~ # vi /etc/rc.conf 75 | ``` 76 | hindsight_enable="YES" 77 | ``` 78 | - root@hindsight:~ # systemclt start hindsight 79 | - root@hindsight:~ # systemclt status hindsight 80 | - root@hindsight:~ # lsb_heka_cat /usr/local/hindsight/output/input/0.log 81 | - syslog collector is running on the standard port 514 82 | - pfsense collector is on port 4514 83 | 84 | ## Hindsight update 85 | 1. root@hindsight:~ # /etc/rc.d/hindsight status || (service hindsight status) 86 | 2. root@hindsight:~ # /etc/rc.d/hindsight stop || (service hindsight stop) 87 | 3. root@hindsight:~ # cd /usr/local/ 88 | 4. root@hindsight:~ # scp cat@192.168.1.30:/Users/cat/Downloads/hs_bsd_stow.tgz . 89 | 5. root@hindsight:~ # stow -v -D * 90 | 6. root@hindsight:~ # rm -rf stow 91 | 7. root@hindsight:~ # tar -zxf hs_bsd_stow.tgz 92 | 8. root@hindsight:~ # cd stow 93 | 9. root@hindsight:~ # stow -v * 94 | 10. root@hindsight:~ # /etc/rc.d/hindsight start || (service hindsight start) 95 | 11. root@hindsight:~ # /etc/rc.d/hindsight status || (service hindsight status) 96 | 12. root@hindsight:~ # lsb_heka_cat /usr/local/hindsight/output/input/0.log 97 | 98 | 99 | ## Install new FreeNAS and import existing Pool 100 | 1. USB FreeNAS install to new USB 101 | 2. Login to FreeNAS firstime set pw (What#Time) 102 | 3. Storage -> Pools -> Add 103 | - Import an existing pool 104 | - NEXT: 105 | - Is the pool encrypted? No 106 | - NEXT: 107 | - Pool: drivepool 108 | - NEXT: 109 | - Confirm: IMPORT 110 | ``` 111 | Pool Import Summary 112 | Pool to import : drivepool | 9174643673441383865 113 | Confirm these settings. 114 | ``` 115 | -------------------------------------------------------------------------------- /docs/blender/bim/README.md: -------------------------------------------------------------------------------- 1 | [edit](https://github.com/2cld/gh/edit/master/docs/blender/bim/README.md) 2 | 3 | ## Consult BIM tutoials 4 | - Current setup on CyberTruck 5 | - Launch Blender with Blender Launcher 6 | - Notsure original template CyberTruck C:\Users\ghadmin\BlenderProjects\end\5d.blend and 5D.ifc 7 | - may have to load the 5D.ifc file while in blender as I think the blend file has a bad pointer 8 | - Scene -> Project Info -> 5D.ifc need to point to C:\Users\ghadmin\BlenderProjects\BIMTemplates\end\5D.ifc 9 | - Start [BIM 4D Crash Course tutorial - youtube](https://www.youtube.com/watch?v=Q7-UBKLBK58) In Blender open file on CyberTruck C:\Users\ghadmin\BlenderProjects\BIMTemplates\end\5d.blend 10 | 11 | ## IFC Archetect tutorials 12 | - Current setup on CyberTruck 13 | - Launch Blender with Blender Launcher 14 | - Notsure original template CyberTruck C:\Users\ghadmin\BlenderProjects\BIMTemplates\bim_template.blend 15 | - Start [IFCArchetect old tutorial - youtube](https://www.youtube.com/watch?v=kF2k_VW-yrQ) In Blender open file on CyberTruck C:\Users\ghadmin\BlenderProjects\BIMTemplates\IFCArchetectTutorial-old.blend 16 | - Should work with this [IFCArchitect - Beginner Tutorial Update - Floorplan - in 20mins](https://www.youtube.com/watch?v=agwK8hbkToM) 17 | 18 | # References 19 | - [https://www.blender.org/download/](https://www.blender.org/download/) - Blender 3.6 20 | - [https://dotbow.github.io/Blender-Launcher/](https://dotbow.github.io/Blender-Launcher/) Manages multiple blender versions 21 | - [https://blenderbim.org/download.html](https://blenderbim.org/download.html) 22 | - [https://github.com/IfcOpenShell/IfcOpenShell/releases](https://github.com/IfcOpenShell/IfcOpenShell/releases) - github releases 23 | - [https://blenderbim.org/docs/users/installation.html](https://blenderbim.org/docs/users/installation.html) 24 | - Open up Blender, and click on Edit > Preferences 25 | - Select the Add-ons tab, and press Install… on the top right. Navigate to the .zip you downloaded in Step 2, and press Install Add-on. 26 | - You should now see Import-Export: BlenderBIM available in your add-ons list. Enable the add-on by pressing the checkbox. 27 | - You can enable add-ons permanently by using Save User Settings from the Addons menu. 28 | - Upon installation, the BlenderBIM Add-on is stored in the scripts/addons/blenderbim/ directory, within your Blender configuration folder. However, the location of your Blender configuration folder depends on how you have installed Blender. 29 | - [https://www.youtube.com/@IfcArchitect/videos](https://www.youtube.com/@IfcArchitect/videos) 30 | 31 | ## Blender Launcher 32 | - blender version management 33 | - [Blender Launcher Download](https://github.com/DotBow/Blender-Launcher/releases) then [Install tutorial](https://www.youtube.com/watch?v=lmZKAUfcZAs) 34 | - DotBow github -> [DotBow Blender Laucher](https://github.com/DotBow/Blender-Launcher) 35 | 36 | ## Blender BIM IFC Architect 37 | - BlenderBIM [IFC Architect](https://www.youtube.com/@IfcArchitect/videos) 38 | - BlenderBIM [IFC Architect - Begin](https://www.youtube.com/watch?v=kF2k_VW-yrQ) 39 | - BlenderBIM [https://blenderbim.org](https://blenderbim.org/index.html) 40 | - BlenderBIM [https://ifcopenshell.org/](https://ifcopenshell.org/) 41 | - BlenderBIM [Add on - youtube](https://www.youtube.com/watch?v=kYs6w5LlfNM) 42 | - BlenderBIM [update - youtube](https://www.youtube.com/watch?v=oljVAjW9QVw) 43 | 44 | ## BlenderBIM Git 45 | - [BlenderBIM ICF Git - Demo Repo at github](https://github.com/brunopostle/ifc-demo) 46 | - [BlenderBIM ICF Git collabaration - youtube meetup](https://github.com/brunopostle/ifc-demo) 47 | 48 | ## [Consult-BIM https://www.consult-bim.com/courses](https://www.consult-bim.com/courses) 49 | - [Consult-BIM - youtube videos](https://www.youtube.com/@sigmadimensions/videos) 50 | - [Consult-BIM https://www.consult-bim.com/courses](https://www.consult-bim.com/courses) 51 | - [BlenderBIM - Scheduling, Resources, Animations](https://youtu.be/Q7-UBKLBK58) 52 | - [BlenderBIM - Scheduling, Resources, Animations Materials](https://www.consult-bim.com/courses/bbim_4_beginners/BBIM5D-1) 53 | 54 | -------------------------------------------------------------------------------- /docs/gridmanage.md: -------------------------------------------------------------------------------- 1 | # ghcluster - blenderRender Pool Management 2 | 3 | Testing slack integration. Should put up a slack notice. 4 | 5 | ## ghcluster startup 6 | 7 | 1. Verify ghopsGRIDrouter is on (little black router on back side of grid rack) 8 | 2. Turn on ghclusterNAS (freenas box in R4 grid rack ) and wait for clean prompt ~10min ( should say web at 192.168.9.2 ) 9 | 3. Turn on Grid (botton right 2 breakers) NOTE: ghclusterNAS MUST BE UP or nodes will not be able to boot. 10 | 4. All nodes should start-up in a sequence automatically. 11 | 5. Nodes will begin to report into /media/farm/ghlogs/gridNodes.list and start rendering via /media/farm/ghprojects/jobPriority.list 12 | 13 | ## ghcluster debug 14 | 15 | ### ReferenceNotes 16 | 17 | - [ghclusterNAS](http://192.168.9.2/ui/sessions/signin) - root-What#Time 18 | - Render nodes are vm managed by proxmox through /media/farm/ghprojects/jobPriority.list 19 | - catmini:~ cat$ sudo mount -t nfs 192.168.9.2:/mnt/MediaVolume/farm /private/nfs 20 | ![ghcluster-farm](ghcluster-farm.png) 21 | - catmini:~ cat$ ssh ghadmin@192.168.9.41 22 | ``` 23 | ghadmin@bn01:~$ ls /media/farm/gh 24 | ghbin/ ghcache/ ghlogs/ ghprojects/ 25 | ghadmin@bn01:~$ ls /media/farm/ghprojects/ 26 | jobPriority.list 27 | ghadmin@bn01:~$ ls /media/farm/ghlogs/ 28 | gridNodes.list nodeStatus_bn01.list savelogs 29 | ghadmin@bn01:~$ ls /media/farm/0215_002_0007A_zip/ 30 | 0215_002_0007A_3danim_v002.zip 31 | ghadmin@bn01:~$ ls /media/farm/0215_002_0007A_rend/0215_002_0007A_3danim_v002.0001.* 32 | /media/farm/0215_002_0007A_rend/0215_002_0007A_3danim_v002.0001.cfg 33 | /media/farm/0215_002_0007A_rend/0215_002_0007A_3danim_v002.0001.lock 34 | ghadmin@bn01:~$ cat /media/farm/ghprojects/jobPriority.list 35 | 0215_002_0007A_rend/*.cfg 36 | ghadmin@bn01:~$ cat /etc/systemd/system/ghrender.service 37 | [Unit] 38 | Description=ghrender 39 | 40 | [Service] 41 | ExecStart=/home/ghadmin/nodeRenderService.sh 42 | 43 | [Install] 44 | WantedBy=multi-user.target 45 | ghadmin@bn01:~$ cat /etc/init.d/ghrendernode 46 | #!/bin/bash 47 | su ghadmin -c "bash -c '/home/ghadmin/nodeRenderService.sh $1'" 48 | 49 | ghadmin@bn01:~$ 50 | ghadmin@bn01:~$ sudo systemctl status ghrender 51 | ● ghrender.service - ghrender 52 | Loaded: loaded (/etc/systemd/system/ghrender.service; enabled; vendor preset: enabled) 53 | Active: active (running) since Tue 2019-05-21 14:32:47 UTC; 2h 54min ago 54 | Main PID: 1134 (nodeRenderServi) 55 | Tasks: 51 (limit: 4658) 56 | CGroup: /system.slice/ghrender.service 57 | ├─1134 /bin/bash /home/ghadmin/nodeRenderService.sh 58 | └─7717 blender -b /home/ghadmin/0215_002_0007A_3danim_v002.blend -y -F PNG -o /home/ghadmin/0215_002_0007A_3danim_v002.#### - 59 | 60 | May 21 17:25:10 bn01 nodeRenderService.sh[1134]: rm: cannot remove '/home/ghadmin/*.cfg': No such file or directory 61 | May 21 17:25:13 bn01 nodeRenderService.sh[1134]: ALSA lib confmisc.c:767:(parse_card) cannot find card '0' 62 | May 21 17:25:13 bn01 nodeRenderService.sh[1134]: ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_card_driver returned erro 63 | May 21 17:25:13 bn01 nodeRenderService.sh[1134]: ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings 64 | May 21 17:25:13 bn01 nodeRenderService.sh[1134]: ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_concat returned error: No 65 | May 21 17:25:13 bn01 nodeRenderService.sh[1134]: ALSA lib confmisc.c:1246:(snd_func_refer) error evaluating name 66 | May 21 17:25:13 bn01 nodeRenderService.sh[1134]: ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No 67 | ``` 68 | - [Proxmox webui - https://192.168.9.121:8006](https://192.168.9.121:8006/#v1:0:18:3:5::5:7::5) Datacenter -> Summary 69 | ![ghcluster-blenderRender](ghcluster-blenderRender.png) 70 | - [Proxmox webui - https://192.168.9.121:8006](https://192.168.9.121:8006/#v1:0:18:3:5::5:7::5=cluster) Datacenter -> Cluster 71 | ![ghcluster-proxmox](ghcluster-proxmox.png) 72 | 73 | ## bn01-console 74 | ![ghcluster-bn01-console](ghcluster-bn01-console.png) 75 | 76 | ## ghcluster at 100% cpu 77 | ![ghcluster-pegged-CPU](ghcluster-pegged-CPU.png) 78 | 79 | ## ghcluster power/thermals at 100% cpu 80 | ![ghcluster-pegged-Power](ghcluster-pegged-Power.png) 81 | 82 | ## ghcluster power first 24hrs 83 | ![ghcluster-power-24hr](ghcluster-power-24hr.png) 84 | 85 | ## ghcluster power down (just switch and OA on) 86 | - 604 Watts with Just Switch and OA 87 | ![ghcluster-power-down](ghcluster-power-down.png) 88 | -------------------------------------------------------------------------------- /docs/ghOverviewDiagram.drawio: -------------------------------------------------------------------------------- 1 | 7V1dd9o4EP01PIZjS7Yxj0mapDmn7eY0adPdN2OEcWss1ogC++tXsi3AHgNOwJZCSk9bJMtfd+aORjNj08HXk+Vd4k3Hn+mQRB1kDJcd/KGDUN9y+L+iY5V19Cwj6wiScJh1mZuOx/A/knfKYfNwSGaFgYzSiIXTYqdP45j4rNDnJQldFIeNaFQ869QLCOh49L0I9j6HQzbOel3b2PR/JGEwlmc2jXzLxJOD847Z2BvSxVYXvung64RSln2bLK9JJLCTuGT73e7Yur6whMSszg7BaPX8NQnvh+RLn36/evp+/8+/Fzi/NraSN0yG/P7zZkxj/t9VQufxkIjDGLxFEzamAY296BOlU95p8s6fhLFVLj1vzijvGrNJlG8ly5D9ELt3+4abt/9O29jBefvDMj9+2lhtNR5IEk4II4nsi1my+rHdyI6FbNneHCttyYPNmJewS6EUvMOPvNks9GX3bRjJq4XA5ljP6DzxyR40pYJ6SUDYnnEoGyeg3jpBLrY7QvndJis+ICGRx8LfRVX0co0O1uPWuz7QkF8yMnLymZJrkntG8QjZ/eQ7bTSHf9m6ik1Xqk8v0K38en970Ty/g4f5IOKQI+P+AepdFHFOC3XjRJmSVEJ0zo9/tRiHjDxOvRT6BbcyReXaKa7fJGFkuRfgHBhJ0cWG4absG2+x2zV2i6CA3ouhMiAejfIw40pOQ3MvBWuyZhcrD5Hy9WxDNdnmtsM2ZBfZtp4J5CGyCwV049B6q61hUzFgtuc8uHQebJT0LzviSbmMAJfvPEYW6YV/pXNhnJETcSlcDcS3QHwz+6hrOi7XNau77Ag+3SJr/zD+lw+8e4ajAD82ZDCbtRFrY2oXYLdr2gynKZthQfPqMX8sBHLzQfyLvlnucbCNOL2vaUSTdF88ssWflPsJ/UW2tjjpR+xBY7bVn31OI4C19V2V0D4kAdSUBOydEnj+eP90k8vAPmcZOKpl4OyUwdWnb1IE6IxFgAzVIjBbXkQUFhDSj9mxfHilU9L4SsGt6bv0G/FdXuxylBYSZr+01DwwHrXhovTb9aHNghqi1+khLn0OqGXaKi+HtdFV19FCWa2Sf+y0oHsumIWkBytmgoJSOv/OqdxwMUu17JIPMI3pcrNRer2PizCbzB7NfCpzxI1u3Gh+tdkZTuEll+e50Qj5ftU8N3QGju005FJYyuez/p/57KU2ol/TRpimFjYCTFC9NtbQZqt6Zb4rvbJOrVdHmZB+4/MBei/zQe3gbHPzAQxk33mJyBsh7vjBUNVtQsiXy0fe9CYC0Xgwm2YyPGlMqySdoUfcUaV0HN8lg1FD0nFrSsdqSjqoXbf/LGZrs27oXM/lJzZbmK0lRtuRpYT+JL64UqPrvG/e47pWuTHemzD+feo5Fm/PsRidzxxrvTaU3pg0McxUaGfF11lOXay4XdOKnzwBehxxYdrkLvKW6YzQhUuko9jk+qSaTQPXtuy96ecj2KQ8KYLfQARDOzY5b5NNMAGWsUl0dmFm5g3Sqe4SozE6WfouMZqnRUvVM5ZRLK9YV7kcqJ45mbsPQ/jc3V9EorDF6PKNxtq9f3POe5lR6lPGVruhUK0YhdD7YJS8zy1G/WCEL9QFofrnRSjlMUqEAdjH4doESsoze6gqZqAbSspXDwgu0D57wSTlraUfXsrdQwRd8BSv1AM/svqvAcCw8tkf9QBgg9gQ05XRNeUDQzohpt68Q+9UIOZmiB1Z5dsEYupNPUzBCsT6GWIwPqIcMeVmX7qHRcREqoUjJqvddUJMueHHMDHMEcM4Rax3ZOylAcQs5ZYfwzWBQMzKENPPubCUW34MHXuBWDZX9vTzLizllh9DJ18g5mSI6eddWMotf8XzEe8mGoNzCp17NAZXZN0IFZzgzvgZhWJs9RYbLgeF/ell9qenn/1R70dVrgdxtrrp6be6sZX7US50lf6UEh+w9FbuSSl6Xvzox7ztForerKow8imKqoJxF/nRsBsTcRDxgDenNoKlcfJh8H7XOPC4eF/Uiux4VPxc6rReW1jSWJmWq++jns3bj2YebwPE31X+cOLXSDjF05TeHtSQeYGuke+JaxJl9G/YCdUuHWhBjyoIWeQNOicvClKDsPIogwUj8tMlebp9euhk9SKKfVbtsooy5r4FWBwspwldpoWf6iPy2uUVbRheDsZfrW8IX/x1aaZW88hy2dOjpj7xYyNIzIlhXgTjzOfUD7IKavZbRQw6/RwxtEYMRgdVI1ZBzXYRgyFmjhheI6Y+9VMj89MuYjD8yBGz1oipT/3UyPy0ixj0lbvdrnYwVdj7dmGCnq6OMCm38dBd1REm5YYdOqnTielIM4XVZw9rhKJbRcypjN2n3mlFkXfrL23sHfa1eq3CVVnIhVK4jvSzvMTPA2onehAHgFfBznbBq6rpMtPEvq2emWW4qqjZKlzyZJrZ/DJOVb5puzjBdbaWOFV4pO3iBFfWWuJU4ZK2ixNcT2uJk+q5sAdX0VripHrac6FjoEvSTdtkf6/uuxFkxltxtr+U7EdtvOGmB2MyHx/EK5Ovw5kvSsPkm1COIaQOefPK5zecVikMgzmXCQtnQgOeafKLKz4LaTwDWMvfwphPokufCayuBAyhz4ntDUj0QGeh2JMPGVDG6IQPiMSGK8//FaSSKqLPP1vHuIzCQOzLaElsdM6iMObykb+qc6qH+51iGSSGksEVgnnFS/R5c/PbOhllNj9QhG/+Bw==7VpLd5s6EP41XpaDeNleJmnSntu0NydexO0mRwYBSjHiCDm28+uvhIQxyIlxUkx804VBGo+ENDPfzOgxsC/mqy8UZvF3EqBkYJnBamB/HljW2PH4UxDWkjB0TEmIKA4kCVSECX5CiliyLXCA8hojIyRhOKsTfZKmyGc1GqSULOtsIUnqX81ghDTCxIeJTr3DAYsldeSaFf0rwlFcfhmY6p85LJkVIY9hQJZbJPtyYF9QQpgszVcXKBGyK+VyHmbfkis8+jV9urs9u4h/eV+vPsnOrg5pspkCRSn7s127sutHmCyUvHgHcxRgyN8hpHP+mk6n9+rHn3wMgfiI5SV8LOczykuRKCkhsXUpeS6vTBT9dYLTAFHOs4wxQ5MM+oK+5PbGaTGbJ7wGRGdkwRmD69mGAP3fERXUfxeM94IUXY0aUYZWDTXvkRHYKI4bPCJzxOiat1O9WKXylbGD8dhQIlpWxmPZiiveMpyxokFlr9Gm80onQrZSLQeoyHI0yaKAm7iqpkRI5ZxK0XGCyWuEsphEJIXJNSGZEtoDYmytAAoXjNRlj1aYTbfKP0VXfPKy9nmlei4q67KS8glOtytbrUS1albUynY5g5SdCXBXEyhoV1jIpuCRkxYzfYWCubTIgvroJbFayhlBGqGXOrTs3SZDUQIZfqwP789r3zoYoU84+zgAddy2AHXcjlQExj0C1P7fAtRtiU/QKz6dFvCM4oREOS+kPLmaMMgW+f0sXa1WBqd/DJyW0XEfSN2uoujw3QbRNlh7LY47D6ItMeq+EaKq6Q3BfNgbIwOjupFxMzMaTl6OTLVrmNBmIG+Izhr6v8NoDnVM36ICuJb5D5np/95Rjmb+5wOZ3YcUzpHhh4c4hpwh4QAyRDGfkXAQBemmqu9zGCFeoXLx1q1fqGsM7MqvgXtMzwCAJtf34hpOOXzbbcO3udtgjhO+7VbhO6PkAflMhHAO0YxiwgG7NhKcs48Rvt2+w3efKfbbw3fXWPNaYs3pE2qeBrUiHUb0EfvIyGMdSYssgEVclOlzj+EwwJTjH5NUcKOcdQg9p5HUjIe7IqS1A3x2Zwtc82DVUQQDmdDcvNJbnk5O43h1jXlA15ezQ1/WuCt96Wlpsdwc2GecOhHOib/3qdAoF6xbPA1dVQ4X7FdHZ+J3GzmlHqs2C4UaXDpLKPWkIvdhmqsEX26gmzjlj+sCE2ZIxNJAJv2nDwdNHzv30MEuRHS2h25qgn0v+cMmxwenl+ODtnt0b13/vw2P+iGXz+MTQwKRRkL8331B8JhpRROVVv+oBCNNMXziOBTDxsIvkmXhNftU0dH04fSvD0sPXPuShITAQAU2Y5bIyPYxkr6G/oBr79Kfecy8z/JOLsoNTyDKWScR5ayXopzcVM7SSHy5AOlSbDnnHyTWee/At/7dZe4Cm60PiUd9YtPWN1BuUcbBuSs0enAuoJTOcvGSoD2i5VTW8nPbWPZYjjF0a8ZzAqbT2q0/d8FAeRvTsEZARd7DDjS5AOB6iyETx5T51sca552u69b8mm01bvw1+IeN07ZD+cvs5Tl+z36RnxfkDButy+mSMMxRJ8eyNmiNNxxyvtvLycXZjxZ5arfAG/5FXrurd8r+PpmG6bmvQZ4OLa8BLbORCMhJaRcJdEyUi9rNOrvR0TM3Eg72BaZdH7CzB9uNTepD+cEe3+E5L/J34Qt4tbp8LdmrG+z25X8= -------------------------------------------------------------------------------- /docs/bn000template.md: -------------------------------------------------------------------------------- 1 | # bn000template - Grasshorse Blender Node Template 2 | 3 | - Install ISO - ubuntu-18.04.2-live-server-amd64.iso 4 | 5 | ### ISO install 6 | 1. ghamdin - What#Time 7 | 2. OpenSSH 8 | 9 | ### Basic Node Configure 10 | 1. ghadmin@bn000template:~$ sudo apt-get update 11 | 2. ghadmin@bn000template:~$ sudo apt-get install blender 12 | 3. ghadmin@bn000template:~$ sudo apt-get install unzip 13 | 4. ghadmin@bn000template:~$ blender -v 14 | ``` 15 | Blender 2.79 (sub 0) 16 | ``` 17 | 5. ghadmin@bn000template:~$ sudo apt install nfs-common 18 | 6. ghadmin@bn000template:~$ sudo vi /etc/fstab 19 | ``` 20 | # Add to bottom of /etc/fstab for render farm share 21 | 192.168.9.2:/mnt/MediaVolume/farm /media/farm nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0 22 | ``` 23 | 7. ghadmin@bn000template:~$ sudo mkdir /media/farm && sudo mount -a 24 | 8. ghadmin@bn000template:~$ cp /media/farm/ghbin/nodeRenderService.sh . 25 | 9. ghadmin@bn000template:~$ sudo chmod +x nodeRenderService.sh 26 | 10. ghadmin@bn000template:~$ sudo poweroff 27 | 28 | ### Cloud-init Configure 29 | 1. ghadmin@bn000template:~$ sudo apt install cloud-init 30 | 2. ghadmin@bn000template:~$ sudo vi /etc/cloud/cloud.cfg 31 | - remove from cloud_config_modules: 32 | - snap 33 | - snap_config 34 | - ubuntu-advantage 35 | - disable-ec2-metadata 36 | - byobu 37 | - remove from cloud_final_modules: 38 | - snappy 39 | - fan 40 | - landscape 41 | - lxd 42 | - puppet 43 | - chef 44 | - mcollective 45 | - salt-minion 46 | - rightscale_userdata 47 | 3. Fix IP MAC id issue (new to ubuntu networking I think) 48 | - ghadmin@bn000template:~$ sudo rm /etc/machine-id 49 | - ghadmin@bn000template:~$ sudo touch /etc/machine-id 50 | - ghadmin@bn000template:~$ sudo rm /var/lib/dbus/machine-id 51 | - ghadmin@bn000template:~$ sudo ln -s /etc/machine-id /var/lib/dbus/machine-id 52 | - ghadmin@bn000template:~$ ls -l /var/lib/dbus/machine-id 53 | ``` 54 | lrwxrwxrwx 1 root root 15 May 15 18:43 /var/lib/dbus/machine-id -> /etc/machine-id 55 | ``` 56 | 4. ghadmin@bn000template:~$ sudo apt clean 57 | 4. ghadmin@bn000template:~$ sudo poweroff 58 | 5. Go regen Cloud-init from proxmox 59 | 60 | ### bn000template create on ProxMox 61 | 1. Create Cloud-Init Drive 62 | - Datacenter -> pm01-gh -> bn000template -> Hardware -> Add -> Cloud-Init Drive 63 | - Device: IDE 64 | - Storage: local-lvm 65 | 2. Configure Cloud-Init vars 66 | - Datacenter -> pm01-gh -> bn000template -> Cloud-Init 67 | - User: ghadmin 68 | - Password: What#Time 69 | 3. Regenerate Image (click button) 70 | 71 | ### Clone bn000template 72 | 1. Right-click on Datacenter -> pm01-gh -> bn000template -> Clone 73 | - Target node: pm01-gh 74 | - VM ID: 101 (or next in line) 75 | - Name: bn01 (or next in line) 76 | - Resource Pool: blenderRender 77 | - Target Storage: Same as source (default) 78 | 2. Go to Datacenter -> pm01-gh -> bn01 -> Cloud0Init -> Reginerate Image 79 | 80 | 81 | ### Boot new node (bn01) 82 | 1. Go to Datacenter -> pm01-gh -> bn01 -> Start 83 | 2. Go to Datacenter -> pm01-gh -> bn01 -> Console 84 | 3. [hostname issue](https://forum.proxmox.com/threads/setting-host-name-via-cloud-init.45525/) cloud-init messing up hostname 85 | - sudo rm -rf /var/lib/cloud/seed/nocloud-net 86 | - sudo poweroff 87 | 4. Start bn01 - Datacenter -> pm01-gh -> bn01 -> Start 88 | ### need to correct on nodes still 89 | - /etc/fstab (see above) 90 | - ln -s /media/farm/ghcache/smoke_cashe smoke_cashe 91 | - [ghrender.service](ghrederService.html) 92 | 93 | ### Backup / move vm 94 | 1. Enable your disk to store backups (on both source and destination nodes) 95 | - Create VXDump Storage - Datacenter -> Storage -> Add -> (Content: VZDump backup file) 96 | 2. Create Backup 97 | - ssh root@192.168.9.121 98 | - cd /var/lib/vz/dump 99 | - vzdump 100 100 | - or via gui: Datacenter -> pm01-gh -> bn000template -> Backup 101 | 3. Move backup file via scp 102 | - ssh root@192.168.9.121 103 | - cd /var/lib/vz/dump 104 | - scp vzdump-qemu-.vma root@192.168.9.122:/var/lib/vz/dump/vzdump-qemu-.vma 105 | 4. Restore the backup 106 | - ssh root@192.168.9.122 107 | - cd /var/lib/vz/dump 108 | - qmrestore vzdump-qemu-.vma 109 | - NOTE: the ddd is machine ID and must be unsused on the node 110 | - via gui: Datacenter -> pm02-gh -> local -> vzdump-qemu-.vma.lzo -> Restore 111 | 5. Remove and restore Cloud-Init Drive 112 | - Datacenter -> pm02-gh -> bn01 -> Hardware -> CloudInit Drive (click Remove after selection) 113 | - Datacenter -> pm02-gh -> bn01 -> Hardware -> click Add -> CloudInit Drive 114 | 115 | ### Start vm 116 | 1. ssh root@192.168.9.121 117 | 2. qm list 118 | 3. qm start 119 | 120 | -------------------------------------------------------------------------------- /docs/pfsense/README.md: -------------------------------------------------------------------------------- 1 | [Back to docs Index](../) 2 | 3 | # pfSense 4 | tbd 5 | 6 | - [Pfsense: Enable 1:1 NAT to Acesses DMZ](https://www.youtube.com/watch?v=1wn2io8EWvs) 7 | 8 | ## gh.lan Overview [youtube - ghlan Network Overview](https://youtu.be/HJzfB8MpkJg) 9 | ![ghlearn-ghlanNetworkOverviewDiagram](ghlearn-ghlanNetworkOverviewDiagram.jpeg) 10 | 11 | - ghlearn [document - gh.lan Overview](./ghlanOverviewDetail) 12 | 13 | ## pfSense basics 14 | 1. Default install via "pfsense" USB install key 15 | - Using Dell (Intel SR1560SF) 16 | - Defalut install user: admin pw: pfsense 17 | - IF VM XCP-ng: Network Interfaces - Check - Disable hardware checksum offload 18 | - Note interface assignments and lable ports and cables 19 | - Walk through wizard 20 | - Turn off Block RFC1918 Private Addresses and bogon networks (so we can use LAN address ranges) 21 | - Decide what the LAN subnet should be (default is 192.168.1.1/24) 191.168.252.0/23 22 | - Set admin password 23 | - Should have 2 interfaces WAN and LAN 24 | - Add Traffic Graphs to Dashboard 25 | 2. DHCP Setup -> Services DHCP Server / LAN 26 | - Enbable DHCP Server 27 | - Range: 192.168.253.101 - 199 (Move new servers to MAC assignment) 28 | - View DHCP Static Mappings (at bottom) 29 | - Status -> DCHP Leaases View leases and move 101-199 to a static according to IP mappings 30 | 3. Add VLAN's (skip this for now... will have to deal with router) 31 | - Interfaces -> Assignments -> VLANs 32 | - VLANs add 33 | - Parent Interface: lan VLAN Tag: 9 Description: ADM 34 | - Save 35 | - Interfaces -> Interfaces Assignments 36 | - Add (Select above VLAN) Save 37 | - Click on new interface 38 | - Check Enable Interface 39 | - Add Description: ADM 40 | - IPv4 Config Type: Static IPv4 41 | - Go down to Static IPv4 Config and the IP (192.168.9.1/24) 42 | - Uncheck reserve net blocking 43 | - Click SAVE 44 | - Click APPLY CHANGES 45 | - Services -> DHCP Server 46 | - Select ADM network 47 | - Enable DHCP Server 48 | - Range: 192.168.9.200-250 49 | - Save 50 | 4. Add Firewall Rules 51 | - Firewall -> Rules -> ADM 52 | - Add: 53 | - Action - Pass 54 | - Interface - ADM 55 | - Addresss Family - IPv4 56 | - Protocal - any 57 | - Source - any 58 | - Destination - any 59 | - Description: dmzall 60 | - Save 61 | - Add-TOP: 62 | - Action - Pass 63 | - Interface - ADM 64 | - Addresss Family - IPv4 65 | - Protocal - IPv4 ICMP - echoreq 66 | - Source - any 67 | - Destination - any 68 | - Description: ghWANallowPing 69 | - Save 70 | - Add-TOP: (not yet) 71 | - Action - Block 72 | - Interface - ADM 73 | - Addresss Family - IPv4 74 | - Protocal - any 75 | - Source - any 76 | - Destination - LAN 77 | - Description: BLOCK to LAN 78 | - Save 79 | - Add-TOP... block all other networks you want blocked 80 | 5. Add VLAN tags to Switches / vlans 81 | 82 | ### Equipment Docs 83 | - [HPE C7000 Ciscos WS-CBS-3020GSG2](https://drive.google.com/drive/folders/0B1myz1MGUaPqSjB3MDJyRktYaDA) 84 | - [Dell Intel SR1560SF](https://drive.google.com/drive/folders/0B1myz1MGUaPqSjB3MDJyRktYaDA) 85 | 86 | ### Notes 87 | - [Tutorial - pfsense install: Lawrence](https://youtu.be/9kSZ1oM-4ZM) 88 | - [interface assignments](https://youtu.be/9kSZ1oM-4ZM?list=PLjGQNuuUzvms3MhpsQ4zbe_Rlbo_0x01h&t=588) 89 | - [re-assign interface](https://youtu.be/9kSZ1oM-4ZM?list=PLjGQNuuUzvms3MhpsQ4zbe_Rlbo_0x01h&t=651) 90 | - [Uncheck Block Networks](https://youtu.be/9kSZ1oM-4ZM?list=PLjGQNuuUzvms3MhpsQ4zbe_Rlbo_0x01h&t=881) 91 | - [run perf test](https://youtu.be/9kSZ1oM-4ZM?list=PLjGQNuuUzvms3MhpsQ4zbe_Rlbo_0x01h&t=1349) 92 | - [open 443 to remote admin](https://youtu.be/9kSZ1oM-4ZM?list=PLjGQNuuUzvms3MhpsQ4zbe_Rlbo_0x01h&t=1639) 93 | - [create firewall rules for a crapnetwork subnet](https://youtu.be/9kSZ1oM-4ZM?list=PLjGQNuuUzvms3MhpsQ4zbe_Rlbo_0x01h&t=1706) 94 | - [create UPnP for crapnetwork subnet](https://youtu.be/9kSZ1oM-4ZM?list=PLjGQNuuUzvms3MhpsQ4zbe_Rlbo_0x01h&t=1943) 95 | - [traffic shape crapnetwork subnet](https://youtu.be/9kSZ1oM-4ZM?list=PLjGQNuuUzvms3MhpsQ4zbe_Rlbo_0x01h&t=2069) 96 | - [Tutorial - pfsense on XCP-ng: Lawrence tutorial](https://youtu.be/hy6RwgDm1p0?list=PLjGQNuuUzvms3MhpsQ4zbe_Rlbo_0x01h) 97 | - Check network performace [tutorial](https://youtu.be/hy6RwgDm1p0?list=PLjGQNuuUzvms3MhpsQ4zbe_Rlbo_0x01h&t=172) 98 | ```bash 99 | iperf3 -c 192.168.9.1 100 | iperf3 -c 192.168.9.1 -P 100 -t 20 101 | ``` 102 | - Add XCP-ng tools [tutorial](https://youtu.be/hy6RwgDm1p0?list=PLjGQNuuUzvms3MhpsQ4zbe_Rlbo_0x01h&t=220) 103 | - [Tutorial - Virtualization Lab Network Setup / Demo using XCP-NG, UniFi, pfsense and Xen Orchestra](https://www.youtube.com/watch?v=o1nwUfHsDHs) 104 | - [Tutorial - pfSense VLAN and Guest Network Setup](https://www.youtube.com/watch?v=hhPGN4UJHAM) 105 | - [Tutorial - tbd]() 106 | - [Tutorial - tbd]() 107 | - [Tutorial - tbd]() 108 | -------------------------------------------------------------------------------- /ghbin/makeRenderJob.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # makeRenderJob.sh 4 | # 5 | # This script creates the cfg file required to render each frame. 6 | # This script asks the user to verify source and output before cfg generation 7 | # REQUIRED: the four vars below 8 | 9 | projectName='0188_001' 10 | projectShotName='_0026A' 11 | projectShotVersion='_v009' 12 | projectSubelementName='' 13 | projectDivisionType='_3danim' 14 | controlPath='/media/gh/' 15 | nodePath='/media/gh/' 16 | 17 | #projectSeriesName='0183' 18 | #projectShowName='_001' 19 | #projectShotName='_0002A' 20 | #projectShotVersion='_v182' 21 | 22 | ## Below should not change 23 | ## 24 | #projectRendDir='_rend/' 25 | #projectAnimDir='_anim/' 26 | #projectTypeName='_3danim' 27 | projectTemplateExtention='.tpl' 28 | #projectConfigExtention='.cfg' 29 | #projectBlendExtention='.blend' 30 | #projectZipExtention='.zip' 31 | 32 | #projectName=$projectSeriesName$projectShowName 33 | #projectJobName=$projectName$projectShotName 34 | 35 | #projectJobOutputName=$projectJobAssetName$projectShotVersion 36 | 37 | #projectJobZipFileName=$projectJobAssetName$projectShotVersion$projectZipExtention 38 | #projectJobBlendFileName=$projectJobAssetName$projectShotVersion$projectBlendExtention 39 | 40 | projectsDir='ghprojects/' 41 | 42 | projectTemplate=$projectName$projectTemplateExtention 43 | projectShotTemplate=$projectName$projectShotName$projectTemplateExtention 44 | projectShotVersionTemplate=$projectName$projectShotName$projectDivisionType$projectShotVersion$projectTemplateExtention 45 | 46 | scriptsDir='ghbin/' 47 | 48 | controlScriptsDir=$controlPath$scriptsDir 49 | controlProjectsDir=$controlPath$projectsDir 50 | 51 | nodeScriptsDir=$nodePath$scriptsDir 52 | nodeProjectsDir=$nodePath$projectsDir 53 | 54 | #Pickup Project Template 55 | projectTemplatePath=$controlProjectsDir$projectTemplate 56 | echo 'Source the Project Template: '$projectTemplatePath 57 | echo "This OK? [YES][no]" 58 | read projectTemplateAnswerOK 59 | if [ "$projectTemplateAnswerOK" == "YES" ] || [ "$projectTemplateAnswerOK" == "" ] 60 | then 61 | source $projectTemplatePath 62 | else 63 | echo "Quit makeProject, nothing done." 64 | exit 65 | fi 66 | 67 | #Pickup ProjectShot Template 68 | projectShotTemplatePath=$controlProjectsDir$projectShotTemplate 69 | echo 'Source ProjectShot Template: '$projectShotTemplatePath 70 | echo "This OK? [YES][no]" 71 | read projectConfigAnswerOK 72 | if [ "$projectConfigAnswerOK" == "YES" ] || [ "$projectConfigAnswerOK" == "" ] 73 | then 74 | source $projectShotTemplatePath 75 | else 76 | echo "Quit makeProject, nothing done." 77 | exit 78 | fi 79 | 80 | #Pickup ProjectShotVersion Template 81 | #Pickup ProjectShot Template 82 | projectShotVerTemplatePath=$controlPath$projectName$shotName$zipName/$projectShotVersionTemplate 83 | echo 'Source the Version Template: '$projectShotVerTemplatePath 84 | echo "This OK? [YES][no]" 85 | read projectConfigAnswerOK 86 | if [ "$projectConfigAnswerOK" == "YES" ] || [ "$projectConfigAnswerOK" == "" ] 87 | then 88 | source $projectShotVerTemplatePath 89 | else 90 | echo "Quit makeProject, nothing done." 91 | exit 92 | fi 93 | 94 | projectAssetsPath=$controlPath$projectName$shotName$zipName 95 | projectOutputPath=$controlPath$projectName$shotName$rendName 96 | 97 | nodeAssetsPath=$nodePath$projectName$shotName$zipName 98 | nodeOutputPath=$nodePath$projectName$shotName$rendName 99 | 100 | fileName=$projectName$shotName$projectSubelementName$projectDivisionType$shotVersion 101 | 102 | echo "Render Source from: "$projectAssetsPath 103 | echo "Output Job cfgs to: "$projectOutputPath 104 | 105 | echo "Node Render Source: "$nodeAssetsPath 106 | echo "Node Output Frames: "$nodeOutputPath 107 | 108 | 109 | echo "projectJobOutputName: "$fileName 110 | 111 | echo "projectTemplate='$projectTemplatePath'" 112 | echo "projectShotTemplatePath='$projectShotTemplatePath'" 113 | echo "projectShotVerTemplatePath='$projectShotVerTemplatePath'" 114 | echo "zipBucket='$projectAssetsPath'" 115 | echo "rendBucket='$projectOutputPath'" 116 | echo "zip='$zip'" 117 | echo "blend='$blend'" 118 | echo "fileName='$fileName'" 119 | echo "frameName='$fileName.####'" 120 | echo "start='$start'" 121 | echo "end='$end'" 122 | echo "step='$step'" 123 | echo "created='$(date)'" 124 | 125 | answerDefault="yes" 126 | echo "Is this ok? [YES][no]" 127 | read answer 128 | 129 | if [ "$answer" == "yes" ] || [ "$answer" == "Yes" ] || [ "$answer" == "YES" ] || [ "$answer" == "y" ] || [ "$answer" == "Y" ] || [ "$answer" == "" ] 130 | then 131 | #rm -rf $frameName 132 | #mkdir $frameName 133 | # for i in {"$start".."$end"} 134 | for ((i=$start; i<=$end; (i=$i+$step))) 135 | do 136 | framePadded=$(printf "%04d" $i) 137 | frame=$i 138 | frameConfigOutputFile=$projectOutputPath/$fileName.$framePadded.cfg 139 | 140 | echo "zipBucket='$nodeAssetsPath/'" >> $frameConfigOutputFile 141 | echo "rendBucket='$nodeOutputPath/'" >> $frameConfigOutputFile 142 | echo "zip='$zip'" >> $frameConfigOutputFile 143 | echo "blend='$blend'" >> $frameConfigOutputFile 144 | echo "fileName='$fileName'" >> $frameConfigOutputFile 145 | echo "frameName='$fileName.$framePadded'" >> $frameConfigOutputFile 146 | echo "start='$frame'" >> $frameConfigOutputFile 147 | echo "end='$frame'" >> $frameConfigOutputFile 148 | echo "step='$step'" >> $frameConfigOutputFile 149 | echo "created='$(date)'" >> $frameConfigOutputFile 150 | # cat $tplName >> $frameName/$frameName.$framePadded.cfg 151 | done 152 | else 153 | echo "Command is cancelled." 154 | exit 155 | fi 156 | 157 | -------------------------------------------------------------------------------- /docs/ghrenderService.md: -------------------------------------------------------------------------------- 1 | # Created ghrender.service 2 | 3 | ## Create bare min ghrender.service 4 | ``` 5 | ghadmin@bn01:~$ cp /media/farm/ghbin/nodeRenderService.sh . 6 | ghadmin@bn01:~$ chmod +x nodeRenderService.sh 7 | ghadmin@bn01:~$ sudo touch /etc/systemd/system/ghrender.service 8 | ghadmin@bn01:~$ sudo chmod 664 /etc/systemd/system/ghrender.service 9 | ghadmin@bn01:~$ sudo vi /etc/systemd/system/ghrender.service 10 | [Unit] 11 | Description=ghrender 12 | 13 | [Service] 14 | ExecStart=/home/ghadmin/nodeRenderService.sh 15 | 16 | [Install] 17 | WantedBy=multi-user.target 18 | ``` 19 | 20 | ## Load, start, stop and enable on 'startup' 21 | ``` 22 | ghadmin@bn01:~$ sudo systemctl daemon-reload 23 | ghadmin@bn01:~$ sudo systemctl enable ghrender 24 | Created symlink /etc/systemd/system/multi-user.target.wants/ghrender.service → /etc/systemd/system/ghrender.service. 25 | 26 | ghadmin@bn01:~$ sudo systemctl start ghrender 27 | ghadmin@bn01:~$ sudo systemctl stop ghrender 28 | ``` 29 | 30 | ### Verify by checking log 31 | ``` 32 | ghadmin@bn02:~$ cat /media/farm/ghlogs/gridNodes.list 33 | Tue May 21 19:38:55 UTC 2019 STARTED: bn02 34 | Tue May 21 19:38:55 UTC 2019 ALLSTOP: bn02 35 | ``` 36 | 37 | # Check the service logs 38 | ``` 39 | ghadmin@bn01:~$ journalctl -u ghrender 40 | -- Logs begin at Wed 2019-05-15 19:16:09 UTC, end at Mon 2019-05-20 22:17:19 UTC. -- 41 | May 20 22:10:11 bn01 systemd[1]: Started ghrender. 42 | May 20 22:10:11 bn01 nodeRenderService.sh[2156]: /home/ghadmin/nodeRenderService.sh: line 309: cd: HOME not set 43 | May 20 22:10:11 bn01 nodeRenderService.sh[2156]: /home/ghadmin/nodeRenderService.sh: line 340: cd: HOME not set 44 | May 20 22:10:11 bn01 nodeRenderService.sh[2156]: rm: cannot remove '*.log': No such file or directory 45 | May 20 22:10:11 bn01 nodeRenderService.sh[2156]: Current Loop Count: 1 46 | May 20 22:10:11 bn01 nodeRenderService.sh[2156]: 0215_002_0007A_rend/*.cfg 47 | May 20 22:10:11 bn01 nodeRenderService.sh[2156]: Scanning Project 48 | May 20 22:10:11 bn01 nodeRenderService.sh[2156]: LoopSleep for 10 49 | May 20 22:10:21 bn01 nodeRenderService.sh[2156]: Current Loop Count: 2 50 | May 20 22:10:21 bn01 nodeRenderService.sh[2156]: 0215_002_0007A_rend/*.cfg 51 | May 20 22:10:21 bn01 nodeRenderService.sh[2156]: Scanning Project 52 | May 20 22:10:21 bn01 nodeRenderService.sh[2156]: LoopSleep for 10 53 | May 20 22:10:31 bn01 nodeRenderService.sh[2156]: Current Loop Count: 3 54 | May 20 22:10:31 bn01 nodeRenderService.sh[2156]: 0215_002_0007A_rend/*.cfg 55 | May 20 22:10:31 bn01 nodeRenderService.sh[2156]: Scanning Project 56 | May 20 22:10:31 bn01 nodeRenderService.sh[2156]: Scanning Project 57 | May 20 22:10:32 bn01 nodeRenderService.sh[2156]: LoopSleep for 10 58 | May 20 22:10:38 bn01 systemd[1]: Stopping ghrender... 59 | May 20 22:10:38 bn01 systemd[1]: Stopped ghrender. 60 | ``` 61 | 62 | # Remove logfiles and restart node 63 | ``` 64 | root@catfreenas:/mnt/MediaVolume/farm/ghlogs # rm gridNode.list 65 | root@catfreenas:/mnt/MediaVolume/farm/ghlogs # rm gridNodes.list 66 | root@catfreenas:/mnt/MediaVolume/farm/ghlogs # rm nodeStatus_bn01.list 67 | ``` 68 | 69 | ``` 70 | ghadmin@bn01:~$ ç 71 | Connection to 192.168.9.41 closed by remote host. 72 | Connection to 192.168.9.41 closed. 73 | ``` 74 | ### command line proxmox things 75 | - Look at shared storage 76 | ``` 77 | root@pm01-gh:~# pvesm status 78 | Name Type Status Total Used Available % 79 | GridShare cifs active 8402763435 5444186 8397319249 0.06% 80 | local dir active 34829920 5814320 27216640 16.69% 81 | local-lvm lvmthin active 79896576 8628830 71267745 10.80% 82 | root@pm01-gh:~# 83 | ``` 84 | - Force the node into cluster-master 85 | ``` 86 | root@pm01-gh:~# pvecm e 1 87 | ``` 88 | - Look at cluster members registered 89 | ``` 90 | root@pm01-gh:~# cat /etc/pve/.members 91 | { 92 | "nodename": "pm01-gh", 93 | "version": 74, 94 | "cluster": { "name": "ghcluster", "version": 16, "nodes": 16, "quorate": 1 }, 95 | "nodelist": { 96 | "pm01-gh": { "id": 1, "online": 1, "ip": "192.168.9.121"}, 97 | "pm02-gh": { "id": 2, "online": 1, "ip": "192.168.9.122"}, 98 | "pm03-gh": { "id": 3, "online": 0, "ip": "192.168.9.123"}, 99 | "pm04-gh": { "id": 4, "online": 1, "ip": "192.168.9.124"}, 100 | "pm05-gh": { "id": 5, "online": 1, "ip": "192.168.9.125"}, 101 | "pm06-gh": { "id": 6, "online": 1, "ip": "192.168.9.126"}, 102 | "pm07-gh": { "id": 7, "online": 1, "ip": "192.168.9.127"}, 103 | "pm08-gh": { "id": 8, "online": 1, "ip": "192.168.9.128"}, 104 | "pm09-gh": { "id": 9, "online": 1, "ip": "192.168.9.129"}, 105 | "pm11-gh": { "id": 11, "online": 1, "ip": "192.168.9.131"}, 106 | "pm12-gh": { "id": 12, "online": 1, "ip": "192.168.9.132"}, 107 | "pm13-gh": { "id": 13, "online": 1, "ip": "192.168.9.133"}, 108 | "pm14-gh": { "id": 14, "online": 1, "ip": "192.168.9.134"}, 109 | "pm15-gh": { "id": 15, "online": 1, "ip": "192.168.9.135"}, 110 | "pm16-gh": { "id": 16, "online": 1, "ip": "192.168.9.136"}, 111 | "pm10-gh": { "id": 10, "online": 1, "ip": "192.168.9.130"} 112 | } 113 | } 114 | ``` 115 | - List backups in dump share 116 | ``` 117 | root@pm01-gh:~# ls /var/lib/vz/dump/ 118 | vzdump-qemu-100-2019_05_15-15_48_22.log vzdump-qemu-101-2019_05_15-16_15_57.log vzdump-qemu-101-2019_05_15-16_15_57.vma.gz 119 | root@pm01-gh:~# 120 | ``` 121 | - Storage config 122 | ``` 123 | root@pm01-gh:~# cat /etc/pve/storage.cfg 124 | dir: local 125 | path /var/lib/vz 126 | content backup,iso,vztmpl 127 | 128 | lvmthin: local-lvm 129 | thinpool data 130 | vgname pve 131 | content rootdir,images 132 | 133 | cifs: GridShare 134 | path /mnt/pve/GridShare 135 | server 192.168.9.2 136 | share GridShare 137 | content images,iso 138 | username ghadmin 139 | 140 | root@pm01-gh:~# 141 | ``` 142 | - Fix graphics... sometimes 143 | ``` 144 | root@pm01-gh:~# service pvestatd restart 145 | ``` 146 | ### Reference 147 | - [systemd service file example](https://www.shellhacks.com/systemd-service-file-example/) 148 | - [boot requirments](https://forums.servethehome.com/index.php?threads/proxmox-5-1-boot-drive-size.17792/) 149 | - [proxmox-cmap service](https://forum.proxmox.com/threads/one-node-cannot-initialize-cmap-service.31075/) 150 | -------------------------------------------------------------------------------- /docs/plex/README.md: -------------------------------------------------------------------------------- 1 | # Plex 2 | 3 | ## plex catwin2016 Setup 4 | 1. Remote to Administrator - catwin2016 - ZT (or LAN) (info at cat2net) 5 | 2. Download [Plex for Windows Server](https://www.plex.tv/media-server-downloads/) 6 | 3. Map Network Drive T: to \\192.168.254.14\SharedMedia (info at DataCenterLayout) 7 | - File Exlpore -> Right Click Network -> Click Map network drive 8 | - Drive: T: 9 | - Folder: \\192.168.254.14\SharedMedia 10 | - Check: Reconnect at sign-in 11 | - Check: Connect using different credentials 12 | - user: (see FreeNAS users) 13 | - Verify you can see T: and all files 14 | 4. Install and Configure Plex 15 | - In Downloads, Run PlexMediaServer-xxxxx-x86.exe installer 16 | - Add Libraries (this takes awhile to build up library media info) 17 | - Photos: T:\CATPhotos 18 | - Music: T:\CATMusic 19 | - Movies: T:\CATMovies 20 | - TV Shows: T:\CATTVShows 21 | 5. Verify Plex access 22 | - Browse to LOCAL [Plex http://127.0.0.1:32400/](http://127.0.0.1:32400/) 23 | - Browse to NETWORK [Plex http://192.168.1.133:32400/](http://192.168.1.133:32400/) 24 | - This network is under pfsense https://192.168.1.1 DataCenterLayout (cat9box) 25 | - Browse to ZT [Plex http://10.147.20.17:32400/](http://10.147.20.17:32400/) 26 | - This network is under [cat9boxNetwork - zerotier](https://my.zerotier.com/network/93afae596322b601) 27 | 28 | ## plex FireTV Setup 29 | 1. Add FireTV to your [Amazon Devices](https://www.amazon.com/gp/mas/your-account/myapps/yourdevices/ref=mas_ya_dv) 30 | 2. On fireTV setup to sideload applications 31 | - Settings -> My Fire TV -> Developer options 32 | - ADB debugging: on 33 | - USB debugging: on 34 | - Apps from Unknown Soruces: on 35 | - Settings -> Applications -> Manage Installed Applications 36 | - Plex - search and download if into installed 37 | - ZeroTier One - which probably needs installed via step 3 38 | - end of substeps 39 | 3. Use Controller Phone to add ZeroTier One to FireTV 40 | - Open Apps2Fire 41 | - Click _SETUP_ menu on far right of menu bar 42 | - Click _SEARCH FIRE TVS_ which should find all FireTV's on local subnet 43 | - Click the fireTV you want to sideload app to should confirm connection click OK 44 | - NOTE you will get a USB Debbuging alert on FireTV Click Always Allow and OK 45 | - Click _LOCAL APPS> on far left of menu bar 46 | - Click the ZeroTier One app and _INSTALL_ 47 | - Settings -> Applications -> Manage Installed Applications 48 | - Select: ZeroTier One -> Launch application 49 | - Add zerotier network to join 50 | - Turn on network and OK the connection request 51 | - Settings: Use Cellular Data 52 | - Got to [my.zerotier.com/network/younetworkid](https://my.zerotier.com/network/93afae596322b601) 53 | - Authorize the address and note the device 54 | 4. Login to Plex app and verify server access 55 | - Settings -> Applications -> Manage Installed Applications 56 | - Select: Plex -> Launch application 57 | - Select -> SignIn 58 | - Go to [https://plex.tv/link](https://plex.tv/link) with the google user authorized on PLEX and type in Code 59 | - Verify access to media with Plex 60 | - end of substeps 61 | 62 | ## plex FireTV Controller Phone 63 | 1. Obtain an Android Phone with signed in google user account 64 | 2. Load the following Applications from Google Play App Store 65 | - [Amazon Fire TV](https://play.google.com/store/apps/details?id=com.amazon.storm.lightning.client.aosp) 66 | - [Apps2Fire](https://play.google.com/store/apps/details?id=mobi.koni.appstofiretv) 67 | - [ZeroTier One](https://play.google.com/store/apps/details?id=com.zerotier.one) 68 | 69 | 70 | ## plex in FreeNAS jail 71 | - [Install FreeBSD packages](https://www.cyberciti.biz/faq/howto-freebsd-installing-gnu-wget-command-port/) 72 | - [ZeroTier FreeBSD install](https://gist.github.com/dch/b36dd170209e65677d23f77c44825b5a) 73 | - [FreshPorts.org zerotier](https://www.freshports.org/net/zerotier/) 74 | - [net/zerotier](https://svnweb.freebsd.org/ports/head/net/zerotier/) 75 | - [Tar command](https://www.shellhacks.com/untar-tar-gz-linux-tar-command-extract-tar-file/) 76 | 77 | ## Other stuff 78 | - [HDHomeRun QUATRO 4K - Kickstarter](https://www.kickstarter.com/projects/1275320038/hdhomerun-atsc-30/description) 79 | - [Sideload FireTV apps](https://www.howtogeek.com/336602/how-to-sideload-apps-on-the-fire-tv-and-fire-tv-stick/) 80 | - [ZeroTier One App](https://play.google.com/store/apps/details?id=com.zerotier.one&hl=en_US) 81 | - [ZeroTier libzt](https://github.com/zerotier/libzt) 82 | - [ZeroTier API.md](https://github.com/zerotier/libzt/blob/master/API.md) 83 | - [WebRTC examples](https://webrtc.github.io/samples/) 84 | 85 | ## Config CedarFalls 86 | - [https://plex.tv/](https://plex.tv/) CHRISTREES - catMacMini [PlexDashboard](https://app.plex.tv/desktop/#!/settings/server/f527091f85893bb1c8fe559992f8497ef81d7d81/status/server-dashboard) 87 | - Plex Network Setup 88 | - [catMacMini-PlexRemoteAcess](https://app.plex.tv/desktop/#!/settings/server/f527091f85893bb1c8fe559992f8497ef81d7d81/settings/remoteAccess) 89 | - catMacMini - Plex - 192.168.2.35:32400 90 | - Local Router PortForward [http://192.168.2.1/Advanced_VirtualServer_Content.asp](http://192.168.2.1/Advanced_VirtualServer_Content.asp) 91 | - Local next IP 192.168.2.11 92 | - CFU Router DMZ to 192.168.2.11 [http://192.168.6.1/#/html/advanced/security/advanced_security_dmzhosting.html](http://192.168.6.1/#/html/advanced/security/advanced_security_dmzhosting.html) 93 | - Plex Library Setup 94 | - [https://app.plex.tv/desktop/#!/settings/server/f527091f85893bb1c8fe559992f8497ef81d7d81/settings/library](https://app.plex.tv/desktop/#!/settings/server/f527091f85893bb1c8fe559992f8497ef81d7d81/settings/library) 95 | - [https://app.plex.tv/desktop/#!/settings/server/f527091f85893bb1c8fe559992f8497ef81d7d81/manage/libraries](https://app.plex.tv/desktop/#!/settings/server/f527091f85893bb1c8fe559992f8497ef81d7d81/manage/libraries) 96 | - tbd 97 | - Plex Live TV DVR Setup 98 | - [https://app.plex.tv/desktop/#!/settings/server/f527091f85893bb1c8fe559992f8497ef81d7d81/manage/dvr](https://app.plex.tv/desktop/#!/settings/server/f527091f85893bb1c8fe559992f8497ef81d7d81/manage/dvr) 99 | - May need to edit tuner list by clicking on tuner channels and matchin guide list 100 | - tbd 101 | - tbd 102 | - tbd 103 | 104 | ## Config for Silicon Dust 105 | - catMacMini - Plex - 192.168.2.35:32400 106 | - SiliconDust - Silicon Dust - 192.168.2.31 107 | - Local Router PortForward [http://192.168.2.1/Advanced_VirtualServer_Content.asp](http://192.168.2.1/Advanced_VirtualServer_Content.asp) 108 | - 192.168.2.1:32400 - 192.168.2.35:32400 109 | - 192.168.2.1:80 - 192.168.2.31:80 110 | -------------------------------------------------------------------------------- /docs/overview.md: -------------------------------------------------------------------------------- 1 | # Overview 2 | 3 | gh site buildout generics 4 | 5 | ![ghOverviewDiagram](ghOverviewDiagram.svg) 6 | 7 | ## Stations 8 | 9 | ### Grid Infra front 10 | - [192.168.9.1](http://192.168.9.1) SOHO router PUBLIC-IP: 192.168.254.x (has inbound blocks) 11 | - [192.168.9.2](http://192.168.9.2) FreeNAS root-What#Time 12 | - [192.168.9.3](http://192.168.9.3) GitLAB root-What#Time 13 | - [192.168.9.4](http://192.168.9.4) nginx (was tobe the inbound web proxy config through freenas) 14 | 15 | ### Grid Infra DHCP - for stuff that may need to grab IP via DHCP 16 | - 192.168.9.20-99 DHCP via 192.168.9.1 17 | - [3C:07:54:72:49:E2 - 192.168.9.20](http://192.168.9.20) catmini - workstation 18 | - [00:1A:4B:CD:01:95 - 192.168.9.21](http://192.168.9.21) HPE BladeSystem Onboard Admin (use firefox) Administrator-What#Time 19 | - [messed up - 192.168.9.xx](http://192.168.9.xx) Cisco Switch in HPE (DHCP) (use firefox) 20 | - [VARIOUS - 192.168.9.180-250](---) ILO HPE 21 | 22 | 23 | ### Grid Infra static back HPE BladeStack 24 | - [3C:4A:92:F7:62:30 - 192.168.9.121:8009](https://192.168.9.221:8009) ProxMox pm1 (master node) root-Color#What! 25 | - [98:4B:E1:61:3E:20 - 192.168.9.122:8009](https://192.168.9.222:8009) ProxMox pm2 (cluster node) 26 | - [98:4B:E1:62:01:A8 - 192.168.9.123:8009](https://192.168.9.223:8009) ProxMox pm3 (cluster node) 27 | - [192.168.9.124:8009](https://192.168.9.224:8009) ProxMox pm4 (cluster node) 28 | - [192.168.9.125:8009](https://192.168.9.225:8009) ProxMox pm5 (cluster node) 29 | - [192.168.9.126:8009](https://192.168.9.226:8009) ProxMox pm6 (cluster node) 30 | - [192.168.9.127:8009](https://192.168.9.227:8009) ProxMox pm7 (cluster node) 31 | - [192.168.9.128:8009](https://192.168.9.228:8009) ProxMox pm8 (cluster node) 32 | - [192.168.9.129:8009](https://192.168.9.229:8009) ProxMox pm9 (cluster node) 33 | - [192.168.9.130:8009](https://192.168.9.230:8009) ProxMox pm10 (cluster node) 34 | - [192.168.9.131:8009](https://192.168.9.231:8009) ProxMox pm11 (cluster node) 35 | - [192.168.9.132:8009](https://192.168.9.232:8009) ProxMox pm12 (cluster node) 36 | - [192.168.9.133:8009](https://192.168.9.233:8009) ProxMox pm13 (cluster node) 37 | - [192.168.9.134:8009](https://192.168.9.234:8009) ProxMox pm14 (cluster node) 38 | - [192.168.9.135:8009](https://192.168.9.235:8009) ProxMox pm15 (cluster node) 39 | - [192.168.9.136:8009](https://192.168.9.236:8009) ProxMox pm16 (cluster node) 40 | 41 | ## FreeBSD Gateway Router (not working) 42 | - Look at the routes: netstat -rn 43 | - Delete the bad: route del default 44 | - Add default route: route add default 192.168.9.1 45 | - Add default route: vi /etc/rc.conf: defaultrouter="192.168.9.1" 46 | - Enable NAT: vi /etc/rc.conf: gateway_enable="YES" 47 | - Restart networking: /etc/rc.d/netif restart && /etc/rc.d/routing restart 48 | 49 | ## FreeNAS tweak of FreeBSD setup (reference only) 50 | - Go to [192.168.9.2](http://192.168.9.2) FreeNAS 51 | - System -> Tunables -> Add -> Variable: gateway_enable | Value: YES | Type: rc.conf 52 | - Reboot 53 | 54 | ## Vitrual Machines 55 | - cent7min on Proxmox 56 | - [192.168.9.201:8009](http://192.168.9.201:8009) ProxMox cf 57 | - cf->local(cf)->Upload->"CentOS-7-x86_64-Minimal-1810.iso" 58 | - Create VM (cent7min) - proxcatgrid Color#What! 59 | - Node: cf | VM ID: 100 | Name: cent7min | Pool: catgridPool 60 | - Boot: CD - Storge: local ISO image: CentOS-7-x86_64-Minimal-1810.iso 61 | - OS: Linux 4.x/3.x/2.6 Kernel 62 | - System: Graphic: Default SCSI Ctr: VirtIO SCSI 63 | - SCSI Controller: VirtIO | Bus: SCSI | Storage: local-lvm | Size: 9G 64 | - CPU: 2 | Memory: 1024 65 | - Create VM (bareMetal) 66 | - Node: cf | VM ID: 101 | Name: bareMetal | Pool: catgridPool 67 | - Boot: Do not use any media 68 | - OS: Linux 4.x/3.x/2.6 Kernel 69 | - System: Graphic: Default SCSI Ctr: VirtIO SCSI 70 | - SCSI Controller: VirtIO | Bus: SCSI | Storage: local-lvm | Size: 6G 71 | - CPU: 1 | Memory: 512 72 | - Network Bridge: vmbr0 | Model: VirtIO 73 | 74 | ## VLAN for Testing pxe 75 | 76 | - Go to [192.168.9.9](http://192.168.9.9) HPE BladeSystem Onboard Admin (use firefox) admin-What#Time 77 | - Enclosure->Interconnect->CiscoSwtich->ManagementConsole 78 | - should take you to [192.168.9.72](http://192.168.9.72) Cisco Switchroot 79 | 80 | ## Setup digital-rebar on cent7min 81 | 82 | ## Test PXE boot 83 | 84 | ## Proxmox 85 | 86 | ### proxmox install 87 | 88 | - USB key boot 89 | - Install options 90 | - root-Color#What! 91 | - FQDN: pm01-gh.2cld.net 92 | - IP: 192.168.9.221 NM: 24 GW: 192.168.9.1 93 | 94 | ### proxmox storage 95 | - Create CIFS (samba) storage 96 | - Datacenter -> Storage -> Add -> CIFS 97 | - ID: GridShare 98 | - Server: 192.168.9.2 (freenas) 99 | - Username: ghadmin (What#time) 100 | - Share: GridShare 101 | - Content: Disk Image, ISO Image 102 | 103 | ### proxmox vm 104 | [CreateTemplate Video](https://www.youtube.com/watch?v=8qwnXd1yRK4&t=752s) 105 | 106 | 107 | ### proxmox cluster 108 | [CreateCluster Video](https://youtu.be/s9FODQi2-20?t=79) 109 | 110 | - on pm01-gh: 111 | - Datacenter -> Cluster -> Create Cluster -> Cluster Name: ghcluster (Create) 112 | - Datacenter -> Cluster -> Join Information (Copy Information) 113 | - on pm02-gh: 114 | - Datacenter -> Cluster -> Join Cluster -> (Paste Information) 115 | - input pm01-gh root password 116 | - click JOIN 117 | - after refresh... should see both nodes 118 | - repeat for nodes pm03-gh to pm16-gh 119 | - Now clone and migrate vm to the nodes 120 | 121 | ## Economics 122 | Compare with [AWS pricing](https://aws.amazon.com/emr/pricing/) via [AWS InstanceType](https://aws.amazon.com/ec2/instance-types/) also [AWS calculator](https://calculator.s3.amazonaws.com/index.html) 123 | 124 | - c4.4xlarge vCPU: 16 GiB: 30 - $0.796/hr (EMR $0.21) 125 | - c5.4xlarge vCPU: 16 GiB: 32 - $0.798/hr (EMR $0.19) 126 | - ESB - $0.10 per GB-month of provisionted storage 127 | - DataIn $0.00 DataOut $0.155/month for first 10TB 128 | 129 | ### HPE Gridnode at AWS pricing 130 | 1. 16 nodes @ c4.4xlarge = $0.796 x 16 = $12.74/hr x 24hr = $305.76/day = $9172.80/mth 131 | 2. 16 nodes @ 140GB (aws has 500GB min so would be more) = $0.10 x 16 x 140 = $240/mth 132 | 133 | ### HPE Gridnode power cost 134 | 1. 16 nodes @ 100% => 4.600KW x $0.10/kWh = $0.46/hr x 24hr = $11.04/day = $331.20/mth 135 | 136 | ## Reference docs 137 | - [CreateCluster Video](https://youtu.be/s9FODQi2-20?t=79) 138 | - [CreateTemplate Video](https://www.youtube.com/watch?v=8qwnXd1yRK4&t=752s) 139 | - [CreateContainer Video](https://youtu.be/cyjXxsQ8Igw?t=8) 140 | - [ProxMox Interface](https://youtu.be/GHzMaTar0fw?t=5) 141 | - [CreateImage via ISO](https://youtu.be/BiIFLFhXByE?t=105) 142 | - [Install ProxMox](https://youtu.be/MO4CaHn1EjM?t=96) 143 | - [gh.2cld.net cat9box](https://docs.google.com/spreadsheets/d/1cPcjizKYg8XDHQctY8t1wBhW3g6rClCJ6O_DGaXIscI/edit#gid=1544884858) 144 | - [2cld-NetworkLayout](https://docs.google.com/spreadsheets/d/1fIs0hXZehy1KZmvjHQ6srktOA0otWPfx2Bo0VUg2oa4/edit?ts=5cd30e41#gid=0) via christrees@gmail.com 145 | - [2cld-DataCenterLayout](https://docs.google.com/spreadsheets/d/1QBA9OzsOhxs5W3kwlhxLZCmulFgd5uHMqu2qgrbMdxE/edit#gid=0) via admin@2cld.net (me) 146 | -------------------------------------------------------------------------------- /docs/workflow.md: -------------------------------------------------------------------------------- 1 | # Workflow for gh Blender Render Grid 2 | Purpose: Data flow overview for Grasshorse Blender Render Grid. 3 | 4 | ## Main Compute Components 5 | 1. Magma (Project Portal - ghMagma) 6 | 2. Artist Workstation (Blender GUI Workstation - ghArtist) 7 | 3. /media/gh (Storage - Process Control Scripts) 8 | 4. /media/projects (Storage - Blender Render Resources) 9 | 5. /media/process (S 10 | 6. multiple - Blender Render Node (Render Node - ghBlenderNode) 11 | 12 | ## Process Steps 13 | 1. Admin - Create Project 14 | 1. Artist - Use Workstation to create resources in /media/projects 15 | 1. Director - (pooptional) Greenlight version package for Render Grid resources 16 | 1. Artist - Package x.zip 17 | 1. Artist - Use MAGMA to submit render job 18 | 1. Admin - Monitor Render Grid for problems and complete jobs 19 | 1. Admin - Transfer complete jobs to _dailies and project rend directory 20 | 1. Director / Artist / Admin - Process Feedback and submit FIX Job Tickets. 21 | 22 | ## nodeService.sh Diagram 23 | ![nodeServiceDiagram](ghOverviewDiagram-nodeServiceDiagram.svg) 24 | 25 | ## Data Flow and Event Process 26 | 1. Admin - Create Project - MAGMA creates structure 27 | 1. Outputs ToProcess.sh in /media/process/toProcess.sh 28 | 1. Create folder structures on 29 | - /media/production 30 | - /media/process 31 | - ?? why not /media/gh ?? 32 | 1. Artist - Use Workstation to create resources in /media/projects 33 | - Blender Program is mapped to /media/projects 34 | 1. Artist creates .blend file in /media/projects/0194/… 35 | 1. Director - Greenlight version package for Render Grid resources 36 | - Maybe should be in MAGMA but now it’s just Artist and Director talk 37 | 1. Artist - Package x.blend and x.zip 38 | 1. Artist creates versioned x.zip 39 | 1. Artist - Use MAGMA to submit render job 40 | 1. Artist moves x.zip to /media/gh/*_zip 41 | 1. Artist uses MAGMA to generate *.cfg in /media/gh/*_rend 42 | 1. Admin - Monitor Render Grid for problems and complete jobs 43 | - If nodes are running old system… /media/gh/*_rend/*.lck,*.png should appear 44 | 1. Admin - Transfer complete jobs to _dailies 45 | 1. Stephen runs mp4Service.sh to generate daily review stuff 46 | 1. Stephen runs pngService.sh to transfer render to project rend directory 47 | 1. Director / Artist / Admin - Process Feedback and submit FIX Job Tickets. 48 | 49 | ### Services and Data Flow Walkthrough - Video: cat_GrasshorseRenderGrid_StephenSystemWalkthrough.mov 50 | 1. Admin - Create Project ( TC-00:24:52 ) http://galaxy.grasshorse.com/index.php/project-administration 51 | - Project Administration -> Shot Management 52 | - Select Series 53 | - Select Shared Folder 54 | - Select / Create Shot ??? 55 | - Set Frame Range 56 | - Click “Create” button 57 | - Magma does a “GET” with values to http://galaxy.grasshorse.com/index.php/project-administration/shot-management?seriesId=55&showId=104 58 | - Magma runs the function processSeries() processShot() from function.php to run makeFolders and makeBucket that generate the /media/process/toProcess.sh script that needs to be run as an admin. 59 | - superuser@galaxy:~$ cd /media/process/ ( TC-00:26:36 ) 60 | - Verify you can get to the storage the script needs to create in (they are on different systems) 61 | - superuser@galaxy:/media/process$ ls ../projects 62 | - superuser@galaxy:/media/process$ ls ../production 63 | - superuser@galaxy:/media/process$ ls ../gh 64 | - superuser@galaxy:/media/process$ cat toProcess.sh ( TC-00:26:29 ) 65 | 1. Artist - Blender Work ( TC-00:32:30 ) 66 | - Create some Blender data to Render. 67 | - Save Blend file ( TC-00:33:33 ) 68 | - /Volumes/projects/0194/000/prod/0194_000_0002A/3d/3danim/ 69 | - 0194_000_0002A_3danim_v001.blend 70 | - (Stephen saves in a machine that has Magma UI so it fills in the Magma db) ( TC-00:34:00 ) 71 | 1. Director - GREEN LIGHT artist to submit grid render job (just Aritist and Stephen talking) 72 | 1. Artist - Blender Grid Submit 73 | - Set Blender User Pref to create zip ( TC-00:36:27 ) 74 | - Pack Blend to Archive ( TC-00:37:00 ) 0194_000_0002A_3danim_v001.zip 75 | - IMPORTANT: Watch for zip package to COMPLETE 76 | - ( TC-00:38:00 ) Go to projects (bugatti) or /media/projects/0194/000/prod/0194_000_0002A/3d/3danim/ and see the .blend and .zip files you just created. 77 | - MOVE the above .zip to the render grid ( TC-00:38:26 ) to /media/gh/0194_000_0002A_zip directory. 78 | - Stephen talking about extra Step stuff that for future crap 79 | 1. Submit Render ( TC-00:41:14 ) 80 | - Magma creates .cfg files to deploy to grid 81 | - Stephen explains how Magma creates files and some of the db tables involved. 82 | 1. Admin - Monitor Render Grid for problems and complete jobs 83 | - Looking at grid node work ready to be done ( TC-00:44:00 ) 84 | - /media/gh/0194_000_0002A_zip see the zip file 85 | - /media/gh/0194_000_0002A_rend see the *.cfg files for each frame 86 | - ( TC-00:45:00 ) Stephen explains *.cfg file info 87 | - … Stephen explains more features to add with structure 88 | 1. TURN ON GRID NODE 89 | - Login to a grid node 90 | - ./nodeRenderService.sh & 91 | - Node should pickup *.cfg jobs 92 | - Reads /media/gh/ghprojects/jobPriority.list 93 | - ( TC-00:52:00 ) Stephen explains jobPriority.list 94 | - ( TC-00:54:00 ) nodeRenderService.sh output 95 | - ( TC-01:01:00 ) nodeRenderService creates a *.lock then a *.png 96 | - ( TC-01:02:30 ) Go look at badBlender.txt 97 | - ( TC-01:03:00 ) Go look at nodeService.log 98 | - ( TC-01:03:40 ) Go look at nodeRenderService.sh code 99 | - ( TC-01:05:30 ) Node Type = 2 issue with blender command 100 | - ( TC-01:06:30 ) Stephen gets into the frame feature AND how the zip thing works… AGAIN… so it’s OBVIOUSLY something he wants to do… MAGMA-TODO 101 | - ( TC-01:09:00 ) Chris explains why node stopped with badBlender.txt 102 | - ( TC-01:09:30 ) Stephen removes badBlender.txt and runs script 103 | - Chris and Stephen talk broken crap. 104 | - tbd 105 | - Stephen explains an issue with *.zip file when blender packs them. (TC-00:55:50 ) 106 | - ( TC-01:12:00 ) Stephen follows node png out to bucket /media/gh/0194_000_0002A_rend 107 | - tbd 108 | 1. Admin - Transfer complete jobs to _dailies 109 | - ( TC-01:12:30 ) Stephen explains what mp4 and png maker does 110 | - ( TC-01:13:30 ) Stephen shows script /media/gh/ghbin/grender/mp4Service.sh 111 | - ( TC-01:14:10 ) Stephen shows script /media/gh/ghbin/grender/pngService.sh 112 | - ( TC-01:15:00 ) Stephen shows scripts /media/projects/_dailies/0194_001/07_22_2017/ 113 | - ( TC-01:16:30 ) Stephen tells about “current status view” through MAGMA… ANOTHER website feature (MAGMA) project for someone MAGMA-TODO 114 | - test 115 | - tbd 116 | 1. Director / Artist / Admin - Process Feedback and submit FIX Job Tickets. 117 | - Somewhere we should keep source code and ticket system. 118 | - Feedback about process improvements should follow AGILE SCRUM stuff. 119 | - Test 120 | 121 | 122 | #### MODS to TEST 123 | Remote nodes in Cedar Falls. 124 | Create tar for _rend and _zip 125 | Push tar 126 | Pull tar 127 | Render tar 128 | Create finished tar 129 | Push tar 130 | Pull tar 131 | Expand project 132 | Fix Node poll and pull to Controller job PUSH 133 | -------------------------------------------------------------------------------- /docs/blenderCacheBake.md: -------------------------------------------------------------------------------- 1 | # Blender Cache Bake 2 | 3 | ## Issue with blender smoke test. 4 | 5 | - For rendering baked smoke cache files are needed but not included in blend zip 6 | - For large baked files, zip on windows workstation had issues with large files (we think) 7 | - Each frame only need the one bake file 8 | - See [Blender Cache](https://docs.blender.org/manual/en/latest/physics/particles/emitter/cache.html) 9 | 10 | ### Test 11 | Testing some ideas out... 12 | 13 | #### FIX1 - Move cache via tar to node b037 14 | - at the same dir level as the .blend needs to be the smoke_cashe 15 | - Use tar to bundle and move the smoke_cashe (takes over 20min to bundle and move) 16 | - tar smoke_cashe and move .tar and .zip to bn037 17 | ``` 18 | ghadmin@magma:/media/projects/0215/002/prod/0215_002_0007A/3d/3danim$ tar -cvf smoke_cashe-test.tar smoke_cashe/ 19 | ghadmin@magma:/media/projects/0215/002/prod/0215_002_0007A/3d/3danim$ scp smoke_cashe-test.tar ghadmin@bn037:/home/ghadmin/ 20 | ghadmin@magma:/media/projects/0215/002/prod/0215_002_0007A/3d/3danim$ scp 0215_002_0007A_3danim_v002.zip ghadmin@bn037:/home/ghadmin/ 21 | ``` 22 | - extract tar 23 | ``` 24 | ghadmin@bn037:~$ tar -xvf smoke_cashe-test.tar 25 | ``` 26 | - prep and render a frame 27 | ``` 28 | ghadmin@bn037:~$ unzip 0215_002_0007A_3danim_v002.zip 29 | ghadmin@bn037:~$ blender -b 0215_002_0007A_3danim_v002.blend -y -F PNG -o testout -t 0 -f 52 30 | ``` 31 | - move to Check that it works 32 | ``` 33 | ghadmin@bn037:~$ cp testout0052.png /media/farm/ 34 | ``` 35 | - !!!_YES_!!! THAT WORKS 36 | 37 | #### FIX2 - Move only one bake frame to b037 38 | - copy just .zip to bn040 39 | ``` 40 | ghadmin@magma:/media/projects/0215/002/prod/0215_002_0007A/3d/3danim$ scp 0215_002_0007A_3danim_v002.zip ghadmin@bn040:/home/ghadmin/ 41 | ``` 42 | - create smoke-frame and put just frame 52 bake in it 43 | ``` 44 | ghadmin@bn040:~$ mkdir smoke_cashe 45 | ``` 46 | - from magma push the frame 47 | ``` 48 | ghadmin@magma:/media/projects/0215/002/prod/0215_002_0007A/3d/3danim$ scp smoke_cashe/_000052_01.bphys ghadmin@bn040:/home/ghadmin/smoke_cashe/ 49 | ``` 50 | - prep and Render frame 52 51 | ``` 52 | ghadmin@bn040:~$ unzip 0215_002_0007A_3danim_v002.zip 53 | ghadmin@bn040:~$ blender -b 0215_002_0007A_3danim_v002.blend -y -F PNG -o testout -t 0 -f 52 54 | ``` 55 | - move to Check that it works 56 | ``` 57 | ghadmin@bn040:~$ cp testout0052.png /media/farm/testout0052-check.png 58 | ``` 59 | - __YES__ THAT WORKS 60 | 61 | #### FIX3 - Just link the cache 62 | - create a link to smoke_cashe 63 | ``` 64 | ghadmin@bn037:~$ mv smoke_cashe testlink 65 | ghadmin@bn037:~$ mkdir smoke_cashe 66 | ghadmin@bn037:~$ ln -s /home/ghadmin/testlink smoke_cashe 67 | ghadmin@bn037:~$ ls -alu smoke_cashe 68 | lrwxrwxrwx 1 ghadmin ghadmin 22 May 17 18:08 smoke_cashe -> /home/ghadmin/testlink 69 | ``` 70 | - Render a new frame 60 71 | ``` 72 | ghadmin@bn037:~$ blender -b 0215_002_0007A_3danim_v002.blend -y -F PNG -o testout -t 0 -f 60 73 | ``` 74 | - move to Check that it works 75 | ``` 76 | ghadmin@bn037:~$ cp testout0060.png /media/farm/ 77 | ``` 78 | - !!!_YES_!!! THAT WORKS 79 | 80 | #### FIX4 - Move tar to farm and expand, create link to this on each node 81 | - Setup ghcache on farm 82 | ``` 83 | ghadmin@magma:~$ mkdir /media/farm/ghcache 84 | ghadmin@magma:~$ cd /media/farm/ghcache/ 85 | ghadmin@magma:/media/farm/ghcache$ cp /media/projects/0215/002/prod/0215_002_0007A/3d/3danim/smoke_cashe-test.tar . 86 | ghadmin@magma:/media/farm/ghcache$ tar -xvf smoke_cashe-test.tar 87 | ``` 88 | - create link on each node 89 | - bn0xx - 192.168.254.1xx 90 | ``` 91 | catmini:~ cat$ ssh ghadmin@192.168.254.1xx 92 | ghadmin@bn0xx:~$ ln -s /media/farm/ghcache/smoke_cashe smoke_cashe 93 | ``` 94 | - bn036 - 192.168.254.176 - ALSO re-installed blender 95 | - bn037 - 192.168.254.177 96 | - bn040 - 192.168.254.180 97 | - bmbn000 - 192.168.254.110 98 | - bn039 - 192.168.254.179 - ISSUE with mount (need to install nfs client helper) 99 | 100 | 101 | 102 | ### NOTES: 103 | 104 | #### magma 192.168.254.4 105 | ``` 106 | ghadmin@magma:~$ cd /media/projects/0215/002/prod/0215_002_0007A/3d/3danim/ 107 | ghadmin@magma:/media/projects/0215/002/prod/0215_002_0007A/3d/3danim$ ls 108 | 0215_002_0007A_3danim_v001.blend 0215_002_0007A_3danim_v002.blend1 smoke_cashe 109 | 0215_002_0007A_3danim_v002.blend 0215_002_0007A_3danim_v002.zip smoke_cashe-test.tar 110 | ghadmin@magma:/media/projects/0215/002/prod/0215_002_0007A/3d/3danim$ 111 | ``` 112 | 113 | #### bn040 92.168.254.180 114 | ``` 115 | ghadmin@bn040:~$ ls -alu 116 | total 1716 117 | drwxr-xr-x 9 ghadmin ghadmin 12288 May 17 17:51 . 118 | drwxr-xr-x 3 root root 4096 Feb 23 13:20 .. 119 | -rw-rw-rw- 1 ghadmin ghadmin 511936 May 17 17:47 0215_002_0007A_3danim_v002.blend 120 | -rwxrwxr-x 1 ghadmin ghadmin 105467 May 17 17:45 0215_002_0007A_3danim_v002.zip 121 | -rw------- 1 ghadmin ghadmin 20741 May 18 11:33 .bash_history 122 | -rw-r--r-- 1 ghadmin ghadmin 220 May 17 18:22 .bash_logout 123 | -rw-r--r-- 1 ghadmin ghadmin 3771 May 17 17:43 .bashrc 124 | drwx------ 4 ghadmin ghadmin 4096 Jan 5 2017 .cache 125 | drwx------ 3 ghadmin ghadmin 4096 Apr 22 2017 .config 126 | drwx------ 3 ghadmin ghadmin 4096 Feb 22 08:50 .gnupg 127 | drwxrwxr-x 2 ghadmin ghadmin 4096 May 5 2017 .nano 128 | -rwxr-xr-x 1 ghadmin ghadmin 13293 Aug 3 2017 nodeRenderService2.sh 129 | -rwxrwxr-x 1 ghadmin ghadmin 13297 May 16 16:19 nodeRenderService3.sh 130 | -rw-rw-r-- 1 ghadmin ghadmin 38394 May 17 12:54 nodeServiceBlender.log 131 | -rw-rw-r-- 1 ghadmin ghadmin 18121 May 17 12:53 nodeService.log 132 | -rw-r--r-- 1 ghadmin ghadmin 673 May 17 17:43 .profile 133 | -r-------- 1 ghadmin ghadmin 38 Feb 7 2018 .smbcredentials 134 | drwxrwxr-x 2 ghadmin ghadmin 4096 May 17 17:47 smoke_cashe 135 | drwx------ 2 ghadmin ghadmin 4096 Jan 9 2017 .ssh 136 | -rw-r--r-- 1 ghadmin ghadmin 0 Jan 5 2017 .sudo_as_admin_successful 137 | -rw-rw-r-- 1 ghadmin ghadmin 941160 May 17 17:52 testout0052.png 138 | drwxr-xr-x 2 ghadmin ghadmin 4096 Jan 5 2017 .vim 139 | -rw------- 1 ghadmin ghadmin 4160 Jul 29 2017 .viminfo 140 | ghadmin@bn040:~$ 141 | ``` 142 | 143 | #### bn037 92.168.254.177 144 | ``` 145 | ghadmin@bn037:~$ ls -alu 146 | total 9033448 147 | drwxr-xr-x 8 ghadmin ghadmin 16384 May 18 11:35 . 148 | drwxr-xr-x 3 root root 4096 May 17 17:58 .. 149 | -rw-rw-rw- 1 ghadmin ghadmin 511936 May 17 17:33 0215_002_0007A_3danim_v002.blend 150 | -rwxrwxr-x 1 ghadmin ghadmin 105467 May 17 17:27 0215_002_0007A_3danim_v002.zip 151 | -rw------- 1 ghadmin ghadmin 14903 May 18 11:34 .bash_history 152 | -rw-r--r-- 1 ghadmin ghadmin 220 May 16 18:38 .bash_logout 153 | -rw-r--r-- 1 ghadmin ghadmin 3771 May 17 16:26 .bashrc 154 | drwx------ 4 ghadmin ghadmin 4096 May 17 15:02 .cache 155 | drwx------ 3 ghadmin ghadmin 4096 May 17 15:02 .config 156 | drwx------ 3 ghadmin ghadmin 4096 May 17 15:02 .gnupg 157 | -rwxrwxr-x 1 ghadmin ghadmin 13297 May 16 16:25 nodeRenderService3.sh 158 | -rw-rw-r-- 1 ghadmin ghadmin 1901 May 17 17:30 nodeService.log 159 | -rw-r--r-- 1 ghadmin ghadmin 673 May 17 16:26 .profile 160 | -r-------- 1 ghadmin ghadmin 38 Apr 28 2018 .smbcredentials 161 | lrwxrwxrwx 1 ghadmin ghadmin 22 May 17 18:08 smoke_cashe -> /home/ghadmin/testlink 162 | -rwxrwxr-x 1 ghadmin ghadmin 9248501760 May 17 17:28 smoke_cashe-test.tar 163 | drwx------ 2 ghadmin ghadmin 4096 May 17 15:02 .ssh 164 | -rw-r--r-- 1 ghadmin ghadmin 0 Jan 5 2017 .sudo_as_admin_successful 165 | drwxrwxr-x 2 ghadmin ghadmin 4096 May 17 18:08 testlink 166 | -rw-rw-r-- 1 ghadmin ghadmin 9384 May 17 17:38 testout0052.png 167 | -rw-rw-r-- 1 ghadmin ghadmin 1006885 May 17 18:13 testout0060.png 168 | drwxr-xr-x 2 ghadmin ghadmin 4096 May 17 15:02 .vim 169 | -rw------- 1 ghadmin ghadmin 7330 May 17 17:25 .viminfo 170 | ghadmin@bn037:~$ ls .cache/ 171 | motd.legal-displayed thumbnails update-manager-core 172 | ghadmin@bn037:~$ ls .cache/update-manager-core/ 173 | meta-release-lts 174 | ghadmin@bn037:~$ 175 | ``` 176 | -------------------------------------------------------------------------------- /docs/coldstorage/README.md: -------------------------------------------------------------------------------- 1 | [edit](https://github.com/2cld/gh/edit/master/docs/coldstorage/README.md) 2 | # gh coldstorage 3 | Mapping the status of network and devices for coldstorage. 4 | 5 | ## ToDo 6 | - [X] DONE 2023.07.07 ~~Chris creates this document~~ 7 | - [ ] 2023.07.08 Call Chris and arrange a time to review 8 | - [ ] Steve and Chris review digital backup data 9 | - [ ] Chris reclaims old backup space 10 | - [ ] Chris and Steve identify min requied gh.lan for a restart 11 | - [ ] 2023.07.15 13:00 CST confirm datetime for the coldstorage test 12 | - [ ] Confirm backup [Digital Inventory Doc](https://docs.google.com/spreadsheets/d/1DUeTZ9TLzZReFxg84TLXvxiPXK7IepM0W9Iki86HPYo/edit#gid=0) 13 | - [ ] magma 14 | - [ ] projects 15 | - [ ] production 16 | - [ ] public 17 | - [ ] executive 18 | - [ ] server workstations ? 19 | - [ ] Confirm server and network config [DataCenter Layout](https://docs.google.com/spreadsheets/d/1cPcjizKYg8XDHQctY8t1wBhW3g6rClCJ6O_DGaXIscI/edit#gid=1621592935) 20 | - [ ] pfSense 21 | - [ ] truenas 22 | - [ ] magma 23 | - [ ] Physical hardware inventory 24 | - [ ] Digital Data 25 | - [ ] Servers and configurations 26 | - [ ] Storage and configurations 27 | - [ ] Network and configurations 28 | - [ ] Print hardcopy with Inventory and admin info 29 | - [ ] Take everything down 30 | - [ ] Bring everything up (confirm with check test) 31 | - [ ] Take everything down again 32 | 33 | old wip info [https://github.com/christrees/wip/edit/main/labnotes/gh-build.md](https://github.com/christrees/wip/edit/main/labnotes/gh-build.md) 34 | 35 | ## gh backup build 36 | - based on [neststack proxmox](https://github.com/2cld/netstack/tree/master/docs/lan/compute/proxmox) 37 | 38 | ## gh.lan local 192.168.254.0/24 gw [http://192.168.254.254/](http://192.168.254.254/) 39 | 40 | | web proxy | Link | type | description | 41 | |--------------|---------|------|-------------| 42 | | 0028.ftth.farmtel.net | [https://208.126.60.28/](https://208.126.60.28/) | static | farmtel public IP | 43 | |--------------|---------|------|-------------| 44 | | farmtel | [http://192.168.254.254/](http://192.168.254.254/) | static | farmtel gw | 45 | | gh.lan | [http://192.168.254.1/](http://192.168.254.1/) | static | gh ns gw | 46 | | projects | [http://192.168.254.6/](http://192.168.254.6/) | dhcp-res | gh projects gw | 47 | | magma | [http://192.168.254.4/](http://192.168.254.4/) | dhcp-res | gh magma | 48 | 49 | - IPA DNS bindings [https://192.168.254.1/services_unbound.php](https://192.168.254.1/services_unbound.php) 50 | - IPA DHCP lease [https://192.168.254.1/status_dhcp_leases.php](https://192.168.254.1/status_dhcp_leases.php) 51 | - IPA DHCP macres [http://192.168.254.254/advancedsetup_dhcpreservation.html](http://192.168.254.254/advancedsetup_dhcpreservation.html) 52 | - DNS pfsense [http://192.168.254.1](http://192.168.254.254/) route to 192.168.252.0/23 subnet 53 | - gw is http://192.168.254.254/ but DNS is http://192.168.254.1 the PFSense Router 54 | - gh does not have control of the gw router 192.168.254.254 and public IP 208.126.60.28 55 | - [https://whatismyipaddress.com/](https://whatismyipaddress.com/) [https://whatismyipaddress.com/ip/208.126.60.28](https://whatismyipaddress.com/ip/208.126.60.28) 56 | 57 | 58 | ## 192.168.252.0/23 gw [http://192.168.252.1/](http://192.168.252.1/) dns 192.168.253.254 59 | 60 | | web proxy | Link | type | description | 61 | |--------------|---------|------|-------------| 62 | | ng.gh.lan | [https://192.168.253.254/](https://192.168.253.254/) | static | pfsense ng on subnet | 63 | | sg.gh.lan | [https://192.168.252.2/](https://192.168.252.2/) | static | truenas sg on subnet | 64 | | cg.gh.lan | [https://192.168.252.3:8006/](https://192.168.252.3:8006/) | static | proxmox cg on subnet | 65 | | sg2.gh.lan | [https://192.168.252.6/](https://192.168.252.6/) | static | truenas sg2 garage subnet | 66 | | lot.gh.lan | [https://192.168.252.12/](https://192.168.252.12/) | static | truenas log ? on subnet | 67 | | catghwin10 | [http://192.168.252.10](http://192.168.252.10) | static | windows 10 cat zt 10.147.17.127 | 68 | 69 | - [https://my.zerotier.com/](https://my.zerotier.com/) 70 | - tbd 71 | 72 | --- 73 | # DNS Resolver 74 | - [https://192.168.253.254/services_unbound.php](https://192.168.253.254/services_unbound.php) 75 | ``` 76 | alpine gh.lan 192.168.254.91 Artist Workstation 77 | avanti gh.lan 192.168.254.96 Artist Workstation 78 | char1 gh.lan 192.168.254.101 Puppet Justice CHAR1 79 | char2 gh.lan 192.168.254.102 80 | char3 gh.lan 192.168.254.103 Puppet Station 81 | cybertruck gh.lan 192.168.254.95 cybertruck 82 | eclipse gh.lan 192.168.254.94 Reception Computer 83 | galaxy gh.lan 192.168.254.1 ghadmin DNS 84 | garage gh.lan 192.168.252.2 ghadmin storage 85 | gremlin gh.lan 192.168.254.93 Grasshorse Conference Room Workstation 86 | magma gh.lan 192.168.254.4 ghadmin project management 87 | ng gh.lan 192.168.253.254 Grasshorse Network Gateway 88 | network gh.lan Alias for ng.gh.lan Long Name for Network Gateway 89 | peugeot gh.lan 192.168.254.87 Vivan's Computer 90 | pinzgauer gh.lan 192.168.254.83 Grasshorse Artist Workstation 91 | projects gh.lan 192.168.254.6 gh project storage 92 | prowler gh.lan 192.168.254.8 ghadmin storage - Projects 93 | ram gh.lan 192.168.254.11 Media Computer 94 | saturn gh.lan 192.168.254.92 Conference Room Computer 95 | sg gh.lan 192.168.252.2 Grasshorse Storage Gateway FreeNAS 96 | storage gh.lan Alias for sg.gh.lan Long Nmae 97 | stream gh.lan 192.168.254.3 Internal Streaming Server 98 | studebaker gh.lan 192.168.254.90 Artist Workstation 99 | switcher gh.lan 192.168.254.110 Sound Room Switcher 100 | tesla gh.lan 192.168.254.88 Surface Pro Laptop 101 | triumph gh.lan 192.168.254.89 Mac Workstation 102 | viper gh.lan 192.168.254.81 viper 103 | ``` 104 | # Active dhcp leases 192.168.252.0/22 subnet 105 | - [https://192.168.253.254/status_dhcp_leases.php](https://192.168.253.254/status_dhcp_leases.php) 106 | Note: 192.168.254.0/24 subnet is farmtel with no admin access 107 | ``` 108 | 192.168.252.2 00:30:48:c7:82:b3 storage gateway sg sg.gh.lan freenas 4x6TB zfs2 21TB n/a n/a online static 109 | 192.168.252.6 00:08:9b:e2:83:93 sg2 sg2 Backup Storage Server TS-431 4x2TB raid5 n/a n/a offline static 110 | 192.168.252.9 00:15:17:b1:cf:59 dg dg Grasshorse GitLab Document Gateway n/a n/a offline static 111 | 192.168.252.10 00:1e:67:0f:b9:1c catghwind10 catghwin10 cat Windows 10 baremetal test machine n/a n/a online static 112 | 192.168.252.12 1a:59:cc:25:96:5d lot lot lot storage parking for offline data n/a n/a offline static 113 | 192.168.252.19 3c:07:54:72:49:e2 catmini-ghgrid macci macci IP when on ghadmin Grid n/a n/a offline static 114 | 192.168.252.101 00:1e:67:0f:b7:50 ghg01 ghg01 Grasshorse proxmox grid server ghg01 n/a n/a offline static 115 | 192.168.252.102 00:1e:67:0f:b9:b1 ghg02 ghg02 Grasshorse proxmox grid server ghg02 n/a n/a offline static 116 | 192.168.252.103 00:1e:67:0f:ba:94 ghg03 ghg03 Grasshorse proxmox grid server ghg03 n/a n/a offline static 117 | ``` 118 | # arp table 119 | - [https://192.168.253.254/diag_arp.php](https://192.168.253.254/diag_arp.php) 120 | ``` 121 | WAN 192.168.254.91 70:8b:cd:54:d7:b4 alpine.gh.lan Expires in 837 seconds ethernet 122 | LAN 192.168.252.10 00:1e:67:0f:b9:1c catghwin10.gh.lan Expires in 496 seconds ethernet 123 | WAN 192.168.254.103 4c:cc:6a:0d:be:32 char3.gh.lan Expires in 1172 seconds ethernet 124 | WAN 192.168.254.95 04:d9:f5:c8:c7:fc cybertruck.gh.lan Expires in 1140 seconds ethernet 125 | WAN 192.168.254.94 1c:69:7a:90:17:1f eclipse.gh.lan Expires in 1091 seconds ethernet 126 | WAN 192.168.254.1 00:1e:67:10:80:88 galaxy.gh.lan Permanent ethernet 127 | WAN 192.168.254.93 4c:cc:6a:0d:bd:1e gremlin.gh.lan Expires in 1190 seconds ethernet 128 | LAN 192.168.253.254 00:1e:67:10:80:89 ng.gh.lan Permanent ethernet 129 | WAN 192.168.254.6 00:30:48:c9:ee:98 projects.gh.lan Expires in 854 seconds ethernet 130 | WAN 192.168.254.8 00:1e:67:0f:ba:2c prowler.gh.lan Expires in 1012 seconds ethernet 131 | WAN 192.168.254.11 00:23:df:df:53:21 ram.gh.lan Expires in 216 seconds ethernet 132 | LAN 192.168.252.2 00:30:48:c7:82:b3 sg.gh.lan Expires in 23 seconds ethernet 133 | WAN 192.168.254.90 40:16:7e:37:9d:af studebaker.gh.lan Expires in 1163 seconds ethernet 134 | WAN 192.168.254.81 4c:cc:6a:0d:be:98 viper.gh.lan Expires in 1184 seconds ethernet 135 | WAN 192.168.254.80 10:c3:7b:46:da:95 Expires in 1190 seconds ethernet 136 | WAN 192.168.254.254 ec:4f:82:65:9a:cf Expires in 1181 seconds ethernet 137 | ``` 138 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [Edit this](https://github.com/2cld/gh/edit/master/README.md) 2 | 3 | # 2024.07.19 4 | ## Given I can get access to Sat/Sun 5 | - Pull my truck and trailer to back of GH Loading Dock 6 | - Load my corner of shit in bathroom and server room 7 | - Load large trash and/or bags for dump 8 | - Once trailer is full, go out to folks and throw off my stuff onto palets, trash in trash pile 9 | - Go back into GH Loading Dock to load bigger servers and server racks, doors 10 | - Load 'need to recycle' electronics into my recycle crate 11 | - Load any tagged stuff from Steve, Kathy or Karen for recycle and or further sorting sale 12 | - Assuming all stuff on shelves (and shelves) downstairs will to out to folks barn 13 | - All trash in bags (both for trash or further sorting) just need to be tagged as trash or sort recycle 14 | - Carla, Kathy and Karen can work through sorting tagging arch or 'put up for sale' out at moms, but target date for disposition is pre Aug 4 15 | - Brian and I will work through any dumpster trash/ or recycling out of the large barn 16 | - I'm good with moving any larger toolboxes or equipment out to the big sheds at folks... again pre Aug 4 disposition is all that's required 17 | 18 | - Scott and I talked... worst case he said he can hire kids on monday again, once I'm done, I can leave folks truck and trailer for Monday... and a spot in the old shed to just back the trailer into. You can leave what-ever on it with a pre Aug 4 disposition... Brian and I can deal with it with the rest of our junk / storage. 19 | 20 | 21 | # gh 22 | 23 | - For Carla... [Grain bin mini home](https://www.youtube.com/watch?v=XFhKkr28Wj0) 24 | - Air BnB [Grain Silo Tiny House](https://www.youtube.com/watch?v=7NDsd4B0sK0) 25 | 26 | Agenda for 2024.01.08-?? 27 | - Carla is off next week recovering from her eye update. 28 | - If she does not contact you guys before Tue, start bugging her. 29 | - Checkout [https://www.catalogit.app/](https://www.catalogit.app/) 30 | - [Catalogit - youtube demo](https://youtu.be/4ks_KsO18yw?list=PLh1Akm1WtAXbAwMiyJEc_ASl5AQbzBbb9) 31 | - ghadmin chrome user [https://catalogit.app/login/credentials](https://catalogit.app/login/credentials) 32 | - Trinkala's are using this do document rare photos and artwork 33 | - You can sign up and get 50 items for free 34 | - If we use it, Trink and I would build one 35 | - Our 'goal' while Carla is at Moms 36 | - Finish clothing sort and dispose 37 | - Do a SID (below) on all items in house 38 | - Brian and I are doing a SID on the garages around Mom's house 39 | - I would like to setup selling of items (Trinkalas, Nordykes and Edwards are also looking to sell collectables) 40 | - I'm going to attempt to capture house in Blender BIM and target repair / upgrade projects 41 | 42 | 43 | Agenda for 2023.11.22 44 | - SID - Sort Status (Sell Invest Dispose) 45 | - AliceTrees Estate [Inventory](https://docs.google.com/spreadsheets/d/1DKb3lPvvxENL9s3Xo8LNtRDORzgJTz41veKOQpennk4/edit#gid=1106379675) 46 | - Grasshorse [Inventory](https://docs.google.com/spreadsheets/d/1KjOBpD3Bz_bT0rMGfP9HB43t5N-6cx5WmbyCsVMJcF0/edit#gid=0) 47 | - Possible WAG (Winfield Actors Guild) worthy waste of time efforts 48 | - Objective is to recapitalize shared assets through crap we'd waste time on in retirement 49 | - Online Art Glass (Carla) 50 | - Online Klop Creations (Dixie) 51 | - Online Furniture Restoration (all / TH Twig) 52 | - Online Digital Restorations 53 | - Online Storage Archives 54 | - Online Legacy Expressions (Ancestory.com type stuff) 55 | - [https://www.shopify.com/pricing](https://www.shopify.com/pricing) 56 | - [https://www.squarespace.com/ecommerce/sell-products](https://www.squarespace.com/ecommerce/sell-products) 57 | - Review WTF (Winfield Trust Fund ;-) Legacy Property Oppertunities 58 | - Mainly I wanted to list out WTF property wise I could probably raise interest to recap and manage 59 | - Trees AES - Mom's house 60 | - Trees AES - Rental house 61 | - Trees AES - Pole barn 62 | - FH Klop Farms - Pole barn 63 | - Joe Klop - Granpa's house 64 | - Joe Klop - Ruth's house 65 | - Joe Klop - Turkey Shed 66 | - Joe Klop - Machine Shed 67 | - Steve Klop - Steve's house 68 | - L Klop - Lavon's house 69 | - L Klop - probably a lot more buildings 70 | - JFT - Grasshorse building 71 | - JFT - Farm House 72 | - JFT - Farm Garage/Shop 73 | - JFT - Farm Barn 74 | - JFT - Farm Hog 1 75 | - JFT - Farm Hog 2 76 | - JFT - Farm Small 1 77 | - JFT - Farm Small 2 78 | - JFT - Farm tiny ? 79 | - JFT - South 80 Rental 80 | - ?? Turkey Run ?? 81 | 82 | Agenda for 2023.11.15 83 | - [Storage shed steel for $850](https://www.shelterlogic.com/arrow-classic-steel-shed-10x8-charcoal?gad_source=1&gclid=CjwKCAiAu9yqBhBmEiwAHTx5p_1QcaeOrpmW1izmhrlJc4XiESMPAXwPz8mIW1n0KZ0Az3aaTCs-ARoCldMQAvD_BwE) 84 | - [Rollup Doors for $500](https://www.rollupdoorsdirect.com/rollupdoor650.php) 85 | - Schedule next cleanup 86 | - What to do with Houses (rental service co) 87 | - tbd 88 | 89 | Agenda for 2023.11.09 90 | - Inventory 91 | - ALL - Sort Process (Keep, Sell, Trash with owner, storage and maintainance cost) 92 | - Chris/?Kathy - Setup Sell, Keep Database for Photo's and document 93 | - Chris/Carla - Setup Recycle / Trash 94 | - Chris/? - Setup online selling 95 | - Storage 96 | - Locations 97 | - ![KarenDraw]() 98 | - Houses 99 | - Look into rehab / rent 100 | - Farms 101 | - Custom vs Rent 102 | - Grain Sales and Hedging 103 | - Operation Agreements 104 | - USDA 105 | - Tax and Estate stuff 106 | - Alice Trees Estate close 2023 ? 107 | - Farm payments 108 | - Get info to Sara for Estate close 109 | 110 | Agenda for 2023.11.05 111 | - Inventory 112 | - AliceTrees Estate [Inventory](https://docs.google.com/spreadsheets/d/1DKb3lPvvxENL9s3Xo8LNtRDORzgJTz41veKOQpennk4/edit#gid=1106379675) 113 | - Grasshorse [Inventory](https://docs.google.com/spreadsheets/d/1KjOBpD3Bz_bT0rMGfP9HB43t5N-6cx5WmbyCsVMJcF0/edit#gid=0) 114 | - Document and code for processing: Storage, Sell or Dispose 115 | - Setup maintaince meetings ?? 116 | - Setup online selling ?? 117 | 118 | - Storage (physical and digital) 119 | - Document all storage locations 120 | - Size Storage requirements and eliminate external storage location 121 | - Review and project maintaince cost on storage locations 122 | 123 | - Houses 124 | - Rent / Sell / Remove 125 | - Maintainance (TH Twig) 126 | - Attach structures to farm land maintaince 127 | - Review depreciation for short-term rental / renovation loans 128 | 129 | - Farms 130 | - Rent / Custom 131 | - Maintainence 132 | - Operational Loans 133 | - Storage and Marketing 134 | - Commodity trading 135 | 136 | - LLC and Tax Structure [blog.christrees.com/tax](https://blog.christrees.com/tax/) 137 | 138 | --- 139 | --- 140 | 141 | # 2023 Aug shutdown 142 | - grasshorse data arch verification 143 | - media backup verification 144 | - computer hardware inventory spreadsheet 145 | - bring down network and sort network hardware 146 | 147 | # 2023 July cold storage project [coldstorage](./docs/coldstorage) 148 | - grasshorse data backup index 149 | - grasshorse network shutdown 150 | - cat crap corner 151 | - personal backup data 152 | - inplace inventory 153 | - Brayden stuff (ask brad, get portalTV) 154 | - Brad media backup 155 | 156 | # 2023 Project Proposal review required 157 | - [http://thetheatremuseum.com/they-had-a-dream](http://thetheatremuseum.com/they-had-a-dream) 158 | - Create LLC name tbd - Target is educational opensource based production (mainly blender and blender add-ons) 159 | - Donate personal digital capital assets for video production 160 | - Offer purchase any Grasshorse capital assets (up to Steve) 161 | - The main purpose is to create a supportable IT technology stack (see CroftUP) educational verticals 162 | - Project 1 - Blender and Robot Digital twin (see Blender Animation inititive) - sponsor Steve for SEC target 163 | - Project 2 - Clinic Support Staff training for TeleHealth - sponsor Brad with UNI target (talk to Carol) 164 | - Project 3 - Blender robot AI simulation tools - sponsor Chris with co.bot target 165 | - Project 4 - Local Media distribution network 166 | - Udemy Stop Motion Animation Course 167 | - Stop Motion Animation Blender python addon 168 | - Stop Motion Animation Robot Blender python addon 169 | - Udemy Animation Robot Course 170 | - Udemy Course for current Grasshorse production 171 | - Udemy Course for IT support of Video production 172 | 173 | ## Quick Links 174 | - [gh Documents](./docs) based on [netstack.org](https://netstack.org/docs/) topology 175 | - [ghlearn](http://ghlearn.2cld.net/) video tutorial guide for a network geek 176 | 177 | 178 | - [Grasshorse Google Meetup Room - Click HERE](https://meet.google.com/efv-bzzx-pqa) 179 | -------------------------------------------------------------------------------- /docs/teststack/ubuntu-19.10-Template.md: -------------------------------------------------------------------------------- 1 | # ubuntu-19.10 Template in 2cld grid 2 | 3 | ## Creation 4 | 5 | - Create on [pm01 VM 300](https://192.168.9.121:8006/#v1:0:=qemu%2F300:4::::::=cluster) 6 | - Used ubuntu-19.10-live-server-amd64.iso [pm01 -> local -> Content](https://192.168.9.121:8006/#v1:0:=storage%2Fpm01%2Flocal:4::19::::=cluster) 7 | - SSH server 8 | 9 | ## Updates pre-template 10 | 11 | ```bash 12 | radmin@ratestweb:~$ sudo apt update 13 | radmin@ratestweb:~$ sudo apt install unzip 14 | radmin@ratestweb:~$ sudo apt install apt-transport-https ca-certificates curl software-properties-common 15 | radmin@ratestweb:~$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - 16 | radmin@ratestweb:~$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable" 17 | radmin@ratestweb:~$ sudo apt update 18 | radmin@ratestweb:~$ apt-cache policy docker-ce 19 | radmin@ratestweb:~$ sudo apt install docker-ce 20 | radmin@ratestweb:~$ sudo docker 21 | radmin@ratestweb:~$ sudo systemctl status docker 22 | radmin@ratestweb:~$ sudo usermod -aG docker ${USER} 23 | radmin@ratestweb:~$ su - ${USER} 24 | radmin@ratestweb:~$ docker 25 | radmin@ratestweb:~$ ip addr 26 | radmin@ratestweb:~$ curl -s https://install.zerotier.com | sudo bash 27 | radmin@ratestweb:~$ sudo zerotier-cli join af78bf94368a72f4 28 | ``` 29 | 30 | ## Network pre-template 31 | 32 | ```bash 33 | radmin@ratestweb:~$ ip addr 34 | 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 35 | link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 36 | inet 127.0.0.1/8 scope host lo 37 | valid_lft forever preferred_lft forever 38 | inet6 ::1/128 scope host 39 | valid_lft forever preferred_lft forever 40 | 2: ens18: mtu 1500 qdisc fq_codel state UP group default qlen 1000 41 | link/ether xx:xx:xx:xx:xx:x8 brd ff:ff:ff:ff:ff:ff 42 | inet 192.168.9.19/24 brd 192.168.9.255 scope global dynamic ens18 43 | valid_lft 84527sec preferred_lft 84527sec 44 | inet6 xx/64 scope link 45 | valid_lft forever preferred_lft forever 46 | 3: zthnhdlzwc: mtu 2800 qdisc fq_codel state UNKNOWN group default qlen 1000 47 | link/ether xx:xx:xx:xx:xx:xe brd ff:ff:ff:ff:ff:ff 48 | inet 10.147.19.89/24 brd 10.147.19.255 scope global zthnhdlzwc 49 | valid_lft forever preferred_lft forever 50 | inet6 xxx/64 scope link 51 | valid_lft forever preferred_lft forever 52 | 4: docker0: mtu 1500 qdisc noqueue state DOWN group default 53 | link/ether xx:xx:xx:xx:xx:xa brd ff:ff:ff:ff:ff:ff 54 | inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0 55 | valid_lft forever preferred_lft forever 56 | radmin@ratestweb:~$ 57 | ``` 58 | 59 | ## Cloud-Init config [See docs/proxmox](https://github.com/2cld/gh/new/master/docs/proxmox) 60 | 61 | ### Prep VM 62 | 63 | 1. Install cloud-init package 64 | ```bash 65 | radmin@ratestweb:~$ sudo apt install cloud-init 66 | [sudo] password for radmin: 67 | Reading package lists... Done 68 | Building dependency tree 69 | Reading state information... Done 70 | cloud-init is already the newest version (19.2-36-g059d049c-0ubuntu3). 71 | 0 upgraded, 0 newly installed, 0 to remove and 20 not upgraded. 72 | radmin@ratestweb:~$ 73 | ``` 74 | 2. Remove extra cloud config stuff 75 | - Edit cloud.cfg [See Video](https://youtu.be/8qwnXd1yRK4?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=118) 76 | m ```bash 77 | radmin@ratestweb:~$ sudo vi /etc/cloud/cloud.cfg 78 | ``` 79 | - Go to: cloud_config_modules 80 | - Remove "snap stuff" 2 lines 81 | - Remove "ubuntu-advantage" 82 | - Remove "disable-ec2-metadata" 83 | - Remove "byobu" 84 | - Go to: cloud_final_modules 85 | - Remove snappy 86 | - Remove fan, lxd, puppet, chef, mcollective, salt-minion, rightscale_userdata 87 | 3. Fix MAC Clone Issue 88 | - REMOVE machine ID from VM 89 | ```bash 90 | radmin@ratestweb:~$ sudo rm /etc/machine-id 91 | radmin@ratestweb:~$ sudo touch /etc/machine-id 92 | radmin@ratestweb:~$ cat /etc/machine-id 93 | radmin@ratestweb:~$ 94 | ``` 95 | - soft link machine-id seemed to be fixed in 19.10 (softlink was there) 96 | ```bash 97 | radmin@ratestweb:~$ cat /etc/machine-id 98 | radmin@ratestweb:~$ cat /var/lib/dbus/machine-id 99 | radmin@ratestweb:~$ ls -l /var/lib/dbus/machine-id 100 | lrwxrwxrwx 1 root root 15 Dec 9 03:45 /var/lib/dbus/machine-id -> /etc/machine-id 101 | radmin@ratestweb:~$ sudo apt clean 102 | radmin@ratestweb:~$ sudo poweroff 103 | Connection to 10.147.19.89 closed by remote host. 104 | Connection to 10.147.19.89 closed. 105 | ``` 106 | 4. Create Cloud Init Drive (Remove CD as it causes issues durning migration) 107 | - pm01 -> Hardware -> Add -> CloudInit Drive 108 | - Storage: local-lvm 109 | - pm01 -> Hardware -> Click "CD/DVD Drive" -> Click "Remove" 110 | - pm01 -> Cloud-Init -> Edit 111 | - User: radmin 112 | - Password: see#note 113 | 5. Create Clone of Template 114 | - Target Node: pm01 115 | - VM ID: 601 116 | - Name: raweb01 117 | - Mode: Full Clone 118 | - Repeat... should get machines 119 | 6. Fix zerotier - Remove /var/lib/zerotier-one/identity.public and /var/lib/zerotier-one/identity.secret and regen 120 | - ra01web 10.147.19.90 121 | - ra02auth 10.147.19.91 122 | - ra03api 10.147.19.115 123 | - ra04db 10.147.19.189 124 | - Following Edits 125 | ```bash 126 | radmin@ratestweb:~$ sudo vi /etc/hostname 127 | radmin@ratestweb:~$ sudo vi /etc/hosts 128 | radmin@ratestweb:~$ sudo rm /var/lib/zerotier-one/identity.* 129 | radmin@ratestweb:~$ sudo zerotier-cli join af78bf94368a72f4 130 | radmin@ratestweb:~$ sudo reboot 131 | ``` 132 | - After REBOOT Add new machine to zerotier auth 133 | 134 | 189 | -------------------------------------------------------------------------------- /docs/blender/tutorial/learn-bg-anvil.md: -------------------------------------------------------------------------------- 1 | # Create an Anvil with [Blender Guru](https://www.youtube.com/watch?v=7tdUxzhEy_E&list=PLjEaoINr3zgHJVJF3T3CFUAZ6z11jKg6a) 2 | 3 | ## Blender Intermediate Modelling Tutorial - [Part 1](https://www.youtube.com/embed/yi87Dap_WOc?list=PLjEaoINr3zgHJVJF3T3CFUAZ6z11jKg6a) 4 | 5 | 6 | 1. [Setup workspace tc2:02](https://youtu.be/yi87Dap_WOc?list=PLjEaoINr3zgHJVJF3T3CFUAZ6z11jKg6a&t=122) 7 | - Get Anvil Reference [bg refernce.zip](https://drive.google.com/file/d/0B8PFSrI9B3iwcWt0ZWZOcFZveHM/view) 8 | - Load Anvil Image as reference 9 | - Delete everything in scene 10 | - Save as catanvil001.blend using "Save Copy" 11 | 2. [Start with plane tc4:11](https://youtu.be/yi87Dap_WOc?list=PLjEaoINr3zgHJVJF3T3CFUAZ6z11jKg6a&t=251) 12 | - I started with the default cube as when I used the plane I did not get the normals correct 13 | - Shift-A Mesh Plane (Cube) 14 | - Select cube object mode 15 | - g z 1 return - Grab z move 1 unit up 16 | - Alt-z (toggle on xray) 17 | - Tab E (Toggle to Edit mode) 18 | - Select top plane 19 | - e z 2 (extrude up 2 units) 20 | 3. [Tappered Loop Cuts tc6:06](https://youtu.be/yi87Dap_WOc?list=PLjEaoINr3zgHJVJF3T3CFUAZ6z11jKg6a&t=366) 21 | - Shift-A Mesh Plane 22 | - Tab E (Toggle to Edit mode, Extrude) to make trunk 23 | - Cntrl R (Loop Cuts) then scroll wheel to create 12 loop cuts 24 | 4. [Prortional Edit the loop cuts tc6:38](https://youtu.be/yi87Dap_WOc?list=PLjEaoINr3zgHJVJF3T3CFUAZ6z11jKg6a&t=398) 25 | - Select 3rd from top loop cut 26 | - O toogle proportional editing 27 | - S scale Shift-Z to NOT scale loops in Z 28 | - Enter to keep 29 | - Save as catanvil014.blend using "Save Copy" 30 | 5. [Extrude top tc9:52](https://youtu.be/yi87Dap_WOc?list=PLjEaoINr3zgHJVJF3T3CFUAZ6z11jKg6a&t=592) 31 | - Select top plane 32 | - E Shift-Z -1 Extrude Z-axis -1 unit 33 | - Select left plane 34 | - E Shift-X -1 Extrude X-axis -1 unit 35 | - Cntrl R 1 Loop cut one 36 | - Select bottom left plane 37 | - G Z -.2 Move up .2 units in Z-axis only 38 | 6. [Extrude left and right sides tc10:11](https://youtu.be/yi87Dap_WOc?list=PLjEaoINr3zgHJVJF3T3CFUAZ6z11jKg6a&t=611) 39 | - Select right plane 40 | - E X 2 Extrude X-axis 2 units 41 | - Cntrl R 5 Loop cut one 42 | - Select top Loop cuts and Hide H 43 | - Set Propotional edit to sphere 44 | - Select bottom left edge to curl up 45 | - Alt H to unhide hidden verts 46 | 7. [Cleanup and save tc12:36](https://youtu.be/yi87Dap_WOc?list=PLjEaoINr3zgHJVJF3T3CFUAZ6z11jKg6a&t=756) 47 | - Save as catanvil017.blend using "Save Copy" 48 | - Save fixed normals as catanvil017-2.blend using "Save Copy" 49 | 50 | ## Blender Intermediate Modelling Tutorial - [Part 2](https://youtu.be/WxMwa0njGSM?list=PLjEaoINr3zgHJVJF3T3CFUAZ6z11jKg6a) 51 | 52 | 53 | 1. [Boolean Cut object tc3:45](https://youtu.be/WxMwa0njGSM?list=PLjEaoINr3zgHJVJF3T3CFUAZ6z11jKg6a&t=225) 54 | - 7 top view 55 | - Shift-A m y enter Add Mesh cYlinder 56 | - g y -1.5 enter Grab selected y-axis Move -1.5 units 57 | 2. [Boolean Cut Select tc3:53](https://youtu.be/WxMwa0njGSM?list=PLjEaoINr3zgHJVJF3T3CFUAZ6z11jKg6a&t=233) 58 | - Select object you want to keep first 59 | - Add Modifier (wrench icon) Boolean Operation Difference 60 | - Click on eyedroper then click on cylinder to select 61 | 3. [Mirror operation tc](https://youtu.be/WxMwa0njGSM?list=PLjEaoINr3zgHJVJF3T3CFUAZ6z11jKg6a&t=380) 62 | - Add Modifier Mirror 63 | - Need to loop cut and delete object y axis 64 | - 7 (top view) Tab (Edit mode) Select verts in pos y 65 | - Ctrl R (add loop cut at half) rght click enter 66 | - x (delete vertices) enter 67 | 4. [Save to another page before merge apply tc](https://youtu.be/WxMwa0njGSM?list=PLjEaoINr3zgHJVJF3T3CFUAZ6z11jKg6a&t=482) 68 | - Shift D (Duplicate) 69 | - M (Move) 70 | - Apply Boolean 71 | - Delete Cylinder 72 | 5. [Clean up mesh tc](https://youtu.be/WxMwa0njGSM?list=PLjEaoINr3zgHJVJF3T3CFUAZ6z11jKg6a&t=571) 73 | - Add Subsurface Modifier (just to see the mess) 74 | - k x click enter (Knife tool c to constrain click to edge) 75 | - select edge g g slide to good 76 | - a (select all) mesh -> cleanup -> merge by distance 77 | - merge any 3 point verts into 1 78 | - select verts alt-m to merge at center 79 | - ctrl R to loop cut from the vert 80 | - delete the face with 5 verts 81 | - add two faces with 4 verts 82 | 6. [ tc]() 83 | - Save fixed normals as catanvil026.blend using "Save Copy" 84 | 85 | 86 | ## Blender Intermediate Modelling Tutorial - [Part 3]() 87 | 88 | 1. [ tc]() 89 | - test 90 | - test 91 | - test 92 | - test 93 | 2. [ tc]() 94 | - test 95 | - test 96 | - test 97 | - test 98 | 3. [ tc]() 99 | - test 100 | - test 101 | - test 102 | - test 103 | 4. [ tc]() 104 | - test 105 | - test 106 | - test 107 | - test 108 | 5. [ tc]() 109 | - test 110 | - test 111 | - test 112 | - test 113 | 6. [ tc]() 114 | 7. [ tc]() 115 | 116 | ## Blender Intermediate Modelling Tutorial - [Part 4]() 117 | 118 | 1. [ tc]() 119 | - test 120 | - test 121 | - test 122 | - test 123 | 2. [ tc]() 124 | - test 125 | - test 126 | - test 127 | - test 128 | 3. [ tc]() 129 | - test 130 | - test 131 | - test 132 | - test 133 | 4. [ tc]() 134 | - test 135 | - test 136 | - test 137 | - test 138 | 5. [ tc]() 139 | - test 140 | - test 141 | - test 142 | - test 143 | 6. [ tc]() 144 | 7. [ tc]() 145 | 146 | ## Blender Intermediate Modelling Tutorial - [Part 5 - UV Unwrapping]() 147 | 148 | 1. [ tc]() 149 | - test 150 | - test 151 | - test 152 | - test 153 | 2. [ tc]() 154 | - test 155 | - test 156 | - test 157 | - test 158 | 3. [ tc]() 159 | - test 160 | - test 161 | - test 162 | - test 163 | 4. [ tc]() 164 | - test 165 | - test 166 | - test 167 | - test 168 | 5. [ tc]() 169 | - test 170 | - test 171 | - test 172 | - test 173 | 6. [ tc]() 174 | 7. [ tc]() 175 | 176 | ## Blender Intermediate Modelling Tutorial - [Part 6 Scuipt Details]() 177 | 178 | 1. [ tc]() 179 | - test 180 | - test 181 | - test 182 | - test 183 | 2. [ tc]() 184 | - test 185 | - test 186 | - test 187 | - test 188 | 3. [ tc]() 189 | - test 190 | - test 191 | - test 192 | - test 193 | 4. [ tc]() 194 | - test 195 | - test 196 | - test 197 | - test 198 | 5. [ tc]() 199 | - test 200 | - test 201 | - test 202 | - test 203 | 6. [ tc]() 204 | 7. [ tc]() 205 | 206 | ## Blender Intermediate Modelling Tutorial - [Part 7 Normals]() 207 | 208 | 1. [ tc]() 209 | - test 210 | - test 211 | - test 212 | - test 213 | 2. [ tc]() 214 | - test 215 | - test 216 | - test 217 | - test 218 | 3. [ tc]() 219 | - test 220 | - test 221 | - test 222 | - test 223 | 4. [ tc]() 224 | - test 225 | - test 226 | - test 227 | - test 228 | 5. [ tc]() 229 | - test 230 | - test 231 | - test 232 | - test 233 | 6. [ tc]() 234 | 7. [ tc]() 235 | 236 | ## Blender Intermediate Modelling Tutorial - [Texturing Part 1]() 237 | 238 | 1. [ tc]() 239 | - test 240 | - test 241 | - test 242 | - test 243 | 2. [ tc]() 244 | - test 245 | - test 246 | - test 247 | - test 248 | 3. [ tc]() 249 | - test 250 | - test 251 | - test 252 | - test 253 | 4. [ tc]() 254 | - test 255 | - test 256 | - test 257 | - test 258 | 5. [ tc]() 259 | - test 260 | - test 261 | - test 262 | - test 263 | 6. [ tc]() 264 | 7. [ tc]() 265 | 266 | ## Blender Intermediate Modelling Tutorial - [Texturing Part 2]() 267 | 268 | 1. [ tc]() 269 | - test 270 | - test 271 | - test 272 | - test 273 | 2. [ tc]() 274 | - test 275 | - test 276 | - test 277 | - test 278 | 3. [ tc]() 279 | - test 280 | - test 281 | - test 282 | - test 283 | 4. [ tc]() 284 | - test 285 | - test 286 | - test 287 | - test 288 | 5. [ tc]() 289 | - test 290 | - test 291 | - test 292 | - test 293 | 6. [ tc]() 294 | 7. [ tc]() 295 | 296 | ## Blender Intermediate Modelling Tutorial - [Texturing Part 3]() 297 | 298 | 1. [ tc]() 299 | - test 300 | - test 301 | - test 302 | - test 303 | 2. [ tc]() 304 | - test 305 | - test 306 | - test 307 | - test 308 | 3. [ tc]() 309 | - test 310 | - test 311 | - test 312 | - test 313 | 4. [ tc]() 314 | - test 315 | - test 316 | - test 317 | - test 318 | 5. [ tc]() 319 | - test 320 | - test 321 | - test 322 | - test 323 | 6. [ tc]() 324 | 7. [ tc]() 325 | -------------------------------------------------------------------------------- /docs/blender/README.md: -------------------------------------------------------------------------------- 1 | # Blender 2 | Blender infrastructure and workflow support documentation. [Edit this](https://github.com/2cld/gh/edit/master/docs/blender/README.md) 3 | 4 | ## Quick Links 5 | - [Blender Cheatsheet 0v1.pdf](./Blender%20Cheatsheet%20v1.pdf) 6 | 7 | ## CAToDo 8 | - [blender/architecture](./architecture/) Setup for achitecture drawing in blender 9 | - [blender/architecture/catArchModelNotes](./architecture/catArchModelNotes) Chris notes as he learns blender architecture cad 10 | - [blender/tutorial/learn-bg-anvil](./tutorial/learn-bg-anvil) Chris notes as he builds an anvil for an nft project 11 | - [blender/](./blender-create-shelf) Chris creates shelf for data center airflow issue 12 | - [tbd]() 13 | - [tbd]() 14 | - [tbd]() 15 | 16 | 17 | ## Reminder - Infrastructure 18 | Blender test machine is on the ghadmin - horseoff [network](https://my.zerotier.com/network/d5e5fb65371eb4a4) using windows 10 machines on bare metal (see ebay for the parts you got 2020.06.07) 19 | 20 | ### catghwin10 21 | - Device name: catghwin10 22 | - CPU: 2 x Intel Xeon E5472 3GHz 23 | - RAM: 32GB 24 | - OS: Windows 10 Pro - 1903 (build 18362.900) - Installed 6/11/2020 25 | 26 | ## References 27 | - Learning Architecture Drawing with Blender [https://www.blender3darchitect.com/course/blender-basics-architecture/](https://www.blender3darchitect.com/course/blender-basics-architecture/) 28 | - Arch Blender [Dimensions](https://www.blender3darchitect.com/modeling-for-architecture/architectural-modeling-how-to-display-lengths-in-blender-2-8/) 29 | - Blender [100 Blender 2.8 tips with index](https://www.youtube.com/watch?v=_9dEqM3H31g) 30 | - Blender [Create Shelf](https://www.youtube.com/watch?v=OOBKo-O6i_8&feature=youtu.be&t=27) 31 | - Blender [aur blender shelf](https://www.youtube.com/watch?v=ElGc34VtoA4) 32 | - Blender [Learning Blender 2023 tutorial reviews](https://www.youtube.com/watch?v=8K4AShjq-MU) 33 | - Blender [I wish I knew before starting to learn blender](https://www.youtube.com/watch?v=m6U09BKETHY) 34 | - Blender [tips youtube](https://www.youtube.com/watch?v=4YDf_ctubbI) 35 | - [BlenderBIM](./bim/) 36 | - BlenderBIM [IFC Architect](https://www.youtube.com/@IfcArchitect/videos) 37 | - BlenderBIM [IFC Architect - Begin](https://www.youtube.com/watch?v=kF2k_VW-yrQ) 38 | - BlenderBIM [https://blenderbim.org](https://blenderbim.org/index.html) 39 | - BlenderBIM [https://ifcopenshell.org/](https://ifcopenshell.org/) 40 | - BlenderBIM [Add on - youtube](https://www.youtube.com/watch?v=kYs6w5LlfNM) 41 | - BlenderBIM [update - youtube](https://www.youtube.com/watch?v=oljVAjW9QVw) 42 | 43 | ## Precision Transformations 44 | 1. Object Transform 45 | - Location 46 | - Rotation 47 | - Scale 48 | - G X 4 - Will translate the object 4 units in the x direction 49 | - Alt-G will clear translate 50 | - R X 45 - Will rotate the object 45 degrees in the x direction 51 | - Alt-R will clear rotate 52 | - S Z 2 - will double the size in the z direction 53 | 2. Setting up units 54 | - Blender unit is 1 meter 55 | - Scene tab -> Units -> Dropdown to select the blender units 56 | 3. Basic Object 57 | - Select Edit Mode 58 | - Select edge 59 | - Move edge 60 | - Select face 61 | - Use tab to toggle between object and edit modes 62 | - Extrude 63 | - Select face by right clicking on dot in edit mode 64 | - E then move or type num value to extrude 65 | - Click left mouse to finish 66 | - Loop cut 67 | - Cntl-R put mouse over edge move along edge click left button 68 | 4. Create new object 69 | - Add -> Mesh (or Shift-A) -> Select your Mesh object 70 | - Objects are created at the 3D cursor 71 | - Shift-C will put the cursor back at origin of 3D view 72 | 5. Basic Wall 73 | - Shift-A -> Plane 74 | - Scale to wall thickness 75 | - Ctrl-A -> Scale (to apply scale to object which sets base unit) 76 | - Edit mode, select edge, extrude x 5 return 77 | - Edit mode, select edge, extrude y -4 return 78 | - Edit mode, select 3 faces, hold shift and right click on all 79 | - E 3 80 | 81 | ### Blender 2.8 Fundamentals [List of 48 Blender Foundation Videos](https://www.youtube.com/playlist?list=PLa1F2ddGya_-UvuAqHAksYnB0qL9yWDO6) 82 | 1. First Steps [Blender 2.80 Fundamentals 1](https://www.youtube.com/watch?v=MF1qEhBSfq4&list=PLa1F2ddGya_-UvuAqHAksYnB0qL9yWDO6&index=2&t=0s) 83 | 2. Viewport Navigation [Blender 2.80 Fundamentals 2](https://www.youtube.com/watch?v=ILqOWe3zAbk&list=PLa1F2ddGya_-UvuAqHAksYnB0qL9yWDO6&index=2) 84 | - 3D-Viewport Select [Video](https://youtu.be/ILqOWe3zAbk?list=PLa1F2ddGya_-UvuAqHAksYnB0qL9yWDO6&t=10) 85 | - Left Click to select, Left click blank space to deselect 86 | - A to select ALL, Alt-A to deselect all 87 | - Change button functions in Edit -> Preferences -> Keymap 88 | - Pan and Zoom [Video](https://youtu.be/ILqOWe3zAbk?list=PLa1F2ddGya_-UvuAqHAksYnB0qL9yWDO6) 89 | - Upper Right of view Click on X, Y, Z to get orthographic 90 | - Click and Drag X, Y, Z to rotate OR Middle Mouse Click and Drag 91 | - Click Hand Icon and Drag to where you want the scene to rotate around 92 | - View -> Frame Selected (Numpad .) zooms frame to selected object 93 | - Click Camera icon to view what the camera sees (Numpad 0) 94 | - Grid switches betwee Orthographic and Prospective modes 95 | 3. Interface Overview [Blender 2.80 Fundamentals 3](https://www.youtube.com/watch?v=8XyIYRW_2xk&list=PLa1F2ddGya_-UvuAqHAksYnB0qL9yWDO6&index=3) 96 | - Bottom of screen shows what the mouse buttons will do 97 | - You can scale panels by click and drag edges 98 | - Right click edge to create more or delete pannels 99 | - Cntl-Space will maximize a panel, Cntl-Space again will return max panel to original 100 | - Press T to bring up Tools menu, Press T again to hide Tools menu 101 | - Tools are Select box, Move, Rotate and Scale 102 | - Shift space will also bring up menu 103 | - Press N or left-click to open additional quick settings 104 | - Shift right-click to set position of 3D cursor 105 | - Shift S to bring up world pie menu 106 | - Bottom panel is Timeline mainly for animation 107 | - Right panel is Properies menu 108 | - Properties also contains object properies tab for each object in Scene 109 | - Create new scenes and switch senes in top menu dropdown 110 | - Tabs in Properties [Video](https://youtu.be/8XyIYRW_2xk?list=PLa1F2ddGya_-UvuAqHAksYnB0qL9yWDO6&t=303) 111 | - File - Render properties 112 | - Printer - Output properties 113 | - Image - View layer properties (separte layers for viewing and rendering) 114 | - General Scene - Active camera, units, ridge body settings 115 | - Globe tab - Sky and Air of scene 116 | - Tabs specific for Object selected [Video](https://youtu.be/8XyIYRW_2xk?list=PLa1F2ddGya_-UvuAqHAksYnB0qL9yWDO6&t=456) 117 | - Object - basic info about Location, rotation, scale of object, visiblity, parent-child relationships 118 | - Wrench - Modifiers icon for manipulation of pbject using predefines 119 | - Particles - 120 | - Physics (Hydrogen) - Enable various physics properties and modify 121 | - Constrains - Like modifiers tab, but deals with relationships between modifiers 122 | - Mesh (green triangle) - object mesh data 123 | - Materials (sphere) - Apply materials to objects 124 | - Tab for Texture 125 | - Tab for Lamp (if light source is selected) - Modify light source 126 | - Tab for Camera (if camera is selected) - Modify camera properties 127 | - Scene collection (above properties) 128 | 4. Select and Transform [Blender 2.80 Fundamentals 4](https://www.youtube.com/watch?v=hTL6AKR8YDs&list=PLa1F2ddGya_-UvuAqHAksYnB0qL9yWDO6&index=4) 129 | - Left-Click object to select, Left-Click empty space to de-select 130 | - Select Box Tool in Tools (type T) Ctrl-Click to de-select 131 | - Circle Select (type C) acts as paint brush to select objects 132 | - Hold Shift and select objects to multiple select and de-select 133 | - Put in Wireframe mode (upper right) so you can select easier 134 | - Select menu also has all the above selection tools 135 | - Transform Tools [Video](https://youtu.be/hTL6AKR8YDs?list=PLa1F2ddGya_-UvuAqHAksYnB0qL9yWDO6&t=173) 136 | - Tools -> Move (Arrow out) 137 | - Click Color Arrow to move on that axis 138 | - Click Color Plain to move on that plane 139 | - Hot key X, Y, Z contrains to that axis 140 | - Alt-G reset transformation 141 | - Tools -> Rotate (Arrows around) 142 | - Click color line to rotate about that axis 143 | - Outer white (spin around view axis) 144 | - Sphere white (3d sping around object origin) press R, then X, Y, Z to contrain and R again to go free 145 | - Tools -> Scale (Arrow out) 146 | - tbd 147 | 5. XXX [Blender 2.80 Fundamentals 5]() 148 | 6. XXX [Blender 2.80 Fundamentals 6]() 149 | 7. XXX [Blender 2.80 Fundamentals 7]() 150 | 8. XXX [Blender 2.80 Fundamentals 8]() 151 | 9. XXX [Blender 2.80 Fundamentals 9]() 152 | 10. XXX [Blender 2.80 Fundamentals 10]() 153 | 11. XXX [Blender 2.80 Fundamentals 11]() 154 | 12. XXX [Blender 2.80 Fundamentals 12]() 155 | 13. XXX [Blender 2.80 Fundamentals 13]() 156 | 14. XXX [Blender 2.80 Fundamentals 14]() 157 | 15. XXX [Blender 2.80 Fundamentals 15]() 158 | 16. XXX [Blender 2.80 Fundamentals 16]() 159 | 17. XXX [Blender 2.80 Fundamentals 17]() 160 | 18. XXX [Blender 2.80 Fundamentals 18]() 161 | 19. XXX [Blender 2.80 Fundamentals 19]() 162 | 20. XXX [Blender 2.80 Fundamentals 20]() 163 | 21. XXX [Blender 2.80 Fundamentals 21]() 164 | 22. XXX [Blender 2.80 Fundamentals 22]() 165 | 23. XXX [Blender 2.80 Fundamentals 23]() 166 | 24. XXX [Blender 2.80 Fundamentals 24]() 167 | 25. XXX [Blender 2.80 Fundamentals 25]() 168 | 26. XXX [Blender 2.80 Fundamentals 26]() 169 | 27. XXX [Blender 2.80 Fundamentals 27]() 170 | 28. XXX [Blender 2.80 Fundamentals 28]() 171 | 29. XXX [Blender 2.80 Fundamentals 29]() 172 | 30. XXX [Blender 2.80 Fundamentals 30]() 173 | 31. XXX [Blender 2.80 Fundamentals 31]() 174 | 32. XXX [Blender 2.80 Fundamentals 32]() 175 | 33. XXX [Blender 2.80 Fundamentals 33]() 176 | 34. XXX [Blender 2.80 Fundamentals 34]() 177 | 35. XXX [Blender 2.80 Fundamentals 35]() 178 | 36. XXX [Blender 2.80 Fundamentals 36]() 179 | 37. XXX [Blender 2.80 Fundamentals 37]() 180 | 38. XXX [Blender 2.80 Fundamentals 38]() 181 | 39. XXX [Blender 2.80 Fundamentals 39]() 182 | 40. XXX [Blender 2.80 Fundamentals 40]() 183 | 41. XXX [Blender 2.80 Fundamentals 41]() 184 | 42. XXX [Blender 2.80 Fundamentals 42]() 185 | 43. XXX [Blender 2.80 Fundamentals 43]() 186 | 44. XXX [Blender 2.80 Fundamentals 44]() 187 | 45. XXX [Blender 2.80 Fundamentals 45]() 188 | 46. XXX [Blender 2.80 Fundamentals 46]() 189 | 47. XXX [Blender 2.80 Fundamentals 47]() 190 | 48. XXX [Blender 2.80 Fundamentals 48]() 191 | 49. XXX [Blender 2.80 Fundamentals 49]() 192 | - xxx Some Subject [Video]() 193 | - xxx [Video]() 194 | - xxx [Video]() 195 | - xxx [Video]() 196 | - xxx [Video]() 197 | - xxx [Video]() 198 | 199 | ### Install Blender 200 | 1. tbd... link to other 201 | -------------------------------------------------------------------------------- /docs/gridtemplate/gridtemplate-overview.drawio: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | -------------------------------------------------------------------------------- /ghbin/nodeRenderService.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # BLARGH! 4 | # Version 0.6.04 5 | # 05-20-2019 - makeinto service 6 | 7 | # nodeRenderService.sh is Chris Trees attempt to make Blargh into a service 8 | # NOTES: 9 | # 1 - Service should only read from gh/XXXX_XXX_XXXXA_3danim 10 | # 2 - Service should only write good PNG to gh/XXXX_XXX_XXXXA_rend 11 | # 3 - Service should scan for and load project jobs 12 | # 4 - Service should validate blender output and stay with a project job 13 | # 5 - Sevvice should output status updates 14 | 15 | 16 | # s3://XXXX_XXX_XXXXA_rend - The nodes knows which buckets to look in (rend) 17 | # s3://XXXX_XXX_XXXXA_3danim - The nodes know where the zips are, because they are in the (3danim) 18 | 19 | # XXXX_XXX_XXXXA_3danim_v001.cfg -> .png 20 | # The image to render is the number of the cfg. 21 | # The name of the image is the name of the cfg. 22 | 23 | # The bucket the image goes in is the bucket the cfg is in. 24 | # 1,3,5,7 etc. - Tbe step of a render doesnt render because its not there. 25 | 26 | # METADATA IN CFG 27 | # The blend file name should be in metadata inthe cfg. 28 | # The zip file is the same name as the blend in the metadata in the cfg. 29 | # The computer can only accept renders of it's type in the cfg. 30 | # Time stamp of file creation 31 | # Time stamp of render start (Part of Lock) 32 | # Computer appends metadata with nodeURL in cfg (Part of Lock) 33 | 34 | # PROJECT TEMPLATE 35 | # This file is stored in the ghprojects bucket. 36 | # Example Name 0183_001.tpl 37 | # projectName='0183_001' 38 | # seriesNumber='0183' 39 | # showNumber='001' 40 | # animName='_3danim' 41 | # rendName='_rend' 42 | # instanceType='c3.4xlarge' 43 | 44 | # LEGACY PROJECT CFG 45 | # This file is stored in the ghprojects bucket. 46 | # This is a hold-over from a prior version of BLAM! This information should be integrated into the project and shot templates. 47 | # Example Name 0183_001_0004A.cfg 48 | # baseName='0183_001_0004A' 49 | # seriesName='0183' 50 | # showName='001' 51 | # shotName='0004A' 52 | # cfgName=$baseName'.cfg' 53 | # animBucket=$baseName'_3danim' 54 | # rendBucket=$baseName'_rend' 55 | # instanceType='c3.2xlarge' 56 | # start=675 57 | # end=838 58 | 59 | # SHOT TEMPLATE 60 | # This file is currently stored in the animBucket for the shot. It may actually be more needed in the ghprojects directory. 61 | # Example Name 0183_001_0004.tpl 62 | # shotName='_0004A' 63 | # start='675' 64 | # end='838' 65 | # step='1' 66 | 67 | # The following file is created from the above information as well as some version specific questions passed to the user. 68 | 69 | # JOB CFG FORMAT 70 | # projectTplName='0183_001.tpl' 71 | # shotTplName='0183_001_0004A.tpl' 72 | # baseName='0183_001_0004A' 73 | # animBucket='0183_001_0004A_3danim' 74 | # rendBucket='0183_001_0004A_rend' 75 | # zip='0183_001_0004A_3danim_v122.zip' 76 | # blend='0183_001_0004A_3danim_v122.blend' 77 | # fileName='0183_001_0004A_3danim_v122' 78 | # frameName='0183_001_0004A_3danim_v122.0838' 79 | # start='838' 80 | # end='838' 81 | # step='1' 82 | 83 | # The following is information that is addended to the cfg file at the time of job bidding, rendering and completion. 84 | # blamURL='rn01' 85 | # created='Wed Dec 14 12:50:54 CST 2016' 86 | # renderStart='Fri Dec 2 21:46:58 CST 2016' 87 | # renderFinished='Fri Dec 2 21:46:58 CST 2016' 88 | 89 | 90 | function ghDebug () { 91 | if [ "$debug" == 1 ]; then 92 | echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" 93 | echo ">>>ghadminDEBUG: $1 " 94 | echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" 95 | fi 96 | } 97 | 98 | # Pass in $1 frame, $2 status 99 | function ghRemoteStatusLog () { 100 | ## BEGIN: Append log status of node 101 | local iamNode=$(hostname) 102 | local iamNodeLogStatusFilePath=$nodeServiceCentralLogDir"nodeStatus_$iamNode.list" 103 | cat <> $iamNodeLogStatusFilePath 104 | {"node": "$(hostname)", "dateTime": "$(date)", "frame": "$1", "status": "$2"} 105 | EOF 106 | ## END: Append log status of node 107 | } 108 | 109 | # Pass in projectJobConfig 110 | function deployProject () { 111 | cd $nodeHome 112 | source $1 113 | echo " ___CODE: function deployProject sourced $1" >> $nodeServiceLogFileName 114 | echo "zipBucket is $zipBucket" >> $nodeServiceLogFileName 115 | echo "zipName is $zip" >> $nodeServiceLogFileName 116 | echo "fileName is $fileName" >> $nodeServiceLogFileName 117 | 118 | if [ ! -e $fileName.projectready ] 119 | then 120 | # No or wrong project so cleanup and load a new one 121 | rm -rf __ 0* *.tpl *.blend *.zip *.projectready rend 122 | # s3cmd get --force s3://$animBucket/* ~/ && unzip ~/$zipName 123 | cp $zipBucket$zip . && unzip $zip 124 | echo "Unzip complete" >> $nodeServiceLogFileName 125 | 126 | echo "About to check to see if the rend folder exists"; 127 | # If the rend folder exists outside the directory structure, copy it into the directory structure. 128 | # if [ -e rend ] 129 | if [ -d "rend" ] 130 | then 131 | echo "The rend folder exists. Moving it in the working path."; 132 | cp -r rend __/__/ 133 | touch $fileName.copiedRend 134 | fi 135 | 136 | echo "About to check to see if the 000 folder exists"; 137 | # If the 000 folder exists outside the direcotory structure, copy it into the directory structure. 138 | if [ -d "000" ] 139 | then 140 | touch $fileName.copiedSharedFolder 141 | echo "The 000 folder exists. Moving it into the working path"; 142 | cp -r 000 __/__/__/__/__/ 143 | fi 144 | 145 | touch $fileName.projectready 146 | 147 | if [ -e $fileName.projectready ] 148 | then 149 | echo "currentJobProject="$fileName >> $fileName.projectready 150 | echo "# Project: "$fileName >> $fileName.projectready 151 | echo "# Date: $(date)" >> $fileName.projectready 152 | echo "Loaded Project "$fileName" on $(date)" >> $nodeServiceLogFileName 153 | ghRemoteStatusLog $frameName "ProjectLoaded" 154 | else 155 | echo "Project Deploy Error." >> $nodeServiceLogFileName 156 | ghRemoteStatusLog $frameName "ERROR-ProjectLoad" 157 | exit 158 | fi 159 | else 160 | echo "Project was Ready: $fileName.projectready" >> $nodeServiceLogFileName 161 | fi 162 | } 163 | 164 | function cleanUpHome { 165 | echo " ___CODE: function cleanUpHome" >> $nodeServiceLogFileName 166 | ghDebug "Cleaning up the home directory." 167 | cd $nodeHome 168 | rm -rf *.cfg *.png *.tpl *.old *.lock 169 | # rm -rf ~/*.cfg ~/*.png ~/*.2s3 ~/*.tpl ~/*.old ~/*.go 170 | # s3cmd get s3://ghprojects/*.cfg . 171 | # cp -p /media/projects/gh/ghprojects/*.cfg . 172 | } 173 | 174 | function beginRender () { 175 | source $1 176 | echo " ___CODE: function beginRender sourced $1" >> $nodeServiceLogFileName 177 | echo "fileName is $fileName" >> $nodeServiceLogFileName 178 | echo "frameName is $frameName" >> $nodeServiceLogFileName 179 | echo "blend is $blend" >> $nodeServiceLogFileName 180 | 181 | nodeType=2 182 | 183 | ghRemoteStatusLog $frameName "renderBegin" 184 | 185 | if [ "$nodeType" == "1" ] && [ -e $nodeHome$blend ] && [ ! -e $nodeHome"badBlender.txt" ]; then 186 | echo "blender server mode started: $(date)" >> $nodeServiceLogFileName 187 | blender -b $blend -y -F PNG -o $fileName.#### -s $start -e $end -j $step -t 0 -a > $nodeServiceBlenderLogFileName 188 | #echo "BlenderCommand: blender -b $blend -F PNG -o $fileName.#### -s $start -e $end -j $step -t 0 -a" 189 | #echo "BlenderSimFile" >> $frameName.png 190 | echo "blender server ended: $(date)" >> $nodeServiceLogFileName 191 | elif [ "$nodeType" == "2" ] && [ -e $nodeHome$blend ] && [ ! -e $nodeHome"badBlender.txt" ]; then 192 | echo "blender desktop mode started: $(date)" >> $nodeServiceLogFileName 193 | blender -b $nodeHome$blend -y -F PNG -o $nodeHome$fileName.#### -t 0 -f $start > $nodeServiceBlenderLogFileName 194 | #echo "BlenderCommand: blender -b $blend -F PNG -o $fileName.#### -t 0 -f $start" 195 | echo "blender desktop ended: $(date)" >> $nodeServiceLogFileName 196 | else 197 | echo "Command given falls outside of expectations" >> $nodeServiceLogFileName 198 | echo "nodeRenderService Exit on $(date)" >> $nodeServiceLogFileName 199 | ghRemoteStatusLog $frameName "ERROR-RenderBeginParm-EXIT" 200 | exit 201 | fi 202 | 203 | # file=file.txt 204 | minimumsize=1 205 | actualsize=$(wc -c <"$frameName.png") 206 | if [ $actualsize -ge $minimumsize ]; then 207 | echo "size is over $minimumsize bytes" >> $nodeServiceLogFileName 208 | chmod 666 $frameName.png 209 | cp -p $frameName.png $rendBucket$frameName.png 210 | ghRemoteStatusLog $frameName "renderFinished" 211 | else 212 | echo "Blender did not produce a good image" > badBlender.txt 213 | echo "Blender did not produce a good image nodeRenderService exit on $(date)" >> $nodeServiceLogFileName 214 | #something bad happened exit blargh. 215 | ghRemoteStatusLog $frameName "ERROR-FrameRenderBadBlender-exit" 216 | exit 217 | fi 218 | echo "About to exit renderJob" 219 | #echo "About ready to clean up the home directory" >> $nodeServiceLogFileName 220 | #cleanUpHome 221 | } 222 | 223 | 224 | # pass the base name as a parameter 225 | function checkProjectJob () { 226 | source $1 227 | frameLockFile=$rendBucket$frameName.lock 228 | echo "CheckingFrameLock: $frameLockFile" >> $nodeServiceLogFileName 229 | if [ -e $frameLockFile ] 230 | then 231 | echo "Moving to next, lock found on "$frameLockFile >> $nodeServiceLogFileName 232 | else 233 | echo "found file to render" >> $nodeServiceLogFileName 234 | echo "Create Bid Lock for: "$frameLockFile >> $nodeServiceLogFileName 235 | (umask 002; touch $frameLockFile) 236 | local bidLock="blamURL=$(hostname)" 237 | local bidCreated="bidCreated='$(date)'" 238 | echo $bidLock >> $frameLockFile 239 | sleep 1 240 | local readLock=`cat $frameLockFile` 241 | echo "diff $readLock $bidLock" >> $nodeServiceLogFileName 242 | local diffCheckResults=$( cmp -s $readLock $bidLock ) 243 | local diffReturnChars=${#diffCheckResults} 244 | ghDebug $diffCheckResults 245 | ghDebug $diffReturnChars 246 | if [ "$diffReturnChars" == 0 ] 247 | then 248 | echo "Files Match BID WIN begin work on $frameName" >> $nodeServiceLogFileName 249 | local bidWon="bidWon='$(date)'" 250 | echo $bidCreated >> $frameLockFile 251 | echo $bidWon >> $frameLockFile 252 | rm $nodeHome'*.cfg' 253 | cp $rendBucket$frameName.cfg $nodeHome 254 | deployProject $nodeHome$frameName.cfg 255 | beginRender $nodeHome$frameName.cfg 256 | else 257 | echo "Files different BID FAIL moving on to next frame" >> $nodeServiceLogFileName 258 | fi 259 | fi 260 | } 261 | 262 | 263 | function getProject () { 264 | # Read jobPriority.list file into array to scan projects for work 265 | listOfJobs=`cat $nodeFileOfJobPrior` 266 | echo " ___CODE: function getProject" >> $nodeServiceLogFileName 267 | echo "fileOfJobPrior: "$nodeFileOfJobPrior >> $nodeServiceLogFileName 268 | for line in $listOfJobs; do 269 | echo "$line" 270 | case $line in 271 | allstop) 272 | echo "jobPriority.list is at allstop exit service on: $(date)" >> $nodeServiceLogFileName 273 | ghRemoteStatusLog "jobPriority.list-allstop" "ServiceStopping" 274 | echo "$(date) ALLSTOP: $(hostname)" >> $nodeServiceCentralLogDir'gridNodes.list' 275 | exit 276 | ;; 277 | rescan) 278 | echo "jobPriority.list is rescanning at: $(date)" >> $nodeServiceLogFileName 279 | # ghRemoteStatusLog "jobPriority.list-rescan" "ServiceJobListScan" 280 | break 281 | ;; 282 | *) 283 | currentScanPath=($nodeAssetsPath$line) 284 | echo "setting current job project to: "$currentScanPath >> $nodeServiceLogFileName 285 | echo "Loading currentScanPath job project on $(date)" >> $nodeServiceLogFileName 286 | echo "currentScanPathConfigFilePath is: "$currentScanPath >> $nodeServiceLogFileName 287 | if [ -f ${currentScanPath[0]} ] 288 | then 289 | echo "Scanning Project" 290 | for currentJobToCheck in $( ls -A $nodeAssetsPath$line ); do 291 | echo " ___CODE: CALL function checkProjectJob $currentJobToCheck" >> $nodeServiceLogFileName 292 | # ghRemoteStatusLog $rendBucket "ScanRendBucket" 293 | checkProjectJob $currentJobToCheck 294 | done 295 | else 296 | echo "ERROR: Unknown jobPriority.List command or project on: $(date)" >> $nodeServiceLogFileName 297 | echo "ERROR: no match - "$line >> $nodeServiceLogFileName 298 | # ghRemoteStatusLog $line "ERROR-UnknownCommand_$line" 299 | fi 300 | ;; 301 | esac 302 | done 303 | } 304 | 305 | ##### 306 | ##### Main 307 | ##### 308 | 309 | # Program has been created with the assumption it is running from the home directory. Making it so. 310 | cd '/home/ghadmin/' 311 | scanProjectsLoop=0 312 | scanClearLogs=3 313 | nodeHome='/home/ghadmin/' 314 | nodeAssetsPath='/media/farm/' 315 | nodeServiceCentralLogDir=$nodeAssetsPath'ghlogs/' 316 | ghRemoteStatusLog "noFrame" "ServiceBegin" 317 | echo "$(date) STARTED: $(hostname)" >> $nodeServiceCentralLogDir'gridNodes.list' 318 | while true 319 | do 320 | let "scanProjectsLoop++" 321 | let "scanClearLogs++" 322 | # Load config or set defaults 323 | if [ -f ".nodeRenderServiceConfig" ] 324 | then 325 | echo "Loading .nodeRenderServiceConfig" 326 | source .nodeRenderServiceConfig 327 | else 328 | debug=0 329 | nodeType=1 330 | nodeHome='/home/ghadmin/' 331 | nodeAssetsPath='/media/farm/' 332 | nodeProjectsConfigDir=$nodeAssetsPath'ghprojects/' 333 | nodeFileOfJobPrior=$nodeProjectsConfigDir'jobPriority.list' 334 | nodeScanLoopSleepTime=10 335 | nodeServiceLogFileName=$nodeHome'nodeService.log' 336 | nodeServiceBlenderLogFileName=$nodeHome'nodeServiceBlender.log' 337 | nodeServiceCentralLogDir=$nodeAssetsPath'ghlogs/' 338 | nodeLogResetLoopCount=3 339 | fi 340 | # Log maintainance 341 | if [ $scanClearLogs -gt $nodeLogResetLoopCount ] 342 | then 343 | cd 344 | rm *.log 345 | scanClearLogs=0 346 | touch $nodeServiceLogFileName 347 | ghDebug "Writting $nodeServiceLogFileName" 348 | # Create current Status File 349 | echo " Current Node Settings: $(date)" >> $nodeServiceLogFileName 350 | echo " Current Loop Count: "$scanProjectsLoop >> $nodeServiceLogFileName 351 | echo " nodeRenderServiceConfigValues" >> $nodeServiceLogFileName 352 | echo " =============================" >> $nodeServiceLogFileName 353 | echo " nodeType is used for blender command mod where 1 - server 2 - desktop" >> $nodeServiceLogFileName 354 | echo " current nodeType: "$nodeType >> $nodeServiceLogFileName 355 | echo " -----------------------------" >> $nodeServiceLogFileName 356 | echo " nodePath is used by node to access project configs and job assets" >> $nodeServiceLogFileName 357 | echo " current nodePath: "$nodeAssetsPath >> $nodeServiceLogFileName 358 | echo " -----------------------------" >> $nodeServiceLogFileName 359 | echo " nodeProjectConfigDir is used by node to access project" >> $nodeServiceLogFileName 360 | echo " current nodeProjectConfigDir: "$nodeProjectsConfigDir >> $nodeServiceLogFileName 361 | echo " -----------------------------" >> $nodeServiceLogFileName 362 | fi 363 | echo "Current Loop Count: "$scanProjectsLoop 364 | ghDebug "GETTING PROJECT" 365 | getProject 366 | echo "LoopSleep for "$nodeScanLoopSleepTime 367 | # ghRemoteStatusLog "noFrame" "ScanSleep$nodeScanLoopSleepTime" 368 | sleep $nodeScanLoopSleepTime 369 | cleanUpHome 370 | done 371 | 372 | ghRemoteStatusLog "noFrame" "ServiceStopping" 373 | ghDebug "Node Render service Stopping..." 374 | -------------------------------------------------------------------------------- /docs/proxmox/README.md: -------------------------------------------------------------------------------- 1 | # ProxMox Setup for VM 2 | 3 | - [ProxMox = H2DC - How to do Computers](https://www.youtube.com/playlist?list=PLk3oVaFzBUufFbrE4Y0gnQcjzfmEmT93o0) 4 | - [Configuring Storage in ProxMox](https://www.youtube.com/watch?v=HqOGeqT-SCA) 5 | - [Proxmox - Techno Tim](https://www.youtube.com/playlist?list=PL8cwSAAaP9W37Vnxkw6__sshVY-XohWNm) 6 | - [Proxmox Tutorials - apalrd's adventures](https://www.youtube.com/playlist?list=PLZcFwaChdgSpJLyxoXd2mf_JsokmwlLKi) 7 | - [Turning Proxmox Into a Pretty Good NAS](https://youtu.be/Hu3t8pcq8O0) 8 | - [Proxmox Full Course - Learn Linux TV](https://www.youtube.com/playlist?list=PLT98CRl2KxKHnlbYhtABg6cF50bYa8Ulo) 9 | 10 | ## Mantainance 11 | 12 | 1. Add Hardrives [Configuring Storage in ProxMox](https://www.youtube.com/watch?v=HqOGeqT-SCA) using [https://cf.christrees.com/ns/](https://cf.christrees.com/ns/) 13 | - [https://192.168.6.103:8006/](https://192.168.6.103:8006/) Proxmox server 14 | - [Proxmox - ZFS on Linux](https://pve.proxmox.com/wiki/ZFS_on_Linux#sysadmin_zfs_raid_considerations) 15 | - See all storage 16 | ```bash 17 | root@cf:~# lsblk 18 | ``` 19 | - [smartctl -a /dev/sda youtube](https://youtu.be/GoZaMgEgrHw?t=354) 20 | ```bash 21 | root@cf:~# smartctl -a /dev/sdb 22 | ``` 23 | - [fdisk /dev/sdb youtube](https://youtu.be/GoZaMgEgrHw?t=245) 24 | ```bash 25 | root@cf:~# fdisk /dev/sdb 26 | ``` 27 | ```bash 28 | p - partition list 29 | d - delete partitions 30 | g - gpt 31 | w - write out 32 | ``` 33 | - [Disk wipe Error disk/partition '/dev/sdb' has a holder (500)](https://forum.proxmox.com/threads/pve7-wipe-disk-doesnt-work-in-gui.92198/) 34 | ```bash 35 | root@cf:~# dd if=/dev/zero of=/dev/sdb 36 | ``` 37 | - [Configure ZFS storage - clear disks](https://youtu.be/GoZaMgEgrHw?t=191) 38 | - [Configure ZFS storage - Create ZFS](https://youtu.be/GoZaMgEgrHw?t=285) Drive-ZFS-CreateZFS 39 | - Name: zfs2tb - RAID: Single Disk - Compression: on - ashift 12 - device: /dev/sdb 40 | - Name: zfs3tc - RAID: Single Disk - Compression: on - ashift 12 - device: /dev/sdc 41 | - Name: zfs3td - RAID: Single Disk - Compression: on - ashift 12 - device: /dev/sdd 42 | - [tbd]() 43 | 2. Add NAS container [Turning Proxmox Into a Pretty Good NAS - youtube](https://youtu.be/Hu3t8pcq8O0) [blog post](https://www.apalrd.net/posts/2023/ultimate_nas/) 44 | - [Create container for NAS using template](https://youtu.be/Hu3t8pcq8O0?t=111) debian-11-standard 45 | - Node: cg Name: catnas CTID: 102 storsge: local-lvm 8G CPU: 2 Mem: 512 Net: 192.168.2.2/24 gw 192.168.2.1 vmbr0 46 | - [Update sources list](https://youtu.be/Hu3t8pcq8O0?t=386) 47 | ```bash 48 | vi /etc/apt/sources.list 49 | ``` 50 | ```bash 51 | deb http://deb.debian.org/debian bullseye-backports main contrib 52 | ``` 53 | ```bash 54 | apt update && apt full-upgrade 55 | ``` 56 | - [Install Cockpit](https://youtu.be/Hu3t8pcq8O0?t=460) 57 | ```bash 58 | apt install -t bullseye-backports cockpit --no-install-recommends 59 | ``` 60 | - [Allow root login](https://youtu.be/Hu3t8pcq8O0?t=531) delete root in /etc/cockpit/disallowed-users 61 | ```bash 62 | vi /etc/cockpit/disallowed-users 63 | ``` 64 | - Login to cockpit ui [https://192.168.2.2:9090](https://192.168.2.2:9090) from the 192.168.2.0/24 subnet only 65 | - [Add cockpit modules](https://youtu.be/Hu3t8pcq8O0?t=581) 66 | - [https://github.com/45Drives/cockpit-file-sharing](https://github.com/45Drives/cockpit-file-sharing) 67 | ```bash 68 | wget https://github.com/45Drives/cockpit-file-sharing/releases/download/v3.2.9/cockpit-file-sharing_3.2.9-2focal_all.deb 69 | ``` 70 | ```bash 71 | apt install ./cockpit-file-sharing_3.2.9-2focal_all.deb 72 | ``` 73 | - [https://github.com/45Drives/cockpit-navigator](https://github.com/45Drives/cockpit-navigator) 74 | ```bash 75 | wget https://github.com/45Drives/cockpit-navigator/releases/download/v0.5.10/cockpit-navigator_0.5.10-1focal_all.deb 76 | ``` 77 | ```bash 78 | apt install ./cockpit-navigator_0.5.10-1focal_all.deb 79 | ``` 80 | - [https://github.com/45Drives/cockpit-identities](https://github.com/45Drives/cockpit-identities) 81 | ```bash 82 | wget https://github.com/45Drives/cockpit-identities/releases/download/v0.1.10/cockpit-identities_0.1.10-1focal_all.deb 83 | ``` 84 | ```bash 85 | apt install ./cockpit-identities_0.1.10-1focal_all.deb 86 | ``` 87 | - remove deb packages in root 88 | ```bash 89 | cd ~ 90 | pwd 91 | ls 92 | ``` 93 | ```bash 94 | rm *.deb 95 | ``` 96 | - Verify models added to cockpit ui on left tab [https://192.168.2.2:9090](https://192.168.2.2:9090) from the 192.168.2.0/24 subnet only 97 | - [Click on File Sharing - click on Fix Now warning](https://youtu.be/Hu3t8pcq8O0?t=692) 98 | - [Add Storage to catnas container](https://youtu.be/Hu3t8pcq8O0?t=710) 99 | - cg->102->resources->add->mountpoint 100 | - mountpointID: 0 Storage: zfs2tb Disksize: 1000 Path: /mnt/zfs2tbplexdvr 101 | - [Add Users to catnas container](https://youtu.be/Hu3t8pcq8O0?t=795) 102 | 103 | 3. Add Storage from [catfreenas.gh.lan http://192.168.252.2/](http://192.168.252.2/) 104 | - Datacenter -> Storage -> Add -> NFS 105 | - [tbd]() 106 | - [tbd]() 107 | - [tbd]() 108 | 109 | ## Setup 110 | - [ProxMox Windows 10 VM best practices](https://pve.proxmox.com/wiki/Windows_10_guest_best_practices) 111 | - [ProxMox Windows 10 VM idiots guide](https://jonspraggins.com/the-idiot-installs-windows-10-on-proxmox/) 112 | - [Windows 10 iso - Download link](https://www.microsoft.com/en-us/software-download/windows10ISO) 113 | - [ProxMox Windows 10 virtio link](https://docs.fedoraproject.org/en-US/quick-docs/creating-windows-virtual-machines-using-virtio-drivers/index.html) 114 | - [ProxMox Windows 10 virtio-win iso](https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso) 115 | - [ProxMox Windows 10 - NFS mount](https://graspingtech.com/mount-nfs-share-windows-10/) 116 | 117 | 1. Setup [ProxMox LearningLinuxTV 1/9](https://www.youtube.com/watch?v=MO4CaHn1EjM&list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U) 118 | - Start Install (via USB Stick) 119 | - Select HardDrive [See Video](https://youtu.be/MO4CaHn1EjM?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=131) 120 | - Admin Password [See Video](https://youtu.be/MO4CaHn1EjM?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=201) 121 | - Network Config [See Video](https://youtu.be/MO4CaHn1EjM?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=265) 122 | - Checkout [WebGUI - https://192.168.9.121:8006](https://192.168.9.121:8006) [See Video](https://youtu.be/MO4CaHn1EjM?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=371) 123 | - Update ProxMox and Reboot [See Video](https://youtu.be/MO4CaHn1EjM?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=453) 124 | 2. Create First VM [ProxMox LearningLinuxTV 2/9](https://www.youtube.com/watch?v=BiIFLFhXByE&list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&index=2) 125 | - Download ISO [https://help.ubuntu.com/community/Installation/MinimalCD](https://help.ubuntu.com/community/Installation/MinimalCD) [See Video](https://youtu.be/BiIFLFhXByE?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=51) 126 | - 19.10 [Download Rochester Institute of Technology](http://mirrors.rit.edu/ubuntu-releases/19.10/) 127 | - 19.10 [Download TeraSwithc](http://mirror.pit.teraswitch.com/ubuntu-releases/19.10/) 128 | - Upload 19.10 ISO [See Video](https://youtu.be/BiIFLFhXByE?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=116) 129 | - pm01 -> local -> Content -> Upload 130 | - Create VM [See Video](https://youtu.be/BiIFLFhXByE?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=163) 131 | - General [See Video](https://youtu.be/BiIFLFhXByE?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=180) 132 | - Node: pm01 133 | - VM ID: 300 134 | - Name: ubuntu-19.10 135 | - OS [See Video](https://youtu.be/BiIFLFhXByE?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=230) 136 | - Use CD: ISO image: ubuntu-19.10-live-server-amd64.iso 137 | - System no video this is new 138 | - Graphics: Default 139 | - SCSI Controller: VirtIO SCSI 140 | - Hard Disk [See Video](https://youtu.be/BiIFLFhXByE?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=310) 141 | - Bus/Device: VirtIO Block 142 | - Storage: local-lvm 143 | - Disk size: 64 GiB 144 | - Cache: Default (No cache) 145 | - CPU [See Video](https://youtu.be/BiIFLFhXByE?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=317) 146 | - Cores: 4 147 | - Memory [See Video](https://youtu.be/BiIFLFhXByE?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=361) 148 | - Memory: 4096 149 | - Network [See Video](https://youtu.be/BiIFLFhXByE?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=373) 150 | - Bridge: vmbr0 151 | - VLAN Tag: no VLAND 152 | - Model: VirtIO (paravirtualized) 153 | - MAC: auto 154 | - Boot Ubuntu Installer [See Video](https://youtu.be/BiIFLFhXByE?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=481) 155 | - English 156 | - Your Name: radmin 157 | - Server Name: ratestweb - see#note 158 | - DHCP 159 | - Remove CD [See Video](https://youtu.be/BiIFLFhXByE?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=633) 160 | - test SSH access [See Video](https://youtu.be/BiIFLFhXByE?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=685) 161 | 3. User Interface [ProxMox LearningLinuxTV 3/9](https://www.youtube.com/watch?v=GHzMaTar0fw&list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&index=3) 162 | - Navigation Menu [See Video](https://youtu.be/GHzMaTar0fw?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=42) 163 | - Summary View [See Video](https://youtu.be/GHzMaTar0fw?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=213) 164 | - Subscription Plans [See Video](https://youtu.be/GHzMaTar0fw?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=416) 165 | - Start On Boot Option [See Video](https://youtu.be/GHzMaTar0fw?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=460) 166 | - Change Hardware [See Video](https://youtu.be/GHzMaTar0fw?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=538) 167 | - Backup to Local [See Video](https://youtu.be/GHzMaTar0fw?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=621) 168 | 4. Container Setup [ProxMox LearningLinuxTV 4/9](https://www.youtube.com/watch?v=cyjXxsQ8Igw&list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&index=4) 169 | - Pull down a Template [See Video](https://youtu.be/cyjXxsQ8Igw?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=56) 170 | - pm01 -> local -> Click "Template" 171 | - Click "ubuntu-19.10-standard" then Click "Download" 172 | - Create a Container [See Video](https://youtu.be/cyjXxsQ8Igw?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=95) 173 | - Container vs VM [See Video](https://youtu.be/cyjXxsQ8Igw?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=540) 174 | - Use Container when you can (Dynamic Share) 175 | - Container smaller footprint 176 | - Nesting Docker in a Container is not good 177 | - Use VM for Docker / K8s Host 178 | 5. Create Template via CloudInit [ProxMox LearningLinuxTV 5/9](https://www.youtube.com/watch?v=8qwnXd1yRK4&list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&index=5) 179 | - Install Cloud Init in VM [See Video](https://youtu.be/8qwnXd1yRK4?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=25) 180 | - sudo apt install cloud-init 181 | - Edit cloud.cfg [See Video](https://youtu.be/8qwnXd1yRK4?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=118) 182 | - sudo vi /etc/cloud/cloud.cfg 183 | - Go to: cloud_config_modules 184 | - Remove "snap stuff" 2 lines 185 | - Remove "ubuntu-advantage" 186 | - Remove "disable-ec2-metadata" 187 | - Remove "byobu" 188 | - Go to: cloud_final_modules 189 | - Remove snappy 190 | - Remove fan, lxd, puppet, chef, mcollective, salt-minion, rightscale_userdata 191 | - Talks about 18.04 MAC Address Issue [See Video](https://youtu.be/8qwnXd1yRK4?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=302) 192 | - REMOVE machine ID from VM 193 | - cat /etc/machine-id 194 | - sudo rm /etc/machine-id 195 | - sudo touch /etc/machine-id 196 | - soft link machine-id [See Video](https://youtu.be/8qwnXd1yRK4?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=420) 197 | - cat /var/lib/dbus/machine-id 198 | - sudo rm /var/lib/dbus/machine-id 199 | - sudo ln -s /etc/machine-id /var/lib/dbus/machine-id 200 | - ls -l /var/lib/dbus/mahcine-id 201 | - cat /etc/machine-id (should be an empty file) 202 | - sudo apt clean 203 | - sudo poweroff 204 | - Create Cloud Init Drive [See Video](https://youtu.be/8qwnXd1yRK4?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=573) 205 | - pm01 -> Hardware -> Add -> CloudInit Drive 206 | - Storage: local-lvm 207 | - pm01 -> Cloud-Init -> Edit 208 | - User: radmin 209 | - Password: see#note 210 | - Create Clone of Template [See Video](https://youtu.be/8qwnXd1yRK4?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=653) 211 | - Target Node: pm01 212 | - VM ID: 601 213 | - Name: ratestclone01 214 | - Mode: Full Clone 215 | - Repeat... should get machines 216 | 6. Create Cluster [ProxMox LearningLinuxTV 6/9](https://www.youtube.com/watch?v=s9FODQi2-20&list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&index=6) 217 | - Datacenter [See Video](https://youtu.be/s9FODQi2-20?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=71) 218 | - Click on "Datacenter" 219 | - Click on "Cluster" under "Summary" 220 | - Click "Create Cluster" -> Name: cat9clusterl 221 | - Click on "Join Information" -> "Copy Information" 222 | - Go to another node (pm02) 223 | - Click on "Datacenter" 224 | - Click on "Cluster" under "Summary" 225 | - Click "Join Cluster" 226 | - Paste in Info -> type in root pw of pm01 -> Click "Join" 227 | - Refresh GUI 228 | - Should have 3 nodes to do HA 229 | - Migrate a Container to other node [See Video](https://youtu.be/s9FODQi2-20?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=267) 230 | - Stop Container 231 | - Right Click on Container -> Migrate -> Select target node -> Click "Migrate" 232 | - You cannot Live migrate "Container" but you CAN LIVE migrate a VM 233 | - Live Migrate VM to other node [See Video](https://youtu.be/s9FODQi2-20?list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&t=403) 234 | 7. [ProxMox LearningLinuxTV 7/9](https://www.youtube.com/watch?v=h1czc-ztRTQ&list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&index=7) 235 | - xxx [See Video]() 236 | - xxx [See Video]() 237 | - xxx [See Video]() 238 | - xxx [See Video]() 239 | - xxx [See Video]() 240 | 8. Upgrade Proxmox to 6.0 [ProxMox LearningLinuxTV 8/9](https://www.youtube.com/watch?v=-izPmkID0dI&list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&index=8) 241 | - xxx [See Video]() 242 | - xxx [See Video]() 243 | - xxx [See Video]() 244 | - xxx [See Video]() 245 | - xxx [See Video]() 246 | 9. Updates on ProxMox with no VM Downtime [ProxMox LearningLinuxTV 9/9](https://www.youtube.com/watch?v=llsB_dhTjVI&list=PLT98CRl2KxKGDJbitpQQPOKE__pXlWH7U&index=9) 247 | - xxx [See Video]() 248 | - xxx [See Video]() 249 | - xxx [See Video]() 250 | - xxx [See Video]() 251 | - xxx [See Video]() 252 | 253 | ## Extras 254 | 1. Upgrading Proxmox VE to 6.0 [See Video](https://www.youtube.com/watch?v=-izPmkID0dI) 255 | 1. Installing Proxmox Virtual Enviroment Updates in a Cluster [See Video](https://www.youtube.com/watch?v=llsB_dhTjVI) 256 | 1. Create custom Proxmox via CLI [See Video](https://youtu.be/BwQhG7OR5Rg?t=1282) 257 | --------------------------------------------------------------------------------