2014-06-18 15:11:47 +04:00
|
|
|
require "providers/base_provider"
|
2015-08-12 16:58:50 +03:00
|
|
|
require "lib/executors/server_executor"
|
2014-06-18 15:11:47 +04:00
|
|
|
|
|
|
|
|
module Provider
|
|
|
|
|
class Static < BaseProvider
|
|
|
|
|
PROVIDER = "static"
|
|
|
|
|
|
|
|
|
|
def initialize config
|
|
|
|
|
self.certificate_path = config[:static_certificate]
|
|
|
|
|
self.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
|
|
|
|
|
|
2015-08-05 17:38:32 +03:00
|
|
|
def create_server s, image, flavor, subnets, groups, out, options={}
|
2014-06-18 15:11:47 +04:00
|
|
|
out << "Unsupported operation: ca not create server for provider 'static'"
|
|
|
|
|
false
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
def delete_server s
|
2015-08-12 16:58:50 +03:00
|
|
|
res = Devops::Executor::ServerExecutor.new(s, "").unbootstrap()
|
2014-06-18 15:11:47 +04:00
|
|
|
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
|