You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

WIP Wiki

More here: http://wiki.cloudstack.org/display/DesignDocs/Adding+support+to+your+PXE+provisioning+software+in+CloudStack+Baremetal

How Baremetal Works

From Advance Install docs:

- CloudStack programs the PXE server with the host MAC address, host IP address, and boot image file based on the bare metal template the user has chosen.

- CloudStack programs the DHCP server with the MAC address and IP.

- CloudStack enables PXE boot on the host and powers it on using IPMI interface.

- The host broadcasts a DHCP request and receives a reply from the DHCP server. This reply consists of an IP address for the host, PXE boot server address, and a pointer to the boot image file.

- The host then contacts the PXE boot server and downloads the image file using TFTP protocol. The image file is a live kernel and initrd with PING software installed.

- The host starts the boot process using the downloaded file from the TFTP server.

- After these steps complete successfully, the host is ready for the workload.

Prerequisite Setup

PXE Server

Setup PXE Server. Add steps for CentOS/Ubuntu

DHCP Server

Setup dhcpd. Add steps for CentOS/Ubuntu

CIFS/Samba Server

Setup samba.

Create samba share directory as root or sudo user, make it writable by everyone:

mkdir -p /sambashare

chmod 777 /sambashare

Edit /etc/smb.conf or /etc/samba/smb.conf:

(optional: make workgroup = WORKGROUP //expected default in window7, but not needed)

#Change security to share (deprecated though)

security = share

#Add this at the end of the file, the root share folder/name is Share

[Share]
   path = /sambashare
   writable = yes
   guest ok = yes
   guest only = yes
   create mode = 0777
   directory mode = 0777
   share modes = yes

Template Creation

Install an OS on one server that is identical (resources, disk etc.) to the servers which will be eventually used as baremetal hosts which are servers on which an OS is provisioned using IPMI/PXE.

Next we need to save the disk image as a template. The idea is to use this template/disk-image to PXE boot via CloudStack (CS). CS controls the baremetal host using IPMI and provisions a template using DHCP and PXE/TFTP.

Get latest PING: http://ping.windowsdream.com/ | Docs: http://ping.windowsdream.com/ping/doc-3.00/intro.html

PING is a small Linux system that backups/creates the image of the template OS on to a network/local disk.

IPMI Setup

The baremetal hosts are required to have IPMI over LAN enabled. Log in to the IPMI console (web or otherwise, for example for iDRAC6/7 goto iDRAC Setting->Networking/Security->IPMI Settings->Enable IPMI over LAN)

Install ipmitool. For Mac OSX, build it from http://sourceforge.net/projects/ipmitool/ version 1.8.11 (.12 may fail)
check if ipmitool works: ipmitool -H 10.147.42.18 -U root -P myipmipassword chassis power status -vvv

Management Server

Setup Management Server, MySQL as usual. FIXME!

Wiki pages

Adding support to your PXE provisioning software in CloudStack Baremetal

TODOs

- New image based provisioning for Baremetal aka Improve or replace PING

- NFS support for templates

- Baremetal agent inside host, or plugin arch for supporting various provisioning/configuration tools such as Chef, Puppet

- Packaging, Dev/test env, installation

Image based provisioning for Baremetal

Issues: https://issues.apache.org/jira/browse/CLOUDSTACK-40

Top level goals:

- Backup/Restore image for baremetal (Generic, YAST, Kickstart, Raw-gziped)

- Supports NFS and CIFS

- Notification

- Organized API/Docs

- Ease of use and reliability

- Maintainability: Development should be on going or it should be stable enough

Comparison of various baremetal solutions as of Sep 2012: (add/suggest more)

Name

Comment

License/Vendor

WWW

NFS/CIFS

Image Backup/Restore

Notification | Post-script

API/Docs

Ease of Setup/Use

Development

PING

Used by CloudStack 2.2.14

 

 

Only CIFS/Samba

PartImage (Perl based)

No | No?

Okay

Easy if everything Works

Old, unreliable

LinMing

 

 

 

 

 

 

 

 

 

Cobbler

RedHat

 

 

 

 

 

 

 

 

CrowBar

OpenStack/Dell

 

 

 

 

 

 

 

 

Razor

Puppet

 

 

 

 

 

 

 

 

MAAS/JUJU

Canonical

 

 

 

 

 

 

 

 

Kickstart/Jumpstart

 

 

 

 

 

 

 

 

 

SpaceWalk

 

 

 

 

 

 

 

 

 

TODO TODOS:

- Evaluate all of them and ipmitool vs. gnuipmi vs. own java implementation of ipmitool

- Nail down one of two mature projects

- Discuss with Frank and everyone (w/o keynote) on the ASF ML, get suggestions, feedback

- Start working on integration with CS-BM

  • No labels