Feature #178

Automate populating the TFTP directory

Added by Paul Kelly about 3 years ago. Updated over 2 years ago.

Status:Closed Start:03/14/2010
Priority:Normal Due date:
Assigned to:Paul Kelly % Done:

100%

Category:TFTP
Target version:0.1-6
Backlog: Difficulity:
Votes: 0

Description

The media objects describe the boot files that are required.

Provide a mechanism for populating the /tftp directory with pxelinux.0, etc

0001-Fixes-178-Automate-populating-the-TFTP-directory.patch (8.8 KB) Ohad Levy, 10/17/2010 09:11 am

0001-Added-support-for-Debian-based-distributions-for-aut.patch (3.7 KB) Jochen Schalanda, 10/17/2010 02:09 pm


Related issues

blocked by Foreman - Refactor #260: Switch family implemetation to use STI Closed 05/21/2010
blocked by Foreman - Feature #177: Add an Operatingsystem Family concept Closed 03/11/2010
follows Foreman - Feature #144: Media objects should also store their boot and build options Closed 12/27/2009
precedes Foreman - Feature #62: Add a Generic DHCP library Closed 03/15/2010 03/15/2010

Associated revisions

Revision 0f77c7f285a0bb37e267e9206b699d7c245782f9
Added by Ohad Levy over 2 years ago

Fixes #178 and Fixes #24 - Automate populating the TFTP directory

This implementation is only for the Red Hat family, other OS's should follow
It implements a way to query foreman and gets the required boot files (i.e. kernel and initrd) files
from a predefine media over JSON.
it also provides a syslinux pxe configuration file based on those values and potentially other settings define via foreman.

History

Updated by Paul Kelly about 3 years ago

  • Status changed from New to Ready For Testing

A rake task tftp:populate has been provided.
An acion link on the medias page has been provided.

code is available on the new_iscdhcp_from_edge branch on my github

Updated by Paul Kelly about 3 years ago

  • Branch set to feature/178-populate-tftp

Rebased on develop.
All tests working.
Whitespace beaten into submission

Updated by Paul Kelly almost 3 years ago

Rebased on develop
Converted javascript to cope with many-to-many operatingsystems. Ouch!
All tests pass

Updated by Paul Kelly almost 3 years ago

Addressed points highlighted in last commit by Ohad. (Especially the very dumb one.)
The curb gem is no longer required, but not having it disables the feature, after saying this in the log.

Updated by Paul Kelly almost 3 years ago

Rebased against develop
minor fixes

Updated by Ohad Levy almost 3 years ago

  • Subject changed from Automate populating the DHCP directory to Automate populating the TFTP directory
  • Target version set to 0.1-6

Updated by Paul Kelly over 2 years ago

Rebased against version with STI families.
Minor fixes and visual improvements
Tested

Updated by Paul Kelly over 2 years ago

rebased
tested
Also contains the commit for #144 - media contains bootinfo

Updated by Paul Kelly over 2 years ago

rebased, tested and reposted

Updated by Paul Kelly over 2 years ago

The "download tftp boot files" link is greyed out if the media does not contain an OS that supports tftp downloads.
The "populate" functions interrogate the OS/family to see if it supports the required functionality

Updated by Ohad Levy over 2 years ago

Paul,

I've taken a difference approch on this feature, as eventually, the media populating itself should not be done via foreman directly - it should be the tfp server which should request the media files.
in the scenario of one Foreman server, and many tftp servers across the internet/WAN, it does not make sense to foreman to fetch the files.

Attached is my first step solution to the problem, please review and feedback.
Ohad

Updated by Jochen Schalanda over 2 years ago

Hi,

based on Ohad's patch I've added support for Debian-based distributions which basically consists of adding the template file for pxelinux and implementing the Debian#boot_files_uri method in the Debian OS family class.

Cheers,
Jochen

Updated by Ohad Levy over 2 years ago

  • Status changed from Feedback to Ready For Testing
  • % Done changed from 0 to 100

Updated by Ohad Levy over 2 years ago

  • Status changed from Ready For Testing to Closed

Also available in: Atom PDF