| 
									
										
										
										
											2015-03-06 12:20:30 +03:00
										 |  |  | module Devops | 
					
						
							|  |  |  |   module Model | 
					
						
							|  |  |  |     class StackOpenstack < StackBase | 
					
						
							| 
									
										
										
										
											2015-02-12 13:01:05 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-03-06 12:20:30 +03:00
										 |  |  |       def create_stack_in_cloud! | 
					
						
							| 
									
										
										
										
											2015-04-16 17:54:40 +03:00
										 |  |  |         begin | 
					
						
							|  |  |  |           provider = Provider::ProviderFactory.get('openstack') | 
					
						
							|  |  |  |           self.cloud_stack_id = provider.create_stack(self) | 
					
						
							|  |  |  |         rescue ProviderErrors::NameConflict | 
					
						
							|  |  |  |           raise InvalidRecord.new "Duplicate key error: stack with name '#{self.id}' already exists in cloud" | 
					
						
							|  |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       def delete_stack_in_cloud! | 
					
						
							|  |  |  |         provider = Provider::ProviderFactory.get('openstack') | 
					
						
							|  |  |  |         provider.delete_stack(self) | 
					
						
							| 
									
										
										
										
											2015-03-06 12:20:30 +03:00
										 |  |  |       end | 
					
						
							| 
									
										
										
										
											2015-02-12 13:01:05 +03:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-03-06 12:20:30 +03:00
										 |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2015-02-12 13:01:05 +03:00
										 |  |  | end |