Caching YUM Proxy

I often need VMs with {minimal-centos} + {docker} for my learning experiments in my basement-lab. For example, an experimental Mesosphere DC/OS cluster requires 10+ nodes (one boot, three masters, five+ agents, one public-agent). I’ve automated the build process using ansible playbook & kickstart to make my life easier (just execute a shell script, and entire cluster-farm is ready in about 20 minutes).

So far so good – but a single iteration of such build makes over 550 URL requests and transfers about 300 MB files from various YUM repositories. That’s why I wrote this caching YUM proxy which considerably speeds up my build process. Also a respectful gesture to mirror-providers who donate their valuable resource to the community.

Here are the list of repo mapping that I needed.

http://centos.mirror.constant.com/7/os/x86_64/
mapped to => http://local.sudhaker.com/centos-7-os/

http://centos.mirror.constant.com/7/updates/x86_64/
mapped to => http://local.sudhaker.com/centos-7-updates/

http://centos.mirror.constant.com/7/extras/x86_64/
mapped to => http://local.sudhaker.com/centos-7-extras/

http://dl.fedoraproject.org/pub/epel/7/x86_64/
mapped to => http://local.sudhaker.com/epel-7/

http://yum.dockerproject.org/repo/main/centos/7/
mapped to => http://local.sudhaker.com/dockerproject/

And following nginx-configuration did the magic!
Continue reading Caching YUM Proxy

My kickstart package selection for CentOS 7.2

I figured that kickstart was ignoring my “–nodefaults” request so I ended up peeking into “repodata/*-comps.xml.gz” and requesting to exclude “default” & “optional” packages individually (many will still show-up because of dependencies).

Here is my hack for having a more minimal cent-os.
Continue reading My kickstart package selection for CentOS 7.2

Install the latest OpenShift V3 on CentOS 7.x

Prerequisites: CentOS 7.x minimal install (tested on 7.2)

Updated 2016/06/05: to docker 1.11.x & OPENSHIFT_VERSION=v1.2.0

Mode: Single node setup, all manual.

Step 1: Install docker and tweak INSECURE_REGISTRY for smoother operation on “integrated docker registry”.

Fix DNS (as needed)

tee -a /etc/hosts << '__EOF__'
 
192.168.1.145 osv3-single
__EOF__

Continue reading Install the latest OpenShift V3 on CentOS 7.x

Modding CentOS 7.x CD to Kickstart Automatically

This is my solution for re-installing my lab server quickly. I just boot from this modded CD (source CentOS-7-x86_64-Minimal-1511) which will eject the CD after re-build and boots into a freshly baked “CentOS” in less than 10 minutes (I’ll cover KS and network setup in different post).

The trick lies in tweaking “isolinux/isolinux.cfg” – you can see original file here.

centos71-cd

[sudhaker@dell-server ~]$ diff isolinux-orig.cfg isolinux.cfg
2c2
< timeout 600
---
> timeout 10
65a66,71
> label linux-ks
>   menu label Install CentOS 7 ^KS
>   menu default
>   kernel vmlinuz
>   append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 ks=http://ks.sudhaker.com/ks/rhel7.cfg quiet
>
68d73
<   menu default

Here are summary of changes (also highlighted above).

  1. Change timeout to 10 (or even lower if you like) from original 600 (10 minutes)
  2. Clone the boot option ‘linux’ section as ‘linux-ks’
  3. Make this new cloned option as default boot option
  4. Add ks=URL
  5. Remove ‘menu default’ from the old boot option