Friday, February 20, 2015

bosh cpi + cf


bosh --> cloud provider interface --> cloud (aws, cloudstack, openstack, vsphere, google cloud, etc)

module bosh
class Cloud

   methods:

    def initialize(options)
    def current_vm_id
    def create_stemcell(image_path, cloud_properties)
    def delete_stemcell(stemcell_id)
    def create_vm(agent_id, stemcell_id, resource_pool,
    def delete_vm(vm_id)
    def has_vm?(vm_id)
    def has_disk?(disk_id)
    def reboot_vm(vm_id)
    def set_vm_metadata(vm, metadata)
    def configure_networks(vm_id, networks)
    def create_disk(size, cloud_properties, vm_locality = nil)
    def delete_disk(disk_id)
    def attach_disk(vm_id, disk_id)
    def snapshot_disk(disk_id, metadata={})
    def delete_snapshot(snapshot_id)
    def detach_disk(vm_id, disk_id)
    def get_disks(vm_id)

    def not_implemented(method)

fog.io:
  fog: JSON/XML from iaaS provider --> fields of an object

release:

   def initialize(options)
      def start
      def apply_spec_json
      def apply_spec
      def connect_to_agent
      def compile
       
      def find_by_name(enum, name)
      def jobs_to_compile(name, manifest)
      def apply_spec_job(job, job_path)
      def cleanup
      def prep_spec(deployment)
      def compile_packages(dir, manifest, packages)
      def find_package(manifest, name)
      def compile_package(dir, package, name)
      def untar(file)
      def apply
      def update_bosh_spec
      def add_default_properties(spec_properties, job_properties)

No comments: