Jump to: navigation, search

Difference between revisions of "SmartOS"

(Getting the Code)
m (References)
Line 74: Line 74:
 
* https://blueprints.launchpad.net/nova/+spec/smartos-support
 
* https://blueprints.launchpad.net/nova/+spec/smartos-support
 
* https://docs.google.com/presentation/d/1N2x1itaMc9h7q-6520vuFmmjT0MXrIt1MdfAoGnENDI/edit
 
* https://docs.google.com/presentation/d/1N2x1itaMc9h7q-6520vuFmmjT0MXrIt1MdfAoGnENDI/edit
* http://andy.edmonds.be/blog/2012/02/15/smartos-openstack/
+
* http://andy.edmonds.be/post/smartos-openstack
 
* http://www.nohuddleoffense.de/2012/02/12/smartstack-smartos-openstack-part-2/
 
* http://www.nohuddleoffense.de/2012/02/12/smartstack-smartos-openstack-part-2/

Revision as of 17:00, 26 April 2013

OpenStack/SmartOS Compute

This is a work-in-progress page about OpenStack and SmartOS.

Some helpers

Getting an SmartOS imager in OpenStack

On a SmartOS host:


imgadm update
imgadm import f9e4be48-9466-11e1-bc41-9f993f5dff36
zfs snapshot zones/f9e4be48-9466-11e1-bc41-9f993f5dff36@now
zfs send zones/f9e4be48-9466-11e1-bc41-9f993f5dff36@now > /zones/workspace/smartos.img


and then:


glance image-create --name 'smartos' --is-public 'true' --container-format 'bare' --disk-format 'raw' --property 'zone=true' < /zones/workspace/smartos.img

Getting the Code

The code is currently not in the mainline code base. The latest version is available at https://github.com/hvolkmer/nova/tree/smartosfolsom

Code for the Grizzly release is available at https://github.com/dstroppa/openstack-smartos-nova-grizzly

Once the code is mature enough it should be easy to integrate the code into the main.

Setting up an environment

There is a setup script that you can use to create an environment; similar to devstack but focussed on SmartOS: https://github.com/hvolkmer/openstack-smartos

This is a work in progess. YMMV. Additions welcome.

This Metsch also has a setup script.

Running the metadata service

1. Add these options to compute.conf: metadata_listen=169.254.169.254 and metadata_listen_port=80 2. Configure metadata interface like this:

dladm create-vnic -l e1000g0 meta0
ifconfig meta0 plumb
ifconfig meta0 169.254.169.254/32
ifconfig meta0 up

3. Then start /openstack/nova/bin/nova-api-metadata --config-file=/openstack/cfg/compute.conf in the global (compute) zone

4. When booting VMs I currently force the default route IP to be the IP of the compute zone, so that the metadata IP is reachable

Next development steps

As Basic VM handling is working now the following dev steps should happen:

  • add unit tests to fixate the current VM start/stop behaviour for SmartOS
  • add networking manager based on the VLANManager but integrate with vmadm/crossbow instead of the Linux way

References