-
Notifications
You must be signed in to change notification settings - Fork 29
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
Migrate KernelCI infrastructure to new Azure subscription #179
Comments
@VinceHillier @mgalka I haven't found an issue about migrating staging.kernelci.org to the new Azure subscription so I'm leaving a comment here specifically about storage: I've reduced the number of builds for
These jobs are run every day, as you can see from the directory names (some were run multiple times hence the dotted version numbers). Basically, they used to amount to 5 + 1.5 + 5 = ~12GB / day and now they're down to 1.6 + 0.7 + 2.3 = ~5GB / day. So for 9 days (current retention period) we had 108 GB, now we can easily extend that to 14 days with 70 GB. I think 2 weeks / 14 days is a good guideline to follow for all the data on staging. Meanwhile, the plain
Basically down from 12GB / day to ~2GB. Likewise, 9 days was 108 GB and now we can easily have 14 days at 28GB. Then So for the kernel build artifacts and associated test logs, we used to have a weekly storage usage of ~180GB and now we're down to ~60GB. We can add some margin for additional builds run by hand, bisections and other bits. Bottom line: With 14-day retention policy, that means we need about 200GB on the VM's disk for the kernel builds. Next things to look into are rootfs images, MongoDB data, Docker, and what the new API & Pipeline storage requirements are going to look like (still pretty small right now). |
@gctucker Do you think there is any action about the storage apart from increasing space that needs to be taken during migration? |
I don't know, also the other storage parts haven't been quantified yet so 1TB might not be the optimal size. I/O bandwidth and operations might also be something to benchmark as we could choose a different type of disk based on that, and there are a few caching options too. |
I've attached the iowait graphs for staging to a google doc here: https://docs.google.com/document/d/1VtpFJFwX74yKH5SDX_hcNWylty6sbOw8qib1iUZBkNA Increasing the disks to 1TB brings our IOPS from 2300 to 5000. We can analyze the differences once the environment has been moved to the new subscription. |
We need also to add step of updating settings and various repositories where is old hostnames/ips are listed, or old credentials
|
Sounds like it would be worth a separate issue about updating configuration files, and a bullet point here with a link to it. Maybe we can also have an issue for migrating the Kubernetes clusters, and potentially a few more. |
This has been completed. |
As the new Azure subscription is available, KernelCI infrastructure should be moved there. It's also a good moment to review the functionality of ansible playbooks and terraform configs.
Items to be migrated
VMs
Machines:
It may be a good idea to start moving process from kernelci2 which is a sandbox machine with a relatively low impact on KernelCI stability and quality of service.
There are repositories with ansible playbooks created for backend, frontend and Jenkins nodes configuration.
During the update it may be worth checking if the playbooks are still functional.
It may be worth trying if it's possible to create Debian based VMs for Jenkins nodes and configure them using https://github.com/kernelci/builder-config2.
Fixing possible errors is not the aim of this task, so if a significant amount of time is needed to make ansible playbooks functional the VMs should be migrated recreating them from images.
Kubernetes build cluster
There are terraform configs created for deploying our Kubernetes clusters to Azure. It's a good idea to use them to test their functionality and recreate the cluster with new subscription. The configs may need slight adjustments for current configuration and storage space.
Firewall settings
Firewall settings need to be moved from the current Azure subscription to the new one.
Tasks
The text was updated successfully, but these errors were encountered: