Unreal Cloud DDC Helm chart not working

I downloaded the latest version of the release branch of the UnrealEngine git repo. I created a values.yaml file based on the template provided in the UnrealCloudDDC folder. I setup an AWS EKS cluster, and setup my authentication to it.

Finally, I ran this command, as indicated by the UnrealCloudDDC documentation:

helm install uddc -f my-values.yaml ./UnrealCloudDDC

When I run this command, Helm reports a problem with the template:

Error: INSTALLATION FAILED: template: unreal-cloud-ddc/templates/deployment.yaml:86:59: executing "unreal-cloud-ddc/templates/deployment.yaml" at <include "jupiter.appversion" .>: error calling include: template: no template "jupiter.appversion" associated with template "gotpl"

I’m not sure whether to file an issue with the template on GitHub or if there’s a better route to get support with this Helm installation. Running it locally using the docker-c

[Attachment Removed]

Hey Tyler

This sounds like a bug with the template

Do you mind sharing your my-values.yaml just to make sure we can reproduce this issue, but its likely a issue with our recent update to vendor the bitnami common chart which is being deprecated.

In terms of unblocking you, we do upload the helm chart to our Cloud DDC artifact repository on github.com, look for the tags with “helm” in them. You can use a container registry as a source for them as well.

[Attachment Removed]

Hey Tyler

Sorry for going dark on you here, thought I replied but I guess I forgot to submit.

I think my thoughts on it being the changes we had recently done to the helm chart was a red herring, you were using a release line that wouldn’t have those changes.

We tried using your values file with the latest version of the helm chart and couldn’t find any issues.

My best guess here is that you are missing the _appversion.tpl file that should be in Engine\Source\Programs\UnrealCloudDDC\Helm\UnrealCloudDDC\templates\

If you pulled this from github maybe you forgot to run setup to pull the git dependencies down? It likely includes the yaml files but not the .tpl files

As for the released version of the the helm chart, that would be a older version then what is on main, the relationship to the one on the release line is harder to say for certain (long time between the branch of the release and Cloud DDC releases directly from main). But that doesn’t really matter in this case anyway as the changes on main are likely not the problem.

You can find the latest version here https://github.com/orgs/EpicGames/packages/container/unreal\-cloud\-ddc/475305819?tag\=1\.3\.0\_helm

[Attachment Removed]

Hello!

I’m Alec, another SRE working with Tyler. We’ve managed to get to a point where the container crashes on connection to Scylla due to “Default Keyspace has to be specified”. After looking into Scylla itself, it seems no keyspaces or tables exist for UDDC. Should this schema have been applied automatically at some step, or is there somewhere I can find the schema? If I’m following the wrong lead, any direction would be great too!

[Attachment Removed]

Hi Joakim!

Yeah, let me provide the values we’re using - I stubbed in some other values, and I knew this wasn’t going to 100% work, but I wanted to get an initial version deployed to the cluster and then start debugging what values needed to change, etc:

# this file contains the setting specific to Region ABC - we recommend using the same region names as your cloud provider does
config:
  Scylla: &scylla-connection-info
    ConnectionString: Contact Points=our-scylla-dns.our-domain.com
    LocalKeyspaceReplicationStrategy:
      class : "NetworkTopologyStrategy"
      region-A : 2
      region-B: 0
    LocalDatacenterName: "region-ABC"
    LocalKeyspaceSuffix: "abc"
  S3: &s3-connection-info
    BucketName: our-bucket-name
 
worker:
  config:
    GC:
      CleanOldRefRecords: true # this should be enabled in one region - it will delete old ref records no longer in use across the entire system.
 
    Scylla: *scylla-connection-info
    S3: *s3-connection-info
    
    # A section like this can be used to define a replicator that replicates blobs from region DEF to ABC (current file)
    # Replication:
    #  Enabled: true
    #  Replicators: 
    #  - ReplicatorName: DEF-to-ABC-test-namespace
    #    Namespace: test-namespace
    #    ConnectionString: http://url-to-region-DEF.com
 
global:
  cloudProvider: AWS
 
  # AWS specific configuration
  awsRegion: "us-east-1"
  awsRole: AssumeRoleWebIdentity
  
  siteName: "eve-uddc"

This wouldn’t deploy at all, so I didn’t get an opportunity to even get that far.

Regarding the chart repository - is the chart that exists in there a newer version than the one that is in the release branch of the UnrealEngine main git repo?

[Attachment Removed]

Aha, no worries on the delay!

Yeah, I likely didn’t run the setup, I didn’t realize that everything wasn’t in the repo and there were external dependencies outside of the Helm dependencies. I’ll give this a try shortly.

I appreciate you investigating, though!

[Attachment Removed]

Hey Alec

On startup Cloud DDC will create any missing tables with the correct schema, unless the option `Scylla.AvoidSchemaChanges` have been set (this can be useful if one wants very strict control over when schemas change).

“Default Keyspace has to be specified” is likely due to the behavior change we introduced in version 0.4.0, before that we would also default to the “Jupiter” keyspace. Now you are expected to provide the keyspace you want to use in the connection string like so:

```ConnectionString: Contact Points=<url-to-scylla>;Default Keyspace=jupiter;```

(this would still use the jupiter keyspace but the point is that you can call that whatever). The point of this change was to allow people to run multiple versions against the same scylla cluster.

[Attachment Removed]