59 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| 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
 | 
