Blender Versions
Flamenco assumes that the there is a version of Blender already pre-installed, on the node running the Flamenco Worker. It is possible to define custom paths for each OS (platform) using Flamenco Manager configuration.
In this project, a specific version of Flamenco Worker and Blender are co-packaged into a single Docker Container.
Available Blender Versions
To learn which blender versions are available in the cluster you can inspect the docker-registry/defaults/main.yaml
Ansible Playbook file or list the available Docker images on the Docker Registry. Assuming the Docker Registry is co-located on the k8s control plane node.
#> ssh ubuntu@192.168.1.xxx (Gateway Device) // Gateway Device
#> ssh ubuntu@k8s-control-plane-node // Docker Registry node
#> docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
registry.cluster.home/flamenco 3.1-blender-3.4.0 fd1c5e76685b 4 hours ago 3.67GB
registry.cluster.home/intel-opencl u22.04_20221213 034ce0e90ffa 4 weeks ago 309MB
registry 2 0d153fadf70b 6 weeks ago 24.2MB
ubuntu 22.04 58db3edaf2be 2 months ago 77.8MB
ubuntu jammy 58db3edaf2be 2 months ago 77.8MB
Updating Blender Versions
To change the supported blender versions you have to update the Docker container and upload it into the local Docker Registry using the docker-install
Ansible Playbook. It will then build a new Docker container that includes those Blender versions.
docker-install/defaults/main.yaml
blender_version: 3.4.0
blender_major_version: 3.4
Then run the docker-install
playbook…
ansible-playbook -i hosts build-docker-registry.yaml -K
Once the new docker container is built, you must re-deploy the Flamenco Manager and Worker Pods to pick up the new container.
You will have to update the k8s manifest for the Manager and Workers to use the desired version.
Flamenco Manager manifest
- name: "k8s: Pod Flamenco-Manager"
kubernetes.core.k8s:
kubeconfig: /home/kube/.kube/config
state: present
definition:
apiVersion: v1
kind: Pod
metadata:
name: flamenco-manager-pod
namespace: flamenco-manager
...
containers:
- name: flamenco
image: "{{ docker_registry_server }}/flamenco:3.1-blender-3.4.0"
command: ["/code/flamenco/flamenco-manager"]
imagePullPolicy: Always
...
Flamenco Worker manifest
- name: "k8s: Deployment Flamenco-Worker"
kubernetes.core.k8s:
kubeconfig: /home/kube/.kube/config
state: present
definition:
apiVersion: apps/v1
kind: Deployment
metadata:
name: flamenco-worker
namespace: flamenco-worker
...
containers:
- name: flamenco
image: "{{ docker_registry_server }}/flamenco:3.1-blender-3.4.0"
command: ["/code/flamenco/flamenco-worker"]
imagePullPolicy: Always
...
Then run the deploy-flamenco
playbook…
ansible-playbook -i hosts deploy-flamenco.yaml