Giter Club home page Giter Club logo

on-dhcp-proxy's Introduction

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.

on-dhcp-proxy's People

Contributors

benbp avatar geoff-reid avatar heckj avatar jlongever avatar keedya avatar sistermystery avatar tldavies avatar ytjohn avatar yyscamper avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.