Search in sources :

Example 1 with Zone

use of com.cloud.model.Zone in project cosmic by MissionCriticalCloud.

the class AlertGenerator method publishAlertOnEventBus.

public static void publishAlertOnEventBus(final String alertType, final long dataCenterId, final Long podId, final String subject, final String body) {
    final String configKey = Config.PublishAlertEvent.key();
    final String value = s_configDao.getValue(configKey);
    final boolean configValue = Boolean.parseBoolean(value);
    if (!configValue) {
        return;
    }
    try {
        s_eventBus = ComponentContext.getComponent(EventBus.class);
    } catch (final NoSuchBeanDefinitionException nbe) {
        // no provider is configured to provide events bus, so just return
        return;
    }
    final com.cloud.framework.events.Event event = new Event(ManagementService.Name, EventCategory.ALERT_EVENT.getName(), alertType, null, null);
    final Map<String, String> eventDescription = new HashMap<>();
    final Zone zone = s_zoneRepository.findOne(dataCenterId);
    final HostPodVO pod = s_podDao.findById(podId);
    eventDescription.put("event", alertType);
    if (zone != null) {
        eventDescription.put("dataCenterId", zone.getUuid());
    } else {
        eventDescription.put("dataCenterId", null);
    }
    if (pod != null) {
        eventDescription.put("podId", pod.getUuid());
    } else {
        eventDescription.put("podId", null);
    }
    eventDescription.put("subject", subject);
    eventDescription.put("body", body);
    final String eventDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z").format(new Date());
    eventDescription.put("eventDateTime", eventDate);
    event.setDescription(eventDescription);
    try {
        s_eventBus.publish(event);
    } catch (final EventBusException e) {
        s_logger.warn("Failed to publish alert on the the event bus.");
    }
}
Also used : HashMap(java.util.HashMap) Zone(com.cloud.model.Zone) EventBus(com.cloud.framework.events.EventBus) HostPodVO(com.cloud.dc.HostPodVO) Date(java.util.Date) Event(com.cloud.framework.events.Event) Event(com.cloud.framework.events.Event) EventBusException(com.cloud.framework.events.EventBusException) NoSuchBeanDefinitionException(org.springframework.beans.factory.NoSuchBeanDefinitionException) SimpleDateFormat(java.text.SimpleDateFormat)

Example 2 with Zone

use of com.cloud.model.Zone in project cosmic by MissionCriticalCloud.

the class XcpServerDiscoverer method createHostVOForDirectConnectAgent.

@Override
public HostVO createHostVOForDirectConnectAgent(final HostVO host, final StartupCommand[] startup, final ServerResource resource, final Map<String, String> details, final List<String> hostTags) {
    final StartupCommand firstCmd = startup[0];
    if (!(firstCmd instanceof StartupRoutingCommand)) {
        return null;
    }
    final StartupRoutingCommand ssCmd = ((StartupRoutingCommand) firstCmd);
    if (ssCmd.getHypervisorType() != HypervisorType.XenServer) {
        return null;
    }
    final HostPodVO pod = _podDao.findById(host.getPodId());
    final Zone zone = zoneRepository.findOne(host.getDataCenterId());
    s_logger.info("Host: " + host.getName() + " connected with hypervisor type: " + HypervisorType.XenServer + ". Checking CIDR...");
    _resourceMgr.checkCIDR(pod, zone, ssCmd.getPrivateIpAddress(), ssCmd.getPrivateNetmask());
    return _resourceMgr.fillRoutingHostVO(host, ssCmd, HypervisorType.XenServer, details, hostTags);
}
Also used : StartupCommand(com.cloud.agent.api.StartupCommand) Zone(com.cloud.model.Zone) StartupRoutingCommand(com.cloud.agent.api.StartupRoutingCommand) HostPodVO(com.cloud.dc.HostPodVO)

Aggregations

HostPodVO (com.cloud.dc.HostPodVO)2 Zone (com.cloud.model.Zone)2 StartupCommand (com.cloud.agent.api.StartupCommand)1 StartupRoutingCommand (com.cloud.agent.api.StartupRoutingCommand)1 Event (com.cloud.framework.events.Event)1 EventBus (com.cloud.framework.events.EventBus)1 EventBusException (com.cloud.framework.events.EventBusException)1 SimpleDateFormat (java.text.SimpleDateFormat)1 Date (java.util.Date)1 HashMap (java.util.HashMap)1 NoSuchBeanDefinitionException (org.springframework.beans.factory.NoSuchBeanDefinitionException)1