Skip to content

Conversation

javanlacerda
Copy link
Contributor

Validate and performs a fine tunning on the changes for b/407497080.

This changes were needed to allow the immutable images to run bots properly.

I managed to validade it by creating a new instance group using an immutable image with this code version.

there's the logs of an sucessfull instance

The changes:

  • On the setup clusterfuzz scprit, the clusterfuzz source code is copied to the $INSTALL_DIRECTORY if it's a immutable image. This is required because in the current approach, the code is downloaded in the docker volume in /mnt/sractch0 during the startup script. As we copy the code in the build time now, we're not able to copy in the expected path, because the volume doesn't exist in build time.
  • Persist the manifest on src/appengine/resources/clusterfuzz-source.manifest. The immutable images pipeline generates it's own revision, and this change saves it on the expected file for providing this information in runtime (for strcutured logs, for instance)
  • Add a guard flag for the function update_source_code_if_needed that verifies if it's a immutable instance, and block updating the source code.

@javanlacerda javanlacerda changed the title Javan use install directory Make the immutable instance work properly as a bot. Oct 15, 2025
@ViniciustCosta
Copy link
Collaborator

The logs you linked as evidence are empty, probably since they were shared with relative time. Could you retrieve them and share with absolute time?

# Read the ClusterFuzz revision from the clusterfuzz-source.manifest file. This is used to
# tag the Docker images.
CURRENT_CLUSTERFUZZ_REVISION="$(cat /workspace/revision.txt)"
CURRENT_CLUSTERFUZZ_REVISION="$(cat src/appengine/resources/clusterfuzz-source.manifest)"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: Maybe use a global var to set the manifest filename?

Signed-off-by: Javan Lacerda <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants