1.Debian packages
1.0.0 release
- Update Source List
# 1. Remove the original nightly build debian source(main) in /etc/apt/sources.list if any (using ```sed``` to replace that line with blank line) sudo sed -i 's#deb https://dl.bintray.com/rackhd/debian trusty main##' /etc/apt/sources.list # 2. add release debian source(release) in /etc/apt/sources.list echo deb https://dl.bintray.com/rackhd/debian trusty release | sudo tee -a /etc/apt/sources.list sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 379CE192D401AB61 sudo apt-get update
- Install RackHD
sudo apt-get install rackhd
NOTE
If the nightly build debian source exists in /etc/apt/sources.list (```deb https://dl.bintray.com/rackhd/debian trusty main```)
the RC(release candidate) build will be treated newer than offical released version, say, "apt-get" will think of 1.0.0-20170116UTC is newer than 1.0.0.
and you will never install release version using ```apt-get install rackhd```.
Latest nightly build
- Update Source List
echo deb https://dl.bintray.com/rackhd/debian trusty main | sudo tee -a /etc/apt/sources.list sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 379CE192D401AB61 sudo apt-get update
- Get available version list
sudo apt-cache policy rackhd
- Install specified RackHD , the ${version} is the one of the version list obtained by above step
sudo apt-get install aptitude sudo aptitude install rackhd=${version}
2. OVA
temporarily, the OVA download URL are only available inside DellEMC internal network , until we find a cloud disk space to store the released OVA images.
if you want a OVA image of RackHD , please turn to rackhd@emc.com
you are also welcomed to build OVA by yourselves .
ova user/password: vagrant/vagrant
1.0.0 release
http://rackhdci.lss.emc.com/job/BuildRelease/job/Build/job/ova-build/
Latest nightly build :
Download the artifacts of last successful build
http://rackhdci.lss.emc.com/job/BuildRelease/job/Build/job/ova-build/
Limitation
So far, vSphere(ESX server) is NOT supported with customized properity (OVF 2.0 ?). only vCenter can support this OVA (because there's a customized prosperity feature to config IP during deployment.) reference: https://blogs.vmware.com/vapp/2009/07/commandline-ovf-deployments-.html
if you want to deploy to vSphere/ESXi, follow below steps:
$# 1. Demote the OVA file name is rackhd-ubuntu-14.04 , example FNAME=rackhd-ubuntu-14.04
$# 2. covert OVA to OVF and VMDK ovftool ${FNAME}.ova ${FNAME}.ovf # or using 7zip : --> 7z x ${FNAME}.ova # then there will be 3 files: ${FNAME}-disk1.vmdk ${FNAME}.mf ${FNAME}.ovf
$# 3. replace the Property XML fields from the .ovf file sed -i "/<Property/,/<\/Property>/c\ " ${FNAME}.ovf
$# 4. then deploy with the updated ${FNAME}.ovf file via ESXi vSphere GUI or ovftool command line #below is an example of ovftool usage: ovftool --skipManifestCheck --name=${GivenNameOfTheVM} --datastore=${TargetDatastore} ${FNAME}.ovf vi://user:pwd@${ESXi_IP}
3.Install from source code
1.0.0 release
Prerequisite :
- Install NodeJS 4.0 or upper
How to :
To clone and checkout to 1.0.0 release code. you can use this script in attachment or follow below steps.
sudo ./get_rackhd_release_from_src.sh 1.0.0
above command line will clone and build local code , according to git tag "release/1.0.0". then using PM2 to start services.
you can change the tag name from 1.0.0 to other tag.
if you would like to do it by yourselves , you can follow:
1. clone all RackHD repos, then go into each on them:
git fetch --all --tags git checkout 1.0.0 # or 1.0.0-rc , depends on which tag you want to checkout npm install --production
2. link the on-core/on-tasks repo, to other repo's node_modules
cd $repo/node_modules rm on-core -rf rm on-tasks -rf ln -s ../../on-core on-core ln -s ../../on-tasks on-tasks
3. using PM2 to start services
create a pm2.yml like below, the ```cwd``` should locate the where the on-xxx code lives.
then run #sudo pm2 start pm2.yml
apps: - script: index.js name: on-taskgraph cwd: on-taskgraph - script: index.js name: on-http cwd: on-http - script: index.js name: on-dhcp cwd: on-dhcp-proxy - script: index.js name: on-syslog cwd: on-syslog - script: index.js name: on-tftp cwd: on-tftp
4. Vagrant box
Before using vagrant we suggest to read vagrant docs first.
1.0.0 release
- Get RackHD vagrant box
- Note : vagrant version should be at least >= 1.8.5, to support `--box-version` parameter. ( check by ```vagrant -v ```)
This code snippet will pull the rackhd vagrant box of version 1.0.0. You can read the generated Vagrantfile for more configuration information.
vagrant init rackhd/rackhd --force --box-version 1.0.0 # rackhd/rackhd is the Atlas repository of rackhd, this cmd will generate a simple Vagrantfile vagrant up # start the rackhd vagrant box according to Vagrantfile vagrant ssh # enter the box
- Important Tips
For running RackHD service successfully, you need to up a second netcard.
For change configuration of RackHD, you need to mount local config into vagrant.
For connecting RackHD out of box, you need to forward internal ports to outside .
Please see our example Vagrantfile for details. ( it's recommended to customized the vagrant file based on this example )
Latest nightly build
Format of nightly build version is 0.mm.dd
. For example, you can get the nightly build on January 13 with
vagrant init rackhd/rackhd --force --box-version 0.01.13
If you have own Vagrantfile, just modify the version number in it to 0.mm.dd
, and then you can up the vagrant box of related nightly build.
ATTENTION: nightly builds will only be kept for two weeks.
5.Docker
1.0.0 release
git clone https://github.com/RackHD/RackHD.git cd RackHD/docker sudo TAG=1.0.0 docker-compose pull # Download pre-built docker images. sudo TAG=1.0.0 docker-compose up # Create containers and Run RackHD.
Latest nightly build
git clone https://github.com/RackHD/RackHD.git cd RackHD/docker sudo TAG=nightly docker-compose pull # Download pre-built docker images. sudo TAG=nightly docker-compose up # Create containers and Run RackHD.
6.NPM
coming soon