Skip to content

ContainerLab uploaded files does not preserve mode #218

@italovalcy

Description

@italovalcy

if you upload a file that is executable, after the upload the file is created with "read" mode instead of "execute" mode, which ends up resulting in problems later on when executing the experiment:

    INFO |              containerlab | time="2025-12-06T07:58:02Z" level=error msg="Failed to execute command \"ash -c /config.sh $NODE_ID\" on the node \"host1\". rc=126,\nstdout:\n\nstderr:\nash: /config.sh: Permission denied\n"

The clab.yml file in my computer is like this:

> ls -l configs/client.sh
-rwxr-xr-x  1 xxx  xxx  1040 Dec  6 04:43 configs/client.sh

but after uploading and converting, the kubernetes manifest will be like this:

    filesFromConfigMap:
        host1:
          - filePath: configs/client.sh
            configMapName: clab-6483dc5f8c434e-host1-files
            configMapPath: configs-client.sh
            mode: read

If I use clabverter locally to convert the files, it works as expected and the result is:

    filesFromConfigMap:
        host1:
          - filePath: configs/client.sh
            configMapName: my_lab-host1-files
            configMapPath: configs-client.sh
            mode: execute

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions