diff --git a/docs/td-guide/workstations/maintaince.md b/docs/td-guide/workstations/maintaince.md index 651d0812..1f32360a 100644 --- a/docs/td-guide/workstations/maintaince.md +++ b/docs/td-guide/workstations/maintaince.md @@ -1,31 +1,44 @@ # Workstation System Maintenance ## How to Update Build Server & Clients -The script will pull all of the latest changes from the main gentoo repository and initiate a system update. When done, it will ask if you want to push out the changes to the clients. The clients checks for updates every five minutes. If the server signals that there are updates, they will perform a sync with the build server and download and install all updated packages. +To update Client Workstations; the Build Server will pull all of the latest changes from the [main gentoo repository](https://wiki.gentoo.org/wiki/Ebuild_repository#:~:text=The%20Gentoo%20ebuild%20repository%20is%20the%20main%20ebuild%20repository%20for,to%20be%20available%20to%20Portage.) and compile a system update. When done, it will ask if you want to push out the compiled changes to the clients. The clients ask for updates to be pushed from the build server every five minutes. If the build server signals that there are updates, the clients will perform a sync, downloading the compiled packages from the build server and installing all updated packages. 1. `ssh user@build-server-addr` connect to your build server via ssh 2. Use `su` to Login as root or login as root directly -3. Use `cd` to enter root home folder -4. Run `update_build_server.sh` +3. `cd` to change directory to the root home folder +4. Run `./update_build_server.sh` -## Update addons on `/shared/software/addons` +## Update Add-ons in `/shared/software/addons` - The software inside the `shared/software/addons` directory are Live Packages. Live Packages are packages that tracks the source-code repository directly and is not tied to a specific release. + The software inside the `shared/software/addons` directory are the [Blender Studio Pipeline Add-ons](/addons/overview), the [Flamenco](https://flamenco.blender.org/) Add-on and any other Add-ons that need to be distributed to all Blender Studio Users. These Add-ons are considered Live Packages. Live Packages are packages that fetch updates from the source repository directly and are not tied to a specific release. To update packages not included in `/shared/software/addons` see [Installing Software](/user-guide/workstations/installing-software) ::: warning Temporary Solution -This is a temporary solution that will be depreciated and replace with project based addons. +This is a temporary solution that will be depreciated and replaced with project based Add-ons. ::: 1. `ssh user@build-server-addr` connect to your build server via ssh 2. Use `su` to Login as root or login as root directly -3. Run `emerge -1 {package-name}` to update a live package. - - Run `emerge -1 flamenco` to update the flamenco client/addon - - Run `emerge -1 blender-studio-tools` to update the studio addons +3. Run `emerge --oneshot {package-name}` to update a live package. + - Run `emerge --oneshot flamenco` to update the [Flamenco](https://flamenco.blender.org/) worker/add-on + - Run `emerge --oneshot blender-studio-tools` to update the studio Add-ons 4. Run `date -R > /var/cache/update_info/timestamp.chk` to mark this update as the latest +::: info Info +The command `emerge --oneshot {package-name}` compiles package, but does not add the packages to the [@world](https://wiki.gentoo.org/wiki/World_set_(Portage)), this means these packages will be removed when running `--depclean`.. We add this because these packages are already pulled in by another set. So we don’t want to add it again to the @world set. To learn more visit the [Gentoo Handbook](https://wiki.gentoo.org/wiki/Emerge#:~:text=fetchonly%20%2D%2Demptytree%20%40world-,Do%20not%20add%20dependencies%20to%20the%20world%20file,-If%20a%20dependency) +::: + +### How to update to specific version? +In some cases, users may want to specify what version of an add-on to deploy into the `/shared/software/addons` folder. Users can accomplish this using `eclass` variables found in the [Gentoo Devmanual](https://devmanual.gentoo.org/eclass-reference/git-r3.eclass/index.html#:~:text=more%20creative%20ways.-,EGIT_BRANCH,-The%20branch%20name). +- Run `EGIT_COMMIT= emerge {package-name}` to update to a specific commit +- Run `EGIT_BRANCH= emerge {package-name}` to update to a specific branch +- Run `EGIT_COMMIT= EGIT_BRANCH= emerge {package-name}` to update to a specific commit with in a specific branch ## Wake on LAN -Wake on LAN use the hardware information provided by the clients to wake up all that are currently offline. If this is used in combination with a system update, the client computers will turn off after the system update has completed. (Unless any users are logged into the system when the update finishes). +Wake on LAN is used turn on computers from a "low power" or sleeping state so they can be updated. Wake on LAN uses the hardware information provided by the clients to immediately wake up all that are currently offline. The following guide covers how to parse the hardware info sent by client computers and to use that information to wake any sleeping computers via Wake on LAN. + +::: info Will Computers Turn Off after updating? +If this is used in combination with a system update, the client computers will turn off after the system update has completed. (Unless any users are logged into the system when the update finishes). +::: 1. `ssh user@build-server-addr` connect to your build server via ssh 2. Use `su` to Login as root or login as root directly diff --git a/docs/td-guide/workstations/overview.md b/docs/td-guide/workstations/overview.md index 26b722cc..2b417c7e 100644 --- a/docs/td-guide/workstations/overview.md +++ b/docs/td-guide/workstations/overview.md @@ -1,8 +1,11 @@ -# Overview of Operating System +# Introduction -[Gentoo](https://www.gentoo.org/) is a source based distro, which means you download the source code for every package and compile it yourself. The advantage of Gentoo is that we can much more easily interact with the source code and upstream projects. To learn about how to work with Gentoo see the [Gentoo Handbook](https://wiki.gentoo.org/wiki/Handbook:AMD64) +The workstation section will cover the setup/maintenance of workstations in the Blende Studio Pipeline. This section is intended for IT Professionals, Technical Directors or any technically inclined members of a studio's team. The following is a brief overview of the workstation eco-system. +# Overview -The Gentoo package manager allows a single computer to compile and serve pre-built packages to a network of computers, this can be useful in a studio environment. This server is called the "Gentoo Build Server" which provides software to the client systems. +Blender Studio workstations use the [Gentoo](https://www.gentoo.org/) Operating system. It is a source based distribution, which means you download the source code for every package and compile it yourself. The advantage of Gentoo is that we can much more easily interact with source code and upstream projects. To learn about how to work with Gentoo see the [Gentoo Handbook](https://wiki.gentoo.org/wiki/Handbook:AMD64) + +The Gentoo package manager allows a single computer to compile and serve pre-built packages to a network of computers, this can be useful in a studio environment. This server is called the "Build Server" which provides software to the client systems. Here is an overview of how we deploy Gentoo at the Blender Studio: @@ -14,6 +17,8 @@ Here is an overview of how we deploy Gentoo at the Blender Studio: |**Client System**|Workstations for users within the studio that receive software & updates from Build Server| -Note that the clients do not strictly depend on the Build Server. The build server can be unavailable and all clients will still be able to install packages and work as normal. They will simply not receive any automatic updates or download any precompiled packages if the build server is down. +::: info Note +Clients do not strictly depend on the Build Server. The build server can be unavailable and all clients will still be able to install packages and work as normal. They will simply not receive any automatic updates or download any precompiled packages if the build server is down. After the install process is done, the IPXE file host is only needed for reinstalls or if any of them wants to access it for running MemTest or any other utilities hosted there. +::: \ No newline at end of file