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

Provide an option to skip artifacts download which are not required for some usecases #135

Closed
yussufsh opened this issue Aug 6, 2020 · 8 comments
Labels
enhancement New feature or request

Comments

@yussufsh
Copy link
Contributor

yussufsh commented Aug 6, 2020

From the list below I would not like to use all for my installation. For example I do not need to perform bootp and want to handle this outside.

Except ocp_client & ocp_installer which are really required for the OCP installation, the other variables should be made optional.

ocp_bios: "https://mirror.openshift.com/pub/openshift-v4/dependencies/rhcos/4.5/4.5.2/rhcos-4.5.2-x86_64-metal.x86_64.raw.gz"
ocp_initramfs: "https://mirror.openshift.com/pub/openshift-v4/dependencies/rhcos/4.5/4.5.2/rhcos-4.5.2-x86_64-installer-initramfs.x86_64.img"
ocp_install_kernel: "https://mirror.openshift.com/pub/openshift-v4/dependencies/rhcos/4.5/4.5.2/rhcos-4.5.2-x86_64-installer-kernel-x86_64"
ocp_client: "https://mirror.openshift.com/pub/openshift-v4/clients/ocp/4.5.2/openshift-client-linux-4.5.2.tar.gz"
ocp_installer: "https://mirror.openshift.com/pub/openshift-v4/clients/ocp/4.5.2/openshift-install-linux-4.5.2.tar.gz"
helm_source: "https://get.helm.sh/helm-v3.2.4-linux-amd64.tar.gz"

I am using this repo since a few months now and allowed downloading the tarballs even when not needed for my usecase. But recently the mirror site is giving me a hard time throwing Request failed: <urlopen error _ssl.c:880: The handshake operation timed out> error for big files.

@yussufsh
Copy link
Contributor Author

yussufsh commented Aug 6, 2020

One option is to allow to skip the download if the variable is set to empty url (""). Let me know if you think this is fine or any other way to skip the downloads. I will raise the PR based on your inputs.

@christianh814
Copy link
Contributor

So in the standard install, which is the default, it uses DHCP to install. In which case all the artifacts are needed.

With the static_ip=true, no DHCP/TFTP is installed. But you still need the ocp_bios ...so you don't REALLY need ocp_initramfs and ocp_install_kernel. But you still need the ISO...so if anything we should probably ADD the option to download the ISO..

Even if you're doing a DHCP install "outside of the helper"...you still need to download those artifacts....even then someone can download the artifacts and then just specify file:// in the vars.yaml file

I can really only see one thing happening....

If someone specifies static_ips=true, then we should skip downloading ocp_initramfs and the ocp_install_kernel files.

Thoughts? @Prajyot-Parab @bpradipt @therevoman @vchintal

@christianh814 christianh814 added the enhancement New feature or request label Aug 7, 2020
@Prajyot-Parab
Copy link
Collaborator

@christianh814 IMO the approach suggested by Yussuf to skip downloading artifacts in case that specific var is set to empty string would be the straightforward and clean approach.

@yussufsh
Copy link
Contributor Author

Ok, seems there is a workaround for me to skip downloads by just providing the value of the url as "file:///dev/null". I am okay using this as an option. Still think that better is to give the value as "" which should skip a download.

Again, found that above won't help with helm_source since there are tasks to extract this tarball and it depends on the arch. The tarball produces linux-$(arch) directory and it's a required value.

Can we have some check for helm_source? This seems really optional to me.

@schabrolles
Copy link
Contributor

schabrolles commented Aug 10, 2020

With the static_ip=true, no DHCP/TFTP is installed. But you still need the ocp_bios ...so you don't REALLY need ocp_initramfs and ocp_install_kernel. But you still need the ISO...so if anything we should probably ADD the option to download the ISO..

@christianh814, maybe I'm wrong, but I just thought of one use case which is when someone want to have static_ip but still use a network server for installation (not ISO base installation).
This means we still need DHCP/bootp in order to get kernel/initramfs but also kernel parameters with "ip=" to have static_ip after installation.

@christianh814
Copy link
Contributor

I think the simplest way is have skip_artifacts var that defaults to false, When set to true it will skip downloading ocp_bios, ocp_initramfs, ocp_install_kernel, ocp_client, ocp_installer, and helm_source

@bpradipt
Copy link
Contributor

I think the simplest way is have skip_artifacts var that defaults to false, When set to true it will skip downloading ocp_bios, ocp_initramfs, ocp_install_kernel, ocp_client, ocp_installer, and helm_source

Agree, having a skip_artifacts option is a simpler approach. Other option which I liked is to set the values to file://dev/null but I feel it's not intuitive and too many changes for the end user to perform.

@lukebrowning
Copy link

skip_artifacts seems too broad if it applies to all of the items in the list above. On ppc64le, we use ocp_client and ocp_installer, just not the others.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

6 participants