Skip to content

dpasupathi/on-dhcp-proxy

This branch is 158 commits behind RackHD/on-dhcp-proxy:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Andrew HouAndrew Hou
Andrew Hou
and
Andrew Hou
Jun 7, 2016
473b4df · Jun 7, 2016
Jan 4, 2016
Apr 21, 2016
May 10, 2016
May 10, 2016
Dec 7, 2015
May 3, 2016
Mar 30, 2016
Nov 17, 2015
Jan 20, 2016
Jun 3, 2016
May 2, 2016
Apr 7, 2016
Sep 17, 2015
Sep 15, 2015
Mar 30, 2016
May 23, 2016
Sep 17, 2015
Dec 21, 2015
Nov 8, 2015

Repository files navigation

on-dhcp-proxy Build Status Code Climate Coverage Status

on-dhcp-proxy provides a DHCP proxy service for enabling the RackHD PXE workflow engine to operate with an existing DHCP server.

Copyright 2015, EMC, Inc.

Setup

To run on-dhcp-proxy as a standalone service, it requires isc-dhcp-server to be running in the background.

To install isc, run sudo apt-get install isc-dhcp-server, or on OSX, brew install isc-dhcp

NOTE: You must be running version isc-dhcpd-4.3.1 or greater. You can check with:

sudo dhcpd --version

To configure isc-dhcp-server on linux, add this line to /etc/default/isc-dhcp-server (not necessary on OSX):

INTERFACES=<interface/s you want to serve DHCP on>

Now add these options to dhcpd.conf for our code to work properly with isc-dhcp (NOTE: this must be above your subnet declaration):

ignore-client-uids true;
deny duplicates;

Then add your subnet configurations to /etc/dhcp/dhcpd.conf on linux, or /etc/dhcpd.conf on OSX.

subnet 10.1.1.0 netmask 255.255.255.0 {
  range 10.1.1.2 10.1.1.254;
  # Use this option to signal to the PXE client that we are doing proxy DHCP
  option vendor-class-identifier "PXEClient";
}

For an example configuration file, see dhcpd.conf in this directory.

To run isc-dhcp-server:

$ sudo dhcpd

To stop isc-dhcp-server:

$ sudo killall dhcpd

Lease information is stored in /var/lib/dhcp/dhcpd.leases on linux, and /var/db/dhcpd.leases on OSX.

CI/testing

The unit tests can be run with standard node tools:

npm test

./HWIMO-TEST will run local tests, and was built for running on a jenkins build slave, and will run the tests, jshint, and code coverage all together.

Building

Unversioned packages are built automatically from travis-ci and uploaded to bintray.com. Using this repository is detailed in the docs.

Build scripts are placed in the extra/ directory.

  • .travis.yml will call the appropriate scripts in extra/ to build an unversioned package.
  • extra/make-sysdeps.sh can be used to install system level packages in a Ubuntu system.
  • extra/make-cicd.sh will perform all the necessary build steps to generate a version package.

If you want to build your own versioned packages, you can use the Vagrantfile provided in extra/. Simply perform vagrant up and it will run all the necessary steps.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 93.9%
  • Shell 3.7%
  • Ruby 2.4%