require "providers/base_provider" require "lib/executors/server_executor" module Provider class Static < BaseProvider PROVIDER = "static" def initialize config self.certificate_path = config[:static_certificate] self.ssh_key = config[:static_ssh_key] || "static" @@mongo ||= MongoConnector.new(config[:mongo_db], config[:mongo_host], config[:mongo_port], config[:mongo_user], config[:mongo_password]) end def configured? true end def name PROVIDER end def flavors [] end def images filters [] end def servers @@mongo.servers_find({:provider => PROVIDER}).map{|s| s.to_hash} end def create_default_chef_node_name s "static-#{s.project}-#{s.deploy_env}-#{Time.now.to_i}" end def create_server s, image, flavor, subnets, groups, out, options={} out << "Unsupported operation: ca not create server for provider 'static'" false end def delete_server s res = Devops::Executor::ServerExecutor.new(s, "").unbootstrap() m = "Static server with id '#{s.id}' and name '#{s.chef_node_name}' " return m + (res.nil? ? "has been unbootstraped" : "can not be unbootstraped: #{res}") end def pause_server s nil end def unpause_server s nil end end end