Skip to content

Machine Actions

Hippie Hacker edited this page Mar 19, 2015 · 6 revisions

The finite state machine for machine actions:

main steps

:allocate go get a receipt that says someone will give you some ssh

:ready keep showing them the receipt till they let you ssh in

:setup ssh in and install chef-client, copy over chef-related data

:converge_only run chef-client, but only if :ready

misc

:converge default and alias for doing all of the above in order

:stop power off? How do I get it back on again?

machine driver functions

When writing a machine driver, you'll need to implement:

allocate_machine() should update and return a machine_spec with the reciept

ready_machine() should look at the machine_spec reciept, and wait for the ssh connection, then return a Chef::Provisioning::Machine

connect_to_machine() ???

start_machine() ?? power on hardware via ipmi if not already on

stop_machine() ?? power off hardware via ipmi

destroy_machine() remove active model?

transport_for() not sure what this should return

machine_driver finite state machine vars

These functions coordinate using the following parameters:

action_handler need to find classes for these

machine_spec ?

machine_options ?

  • Home
  • Configuration
  • Drivers
    • [AWS](AWS Driver)
    • [Azure](Azure Driver)
    • [Docker](Docker Driver)
    • [Hanlon](Hanlon Driver)
    • [Fog](Fog Driver)
    • [Vagrant](Vagrant Driver)
  • Development
    • [MachineActions] (Machine Actions)
Clone this wiki locally