Search in sources :

Example 1 with HostPatch

use of com.xensource.xenapi.HostPatch in project cloudstack by apache.

the class XenServer620Resource method hostHasHotFix.

protected boolean hostHasHotFix(final Connection conn, final String hotFixUuid) {
    try {
        final Host host = Host.getByUuid(conn, _host.getUuid());
        final Host.Record re = host.getRecord(conn);
        final Set<HostPatch> patches = re.patches;
        final PoolPatch poolPatch = PoolPatch.getByUuid(conn, hotFixUuid);
        for (final HostPatch patch : patches) {
            final PoolPatch pp = patch.getPoolPatch(conn);
            if (pp.equals(poolPatch) && patch.getApplied(conn)) {
                return true;
            }
        }
    } catch (final Exception e) {
        s_logger.debug("can't get patches information for hotFix: " + hotFixUuid);
    }
    return false;
}
Also used : HostPatch(com.xensource.xenapi.HostPatch) PoolPatch(com.xensource.xenapi.PoolPatch) Host(com.xensource.xenapi.Host)

Example 2 with HostPatch

use of com.xensource.xenapi.HostPatch in project cloudstack by apache.

the class XcpServerDiscoverer method poolHasHotFix.

protected boolean poolHasHotFix(Connection conn, String hostIp, String hotFixUuid) {
    try {
        Map<Host, Host.Record> hosts = Host.getAllRecords(conn);
        for (Map.Entry<Host, Host.Record> entry : hosts.entrySet()) {
            Host.Record re = entry.getValue();
            if (!re.address.equalsIgnoreCase(hostIp)) {
                continue;
            }
            Set<HostPatch> patches = re.patches;
            PoolPatch poolPatch = PoolPatch.getByUuid(conn, hotFixUuid);
            for (HostPatch patch : patches) {
                PoolPatch pp = patch.getPoolPatch(conn);
                if (pp != null && pp.equals(poolPatch) && patch.getApplied(conn)) {
                    s_logger.debug("host " + hostIp + " does have " + hotFixUuid + " Hotfix.");
                    return true;
                }
            }
        }
        return false;
    } catch (UuidInvalid e) {
        s_logger.debug("host " + hostIp + " doesn't have " + hotFixUuid + " Hotfix");
    } catch (Exception e) {
        s_logger.debug("can't get patches information, consider it doesn't have " + hotFixUuid + " Hotfix");
    }
    return false;
}
Also used : UuidInvalid(com.xensource.xenapi.Types.UuidInvalid) HostPatch(com.xensource.xenapi.HostPatch) PoolPatch(com.xensource.xenapi.PoolPatch) Host(com.xensource.xenapi.Host) Map(java.util.Map) HashMap(java.util.HashMap) DiscoveredWithErrorException(com.cloud.exception.DiscoveredWithErrorException) DiscoveryException(com.cloud.exception.DiscoveryException) ConnectionException(com.cloud.exception.ConnectionException) AgentUnavailableException(com.cloud.exception.AgentUnavailableException) XenAPIException(com.xensource.xenapi.Types.XenAPIException) EntityExistsException(javax.persistence.EntityExistsException) OperationTimedoutException(com.cloud.exception.OperationTimedoutException) ConfigurationException(javax.naming.ConfigurationException) XmlRpcException(org.apache.xmlrpc.XmlRpcException) CloudRuntimeException(com.cloud.utils.exception.CloudRuntimeException) HypervisorVersionChangedException(com.cloud.utils.exception.HypervisorVersionChangedException) UnknownHostException(java.net.UnknownHostException) UnableDeleteHostException(com.cloud.resource.UnableDeleteHostException)

Aggregations

Host (com.xensource.xenapi.Host)2 HostPatch (com.xensource.xenapi.HostPatch)2 PoolPatch (com.xensource.xenapi.PoolPatch)2 AgentUnavailableException (com.cloud.exception.AgentUnavailableException)1 ConnectionException (com.cloud.exception.ConnectionException)1 DiscoveredWithErrorException (com.cloud.exception.DiscoveredWithErrorException)1 DiscoveryException (com.cloud.exception.DiscoveryException)1 OperationTimedoutException (com.cloud.exception.OperationTimedoutException)1 UnableDeleteHostException (com.cloud.resource.UnableDeleteHostException)1 CloudRuntimeException (com.cloud.utils.exception.CloudRuntimeException)1 HypervisorVersionChangedException (com.cloud.utils.exception.HypervisorVersionChangedException)1 UuidInvalid (com.xensource.xenapi.Types.UuidInvalid)1 XenAPIException (com.xensource.xenapi.Types.XenAPIException)1 UnknownHostException (java.net.UnknownHostException)1 HashMap (java.util.HashMap)1 Map (java.util.Map)1 ConfigurationException (javax.naming.ConfigurationException)1 EntityExistsException (javax.persistence.EntityExistsException)1 XmlRpcException (org.apache.xmlrpc.XmlRpcException)1