-
Notifications
You must be signed in to change notification settings - Fork 35
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
Add testing on OpenShift 4 #910
Comments
@michaelsauter regarding
We could manually download the image and push it to a S3 bucket everytime there is a new version. By using always the same resource name and having S3 versioning enabled we could simulate a kind of image stream. I think S3 resources are accessible for the packer AMI build. This could solve the problem. What do you think? |
@stitakis Hmm, could be part of the solution. I need to read up in which places this image pull secret is used. I guess it is also used to pull base container images, not just images for OpenShift itself. |
@michaelsauter - could we just build (silently) - and not produce an AMI? at least we would have a solid way to test ocp4 |
@clemensutschig, we don't need to produce an image to test ocp4 with ods at first instance. The image is currently produced for the corporate devs to be able to create an instance of ODS (called ODSBox/EDPBox). What we need is to identify a ocp4 distribution that we could install with a script and configure with a script. |
@stitakis - I think it's worth a try ... https://code-ready.github.io/crc/ - seems pretty easy to make this happen ... can you try to give this a shot on a new ami instance ... looks like many of the small things we don't need anymore - because they are part of the image I guess? (e.g. dnsmasq or alike) ... but this needs a lot of investigation .. steps:
|
@clemensutschig sure, I'll give a try and come back to you |
@clemensutschig @michaelsauter an update on this... I wasn't able to install CRC in an ec2 instance (ODSBox) due to this error: You need to enable virtualization in BIOS
We can't enable virtualization in an virtualized environment like ec2. The `crc documentation (https://code-ready.github.io/crc/) explains:
Also this page (https://github.com/code-ready/crc) says that Conclusion, It looks to me that we will need to setup a oc4 cluster (e.g. deployed AWS) to be able to test ods. |
@stitakis this comes unexpected and would render ODS in a Box useless 👎 |
Hmm. Looks like CRC would require something like https://aws.amazon.com/about-aws/whats-new/2018/05/announcing-general-availability-of-amazon-ec2-bare-metal-instances/. Maybe we could try this? On the other hand, maybe the actual OpenShift installer is easier to use now and for AWS it would be best to run that (instead of CRC)? |
@metmajer @michaelsauter another alternative would be to figure out how to install a single-node cluster on ec2. However the main problem is that RedHat doesn't offer an oc4 distribution that we could easily install in an ec2 instance. This is the main issue and big concern regarding the ODS in a Box. Do we have any promising way to address this on RedHat? |
Another piece I found on this is https://gist.github.com/tmckayus/8e843f90c44ac841d0673434c7de0c6a ... not sure if helpful? |
I've played around with CRC a few weeks ago in my laptop. If it's just for testing purposes, provisioning an EC2 bare metal instance (check Spot instance to save money) should be enough to get CRC up and running (that should come with VT-x enabled). |
Cool @felipecruz91, that helps. Development and testing environment only. |
@felipecruz91 @michaelsauter @ I'll give EC2 bare metal a try |
@clemensutschig @felipecruz91 @michaelsauter @metmajer good news before the weekend starts... I managed to install crc in a clean centos 7 bare metal ec2 instance. It looks like future of odsbox is saved!
|
@stitakis @jorge-romero @felipecruz91 we are approaching the release of ODS 4.x and plan to go live in July. Without a working ODS in a Box including CRC, we are unable to provide training environments around the EDP based on ODS 4.x. @stitakis can you please dedicate some time to this? Dedicated hardware in AWS for ODS in a Box is a very pricey option. |
@metmajer @stitakis After some research, I see the following alternatives:
The good news is, in this video OKD 4 is installed in an However, this approach would mean we need to maintain and communicate 2 systems in AWS that need to talk to each other (EC2 instance with the Atlassian Stack and an OKD 4 instance), thus vanishing the "all-in-a Box" model.
|
AWS is nice for native cloud applications but if you just need a bunch of VM's have a look on hetzner.com, super cheap VM's + nested virtualtization. dedicated cpu |
Based on @felipecruz91's comment, I googled a bit with @stitakis and we came across https://github.com/danielmenezesbr/crc-on-gcp-terraform. Maybe a direction to investigate? I also saw a comment that someone installed CRC on CentOS on Azure. So maybe only AWS has this limitation? |
Spot pricing for AWS metal instance types drops prices by ~70% (e.g. for c5n.metal). Azure offers different types with VT-x enabled hardware. |
Thanks @tbugfinder, I guess that price on AWS is quite a bit more expensive than the instance type we're using today @jorge-romero? Switching to Azure would mean quite a few changes to adapt EDP in a Box creation and management. |
My understanding is that an ODS installation on top of CodeReadyContainers (CRC) is most beneficial option.
Therefore, using ec2 metal for developing the setup now, is definitely an option - ec2 metal should be still in budget. |
@metmajer @tbugfinder maybe could help us to decide on the roadmap if we do an analysis that take into account a budget limit and a cost/benefit analysis. Migrating to Azure have the additional effort of migrating the ODS Box build infrastructure including also the EDP CI infrastructure. |
@victorpablosceruelo @metmajer we have found that node18 cannot be build in Centos7 and Rhel7 here, this makes it not compatible with our current ODSBox which uses Centos7 |
@braisvq1996 Centos8 died (stopped having security upgrades) in December 2021 and Centos7 will die in June 2024. We still have ~2 years, but we should stop spending efforts in Centos7. Centos End Of Life: Graphical representation of the end of life differences between RH and Centos: And here, what is Centos Stream (no more an old but stable version of RH): Nevertheless, I think we should split this discussion in 2: the Linux os distro we have in the boxes (which if I am right needs to have ocp3 or ocp4) and the Linux os distro of the Jenkins slaves (which in my humble opinion should be upgraded as soon as possible). For the first ones, the evaluation above lacks a conclusion which might not be easy. And this might become the "good answer" to all our problems, but it is still being evaluated: |
I think this is really one discussion only. For OpenShift 4, only UBI makes sense and ODS already has UBI images for everything. And at the same time, you need a development environment that uses OpenShift 4. So in my view, the direction should simply be:
|
Right now we have a public AMI which runs OpenShift 3.11 using
oc cluster up
. The code for this is inods-devenv
.We need to have E2E tests for ODS on OpenShift 4 as well. The question is how we want to achieve this.
OpenShift 4 does not have
oc cluster up
anymore. Instead, https://github.com/code-ready/crc should be used. Unfortunately, the standardcrc
needs an image pull secret, which is personal and therefore cannot be shared.Since a few weeks, there is an OKD variant of
crc
available at https://www.okd.io/crc.html, which does not need the image pull secret. However, there might be (significant) differences to an actual OpenShift installation.Further, I tried to run the OKD variant of
crc
in GitHub Actions in https://github.com/michaelsauter/crc-okd-action-test/runs/1478942209?check_suite_focus=true, which fails due to not enough memory:FYI @clemensutschig @metmajer @georgfedermann
The text was updated successfully, but these errors were encountered: