From 3e3cc1993747565fe80586d2a30f4859a1985f99 Mon Sep 17 00:00:00 2001 From: abhishek Date: Thu, 26 Aug 2010 10:33:18 -0700 Subject: [PATCH] adding manager --- .../consoleproxy/ConsoleProxyManager.java | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 server/src/com/cloud/consoleproxy/ConsoleProxyManager.java diff --git a/server/src/com/cloud/consoleproxy/ConsoleProxyManager.java b/server/src/com/cloud/consoleproxy/ConsoleProxyManager.java new file mode 100644 index 00000000000..10c3e31bf03 --- /dev/null +++ b/server/src/com/cloud/consoleproxy/ConsoleProxyManager.java @@ -0,0 +1,54 @@ +/** + * Copyright (C) 2010 Cloud.com, Inc. All rights reserved. + * + * This software is licensed under the GNU General Public License v3 or later. + * + * It is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or any later version. + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + */ + +package com.cloud.consoleproxy; + +import com.cloud.agent.api.AgentControlAnswer; +import com.cloud.agent.api.ConsoleAccessAuthenticationCommand; +import com.cloud.agent.api.ConsoleProxyLoadReportCommand; +import com.cloud.agent.api.StartupCommand; +import com.cloud.host.HostVO; +import com.cloud.host.Status; +import com.cloud.utils.component.Manager; +import com.cloud.vm.ConsoleProxyVO; + +public interface ConsoleProxyManager extends Manager { + public static final int DEFAULT_PROXY_CAPACITY = 50; + public static final int DEFAULT_STANDBY_CAPACITY = 10; + public static final int DEFAULT_PROXY_VM_RAMSIZE = 1024; // 1G + + public static final int DEFAULT_PROXY_CMD_PORT = 8001; + public static final int DEFAULT_PROXY_VNC_PORT = 0; + public static final int DEFAULT_PROXY_URL_PORT = 80; + public static final int DEFAULT_PROXY_SESSION_TIMEOUT = 300000; // 5 minutes + + public static final String ALERT_SUBJECT = "proxy-alert"; + + public ConsoleProxyVO assignProxy(long dataCenterId, long userVmId); + + public ConsoleProxyVO startProxy(long proxyVmId, long startEventId); + public boolean stopProxy(long proxyVmId, long startEventId); + public boolean rebootProxy(long proxyVmId, long startEventId); + public boolean destroyProxy(long proxyVmId, long startEventId); + + public void onLoadReport(ConsoleProxyLoadReportCommand cmd); + public AgentControlAnswer onConsoleAccessAuthentication(ConsoleAccessAuthenticationCommand cmd); + + public void onAgentConnect(HostVO host, StartupCommand cmd); + public void onAgentDisconnect(long agentId, Status state); +}