Module: FogExtensions::Cloudstack::Server

Extended by:
ActiveSupport::Concern
Defined in:
app/models/concerns/fog_extensions/cloudstack/server.rb

Instance Method Summary collapse

Instance Method Details

#created_atObject



55
56
57
# File 'app/models/concerns/fog_extensions/cloudstack/server.rb', line 55

def created_at
  Time.parse attributes['created']
end

#flavor_with_objectObject



51
52
53
# File 'app/models/concerns/fog_extensions/cloudstack/server.rb', line 51

def flavor_with_object
  service.flavors.get attributes[:flavor]['id']
end

#ip_addressObject



15
16
17
18
19
# File 'app/models/concerns/fog_extensions/cloudstack/server.rb', line 15

def ip_address
        logger.info "BG inspect nics:"
        logger.info nics.inspect
        return nics[0]["ipaddress"]
end

#ip_addressesObject



25
26
27
28
29
# File 'app/models/concerns/fog_extensions/cloudstack/server.rb', line 25

def ip_addresses
        logger.info "BG inspect nics:"
        logger.info nics.inspect 
        nics.map { |n| n.ipaddress } 
end

#networkObject



66
67
68
69
70
# File 'app/models/concerns/fog_extensions/cloudstack/server.rb', line 66

def network
  return @network if @network # in case we didnt submitting the form again after an error.
  return networks.try(:first).try(:name) if persisted?
  nil
end

#pauseObject



43
44
45
# File 'app/models/concerns/fog_extensions/cloudstack/server.rb', line 43

def pause
  service.pause_server(id)
end

#resetObject



78
79
80
# File 'app/models/concerns/fog_extensions/cloudstack/server.rb', line 78

def reset
  reboot('HARD')
end

#security_groupObject



72
73
74
75
76
# File 'app/models/concerns/fog_extensions/cloudstack/server.rb', line 72

def security_group
  return @security_group if @security_group # in case we didnt submitting the form again after an error.
  return security_groups.try(:first).try(:name) if persisted?
  nil
end

#security_groups_with_no_idObject

the original method requires a server ID, however we want to be able to call this method on new instances too



60
61
62
63
64
# File 'app/models/concerns/fog_extensions/cloudstack/server.rb', line 60

def security_groups_with_no_id
  return [] if id.nil?

  security_groups_without_no_id
end

#startObject



31
32
33
34
35
36
37
# File 'app/models/concerns/fog_extensions/cloudstack/server.rb', line 31

def start
  if state.downcase == 'paused'
    service.unpause_server(id)
  else
    service.resume_server(id)
  end
end

#stopObject



39
40
41
# File 'app/models/concerns/fog_extensions/cloudstack/server.rb', line 39

def stop
  service.suspend_server(id)
end

#tenantObject



47
48
49
# File 'app/models/concerns/fog_extensions/cloudstack/server.rb', line 47

def tenant
  service.tenants.detect{|t| t.id == tenant_id }
end

#test_methodObject



21
22
23
# File 'app/models/concerns/fog_extensions/cloudstack/server.rb', line 21

def test_method
                             nics[0]["ipaddress"]
end

#to_sObject

included do alias_method_chain :security_groups, :no_id attr_writer :security_group, :network # floating IP end



11
12
13
# File 'app/models/concerns/fog_extensions/cloudstack/server.rb', line 11

def to_s
  name
end

#vm_descriptionObject



82
83
84
# File 'app/models/concerns/fog_extensions/cloudstack/server.rb', line 82

def vm_description
  ""
end