// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
package com.cloud.hypervisor.ovm3.support;
import java.util.Map;
import javax.naming.ConfigurationException;
import com.cloud.hypervisor.ovm3.objects.CloudStackPluginTest;
import com.cloud.hypervisor.ovm3.objects.ConnectionTest;
import com.cloud.hypervisor.ovm3.objects.LinuxTest;
import com.cloud.hypervisor.ovm3.objects.NetworkTest;
import com.cloud.hypervisor.ovm3.objects.XenTest;
import com.cloud.hypervisor.ovm3.objects.XmlTestResultTest;
import com.cloud.hypervisor.ovm3.resources.Ovm3HypervisorResource;
import com.cloud.hypervisor.ovm3.resources.Ovm3VirtualRoutingResource;
import com.cloud.hypervisor.ovm3.resources.helpers.Ovm3Configuration;
import com.cloud.hypervisor.ovm3.resources.helpers.Ovm3ConfigurationTest;
public class Ovm3SupportTest {
ConnectionTest con = new ConnectionTest();
XmlTestResultTest results = new XmlTestResultTest();
NetworkTest net = new NetworkTest();
LinuxTest linux = new LinuxTest();
XenTest xen = new XenTest();
CloudStackPluginTest csp = new CloudStackPluginTest();
Ovm3HypervisorResource hypervisor = new Ovm3HypervisorResource();
Ovm3VirtualRoutingResource virtualrouting = new Ovm3VirtualRoutingResource();
Ovm3ConfigurationTest configTest = new Ovm3ConfigurationTest();
public ConnectionTest prepConnectionResults() {
ConnectionTest con = new ConnectionTest();
con.setIp(con.getHostName());
return configureResult(con);
}
public Ovm3HypervisorResource prepare(Map<String, Object> params) throws ConfigurationException {
Ovm3Configuration config = new Ovm3Configuration(params);
con = prepConnectionResults();
hypervisor.setConnection(con);
results.basicBooleanTest(hypervisor.configure(config.getAgentName(),
configTest.getParams()));
return hypervisor;
}
public ConnectionTest getConnection() {
return con;
}
public ConnectionTest configureResult(ConnectionTest con) {
con.setMethodResponse("check_dom0_ip",
results.simpleResponseWrap("boolean", "1"));
con.setMethodResponse("ovs_ip_config",
results.simpleResponseWrap("boolean", "1"));
con.setMethodResponse("ovs_local_config",
results.simpleResponseWrap("string", "start"));
con.setMethodResponse("ovs_control_interface",
results.simpleResponseWrap("boolean", "1"));
con.setMethodResponse("update_server_roles",
results.simpleResponseWrap("boolean", "1"));
con.setMethodResponse("discover_network",
results.simpleResponseWrapWrapper(net.getDiscoverNetwork()));
con.setMethodResponse("discover_hardware",
results.simpleResponseWrapWrapper(linux.getDiscoverHw()));
con.setMethodResponse("discover_server",
results.simpleResponseWrapWrapper(linux.getDiscoverserver()));
con.setMethodResponse("discover_mounted_file_systems",
results.simpleResponseWrapWrapper(linux.getDiscoverFs()));
con.setMethodResponse("get_vncport", results.simpleResponseWrapWrapper("5900"));
con.setMethodResponse("echo", results.simpleResponseWrapWrapper("put"));
con.setMethodResponse("list_vms", xen.getMultipleVmsListXML());
con.setMethodResponse("list_vm", xen.getSingleVmListXML());
con.setMethodResponse("get_vm_config", xen.getSingleVmConfigXML());
con.setMethodResponse("create_vm", results.getNil());
con.setMethodResponse("start_vm", results.getNil());
con.setMethodResponse("reboot_vm", results.getNil());
con.setMethodResponse("stop_vm", results.getNil());
con.setMethodResponse("configure_vm", results.getNil());
con.setMethodResponse("migrate_vm", results.getNil());
con.setMethodResponse("copy_file", results.getNil());
con.setMethodResponse("storage_plugin_destroy", results.getNil());
con.setMethodResponse("ping",
results.simpleResponseWrap("boolean", "1"));
con.setMethodResponse("check_domr_ssh",
results.simpleResponseWrap("boolean", "1"));
con.setMethodResponse("check_domr_port",
results.simpleResponseWrap("boolean", "1"));
con.setMethodResponse("exec_domr", csp.getDomrExecXml());
con.setMethodResponse("ovs_domr_upload_file",
results.simpleResponseWrap("boolean", "1"));
con.setMethodResponse("ovs_domU_stats", (csp.getDomuStatsXml()));
con.setMethodResponse("check_dom0_status", (csp.getDom0StorageCheckXml()));
con.setMethodResponse("check_dom0_storage_health", results.simpleResponseWrap("boolean", "1"));
con.setMethodResponse("check_dom0_port", results.simpleResponseWrap("boolean", "1"));
con.setMethodResponse("check_dom0_storage_health_check", (csp.getDom0StorageCheckXml()));
return con;
}
}