Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix download of stage2 image from .treeinfo #5773

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

jkonecny12
Copy link
Member

@jkonecny12 jkonecny12 commented Jul 16, 2024

This is fix to enable downloading stage2 image from a non default place with .treeinfo file. If .treeinfo has a path to the stage2 image it will be used as the first variant, in case this will fail it will fallback to default paths.

This is fixing two parts:

  • Reading values from configuration file (.treeinfo and .buildstamp).
  • Fix issue that curl is not able to understand // in the path.

Missing:

  • Add test coverage

With commit 0785531 the `get_config`
function in anaconda-lib.sh was broken because missing quotes removed
leading and trailing whitespace characters automatically but after the
fix in commit mentioned above this side effect was fixed which lead in
broken code. In other words the key were never matched because of
trailing whitespace.

Issue raised by this is not being able to read .treeinfo and .buildstamp
files in Dracut. Example of such situation is broken boot when stage2
image is stored under special path mentioned in .treeinfo file.

Resolves: RHEL-
In Dracut the URL concatenation from .treeinfo could also point you to
directory above by `..`. However, if the `inst.repo=` argument was
set with trailing `/` it will create URL which is not supported by curl.

Supported:
`os/../BaseOS/`
Unsupported by curl:
`os//../BaseOS/`

Remove the trailing `/` to avoid this issue.

Resolves: RHEL-48821
@jkonecny12
Copy link
Member Author

/kickstart-test --testtype smoke

@jkonecny12
Copy link
Member Author

/kickstart-test --testtype coverage

1 similar comment
@jkonecny12
Copy link
Member Author

/kickstart-test --testtype coverage

Copy link
Contributor

@M4rtinK M4rtinK left a comment

Choose a reason for hiding this comment

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

Looks good to me. :)

@@ -108,6 +112,10 @@ anaconda_net_root() {
local repo="$1"
info "anaconda: fetching stage2 from $repo"

# Remove last `/` from repo to enable cunstructs like ...os/../BaseOS/image/install.img
Copy link
Contributor

Choose a reason for hiding this comment

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

s/cunstructs/constructs/ ?

@jkonecny12 jkonecny12 added f42 Fedora 42 and removed f41 labels Aug 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
f42 Fedora 42
Development

Successfully merging this pull request may close these issues.

4 participants