Class: Kitchen::Driver::Oci

Inherits:
Base
  • Object
show all
Includes:
Models, Volumes
Defined in:
lib/kitchen/driver/oci.rb,
lib/kitchen/driver/oci/api.rb,
lib/kitchen/driver/oci/config.rb,
lib/kitchen/driver/oci/models.rb,
lib/kitchen/driver/oci/volumes.rb,
lib/kitchen/driver/oci/instance.rb,
lib/kitchen/driver/oci/blockstorage.rb,
lib/kitchen/driver/oci/models/dbaas.rb,
lib/kitchen/driver/oci/models/iscsi.rb,
lib/kitchen/driver/oci/instance/dbaas.rb,
lib/kitchen/driver/oci/models/compute.rb,
lib/kitchen/driver/oci/instance/common.rb,
lib/kitchen/driver/oci/instance/compute.rb,
lib/kitchen/driver/oci/instance/db_home.rb,
lib/kitchen/driver/oci/instance/database.rb,
lib/kitchen/driver/oci/models/paravirtual.rb

Overview

Oracle OCI driver for Kitchen.

Author:

Direct Known Subclasses

Blockstorage, Instance

Defined Under Namespace

Modules: Models, Volumes Classes: Api, Blockstorage, Config, Instance

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Volumes

#create_and_attach_volumes, #create_volume, #process_volumes

Methods included from Models

#instance_class, #volume_class

Class Method Details

.validation_error(message, driver) ⇒ Object

Raises:

  • (UserError)


114
115
116
# File 'lib/kitchen/driver/oci.rb', line 114

def self.validation_error(message, driver)
  raise UserError, "#{driver.class}<#{driver.instance.name}>#config#{message}"
end

Instance Method Details

#create(state) ⇒ Object



121
122
123
124
125
126
127
128
129
130
131
# File 'lib/kitchen/driver/oci.rb', line 121

def create(state)
  return if state[:server_id]

  validate_config!
  oci, api = auth(__method__)
  inst = instance_class(config, state, oci, api, __method__)
  launch(state, inst)
  create_and_attach_volumes(config, state, oci, api)
  process_post_script(state)
  reboot(state, inst)
end

#destroy(state) ⇒ Object



133
134
135
136
137
138
139
140
# File 'lib/kitchen/driver/oci.rb', line 133

def destroy(state)
  return unless state[:server_id]

  oci, api = auth(__method__)
  inst = instance_class(config, state, oci, api, __method__)
  detatch_and_delete_volumes(state, oci, api)
  terminate(state, inst)
end