Package com.cloud.vm

Examples of com.cloud.vm.ConsoleProxyVO


                // if the instance is of type consoleproxy, call the console
                // proxy
                if (vmInstance.getType().equals(
                        VirtualMachine.Type.ConsoleProxy)) {
                    // call the consoleproxymanager
                    ConsoleProxyVO consoleProxy = _consoleProxyDao
                            .findById(vmInstance.getId());
                    if (!vmMgr.advanceStop(consoleProxy, true, user, account)) {
                        String errorMsg = "There was an error stopping the console proxy id: "
                                + vmInstance.getId()
                                + " ,cannot enable storage maintenance";
View Full Code Here


                // if the instance is of type consoleproxy, call the console
                // proxy
                if (vmInstance.getType().equals(
                        VirtualMachine.Type.ConsoleProxy)) {

                    ConsoleProxyVO consoleProxy = _consoleProxyDao
                            .findById(vmInstance.getId());
                    if (vmMgr.advanceStart(consoleProxy, null, user, account) == null) {
                        String msg = "There was an error starting the console proxy id: "
                                + vmInstance.getId()
                                + " on storage pool, cannot complete primary storage maintenance";
View Full Code Here

    public void onProxyAlert(Object sender, ConsoleProxyAlertEventArgs args) {
        if(s_logger.isDebugEnabled())
            s_logger.debug("received console proxy alert");

        DataCenterVO dc = _dcDao.findById(args.getZoneId());
        ConsoleProxyVO proxy = args.getProxy();
        if(proxy == null)
            proxy = _consoleProxyDao.findById(args.getProxyId());

        switch(args.getType()) {
        case ConsoleProxyAlertEventArgs.PROXY_CREATED :
            if(s_logger.isDebugEnabled())
                s_logger.debug("New console proxy created, zone: " + dc.getName() + ", proxy: " +
                        proxy.getHostName() + ", public IP: " + proxy.getPublicIpAddress() + ", private IP: " +
                        proxy.getPrivateIpAddress());
            break;

        case ConsoleProxyAlertEventArgs.PROXY_UP :
            if(s_logger.isDebugEnabled())
                s_logger.debug("Console proxy is up, zone: " + dc.getName() + ", proxy: " +
                        proxy.getHostName() + ", public IP: " + proxy.getPublicIpAddress() + ", private IP: " +
                        proxy.getPrivateIpAddress());

            _alertMgr.sendAlert(
                    AlertManager.ALERT_TYPE_CONSOLE_PROXY,
                    args.getZoneId(),
                    proxy.getPodIdToDeployIn(),
                    "Console proxy up in zone: " + dc.getName() + ", proxy: " + proxy.getHostName() + ", public IP: " + proxy.getPublicIpAddress()
                    + ", private IP: " + (proxy.getPrivateIpAddress() == null ? "N/A" : proxy.getPrivateIpAddress()),
                    "Console proxy up (zone " + dc.getName() + ")"  
                    );
            break;

        case ConsoleProxyAlertEventArgs.PROXY_DOWN :
            if(s_logger.isDebugEnabled())
                s_logger.debug("Console proxy is down, zone: " + dc.getName() + ", proxy: " +
                        proxy.getHostName() + ", public IP: " + proxy.getPublicIpAddress() + ", private IP: " +
                        (proxy.getPrivateIpAddress() == null ? "N/A" : proxy.getPrivateIpAddress()));

            _alertMgr.sendAlert(
                    AlertManager.ALERT_TYPE_CONSOLE_PROXY,
                    args.getZoneId(),
                    proxy.getPodIdToDeployIn(),
                    "Console proxy down in zone: " + dc.getName() + ", proxy: " + proxy.getHostName() + ", public IP: " + proxy.getPublicIpAddress()
                    + ", private IP: " + (proxy.getPrivateIpAddress() == null ? "N/A" : proxy.getPrivateIpAddress()),
                    "Console proxy down (zone " + dc.getName() + ")"  
                    );
            break;

        case ConsoleProxyAlertEventArgs.PROXY_REBOOTED :
            if(s_logger.isDebugEnabled())
                s_logger.debug("Console proxy is rebooted, zone: " + dc.getName() + ", proxy: " +
                        proxy.getHostName() + ", public IP: " + proxy.getPublicIpAddress() + ", private IP: " +
                        (proxy.getPrivateIpAddress() == null ? "N/A" : proxy.getPrivateIpAddress()));

            _alertMgr.sendAlert(
                    AlertManager.ALERT_TYPE_CONSOLE_PROXY,
                    args.getZoneId(),
                    proxy.getPodIdToDeployIn(),
                    "Console proxy rebooted in zone: " + dc.getName() + ", proxy: " + proxy.getHostName() + ", public IP: " + proxy.getPublicIpAddress()
                    + ", private IP: " + (proxy.getPrivateIpAddress() == null ? "N/A" : proxy.getPrivateIpAddress()),
                    "Console proxy rebooted (zone " + dc.getName() + ")"  
                    );
            break;

        case ConsoleProxyAlertEventArgs.PROXY_CREATE_FAILURE :
            if(s_logger.isDebugEnabled())
                s_logger.debug("Console proxy creation failure, zone: " + dc.getName() + ", proxy: " +
                        proxy.getHostName() + ", public IP: " + proxy.getPublicIpAddress() + ", private IP: " +
                        (proxy.getPrivateIpAddress() == null ? "N/A" : proxy.getPrivateIpAddress()));

            _alertMgr.sendAlert(
                    AlertManager.ALERT_TYPE_CONSOLE_PROXY,
                    args.getZoneId(),
                    proxy.getPodIdToDeployIn(),
                    "Console proxy creation failure. zone: " + dc.getName() + ", proxy: " + proxy.getHostName() + ", public IP: " + proxy.getPublicIpAddress()
                    + ", private IP: " + (proxy.getPrivateIpAddress() == null ? "N/A" : proxy.getPrivateIpAddress())
                    + ", error details: " + args.getMessage(),
                    "Console proxy creation failure (zone " + dc.getName() + ")"
                    );
            break;

        case ConsoleProxyAlertEventArgs.PROXY_START_FAILURE :
            if(s_logger.isDebugEnabled())
                s_logger.debug("Console proxy startup failure, zone: " + dc.getName() + ", proxy: " +
                        proxy.getHostName() + ", public IP: " + proxy.getPublicIpAddress() + ", private IP: " +
                        (proxy.getPrivateIpAddress() == null ? "N/A" : proxy.getPrivateIpAddress()));

            _alertMgr.sendAlert(
                    AlertManager.ALERT_TYPE_CONSOLE_PROXY,
                    args.getZoneId(),
                    proxy.getPodIdToDeployIn(),
                    "Console proxy startup failure. zone: " + dc.getName() + ", proxy: " + proxy.getHostName() + ", public IP: " + proxy.getPublicIpAddress()
                    + ", private IP: " + (proxy.getPrivateIpAddress() == null ? "N/A" : proxy.getPrivateIpAddress())
                    + ", error details: " + args.getMessage(),
                    "Console proxy startup failure (zone " + dc.getName() + ")"  
                    );
            break;

        case ConsoleProxyAlertEventArgs.PROXY_FIREWALL_ALERT :
            if(s_logger.isDebugEnabled())
                s_logger.debug("Console proxy firewall alert, zone: " + dc.getName() + ", proxy: " +
                        proxy.getHostName() + ", public IP: " + proxy.getPublicIpAddress() + ", private IP: " +
                        (proxy.getPrivateIpAddress() == null ? "N/A" : proxy.getPrivateIpAddress()));

            _alertMgr.sendAlert(
                    AlertManager.ALERT_TYPE_CONSOLE_PROXY,
                    args.getZoneId(),
                    proxy.getPodIdToDeployIn(),
                    "Failed to open console proxy firewall port. zone: " + dc.getName() + ", proxy: " + proxy.getHostName()
                    + ", public IP: " + proxy.getPublicIpAddress()
                    + ", private IP: " + (proxy.getPrivateIpAddress() == null ? "N/A" : proxy.getPrivateIpAddress()),
                    "Console proxy alert (zone " + dc.getName() + ")" 
                    );
            break;

        case ConsoleProxyAlertEventArgs.PROXY_STORAGE_ALERT :
            if(s_logger.isDebugEnabled())
                s_logger.debug("Console proxy storage alert, zone: " + dc.getName() + ", proxy: " +
                        proxy.getHostName() + ", public IP: " + proxy.getPublicIpAddress() + ", private IP: " +
                        proxy.getPrivateIpAddress() + ", message: " + args.getMessage());

            _alertMgr.sendAlert(
                    AlertManager.ALERT_TYPE_STORAGE_MISC,
                    args.getZoneId(),
                    proxy.getPodIdToDeployIn(),
                    "Console proxy storage issue. zone: " + dc.getName() + ", message: " + args.getMessage(),
                    "Console proxy alert (zone " + dc.getName() + ")"
                    );
            break;
        }
View Full Code Here

                // if the instance is of type consoleproxy, call the console
                // proxy
                if (vmInstance.getType().equals(
                        VirtualMachine.Type.ConsoleProxy)) {
                    // call the consoleproxymanager
                    ConsoleProxyVO consoleProxy = _consoleProxyDao
                            .findById(vmInstance.getId());
                    if (!vmMgr.advanceStop(consoleProxy, true, user, account)) {
                        String errorMsg = "There was an error stopping the console proxy id: "
                                + vmInstance.getId()
                                + " ,cannot enable storage maintenance";
View Full Code Here

                // if the instance is of type consoleproxy, call the console
                // proxy
                if (vmInstance.getType().equals(
                        VirtualMachine.Type.ConsoleProxy)) {

                    ConsoleProxyVO consoleProxy = _consoleProxyDao
                            .findById(vmInstance.getId());
                    if (vmMgr.advanceStart(consoleProxy, null, user, account, null) == null) {
                        String msg = "There was an error starting the console proxy id: "
                                + vmInstance.getId()
                                + " on storage pool, cannot complete primary storage maintenance";
View Full Code Here

                vmResponse.setState(vm.getState().toString());
            }

            // for console proxies, add the active sessions
            if (vm.getType() == Type.ConsoleProxy) {
                ConsoleProxyVO proxy = ApiDBUtils.findConsoleProxy(vm.getId());
                // proxy can be already destroyed
                if (proxy != null) {
                    vmResponse.setActiveViewerSessions(proxy.getActiveSession());
                }
            }

            DataCenter zone = ApiDBUtils.findZoneById(vm.getDataCenterId());
            if (zone != null) {
View Full Code Here

    public void onProxyAlert(Object sender, ConsoleProxyAlertEventArgs args) {
        if (s_logger.isDebugEnabled())
            s_logger.debug("received console proxy alert");

        DataCenterVO dc = _dcDao.findById(args.getZoneId());
        ConsoleProxyVO proxy = args.getProxy();
        if (proxy == null)
            proxy = _consoleProxyDao.findById(args.getProxyId());

        switch (args.getType()) {
            case ConsoleProxyAlertEventArgs.PROXY_CREATED:
                if (s_logger.isDebugEnabled())
                    s_logger.debug("New console proxy created, zone: " + dc.getName() + ", proxy: " + proxy.getHostName() + ", public IP: " + proxy.getPublicIpAddress() +
                        ", private IP: " + proxy.getPrivateIpAddress());
                break;

            case ConsoleProxyAlertEventArgs.PROXY_UP:
                if (s_logger.isDebugEnabled())
                    s_logger.debug("Console proxy is up, zone: " + dc.getName() + ", proxy: " + proxy.getHostName() + ", public IP: " + proxy.getPublicIpAddress() +
                        ", private IP: " + proxy.getPrivateIpAddress());

                _alertMgr.sendAlert(AlertManager.AlertType.ALERT_TYPE_CONSOLE_PROXY, args.getZoneId(), proxy.getPodIdToDeployIn(),
                    "Console proxy up in zone: " + dc.getName() +
                        ", proxy: " + proxy.getHostName() + ", public IP: " + proxy.getPublicIpAddress() + ", private IP: " +
                        (proxy.getPrivateIpAddress() == null ? "N/A" : proxy.getPrivateIpAddress()), "Console proxy up (zone " + dc.getName() + ")");
                break;

            case ConsoleProxyAlertEventArgs.PROXY_DOWN:
                if (s_logger.isDebugEnabled())
                    s_logger.debug("Console proxy is down, zone: " + dc.getName() + ", proxy: " + proxy.getHostName() + ", public IP: " + proxy.getPublicIpAddress() +
                        ", private IP: " + (proxy.getPrivateIpAddress() == null ? "N/A" : proxy.getPrivateIpAddress()));

                _alertMgr.sendAlert(AlertManager.AlertType.ALERT_TYPE_CONSOLE_PROXY, args.getZoneId(), proxy.getPodIdToDeployIn(),
                    "Console proxy down in zone: " + dc.getName() +
                        ", proxy: " + proxy.getHostName() + ", public IP: " + proxy.getPublicIpAddress() + ", private IP: " +
                        (proxy.getPrivateIpAddress() == null ? "N/A" : proxy.getPrivateIpAddress()), "Console proxy down (zone " + dc.getName() + ")");
                break;

            case ConsoleProxyAlertEventArgs.PROXY_REBOOTED:
                if (s_logger.isDebugEnabled())
                    s_logger.debug("Console proxy is rebooted, zone: " + dc.getName() + ", proxy: " + proxy.getHostName() + ", public IP: " + proxy.getPublicIpAddress() +
                        ", private IP: " + (proxy.getPrivateIpAddress() == null ? "N/A" : proxy.getPrivateIpAddress()));

                _alertMgr.sendAlert(AlertManager.AlertType.ALERT_TYPE_CONSOLE_PROXY, args.getZoneId(), proxy.getPodIdToDeployIn(),
                    "Console proxy rebooted in zone: " + dc.getName() + ", proxy: " + proxy.getHostName() + ", public IP: " + proxy.getPublicIpAddress() +
                        ", private IP: " + (proxy.getPrivateIpAddress() == null ? "N/A" : proxy.getPrivateIpAddress()), "Console proxy rebooted (zone " + dc.getName() +
                        ")");
                break;

            case ConsoleProxyAlertEventArgs.PROXY_CREATE_FAILURE:
                if (s_logger.isDebugEnabled())
                    s_logger.debug("Console proxy creation failure, zone: " + dc.getName() + ", proxy: " + proxy.getHostName() + ", public IP: " +
                        proxy.getPublicIpAddress() + ", private IP: " + (proxy.getPrivateIpAddress() == null ? "N/A" : proxy.getPrivateIpAddress()));

                _alertMgr.sendAlert(AlertManager.AlertType.ALERT_TYPE_CONSOLE_PROXY, args.getZoneId(), proxy.getPodIdToDeployIn(),
                    "Console proxy creation failure. zone: " + dc.getName() + ", proxy: " + proxy.getHostName() + ", public IP: " + proxy.getPublicIpAddress() +
                        ", private IP: " + (proxy.getPrivateIpAddress() == null ? "N/A" : proxy.getPrivateIpAddress()) + ", error details: " + args.getMessage(),
                    "Console proxy creation failure (zone " + dc.getName() + ")");
                break;

            case ConsoleProxyAlertEventArgs.PROXY_START_FAILURE:
                if (s_logger.isDebugEnabled())
                    s_logger.debug("Console proxy startup failure, zone: " + dc.getName() + ", proxy: " + proxy.getHostName() + ", public IP: " +
                        proxy.getPublicIpAddress() + ", private IP: " + (proxy.getPrivateIpAddress() == null ? "N/A" : proxy.getPrivateIpAddress()));

                _alertMgr.sendAlert(AlertManager.AlertType.ALERT_TYPE_CONSOLE_PROXY, args.getZoneId(), proxy.getPodIdToDeployIn(),
                    "Console proxy startup failure. zone: " + dc.getName() + ", proxy: " + proxy.getHostName() + ", public IP: " + proxy.getPublicIpAddress() +
                        ", private IP: " + (proxy.getPrivateIpAddress() == null ? "N/A" : proxy.getPrivateIpAddress()) + ", error details: " + args.getMessage(),
                    "Console proxy startup failure (zone " + dc.getName() + ")");
                break;

            case ConsoleProxyAlertEventArgs.PROXY_FIREWALL_ALERT:
                if (s_logger.isDebugEnabled())
                    s_logger.debug("Console proxy firewall alert, zone: " + dc.getName() + ", proxy: " + proxy.getHostName() + ", public IP: " +
                        proxy.getPublicIpAddress() + ", private IP: " + (proxy.getPrivateIpAddress() == null ? "N/A" : proxy.getPrivateIpAddress()));

                _alertMgr.sendAlert(
                    AlertManager.AlertType.ALERT_TYPE_CONSOLE_PROXY,
                    args.getZoneId(),
                    proxy.getPodIdToDeployIn(),
                    "Failed to open console proxy firewall port. zone: " + dc.getName() + ", proxy: " + proxy.getHostName() + ", public IP: " +
                        proxy.getPublicIpAddress() + ", private IP: " + (proxy.getPrivateIpAddress() == null ? "N/A" : proxy.getPrivateIpAddress()),
                    "Console proxy alert (zone " + dc.getName() + ")");
                break;

            case ConsoleProxyAlertEventArgs.PROXY_STORAGE_ALERT:
                if (s_logger.isDebugEnabled())
                    s_logger.debug("Console proxy storage alert, zone: " + dc.getName() + ", proxy: " + proxy.getHostName() + ", public IP: " +
                        proxy.getPublicIpAddress() + ", private IP: " + proxy.getPrivateIpAddress() + ", message: " + args.getMessage());

                _alertMgr.sendAlert(AlertManager.AlertType.ALERT_TYPE_STORAGE_MISC, args.getZoneId(), proxy.getPodIdToDeployIn(),
                    "Console proxy storage issue. zone: " + dc.getName() + ", message: " + args.getMessage(), "Console proxy alert (zone " + dc.getName() + ")");
                break;
        }
    }
View Full Code Here

    }

    @Override
    public ConsoleProxyInfo assignProxy(final long dataCenterId, final long vmId) {
        ConsoleProxyVO proxy = doAssignProxy(dataCenterId, vmId);
        if (proxy == null) {
            return null;
        }

        if (proxy.getPublicIpAddress() == null) {
            s_logger.warn("Assigned console proxy does not have a valid public IP address");
            return null;
        }

        KeystoreVO ksVo = _ksDao.findByName(ConsoleProxyManager.CERTIFICATE_NAME);
        assert (ksVo != null);

        if (_staticPublicIp == null) {
            return new ConsoleProxyInfo(proxy.isSslEnabled(), proxy.getPublicIpAddress(), _consoleProxyPort, proxy.getPort(), _consoleProxyUrlDomain);
        } else {
            return new ConsoleProxyInfo(proxy.isSslEnabled(), _staticPublicIp, _consoleProxyPort, _staticPort, _consoleProxyUrlDomain);
        }
    }
View Full Code Here

            return new ConsoleProxyInfo(proxy.isSslEnabled(), _staticPublicIp, _consoleProxyPort, _staticPort, _consoleProxyUrlDomain);
        }
    }

    public ConsoleProxyVO doAssignProxy(long dataCenterId, long vmId) {
        ConsoleProxyVO proxy = null;
        VMInstanceVO vm = _instanceDao.findById(vmId);

        if (vm == null) {
            s_logger.warn("VM " + vmId + " no longer exists, return a null proxy for vm:" + vmId);
            return null;
        }

        if (vm != null && vm.getState() != State.Running) {
            if (s_logger.isInfoEnabled()) {
                s_logger.info("Detected that vm : " + vmId + " is not currently at running state, we will fail the proxy assignment for it");
            }
            return null;
        }

        if (_allocProxyLock.lock(ACQUIRE_GLOBAL_LOCK_TIMEOUT_FOR_SYNC)) {
            try {
                if (vm.getProxyId() != null) {
                    proxy = _consoleProxyDao.findById(vm.getProxyId());

                    if (proxy != null) {
                        if (!isInAssignableState(proxy)) {
                            if (s_logger.isInfoEnabled()) {
                                s_logger.info("A previous assigned proxy is not assignable now, reassign console proxy for user vm : " + vmId);
                            }
                            proxy = null;
                        } else {
                            if (_consoleProxyDao.getProxyActiveLoad(proxy.getId()) < _capacityPerProxy || hasPreviousSession(proxy, vm)) {
                                if (s_logger.isTraceEnabled()) {
                                    s_logger.trace("Assign previous allocated console proxy for user vm : " + vmId);
                                }

                                if (proxy.getActiveSession() >= _capacityPerProxy) {
                                    s_logger.warn("Assign overloaded proxy to user VM as previous session exists, user vm : " + vmId);
                                }
                            } else {
                                proxy = null;
                            }
                        }
                    }
                }

                if (proxy == null) {
                    proxy = assignProxyFromRunningPool(dataCenterId);
                }
            } finally {
                _allocProxyLock.unlock();
            }
        } else {
            s_logger.error("Unable to acquire synchronization lock to get/allocate proxy resource for vm :" + vmId +
                ". Previous console proxy allocation is taking too long");
        }

        if (proxy == null) {
            s_logger.warn("Unable to find or allocate console proxy resource");
            return null;
        }

        // if it is a new assignment or a changed assignment, update the record
        if (vm.getProxyId() == null || vm.getProxyId().longValue() != proxy.getId()) {
            _instanceDao.updateProxyId(vmId, proxy.getId(), DateUtil.currentGMTTime());
        }

        proxy.setSslEnabled(_sslEnabled);
        if (_sslEnabled) {
            proxy.setPort(443);
        } else {
            proxy.setPort(80);
        }

        return proxy;
    }
View Full Code Here

    }

    @Override
    public ConsoleProxyVO startProxy(long proxyVmId) {
        try {
            ConsoleProxyVO proxy = _consoleProxyDao.findById(proxyVmId);
            if (proxy.getState() == VirtualMachine.State.Running) {
                return proxy;
            }

            String restart = _configDao.getValue(Config.ConsoleProxyRestart.key());
            if (restart != null && restart.equalsIgnoreCase("false")) {
                return null;
            }

            if (proxy.getState() == VirtualMachine.State.Stopped) {
                _itMgr.advanceStart(proxy.getUuid(), null, null);
                proxy = _consoleProxyDao.findById(proxy.getId());
            }

            // For VMs that are in Stopping, Starting, Migrating state, let client to wait by returning null
            // as sooner or later, Starting/Migrating state will be transited to Running and Stopping will be transited
            // to
            // Stopped to allow
            // Starting of it
            s_logger.warn("Console proxy is not in correct state to be started: " + proxy.getState());
            return null;
        } catch (StorageUnavailableException e) {
            s_logger.warn("Exception while trying to start console proxy", e);
            return null;
        } catch (InsufficientCapacityException e) {
View Full Code Here

TOP

Related Classes of com.cloud.vm.ConsoleProxyVO

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.