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.
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.
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.
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 inextra/
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.
Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
RackHD is a Trademark of Dell EMC