Skip to content

Latest commit

 

History

History
170 lines (122 loc) · 5.72 KB

README.md

File metadata and controls

170 lines (122 loc) · 5.72 KB

Minishift CentOS VM

This repository contains all the instructions and code to build a Live ISO based on CentOS which can be used by minishift as an alternative to the boot2docker ISO.


Build Status


Building the CentOS ISO

The following contains instructions on how to build the default (CentOS7 based) ISO. If you are able to install livecd-tools directly on your machine, you can use the CentOS instructions.

If you don't have livecd-tools or using different linux distro other than centos, follow the hosts other than CentOS-7 instructions.

On CentOS

Prerequisites

  • Update your system before start and if there is kernel update then reboot your system to activate latest kernel.

      $ yum update -y
    
  • Install livecd-tools

    Note: We use to have docker installed on system to get selinux context, check bugzilla

      $ yum install -y livecd-tools docker
    

Building the ISO

$ git clone https://github.com/Centos-PaaS-SIG/minishift-centos-iso.git
$ cd minishift-centos-iso
$ make

On hosts other than CentOS-7 (OS X, Windows, Fedora ...)

Prerequisites

Building the ISO

$ git clone https://github.com/Centos-PaaS-SIG/minishift-centos-iso.git
$ cd minishift-centos-iso
$ vagrant up
$ vagrant ssh
$ cd <path to minishift-centos-iso directory on the VM>/minishift-centos-iso
$ make

Building the RHEL ISO

The Makefile also allows you to build a equivalent ISO based on RHEL instead of CentOS. However, it requires you to have Red Hat VPN access and you need to export several environment variables prior to building:

$ git clone https://github.com/Centos-PaaS-SIG/minishift-centos-iso.git
$ cd minishift-centos-iso
$ export rhel_tree_url="<rhel_tree_to_fetch_kernel>"
$ export base_repo_url="<base_repo_url_to_install_packages>"
$ export updates_repo_url="<updates_repo_url_to_package_updates>"
$ export cdk_repo_url="<repo_url_to_cdk-entitlement_package>"
$ make rhel_iso

Releasing Minishift ISO

  • Assemble all the meaningful changes since the last release to create release notes.
  • Bump the VERSION variable in the Makefile.
  • Before you execute below command be sure to have a Github personal access token defined in your environment as GITHUB_ACCESS_TOKEN.

Run:

make release

Tests

Tests are written as Python scripts under tests directory and run through Avocado framework. Ensure you have Avocado installed by following Avocado instllation guide before running any tests.

Build ISO:

$ make

Run the tests:

$ make test

If you want to see the logs generated by test, run the test as:

$ SHOW_LOG=--show-job-log make test

CI Setup

minishift-centos-iso uses CentOS CI as CI build server. It builds incoming pull requests and any push to master along with archiving the build artifacts. You can find the CentOS CI jenkins master job here and the pull request job here.

On a successful pull request build, the build artifacts can be found at artifacts.ci.centos.org/minishift/minishift-centos-iso/pr/<PR ID>.

On a successful master build, the build artifacts can be found at artifacts.ci.centos.org/minishift/minishift-centos-iso/master/<BUILD ID>.

For more information about CentOS CI, check out its Wiki to know more about CentOS CI.

Further reading

Once you are able to build the ISO, you are most likely interested to modify the image itself. To do so you have to get familiar with pykickstart.

Community

You can reach the Minishift community by: