Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

 

Introduction

Purpose

Support kickstart installation method for RPM based Linux operation system, users can provision a baremetal host managed by CloudStack as long as they has kickstart file and corresponding OS installation ISO ready.

...

  • The feature only supports kickstart installation for RPM based Linux distribution, largely RedHat series OS (e.g. Rhel, Fedora, CentOS).
  • support CloudStack security group feature as long as baremetal security group agent is installed by kickstart file
  • only supports CloudStack basic zone
  • support CloudStack userdata
  • support binding ip address allocated to VM to host when adding host. Then VM starting on that host will be assign to fixed IP
  • no CloudStack storage concepts: primary storage, secondary storage, volume, snapshot
  • no CloudStack service VMs: SSVM, CPVM, VR
  • no template copy, download 
  • no VM migration
  • no multiple nics support
  • a stopped VM(the OS running on host) can only start on the host it's lastly on
  • using host tag for allocating host, capacity(cpu, memory) specifying in service offering is never used
API Metrics:

     As a specific compute resource backend, Baremetal varies a lot from virtualization hypervisor like Xenserver, KVM, and VMWare. In general, baremetal supports all hypervisor unrelated APIs, for example, createZone, createCluster, createNetwork; for these hypervisor related APIs, here is a list of them that baremetal supports.

Virtual Machine
Host
There are API categories totally not supported:
  • AutoScale
  • VPC
  • Volume
  • ISO
  • System VM
  • Storage Pool
  • Snapshot
  • Disk Offering
  • BigSwitch
  • VNS
  • SwiftS3

 

Use cases

  1. create a network offering with network service: userdata, sercuritygroup, baremetalpxeservice selected, we assume using external DHCP service in this example.
  2. create a basic zone with aforementioned network offering.
  3. create a Pod. The guest ip range adding to Pod must be in the same subnet of host's IPMI ip. Reserved ip range for CloudStack service VM is never used.
  4. configure hosts and write up information of IPMI ip, IPMI account/password, MAC address of nic which will broadcast DHCP request
  5. install a CentOS VM to the zone. Install CloudStack baremetal agent in it and run cloud-setup-baremetal, write up information printed out. for each switch in the zone enable DHCP forwarding to this CentOS VM.
  6. add OS installed in step 5 to CloudStack by API addBaremetalPxeKickStartServer
  7. create a Cluster with hypervisor type "BareMetal"
  8. add a host, provide all information required by UI page. Note the 'hostname' is ipmi ip, 'account' is ipmi account, 'password' is ipmi password. Please make sure cpu number/speed, memory size is matching your real host fact, otherwise the dashboard may not display precisely. IMPORTANT: the host tag must be set to some value, otherwise the host will not be found by host allocator. If multiple host tags are set, only the first one takes effect
  9. create a service offering with the same host tag specified in step 7
  10. adding a template. the URL must be encoded in formula of
    ks=Kickstart_file_location;kernel=boot_kernel_on_nfs_path;initrd=boot_initrd_on_nfs_path (for example: //nfs1.lab.vmops.com/baremetal/rhel5.ks;kernel=192.168.253.81:/kickstart/rhel5/vmlinuz;initrd=192.168.253.81:/kickstart/rhel5/initrd.gz)
  11. go to instance page, create a VM from template and service offering aforementioned 

...

Appendix

Appendix A:

Appendix B: