How to create offline repos for IML 4.0.10.0

Software Installation Guide Table of Contents

The following is a procedure for creating local repos using a CentOS 7 VM.

  1. Install git and createrepo if they are not present:

    yum install -y git createrepo
    
  2. Check out a local copy of IML from github.

  3. Navigate to the IML project dir.

  4. Switch to the tag or branch you want to create offline repos for. For example, if building offline repos for IML 4.0.6:

    git checkout v4.0.6.0
    
  5. Copy the storage_server.repo to etc.yum.repos.d:

    cp ./chroma-manager/storage_server.repo  /etc/yum.repos.d/
    
  6. Create a dir to hold local repos and navigate to it:

    mkdir local_repos;
    cd local_repos
    
  7. Run reposync for the repos we want to sync (You will see a few kmod-* repos fail, this is expected):

    reposync -n --repoid=ngompa-dnf-el7 --repoid=e2fsprogs --repoid=managerforlustre-manager-for-lustre --repoid=lustre-client --repoid=lustre
    
  8. (Optional) You may want to sync EPEL and or CentOS Extras as well if you don’t have them where you are deploying to:

    reposync -n --repoid=epel --repoid=extras
    
  9. Use createrepo to create repomd (xml-rpm-metadata) repositories:

    createrepo ./ngompa-dnf-el7/
    createrepo ./e2fsprogs/
    createrepo ./lustre -x '*kmod-spl*' -x '*kmod-zfs*'
    createrepo ./lustre-client
    createrepo ./managerforlustre-manager-for-lustre/
    
  10. (Optional) use createrepo for EPEL and CentOS Extras if you ran reposync for them earlier:

    createrepo ./epel
    createrepo ./extras
    
  11. Navigate out of local_repos and tar the resulting dir:

    tar -czvf local_repos.tar.gz ./local_repos
    
  12. Take the IML tarball + the local_repos.tar.gz and move them onto the node planned for install.

  13. Expand the IML tarball and the local_repos tarball. Once expanded, cd to the expanded IML dir and update the chroma_support.repo so that each baseurl points to its corresponding local_repos subdir.

  14. Install the manager as usual. Do not deploy agents.

  15. Once installed, move the local_repos subdirs into /var/lib/chroma/repo.

  16. Update /usr/share/chroma-manager/storage_server.repo so that each repo baseurl points back to the url of the manager node, and ssl props are put in place. Example for e2fsprogs:

    [e2fsprogs]
    name=Lustre e2fsprogs
    baseurl=https://<MANAGER-URL-HERE>/repo/e2fsprogs/
    enabled=1
    gpgcheck=0
    sslverify = 1
    sslcacert = /var/lib/chroma/authority.crt
    sslclientkey = /var/lib/chroma/private.pem
    sslclientcert = /var/lib/chroma/self.crt
    proxy=_none_
    
  17. Deploy agents as usual.


Top of page