Coder Social home page Coder Social logo

ccaum / razor Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nanliu/razor

1.0 2.0 0.0 1.81 MB

Razor is next generation provisioning software that handles bare metal hardware and virtual server provisioning

License: Other

Ruby 97.73% Shell 0.10% JavaScript 2.18%

razor's Introduction

Project Razor

License

See LICENSE file.

Introduction

Project Razor is a power control, provisioning, and management application designed to deploy both bare-metal and virtual computer resources. Razor provides broker plugins for integration with third party such as Puppet.

This is a 0.x release, so the CLI and API is still in flux and may change. Make sure you read the release notes before upgrading.

More info:

Nickapedia.com

Puppetlabs.com

Authors

Installation

Razor requires tftp and dhcp service. Razor does not have to reside on the same system as either service. The DHCP server needs to configure nextserver request to point at the tftp server. The tftp server needs to provide the appropriate ipxe boot configuration to chainboot from razor service.

Puppet Prereqs:

The Puppet razor module is located here:

https://github.com/puppetlabs/puppetlabs-razor

The razor module will install Razor for Ubuntu Precise systems. (On Debian wheezy mongodb and nodejs is provided by sid testing repo).

On the Puppet master, add the razor class to the target node:

node razor_system {
  include razor
}

Run puppet apply to apply the test manifests:

puppet apply razor/tests/init.pp

Manual Prereqs:

For other systems, install the following software requirements as appropriate for your platform:

Razor:

Configure dhcpd to retrieve pexlinux.0 from the tftp server:

filename "pxelinux.0";
next-server ${razor_ipaddress};

*note: in MacOS Fusion 4: /Library/Preferences/VMware Fusion/vmnet8/dhcpd.conf

Configure tftp server to boot ipxe with appropriate razor ipxe config.

default menu.c32                                                                                                   
prompt 0
menu title Razor Boot Menu

timeout 50
f1 help.txt
f2 version.txt

label razor-boot
  menu label Automatic Razor Node Boot
  kernel ipxe.lkrn
  initrd razor.ipxe

label boot-else
  menu label Bypass Razor
  localboot 1

The razor.ipxe configuration can be generated by running:

 razor config ipxe

Execute start_node.sh to launch nodejs web service.

Environment Variables

  • $RAZOR_HOME: root directory for Razor install

  • $RAZOR_RSPEC_WEBPATH: root directory for dropping RSpec html (optional)

  • $RAZOR_LOG_PATH: Path for razor logs (optional) (default = $RAZOR_HOME/log)

  • $RAZOR_LOG_LEVEL: Verbosity for logs (optional)

    0 = Debug 1 = Info 2 = Warn 3 = Error (default) 4 = Fatal 5 = Unknown

Directory structure

./bin - control scripts
./conf - configuration YAML files
./doc - Documentation (YARD)
./images - default images directory
./install - installation bits
./lib - root library folder
./test_scripts - testing scripts
./rspec - unit tests (RSpec)

Starting services

Start Razor API with:

cd $RAZOR_HOME/bin
razor_daemon.rb

Notes

razor's People

Contributors

lynxbat avatar nanliu avatar harrypan avatar jamtur01 avatar

Stargazers

Carl Caum avatar

Watchers

James Cloos 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.