cloudstack-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From wid...@apache.org
Subject [06/53] [abbrv] git commit: updated refs/heads/reporter to 5c99784
Date Wed, 15 Apr 2015 08:05:06 GMT
http://git-wip-us.apache.org/repos/asf/cloudstack/blob/01864ef7/plugins/network-elements/bigswitch-vns/src/com/cloud/api/commands/ListBigSwitchVnsDevicesCmd.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/bigswitch-vns/src/com/cloud/api/commands/ListBigSwitchVnsDevicesCmd.java b/plugins/network-elements/bigswitch-vns/src/com/cloud/api/commands/ListBigSwitchVnsDevicesCmd.java
deleted file mode 100644
index 4cde78e..0000000
--- a/plugins/network-elements/bigswitch-vns/src/com/cloud/api/commands/ListBigSwitchVnsDevicesCmd.java
+++ /dev/null
@@ -1,111 +0,0 @@
-// 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.api.commands;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.inject.Inject;
-
-import org.apache.log4j.Logger;
-
-import org.apache.cloudstack.api.APICommand;
-import org.apache.cloudstack.api.ApiConstants;
-import org.apache.cloudstack.api.ApiErrorCode;
-import org.apache.cloudstack.api.BaseListCmd;
-import org.apache.cloudstack.api.Parameter;
-import org.apache.cloudstack.api.ServerApiException;
-import org.apache.cloudstack.api.response.ListResponse;
-import org.apache.cloudstack.api.response.PhysicalNetworkResponse;
-
-import com.cloud.api.response.BigSwitchVnsDeviceResponse;
-import com.cloud.exception.ConcurrentOperationException;
-import com.cloud.exception.InsufficientCapacityException;
-import com.cloud.exception.InvalidParameterValueException;
-import com.cloud.exception.ResourceAllocationException;
-import com.cloud.exception.ResourceUnavailableException;
-import com.cloud.network.BigSwitchVnsDeviceVO;
-import com.cloud.network.element.BigSwitchVnsElementService;
-import com.cloud.utils.exception.CloudRuntimeException;
-
-@APICommand(name = "listBigSwitchVnsDevices", responseObject = BigSwitchVnsDeviceResponse.class, description = "Lists BigSwitch Vns devices", since = "4.1.0",
-        requestHasSensitiveInfo = false, responseHasSensitiveInfo = false)
-public class ListBigSwitchVnsDevicesCmd extends BaseListCmd {
-    public static final Logger s_logger = Logger.getLogger(ListBigSwitchVnsDevicesCmd.class.getName());
-    private static final String s_name = "listbigswitchvnsdeviceresponse";
-    @Inject
-    BigSwitchVnsElementService _bigswitchVnsElementService;
-
-    /////////////////////////////////////////////////////
-    //////////////// API parameters /////////////////////
-    /////////////////////////////////////////////////////
-
-    @Parameter(name = ApiConstants.PHYSICAL_NETWORK_ID, type = CommandType.UUID, entityType = PhysicalNetworkResponse.class, description = "the Physical Network ID")
-    private Long physicalNetworkId;
-
-    @Parameter(name = VnsConstants.BIGSWITCH_VNS_DEVICE_ID,
-               type = CommandType.UUID,
-               entityType = BigSwitchVnsDeviceResponse.class,
-               description = "bigswitch vns device ID")
-    private Long bigswitchVnsDeviceId;
-
-    /////////////////////////////////////////////////////
-    /////////////////// Accessors ///////////////////////
-    /////////////////////////////////////////////////////
-
-    public Long getBigSwitchVnsDeviceId() {
-        return bigswitchVnsDeviceId;
-    }
-
-    public Long getPhysicalNetworkId() {
-        return physicalNetworkId;
-    }
-
-    /////////////////////////////////////////////////////
-    /////////////// API Implementation///////////////////
-    /////////////////////////////////////////////////////
-
-    @Override
-    public void execute() throws ResourceUnavailableException, InsufficientCapacityException, ServerApiException, ConcurrentOperationException,
-        ResourceAllocationException {
-        try {
-            List<BigSwitchVnsDeviceVO> bigswitchDevices = _bigswitchVnsElementService.listBigSwitchVnsDevices(this);
-            ListResponse<BigSwitchVnsDeviceResponse> response = new ListResponse<BigSwitchVnsDeviceResponse>();
-            List<BigSwitchVnsDeviceResponse> bigswitchDevicesResponse = new ArrayList<BigSwitchVnsDeviceResponse>();
-
-            if (bigswitchDevices != null && !bigswitchDevices.isEmpty()) {
-                for (BigSwitchVnsDeviceVO bigswitchDeviceVO : bigswitchDevices) {
-                    BigSwitchVnsDeviceResponse bigswitchDeviceResponse = _bigswitchVnsElementService.createBigSwitchVnsDeviceResponse(bigswitchDeviceVO);
-                    bigswitchDevicesResponse.add(bigswitchDeviceResponse);
-                }
-            }
-
-            response.setResponses(bigswitchDevicesResponse);
-            response.setResponseName(getCommandName());
-            this.setResponseObject(response);
-        } catch (InvalidParameterValueException invalidParamExcp) {
-            throw new ServerApiException(ApiErrorCode.PARAM_ERROR, invalidParamExcp.getMessage());
-        } catch (CloudRuntimeException runtimeExcp) {
-            throw new ServerApiException(ApiErrorCode.INTERNAL_ERROR, runtimeExcp.getMessage());
-        }
-    }
-
-    @Override
-    public String getCommandName() {
-        return s_name;
-    }
-}

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/01864ef7/plugins/network-elements/bigswitch-vns/src/com/cloud/api/commands/VnsConstants.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/bigswitch-vns/src/com/cloud/api/commands/VnsConstants.java b/plugins/network-elements/bigswitch-vns/src/com/cloud/api/commands/VnsConstants.java
deleted file mode 100644
index 7942b6f..0000000
--- a/plugins/network-elements/bigswitch-vns/src/com/cloud/api/commands/VnsConstants.java
+++ /dev/null
@@ -1,35 +0,0 @@
-// 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.api.commands;
-
-import org.apache.cloudstack.network.ExternalNetworkDeviceManager.NetworkDevice;
-
-import com.cloud.network.Network.Provider;
-
-public class VnsConstants {
-    public static final String BIGSWITCH_VNS_DEVICE_ID = "vnsdeviceid";
-    public static final String BIGSWITCH_VNS_DEVICE_NAME = "bigswitchdevicename";
-
-    public static final String EVENT_EXTERNAL_VNS_CONTROLLER_ADD = "PHYSICAL.VNSCONTROLLER.ADD";
-    public static final String EVENT_EXTERNAL_VNS_CONTROLLER_DELETE = "PHYSICAL.VNSCONTROLLER.DELETE";
-
-    public static final Provider BigSwitchVns = new Provider("BigSwitchVns", true);
-
-    public static final NetworkDevice BigSwitchVnsDevice = new NetworkDevice("BigSwitchVns", BigSwitchVns.getName());
-
-}

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/01864ef7/plugins/network-elements/bigswitch-vns/src/com/cloud/api/response/BigSwitchVnsDeviceResponse.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/bigswitch-vns/src/com/cloud/api/response/BigSwitchVnsDeviceResponse.java b/plugins/network-elements/bigswitch-vns/src/com/cloud/api/response/BigSwitchVnsDeviceResponse.java
deleted file mode 100644
index 790ac9c..0000000
--- a/plugins/network-elements/bigswitch-vns/src/com/cloud/api/response/BigSwitchVnsDeviceResponse.java
+++ /dev/null
@@ -1,74 +0,0 @@
-// 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.api.response;
-
-import com.google.gson.annotations.SerializedName;
-
-import org.apache.cloudstack.api.ApiConstants;
-import org.apache.cloudstack.api.BaseResponse;
-import org.apache.cloudstack.api.EntityReference;
-
-import com.cloud.api.commands.VnsConstants;
-import com.cloud.network.BigSwitchVnsDeviceVO;
-import com.cloud.serializer.Param;
-
-@EntityReference(value = BigSwitchVnsDeviceVO.class)
-public class BigSwitchVnsDeviceResponse extends BaseResponse {
-    @SerializedName(VnsConstants.BIGSWITCH_VNS_DEVICE_ID)
-    @Param(description = "device id of the BigSwitch Vns")
-    private String id;
-
-    @SerializedName(ApiConstants.PHYSICAL_NETWORK_ID)
-    @Param(description = "the physical network to which this BigSwitch Vns belongs to")
-    private String physicalNetworkId;
-
-    @SerializedName(ApiConstants.PROVIDER)
-    @Param(description = "name of the provider")
-    private String providerName;
-
-    @SerializedName(VnsConstants.BIGSWITCH_VNS_DEVICE_NAME)
-    @Param(description = "device name")
-    private String deviceName;
-
-    @SerializedName(ApiConstants.HOST_NAME)
-    @Param(description = "the controller Ip address")
-    private String hostName;
-
-    public String getId() {
-        return this.id;
-    }
-
-    public void setId(String vnsDeviceId) {
-        this.id = vnsDeviceId;
-    }
-
-    public void setPhysicalNetworkId(String physicalNetworkId) {
-        this.physicalNetworkId = physicalNetworkId;
-    }
-
-    public void setProviderName(String providerName) {
-        this.providerName = providerName;
-    }
-
-    public void setDeviceName(String deviceName) {
-        this.deviceName = deviceName;
-    }
-
-    public void setHostName(String hostName) {
-        this.hostName = hostName;
-    }
-}

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/01864ef7/plugins/network-elements/bigswitch-vns/src/com/cloud/network/BigSwitchVnsDeviceVO.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/bigswitch-vns/src/com/cloud/network/BigSwitchVnsDeviceVO.java b/plugins/network-elements/bigswitch-vns/src/com/cloud/network/BigSwitchVnsDeviceVO.java
deleted file mode 100644
index 01b5d49..0000000
--- a/plugins/network-elements/bigswitch-vns/src/com/cloud/network/BigSwitchVnsDeviceVO.java
+++ /dev/null
@@ -1,96 +0,0 @@
-// 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.network;
-
-import java.util.UUID;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.Table;
-
-import org.apache.cloudstack.api.InternalIdentity;
-
-@Entity
-@Table(name = "external_bigswitch_vns_devices")
-public class BigSwitchVnsDeviceVO implements InternalIdentity {
-
-    @Id
-    @GeneratedValue(strategy = GenerationType.IDENTITY)
-    @Column(name = "id")
-    private long id;
-
-    @Column(name = "uuid")
-    private String uuid;
-
-    @Column(name = "host_id")
-    private long hostId;
-
-    @Column(name = "physical_network_id")
-    private long physicalNetworkId;
-
-    @Column(name = "provider_name")
-    private String providerName;
-
-    @Column(name = "device_name")
-    private String deviceName;
-
-    public BigSwitchVnsDeviceVO() {
-        this.uuid = UUID.randomUUID().toString();
-    }
-
-    public BigSwitchVnsDeviceVO(long hostId, long physicalNetworkId, String providerName, String deviceName) {
-        super();
-        this.hostId = hostId;
-        this.physicalNetworkId = physicalNetworkId;
-        this.providerName = providerName;
-        this.deviceName = deviceName;
-        this.uuid = UUID.randomUUID().toString();
-    }
-
-    @Override
-    public long getId() {
-        return id;
-    }
-
-    public String getUuid() {
-        return uuid;
-    }
-
-    public void setUuid(String uuid) {
-        this.uuid = uuid;
-    }
-
-    public long getPhysicalNetworkId() {
-        return physicalNetworkId;
-    }
-
-    public long getHostId() {
-        return hostId;
-    }
-
-    public String getProviderName() {
-        return providerName;
-    }
-
-    public String getDeviceName() {
-        return deviceName;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/01864ef7/plugins/network-elements/bigswitch-vns/src/com/cloud/network/bigswitch/AttachmentData.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/bigswitch-vns/src/com/cloud/network/bigswitch/AttachmentData.java b/plugins/network-elements/bigswitch-vns/src/com/cloud/network/bigswitch/AttachmentData.java
deleted file mode 100644
index f1866e2..0000000
--- a/plugins/network-elements/bigswitch-vns/src/com/cloud/network/bigswitch/AttachmentData.java
+++ /dev/null
@@ -1,50 +0,0 @@
-// 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.network.bigswitch;
-
-public class AttachmentData {
-    private Attachment attachment;
-
-    public Attachment getAttachment() {
-        return attachment;
-    }
-
-    public AttachmentData() {
-        this.attachment = new Attachment();
-    }
-
-    public class Attachment {
-        private String id;
-        private String mac;
-
-        public String getId() {
-            return id;
-        }
-
-        public void setId(String id) {
-            this.id = id;
-        }
-
-        public String getMac() {
-            return mac;
-        }
-
-        public void setMac(String mac) {
-            this.mac = mac;
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/01864ef7/plugins/network-elements/bigswitch-vns/src/com/cloud/network/bigswitch/BigSwitchVnsApi.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/bigswitch-vns/src/com/cloud/network/bigswitch/BigSwitchVnsApi.java b/plugins/network-elements/bigswitch-vns/src/com/cloud/network/bigswitch/BigSwitchVnsApi.java
deleted file mode 100644
index 4444599..0000000
--- a/plugins/network-elements/bigswitch-vns/src/com/cloud/network/bigswitch/BigSwitchVnsApi.java
+++ /dev/null
@@ -1,315 +0,0 @@
-// 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.network.bigswitch;
-
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.lang.reflect.Type;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.apache.commons.httpclient.HttpClient;
-import org.apache.commons.httpclient.HttpException;
-import org.apache.commons.httpclient.HttpMethod;
-import org.apache.commons.httpclient.HttpMethodBase;
-import org.apache.commons.httpclient.HttpStatus;
-import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager;
-import org.apache.commons.httpclient.NameValuePair;
-import org.apache.commons.httpclient.cookie.CookiePolicy;
-import org.apache.commons.httpclient.methods.DeleteMethod;
-import org.apache.commons.httpclient.methods.GetMethod;
-import org.apache.commons.httpclient.methods.PostMethod;
-import org.apache.commons.httpclient.methods.PutMethod;
-import org.apache.commons.httpclient.methods.StringRequestEntity;
-import org.apache.log4j.Logger;
-
-import com.google.gson.Gson;
-import com.google.gson.reflect.TypeToken;
-
-public class BigSwitchVnsApi {
-    private static final Logger s_logger = Logger.getLogger(BigSwitchVnsApi.class);
-    private final static String s_protocol = "http";
-    private final static String s_nsBaseUri = "/networkService/v1.1";
-    private final static String CONTENT_TYPE = "Content-Type";
-    private final static String ACCEPT = "Accept";
-    private final static String CONTENT_JSON = "application/json";
-    private final static String HTTP_HEADER_INSTANCE_ID = "INSTANCE_ID";
-    private final static String CLOUDSTACK_INSTANCE_ID = "org.apache.cloudstack";
-    private final static MultiThreadedHttpConnectionManager s_httpClientManager = new MultiThreadedHttpConnectionManager();
-
-    private String _host;
-
-    private HttpClient _client;
-
-    /* This factory method is protected so we can extend this
-     * in the unittests.
-     */
-    protected HttpClient createHttpClient() {
-        return new HttpClient(s_httpClientManager);
-    }
-
-    protected HttpMethod createMethod(String type, String uri, int port) throws BigSwitchVnsApiException {
-        String url;
-        try {
-            url = new URL(s_protocol, _host, port, uri).toString();
-        } catch (MalformedURLException e) {
-            s_logger.error("Unable to build BigSwitch API URL", e);
-            throw new BigSwitchVnsApiException("Unable to build v API URL", e);
-        }
-
-        if ("post".equalsIgnoreCase(type)) {
-            return new PostMethod(url);
-        } else if ("get".equalsIgnoreCase(type)) {
-            return new GetMethod(url);
-        } else if ("delete".equalsIgnoreCase(type)) {
-            return new DeleteMethod(url);
-        } else if ("put".equalsIgnoreCase(type)) {
-            return new PutMethod(url);
-        } else {
-            throw new BigSwitchVnsApiException("Requesting unknown method type");
-        }
-    }
-
-    public BigSwitchVnsApi() {
-        _client = createHttpClient();
-        _client.getParams().setCookiePolicy(CookiePolicy.BROWSER_COMPATIBILITY);
-    }
-
-    public void setControllerAddress(String address) {
-        this._host = address;
-    }
-
-    /**
-     * Logs into the BigSwitch API. The cookie is stored in the <code>_authcookie<code> variable.
-     * <p>
-     * The method returns false if the login failed or the connection could not be made.
-     *
-     */
-    protected void login() throws BigSwitchVnsApiException {
-        return;
-    }
-
-    public void createNetwork(NetworkData network) throws BigSwitchVnsApiException {
-        String uri = s_nsBaseUri + "/tenants/" + network.getNetwork().getTenantId() + "/networks";
-        executeCreateObject(network, new TypeToken<NetworkData>() {
-        }.getType(), uri, Collections.<String, String> emptyMap());
-    }
-
-    public void deleteNetwork(String tenantId, String networkId) throws BigSwitchVnsApiException {
-        String uri = s_nsBaseUri + "/tenants/" + tenantId + "/networks/" + networkId;
-        executeDeleteObject(uri);
-    }
-
-    public void createPort(String networkUuid, PortData port) throws BigSwitchVnsApiException {
-        String uri = s_nsBaseUri + "/tenants/" + port.getPort().getTenantId() + "/networks/" + networkUuid + "/ports";
-        executeCreateObject(port, new TypeToken<PortData>() {
-        }.getType(), uri, Collections.<String, String> emptyMap());
-    }
-
-    public void modifyPort(String networkId, PortData port) throws BigSwitchVnsApiException {
-        String uri = s_nsBaseUri + "/tenants/" + port.getPort().getTenantId() + "/networks/" + networkId + "/ports";
-        executeUpdateObject(port, uri, Collections.<String, String> emptyMap());
-    }
-
-    public void deletePort(String tenantId, String networkId, String portId) throws BigSwitchVnsApiException {
-        String uri = s_nsBaseUri + "/tenants/" + tenantId + "/networks/" + networkId + "/ports/" + portId;
-        executeDeleteObject(uri);
-    }
-
-    public void modifyPortAttachment(String tenantId, String networkId, String portId, AttachmentData attachment) throws BigSwitchVnsApiException {
-        String uri = s_nsBaseUri + "/tenants/" + tenantId + "/networks/" + networkId + "/ports/" + portId + "/attachment";
-        executeUpdateObject(attachment, uri, Collections.<String, String> emptyMap());
-    }
-
-    public void deletePortAttachment(String tenantId, String networkId, String portId) throws BigSwitchVnsApiException {
-        String uri = s_nsBaseUri + "/tenants/" + tenantId + "/networks/" + networkId + "/ports/" + portId + "/attachment";
-        executeDeleteObject(uri);
-    }
-
-    public ControlClusterStatus getControlClusterStatus() throws BigSwitchVnsApiException {
-        String uri = s_nsBaseUri + "/health";
-        ControlClusterStatus ccs = executeRetrieveObject(new TypeToken<ControlClusterStatus>() {
-        }.getType(), uri, 80, null);
-        ccs.setStatus(true);
-
-        return ccs;
-    }
-
-    protected <T> void executeUpdateObject(T newObject, String uri, Map<String, String> parameters) throws BigSwitchVnsApiException {
-        if (_host == null || _host.isEmpty()) {
-            throw new BigSwitchVnsApiException("Hostname is null or empty");
-        }
-
-        Gson gson = new Gson();
-
-        PutMethod pm = (PutMethod)createMethod("put", uri, 80);
-        pm.setRequestHeader(CONTENT_TYPE, CONTENT_JSON);
-        pm.setRequestHeader(ACCEPT, CONTENT_JSON);
-        pm.setRequestHeader(HTTP_HEADER_INSTANCE_ID, CLOUDSTACK_INSTANCE_ID);
-        try {
-            pm.setRequestEntity(new StringRequestEntity(gson.toJson(newObject), CONTENT_JSON, null));
-        } catch (UnsupportedEncodingException e) {
-            throw new BigSwitchVnsApiException("Failed to encode json request body", e);
-        }
-
-        executeMethod(pm);
-
-        if (pm.getStatusCode() != HttpStatus.SC_OK) {
-            String errorMessage = responseToErrorMessage(pm);
-            pm.releaseConnection();
-            s_logger.error("Failed to update object : " + errorMessage);
-            throw new BigSwitchVnsApiException("Failed to update object : " + errorMessage);
-        }
-        pm.releaseConnection();
-    }
-
-    protected <T> void executeCreateObject(T newObject, Type returnObjectType, String uri, Map<String, String> parameters) throws BigSwitchVnsApiException {
-        if (_host == null || _host.isEmpty()) {
-            throw new BigSwitchVnsApiException("Hostname is null or empty");
-        }
-
-        Gson gson = new Gson();
-
-        PostMethod pm = (PostMethod)createMethod("post", uri, 80);
-        pm.setRequestHeader(CONTENT_TYPE, CONTENT_JSON);
-        pm.setRequestHeader(ACCEPT, CONTENT_JSON);
-        pm.setRequestHeader(HTTP_HEADER_INSTANCE_ID, CLOUDSTACK_INSTANCE_ID);
-        try {
-            pm.setRequestEntity(new StringRequestEntity(gson.toJson(newObject), CONTENT_JSON, null));
-        } catch (UnsupportedEncodingException e) {
-            throw new BigSwitchVnsApiException("Failed to encode json request body", e);
-        }
-
-        executeMethod(pm);
-
-        if (pm.getStatusCode() != HttpStatus.SC_OK) {
-            String errorMessage = responseToErrorMessage(pm);
-            pm.releaseConnection();
-            s_logger.error("Failed to create object : " + errorMessage);
-            throw new BigSwitchVnsApiException("Failed to create object : " + errorMessage);
-        }
-        pm.releaseConnection();
-
-        return;
-    }
-
-    protected void executeDeleteObject(String uri) throws BigSwitchVnsApiException {
-        if (_host == null || _host.isEmpty()) {
-            throw new BigSwitchVnsApiException("Hostname is null or empty");
-        }
-
-        DeleteMethod dm = (DeleteMethod)createMethod("delete", uri, 80);
-        dm.setRequestHeader(CONTENT_TYPE, CONTENT_JSON);
-        dm.setRequestHeader(ACCEPT, CONTENT_JSON);
-        dm.setRequestHeader(HTTP_HEADER_INSTANCE_ID, CLOUDSTACK_INSTANCE_ID);
-
-        executeMethod(dm);
-
-        if (dm.getStatusCode() != HttpStatus.SC_OK) {
-            String errorMessage = responseToErrorMessage(dm);
-            dm.releaseConnection();
-            s_logger.error("Failed to delete object : " + errorMessage);
-            throw new BigSwitchVnsApiException("Failed to delete object : " + errorMessage);
-        }
-        dm.releaseConnection();
-    }
-
-    @SuppressWarnings("unchecked")
-    protected <T> T executeRetrieveObject(Type returnObjectType, String uri, int port, Map<String, String> parameters) throws BigSwitchVnsApiException {
-        if (_host == null || _host.isEmpty()) {
-            throw new BigSwitchVnsApiException("Hostname is null or empty");
-        }
-
-        GetMethod gm = (GetMethod)createMethod("get", uri, port);
-        gm.setRequestHeader(CONTENT_TYPE, CONTENT_JSON);
-        gm.setRequestHeader(ACCEPT, CONTENT_JSON);
-        gm.setRequestHeader(HTTP_HEADER_INSTANCE_ID, CLOUDSTACK_INSTANCE_ID);
-
-        if (parameters != null && !parameters.isEmpty()) {
-            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(parameters.size());
-            for (Entry<String, String> e : parameters.entrySet()) {
-                nameValuePairs.add(new NameValuePair(e.getKey(), e.getValue()));
-            }
-            gm.setQueryString(nameValuePairs.toArray(new NameValuePair[0]));
-        }
-
-        executeMethod(gm);
-
-        if (gm.getStatusCode() != HttpStatus.SC_OK) {
-            String errorMessage = responseToErrorMessage(gm);
-            gm.releaseConnection();
-            s_logger.error("Failed to retrieve object : " + errorMessage);
-            throw new BigSwitchVnsApiException("Failed to retrieve object : " + errorMessage);
-        }
-
-        Gson gson = new Gson();
-        T returnValue;
-        try {
-            returnValue = (T)gson.fromJson(gm.getResponseBodyAsString(), returnObjectType);
-        } catch (IOException e) {
-            s_logger.error("IOException while retrieving response body", e);
-            throw new BigSwitchVnsApiException(e);
-        } finally {
-            gm.releaseConnection();
-        }
-        return returnValue;
-    }
-
-    protected void executeMethod(HttpMethodBase method) throws BigSwitchVnsApiException {
-        try {
-            _client.executeMethod(method);
-            if (method.getStatusCode() == HttpStatus.SC_UNAUTHORIZED) {
-                method.releaseConnection();
-                // login and try again
-                login();
-                _client.executeMethod(method);
-            }
-        } catch (HttpException e) {
-            s_logger.error("HttpException caught while trying to connect to the BigSwitch Controller", e);
-            method.releaseConnection();
-            throw new BigSwitchVnsApiException("API call to BigSwitch Controller Failed", e);
-        } catch (IOException e) {
-            s_logger.error("IOException caught while trying to connect to the BigSwitch Controller", e);
-            method.releaseConnection();
-            throw new BigSwitchVnsApiException("API call to BigSwitch Controller Failed", e);
-        }
-    }
-
-    private String responseToErrorMessage(HttpMethodBase method) {
-        assert method.isRequestSent() : "no use getting an error message unless the request is sent";
-
-        if ("text/html".equals(method.getResponseHeader(CONTENT_TYPE).getValue())) {
-            // The error message is the response content
-            // Safety margin of 1024 characters, anything longer is probably useless
-            // and will clutter the logs
-            try {
-                return method.getResponseBodyAsString(1024);
-            } catch (IOException e) {
-                s_logger.debug("Error while loading response body", e);
-            }
-        }
-
-        // The default
-        return method.getStatusText();
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/01864ef7/plugins/network-elements/bigswitch-vns/src/com/cloud/network/bigswitch/BigSwitchVnsApiException.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/bigswitch-vns/src/com/cloud/network/bigswitch/BigSwitchVnsApiException.java b/plugins/network-elements/bigswitch-vns/src/com/cloud/network/bigswitch/BigSwitchVnsApiException.java
deleted file mode 100644
index d03dc7c..0000000
--- a/plugins/network-elements/bigswitch-vns/src/com/cloud/network/bigswitch/BigSwitchVnsApiException.java
+++ /dev/null
@@ -1,38 +0,0 @@
-// 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.network.bigswitch;
-
-public class BigSwitchVnsApiException extends Exception {
-
-    private static final long serialVersionUID = -5864952230870945604L;
-
-    public BigSwitchVnsApiException() {
-    }
-
-    public BigSwitchVnsApiException(String message) {
-        super(message);
-    }
-
-    public BigSwitchVnsApiException(Throwable cause) {
-        super(cause);
-    }
-
-    public BigSwitchVnsApiException(String message, Throwable cause) {
-        super(message, cause);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/01864ef7/plugins/network-elements/bigswitch-vns/src/com/cloud/network/bigswitch/ControlClusterStatus.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/bigswitch-vns/src/com/cloud/network/bigswitch/ControlClusterStatus.java b/plugins/network-elements/bigswitch-vns/src/com/cloud/network/bigswitch/ControlClusterStatus.java
deleted file mode 100644
index 78ac023..0000000
--- a/plugins/network-elements/bigswitch-vns/src/com/cloud/network/bigswitch/ControlClusterStatus.java
+++ /dev/null
@@ -1,29 +0,0 @@
-// 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.network.bigswitch;
-
-public class ControlClusterStatus {
-    private boolean healthy;
-
-    public boolean getStatus() {
-        return healthy;
-    }
-
-    public void setStatus(boolean status) {
-        this.healthy = status;
-    }
-}

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/01864ef7/plugins/network-elements/bigswitch-vns/src/com/cloud/network/bigswitch/NetworkData.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/bigswitch-vns/src/com/cloud/network/bigswitch/NetworkData.java b/plugins/network-elements/bigswitch-vns/src/com/cloud/network/bigswitch/NetworkData.java
deleted file mode 100644
index e44c0f4..0000000
--- a/plugins/network-elements/bigswitch-vns/src/com/cloud/network/bigswitch/NetworkData.java
+++ /dev/null
@@ -1,86 +0,0 @@
-// 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.network.bigswitch;
-
-public class NetworkData {
-    private final Network network;
-
-    public Network getNetwork() {
-        return network;
-    }
-
-    public NetworkData() {
-        network = new Network();
-    }
-
-    public class Network {
-        private String id;
-        private String name;
-        private String tenantId;
-        private int vlan;
-        private String gateway;
-        private String state;
-
-        public String getUuid() {
-            return id;
-        }
-
-        public void setUuid(String id) {
-            this.id = id;
-        }
-
-        public String getDisplayName() {
-            return name;
-        }
-
-        public void setDisplay_name(String displayName) {
-            name = displayName;
-        }
-
-        public String getTenantId() {
-            return tenantId;
-        }
-
-        public void setTenantId(String tenantId) {
-            this.tenantId = tenantId;
-        }
-
-        public int getVlan() {
-            return vlan;
-        }
-
-        public void setVlan(int vlan) {
-            this.vlan = vlan;
-        }
-
-        public String getGateway() {
-            return gateway;
-        }
-
-        public void setGateway(String gateway) {
-            this.gateway = gateway;
-        }
-
-        public String getState() {
-            return state;
-        }
-
-        public void setState(String state) {
-            this.state = state;
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/01864ef7/plugins/network-elements/bigswitch-vns/src/com/cloud/network/bigswitch/PortData.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/bigswitch-vns/src/com/cloud/network/bigswitch/PortData.java b/plugins/network-elements/bigswitch-vns/src/com/cloud/network/bigswitch/PortData.java
deleted file mode 100644
index d228d37..0000000
--- a/plugins/network-elements/bigswitch-vns/src/com/cloud/network/bigswitch/PortData.java
+++ /dev/null
@@ -1,68 +0,0 @@
-// 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.network.bigswitch;
-
-public class PortData {
-    private Port port;
-
-    public Port getPort() {
-        return this.port;
-    }
-
-    public PortData() {
-        this.port = new Port();
-    }
-
-    public class Port {
-        private String id;
-        private String name;
-        private String tenantId;
-        private String state;
-
-        public String getId() {
-            return id;
-        }
-
-        public void setId(String id) {
-            this.id = id;
-        }
-
-        public String getName() {
-            return name;
-        }
-
-        public void setName(String name) {
-            this.name = name;
-        }
-
-        public String getTenantId() {
-            return tenantId;
-        }
-
-        public void setTenantId(String tenantId) {
-            this.tenantId = tenantId;
-        }
-
-        public String getState() {
-            return state;
-        }
-
-        public void setState(String state) {
-            this.state = state;
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/01864ef7/plugins/network-elements/bigswitch-vns/src/com/cloud/network/dao/BigSwitchVnsDao.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/bigswitch-vns/src/com/cloud/network/dao/BigSwitchVnsDao.java b/plugins/network-elements/bigswitch-vns/src/com/cloud/network/dao/BigSwitchVnsDao.java
deleted file mode 100644
index da4e003..0000000
--- a/plugins/network-elements/bigswitch-vns/src/com/cloud/network/dao/BigSwitchVnsDao.java
+++ /dev/null
@@ -1,32 +0,0 @@
-// 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.network.dao;
-
-import java.util.List;
-
-import com.cloud.network.BigSwitchVnsDeviceVO;
-import com.cloud.utils.db.GenericDao;
-
-public interface BigSwitchVnsDao extends GenericDao<BigSwitchVnsDeviceVO, Long> {
-    /**
-     * list all the bigswitch Vns devices added in to this physical network
-     * @param physicalNetworkId physical Network Id
-     * @return list of BigSwitchVnsDeviceVO for this physical network.
-     */
-    List<BigSwitchVnsDeviceVO> listByPhysicalNetwork(long physicalNetworkId);
-
-}

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/01864ef7/plugins/network-elements/bigswitch-vns/src/com/cloud/network/dao/BigSwitchVnsDaoImpl.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/bigswitch-vns/src/com/cloud/network/dao/BigSwitchVnsDaoImpl.java b/plugins/network-elements/bigswitch-vns/src/com/cloud/network/dao/BigSwitchVnsDaoImpl.java
deleted file mode 100644
index 0779ea2..0000000
--- a/plugins/network-elements/bigswitch-vns/src/com/cloud/network/dao/BigSwitchVnsDaoImpl.java
+++ /dev/null
@@ -1,50 +0,0 @@
-// 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.network.dao;
-
-import java.util.List;
-
-import javax.ejb.Local;
-
-import org.springframework.stereotype.Component;
-
-import com.cloud.network.BigSwitchVnsDeviceVO;
-import com.cloud.utils.db.GenericDaoBase;
-import com.cloud.utils.db.SearchBuilder;
-import com.cloud.utils.db.SearchCriteria;
-import com.cloud.utils.db.SearchCriteria.Op;
-
-@Component
-@Local(value = BigSwitchVnsDao.class)
-public class BigSwitchVnsDaoImpl extends GenericDaoBase<BigSwitchVnsDeviceVO, Long> implements BigSwitchVnsDao {
-
-    protected final SearchBuilder<BigSwitchVnsDeviceVO> physicalNetworkIdSearch;
-
-    public BigSwitchVnsDaoImpl() {
-        physicalNetworkIdSearch = createSearchBuilder();
-        physicalNetworkIdSearch.and("physicalNetworkId", physicalNetworkIdSearch.entity().getPhysicalNetworkId(), Op.EQ);
-        physicalNetworkIdSearch.done();
-    }
-
-    @Override
-    public List<BigSwitchVnsDeviceVO> listByPhysicalNetwork(long physicalNetworkId) {
-        SearchCriteria<BigSwitchVnsDeviceVO> sc = physicalNetworkIdSearch.create();
-        sc.setParameters("physicalNetworkId", physicalNetworkId);
-        return search(sc, null);
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/01864ef7/plugins/network-elements/bigswitch-vns/src/com/cloud/network/element/BigSwitchVnsElement.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/bigswitch-vns/src/com/cloud/network/element/BigSwitchVnsElement.java b/plugins/network-elements/bigswitch-vns/src/com/cloud/network/element/BigSwitchVnsElement.java
deleted file mode 100644
index c2b6032..0000000
--- a/plugins/network-elements/bigswitch-vns/src/com/cloud/network/element/BigSwitchVnsElement.java
+++ /dev/null
@@ -1,472 +0,0 @@
-// 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.network.element;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
-
-import javax.ejb.Local;
-import javax.inject.Inject;
-import javax.naming.ConfigurationException;
-
-import org.apache.log4j.Logger;
-import org.springframework.stereotype.Component;
-
-import org.apache.cloudstack.network.ExternalNetworkDeviceManager.NetworkDevice;
-
-import com.cloud.agent.AgentManager;
-import com.cloud.agent.api.CreateVnsPortAnswer;
-import com.cloud.agent.api.CreateVnsPortCommand;
-import com.cloud.agent.api.DeleteVnsPortAnswer;
-import com.cloud.agent.api.DeleteVnsPortCommand;
-import com.cloud.agent.api.StartupBigSwitchVnsCommand;
-import com.cloud.agent.api.StartupCommand;
-import com.cloud.api.ApiDBUtils;
-import com.cloud.api.commands.AddBigSwitchVnsDeviceCmd;
-import com.cloud.api.commands.DeleteBigSwitchVnsDeviceCmd;
-import com.cloud.api.commands.ListBigSwitchVnsDevicesCmd;
-import com.cloud.api.commands.VnsConstants;
-import com.cloud.api.response.BigSwitchVnsDeviceResponse;
-import com.cloud.configuration.ConfigurationManager;
-import com.cloud.dc.dao.VlanDao;
-import com.cloud.deploy.DeployDestination;
-import com.cloud.exception.ConcurrentOperationException;
-import com.cloud.exception.InsufficientCapacityException;
-import com.cloud.exception.InvalidParameterValueException;
-import com.cloud.exception.ResourceUnavailableException;
-import com.cloud.host.DetailVO;
-import com.cloud.host.Host;
-import com.cloud.host.HostVO;
-import com.cloud.host.dao.HostDao;
-import com.cloud.host.dao.HostDetailsDao;
-import com.cloud.network.BigSwitchVnsDeviceVO;
-import com.cloud.network.Network;
-import com.cloud.network.Network.Capability;
-import com.cloud.network.Network.Provider;
-import com.cloud.network.Network.Service;
-import com.cloud.network.NetworkModel;
-import com.cloud.network.Networks;
-import com.cloud.network.Networks.BroadcastDomainType;
-import com.cloud.network.PhysicalNetwork;
-import com.cloud.network.PhysicalNetworkServiceProvider;
-import com.cloud.network.dao.BigSwitchVnsDao;
-import com.cloud.network.dao.NetworkDao;
-import com.cloud.network.dao.NetworkServiceMapDao;
-import com.cloud.network.dao.NetworkVO;
-import com.cloud.network.dao.PhysicalNetworkDao;
-import com.cloud.network.dao.PhysicalNetworkServiceProviderDao;
-import com.cloud.network.dao.PhysicalNetworkServiceProviderVO;
-import com.cloud.network.dao.PhysicalNetworkVO;
-import com.cloud.network.resource.BigSwitchVnsResource;
-import com.cloud.offering.NetworkOffering;
-import com.cloud.resource.ResourceManager;
-import com.cloud.resource.ResourceStateAdapter;
-import com.cloud.resource.ServerResource;
-import com.cloud.resource.UnableDeleteHostException;
-import com.cloud.utils.component.AdapterBase;
-import com.cloud.utils.db.DB;
-import com.cloud.utils.db.Transaction;
-import com.cloud.utils.db.TransactionCallback;
-import com.cloud.utils.db.TransactionStatus;
-import com.cloud.utils.exception.CloudRuntimeException;
-import com.cloud.vm.NicProfile;
-import com.cloud.vm.ReservationContext;
-import com.cloud.vm.VirtualMachineProfile;
-
-@Component
-@Local(value = {NetworkElement.class, ConnectivityProvider.class})
-public class BigSwitchVnsElement extends AdapterBase implements BigSwitchVnsElementService, ConnectivityProvider, ResourceStateAdapter {
-    private static final Logger s_logger = Logger.getLogger(BigSwitchVnsElement.class);
-
-    private static final Map<Service, Map<Capability, String>> capabilities = setCapabilities();
-
-    @Inject
-    ResourceManager _resourceMgr;
-    @Inject
-    PhysicalNetworkDao _physicalNetworkDao;
-    @Inject
-    PhysicalNetworkServiceProviderDao _physicalNetworkServiceProviderDao;
-    @Inject
-    BigSwitchVnsDao _bigswitchVnsDao;
-    @Inject
-    HostDetailsDao _hostDetailsDao;
-    @Inject
-    HostDao _hostDao;
-    @Inject
-    AgentManager _agentMgr;
-    @Inject
-    NetworkDao _networkDao;
-    @Inject
-    NetworkModel _networkModel;
-    @Inject
-    ConfigurationManager _configMgr;
-    @Inject
-    NetworkServiceMapDao _ntwkSrvcDao;
-    @Inject
-    VlanDao _vlanDao;
-
-    @Override
-    public Map<Service, Map<Capability, String>> getCapabilities() {
-        return capabilities;
-    }
-
-    @Override
-    public Provider getProvider() {
-        return VnsConstants.BigSwitchVns;
-    }
-
-    private boolean canHandle(Network network, Service service) {
-        s_logger.debug("Checking if BigSwitchVnsElement can handle service " + service.getName() + " on network " + network.getDisplayText());
-        if (network.getBroadcastDomainType() != BroadcastDomainType.Lswitch) {
-            return false;
-        }
-
-        if (!_networkModel.isProviderForNetwork(getProvider(), network.getId())) {
-            s_logger.debug("BigSwitchVnsElement is not a provider for network " + network.getDisplayText());
-            return false;
-        }
-
-        if (!_ntwkSrvcDao.canProviderSupportServiceInNetwork(network.getId(), service, VnsConstants.BigSwitchVns)) {
-            s_logger.debug("BigSwitchVnsElement can't provide the " + service.getName() + " service on network " + network.getDisplayText());
-            return false;
-        }
-
-        return true;
-    }
-
-    @Override
-    public boolean configure(String name, Map<String, Object> params) throws ConfigurationException {
-        super.configure(name, params);
-        _resourceMgr.registerResourceStateAdapter(this.getClass().getSimpleName(), this);
-        return true;
-    }
-
-    @Override
-    public boolean implement(Network network, NetworkOffering offering, DeployDestination dest, ReservationContext context) throws ConcurrentOperationException,
-        ResourceUnavailableException, InsufficientCapacityException {
-        s_logger.debug("entering BigSwitchVnsElement implement function for network " + network.getDisplayText() + " (state " + network.getState() + ")");
-
-        return true;
-    }
-
-    @Override
-    public boolean prepare(Network network, NicProfile nic, VirtualMachineProfile vm, DeployDestination dest, ReservationContext context)
-        throws ConcurrentOperationException, ResourceUnavailableException, InsufficientCapacityException {
-
-        if (!canHandle(network, Service.Connectivity)) {
-            return false;
-        }
-
-        if (network.getBroadcastUri() == null) {
-            s_logger.error("Nic has no broadcast Uri with the LSwitch Uuid");
-            return false;
-        }
-
-        String mac = nic.getMacAddress();
-        String tenantId = context.getDomain().getName();
-
-        List<BigSwitchVnsDeviceVO> devices = _bigswitchVnsDao.listByPhysicalNetwork(network.getPhysicalNetworkId());
-        if (devices.isEmpty()) {
-            s_logger.error("No BigSwitch Controller on physical network " + network.getPhysicalNetworkId());
-            return false;
-        }
-        BigSwitchVnsDeviceVO bigswitchVnsDevice = devices.get(0);
-        HostVO bigswitchVnsHost = _hostDao.findById(bigswitchVnsDevice.getHostId());
-
-        CreateVnsPortCommand cmd = new CreateVnsPortCommand(BroadcastDomainType.getValue(network.getBroadcastUri()), vm.getUuid(), tenantId, nic.getName(), mac);
-        CreateVnsPortAnswer answer = (CreateVnsPortAnswer)_agentMgr.easySend(bigswitchVnsHost.getId(), cmd);
-
-        if (answer == null || !answer.getResult()) {
-            s_logger.error("CreatePortCommand failed");
-            return false;
-        }
-
-        return true;
-    }
-
-    @Override
-    public boolean release(Network network, NicProfile nic, VirtualMachineProfile vm, ReservationContext context) throws ConcurrentOperationException,
-        ResourceUnavailableException {
-
-        if (!canHandle(network, Service.Connectivity)) {
-            return false;
-        }
-
-        if (network.getBroadcastUri() == null) {
-            s_logger.error("Nic has no broadcast Uri with the LSwitch Uuid");
-            return false;
-        }
-
-        String tenantId = context.getDomain().getName();
-
-        List<BigSwitchVnsDeviceVO> devices = _bigswitchVnsDao.listByPhysicalNetwork(network.getPhysicalNetworkId());
-        if (devices.isEmpty()) {
-            s_logger.error("No BigSwitch Controller on physical network " + network.getPhysicalNetworkId());
-            return false;
-        }
-        BigSwitchVnsDeviceVO bigswitchVnsDevice = devices.get(0);
-        HostVO bigswitchVnsHost = _hostDao.findById(bigswitchVnsDevice.getHostId());
-
-        DeleteVnsPortCommand cmd = new DeleteVnsPortCommand(BroadcastDomainType.getValue(network.getBroadcastUri()), vm.getUuid(), tenantId);
-        DeleteVnsPortAnswer answer = (DeleteVnsPortAnswer)_agentMgr.easySend(bigswitchVnsHost.getId(), cmd);
-
-        if (answer == null || !answer.getResult()) {
-            s_logger.error("DeletePortCommand failed");
-            return false;
-        }
-
-        return true;
-    }
-
-    @Override
-    public boolean shutdown(Network network, ReservationContext context, boolean cleanup) throws ConcurrentOperationException, ResourceUnavailableException {
-        if (!canHandle(network, Service.Connectivity)) {
-            return false;
-        }
-
-        return true;
-    }
-
-    @Override
-    public boolean destroy(Network network, ReservationContext context) throws ConcurrentOperationException, ResourceUnavailableException {
-        if (!canHandle(network, Service.Connectivity)) {
-            return false;
-        }
-
-        return true;
-    }
-
-    @Override
-    public boolean isReady(PhysicalNetworkServiceProvider provider) {
-        return true;
-    }
-
-    @Override
-    public boolean shutdownProviderInstances(PhysicalNetworkServiceProvider provider, ReservationContext context) throws ConcurrentOperationException,
-        ResourceUnavailableException {
-        // Nothing to do here.
-        return true;
-    }
-
-    @Override
-    public boolean canEnableIndividualServices() {
-        return true;
-    }
-
-    @Override
-    public boolean verifyServicesCombination(Set<Service> services) {
-        if (!services.contains(Service.Connectivity)) {
-            s_logger.warn("Unable to provide services without Connectivity service enabled for this element");
-            return false;
-        }
-        return true;
-    }
-
-    private static Map<Service, Map<Capability, String>> setCapabilities() {
-        Map<Service, Map<Capability, String>> capabilities = new HashMap<Service, Map<Capability, String>>();
-
-        // L2 Support : SDN provisioning
-        capabilities.put(Service.Connectivity, null);
-
-        return capabilities;
-    }
-
-    @Override
-    @DB
-    public BigSwitchVnsDeviceVO addBigSwitchVnsDevice(AddBigSwitchVnsDeviceCmd cmd) {
-        ServerResource resource = new BigSwitchVnsResource();
-        final String deviceName = VnsConstants.BigSwitchVns.getName();
-        NetworkDevice networkDevice = NetworkDevice.getNetworkDevice(deviceName);
-        final Long physicalNetworkId = cmd.getPhysicalNetworkId();
-
-        PhysicalNetworkVO physicalNetwork = _physicalNetworkDao.findById(physicalNetworkId);
-        if (physicalNetwork == null) {
-            throw new InvalidParameterValueException("Could not find phyical network with ID: " + physicalNetworkId);
-        }
-        long zoneId = physicalNetwork.getDataCenterId();
-
-        final PhysicalNetworkServiceProviderVO ntwkSvcProvider =
-            _physicalNetworkServiceProviderDao.findByServiceProvider(physicalNetwork.getId(), networkDevice.getNetworkServiceProvder());
-        if (ntwkSvcProvider == null) {
-            throw new CloudRuntimeException("Network Service Provider: " + networkDevice.getNetworkServiceProvder() + " is not enabled in the physical network: " +
-                physicalNetworkId + "to add this device");
-        } else if (ntwkSvcProvider.getState() == PhysicalNetworkServiceProvider.State.Shutdown) {
-            throw new CloudRuntimeException("Network Service Provider: " + ntwkSvcProvider.getProviderName() + " is in shutdown state in the physical network: " +
-                physicalNetworkId + "to add this device");
-        }
-
-        if (_bigswitchVnsDao.listByPhysicalNetwork(physicalNetworkId).size() != 0) {
-            throw new CloudRuntimeException("A BigSwitch controller device is already configured on this physical network");
-        }
-
-        Map<String, String> params = new HashMap<String, String>();
-        params.put("guid", UUID.randomUUID().toString());
-        params.put("zoneId", String.valueOf(physicalNetwork.getDataCenterId()));
-        params.put("physicalNetworkId", String.valueOf(physicalNetwork.getId()));
-        params.put("name", "BigSwitch Controller - " + cmd.getHost());
-        params.put("ip", cmd.getHost());
-        // FIXME What to do with multiple isolation types
-        params.put("transportzoneisotype", physicalNetwork.getIsolationMethods().get(0).toLowerCase());
-
-        Map<String, Object> hostdetails = new HashMap<String, Object>();
-        hostdetails.putAll(params);
-
-        try {
-            resource.configure(cmd.getHost(), hostdetails);
-
-            final Host host = _resourceMgr.addHost(zoneId, resource, Host.Type.L2Networking, params);
-            if (host != null) {
-                return Transaction.execute(new TransactionCallback<BigSwitchVnsDeviceVO>() {
-                    @Override
-                    public BigSwitchVnsDeviceVO doInTransaction(TransactionStatus status) {
-                        BigSwitchVnsDeviceVO bigswitchVnsDevice =
-                            new BigSwitchVnsDeviceVO(host.getId(), physicalNetworkId, ntwkSvcProvider.getProviderName(), deviceName);
-                        _bigswitchVnsDao.persist(bigswitchVnsDevice);
-
-                        DetailVO detail = new DetailVO(host.getId(), "bigswitchvnsdeviceid", String.valueOf(bigswitchVnsDevice.getId()));
-                        _hostDetailsDao.persist(detail);
-
-                        return bigswitchVnsDevice;
-                    }
-                });
-            } else {
-                throw new CloudRuntimeException("Failed to add BigSwitch Vns Device due to internal error.");
-            }
-        } catch (ConfigurationException e) {
-            throw new CloudRuntimeException(e.getMessage());
-        }
-    }
-
-    @Override
-    public BigSwitchVnsDeviceResponse createBigSwitchVnsDeviceResponse(BigSwitchVnsDeviceVO bigswitchVnsDeviceVO) {
-        HostVO bigswitchVnsHost = _hostDao.findById(bigswitchVnsDeviceVO.getHostId());
-        _hostDao.loadDetails(bigswitchVnsHost);
-
-        BigSwitchVnsDeviceResponse response = new BigSwitchVnsDeviceResponse();
-        response.setDeviceName(bigswitchVnsDeviceVO.getDeviceName());
-        PhysicalNetwork pnw = ApiDBUtils.findPhysicalNetworkById(bigswitchVnsDeviceVO.getPhysicalNetworkId());
-        if (pnw != null) {
-            response.setPhysicalNetworkId(pnw.getUuid());
-        }
-        response.setId(bigswitchVnsDeviceVO.getUuid());
-        response.setProviderName(bigswitchVnsDeviceVO.getProviderName());
-        response.setHostName(bigswitchVnsHost.getDetail("ip"));
-        response.setObjectName("bigswitchvnsdevice");
-        return response;
-    }
-
-    @Override
-    public boolean deleteBigSwitchVnsDevice(DeleteBigSwitchVnsDeviceCmd cmd) {
-        Long bigswitchVnsDeviceId = cmd.getBigSwitchVnsDeviceId();
-        BigSwitchVnsDeviceVO bigswitchVnsDevice = _bigswitchVnsDao.findById(bigswitchVnsDeviceId);
-        if (bigswitchVnsDevice == null) {
-            throw new InvalidParameterValueException("Could not find a BigSwitch Controller with id " + bigswitchVnsDevice);
-        }
-
-        // Find the physical network we work for
-        Long physicalNetworkId = bigswitchVnsDevice.getPhysicalNetworkId();
-        PhysicalNetworkVO physicalNetwork = _physicalNetworkDao.findById(physicalNetworkId);
-        if (physicalNetwork != null) {
-            List<NetworkVO> networkList = _networkDao.listByPhysicalNetwork(physicalNetworkId);
-
-            // Networks with broadcast type lswitch are ours
-            for (NetworkVO network : networkList) {
-                if (network.getBroadcastDomainType() == Networks.BroadcastDomainType.Lswitch) {
-                    if ((network.getState() != Network.State.Shutdown) && (network.getState() != Network.State.Destroy)) {
-                        throw new CloudRuntimeException("This BigSwitch Controller device can not be deleted as there are one or more "
-                            + "logical networks provisioned by cloudstack.");
-                    }
-                }
-            }
-        }
-
-        HostVO bigswitchHost = _hostDao.findById(bigswitchVnsDevice.getHostId());
-        Long hostId = bigswitchHost.getId();
-
-        //bigswitchHost.setResourceState(ResourceState.Maintenance);
-        //_hostDao.update(hostId, bigswitchHost);
-        _hostDao.remove(hostId);
-        _resourceMgr.deleteHost(hostId, false, false);
-
-        _bigswitchVnsDao.remove(bigswitchVnsDeviceId);
-        return true;
-    }
-
-    @Override
-    public List<BigSwitchVnsDeviceVO> listBigSwitchVnsDevices(ListBigSwitchVnsDevicesCmd cmd) {
-        Long physicalNetworkId = cmd.getPhysicalNetworkId();
-        Long bigswitchVnsDeviceId = cmd.getBigSwitchVnsDeviceId();
-        List<BigSwitchVnsDeviceVO> responseList = new ArrayList<BigSwitchVnsDeviceVO>();
-
-        if (physicalNetworkId == null && bigswitchVnsDeviceId == null) {
-            throw new InvalidParameterValueException("Either physical network Id or bigswitch device Id must be specified");
-        }
-
-        if (bigswitchVnsDeviceId != null) {
-            BigSwitchVnsDeviceVO bigswitchVnsDevice = _bigswitchVnsDao.findById(bigswitchVnsDeviceId);
-            if (bigswitchVnsDevice == null) {
-                throw new InvalidParameterValueException("Could not find BigSwitch controller with id: " + bigswitchVnsDevice);
-            }
-            responseList.add(bigswitchVnsDevice);
-        } else {
-            PhysicalNetworkVO physicalNetwork = _physicalNetworkDao.findById(physicalNetworkId);
-            if (physicalNetwork == null) {
-                throw new InvalidParameterValueException("Could not find a physical network with id: " + physicalNetworkId);
-            }
-            responseList = _bigswitchVnsDao.listByPhysicalNetwork(physicalNetworkId);
-        }
-
-        return responseList;
-    }
-
-    @Override
-    public HostVO createHostVOForConnectedAgent(HostVO host, StartupCommand[] cmd) {
-        // TODO Auto-generated method stub
-        return null;
-    }
-
-    @Override
-    public HostVO createHostVOForDirectConnectAgent(HostVO host, StartupCommand[] startup, ServerResource resource, Map<String, String> details, List<String> hostTags) {
-        if (!(startup[0] instanceof StartupBigSwitchVnsCommand)) {
-            return null;
-        }
-        host.setType(Host.Type.L2Networking);
-        return host;
-    }
-
-    @Override
-    public DeleteHostAnswer deleteHost(HostVO host, boolean isForced, boolean isForceDeleteStorage) throws UnableDeleteHostException {
-        if (!(host.getType() == Host.Type.L2Networking)) {
-            return null;
-        }
-        return new DeleteHostAnswer(true);
-    }
-
-    @Override
-    public List<Class<?>> getCommands() {
-        List<Class<?>> cmdList = new ArrayList<Class<?>>();
-        cmdList.add(AddBigSwitchVnsDeviceCmd.class);
-        cmdList.add(DeleteBigSwitchVnsDeviceCmd.class);
-        cmdList.add(ListBigSwitchVnsDevicesCmd.class);
-        return cmdList;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/01864ef7/plugins/network-elements/bigswitch-vns/src/com/cloud/network/element/BigSwitchVnsElementService.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/bigswitch-vns/src/com/cloud/network/element/BigSwitchVnsElementService.java b/plugins/network-elements/bigswitch-vns/src/com/cloud/network/element/BigSwitchVnsElementService.java
deleted file mode 100644
index edcf6a1..0000000
--- a/plugins/network-elements/bigswitch-vns/src/com/cloud/network/element/BigSwitchVnsElementService.java
+++ /dev/null
@@ -1,38 +0,0 @@
-// 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.network.element;
-
-import java.util.List;
-
-import com.cloud.api.commands.AddBigSwitchVnsDeviceCmd;
-import com.cloud.api.commands.DeleteBigSwitchVnsDeviceCmd;
-import com.cloud.api.commands.ListBigSwitchVnsDevicesCmd;
-import com.cloud.api.response.BigSwitchVnsDeviceResponse;
-import com.cloud.network.BigSwitchVnsDeviceVO;
-import com.cloud.utils.component.PluggableService;
-
-public interface BigSwitchVnsElementService extends PluggableService {
-
-    public BigSwitchVnsDeviceVO addBigSwitchVnsDevice(AddBigSwitchVnsDeviceCmd cmd);
-
-    public BigSwitchVnsDeviceResponse createBigSwitchVnsDeviceResponse(BigSwitchVnsDeviceVO bigswitchDeviceVO);
-
-    boolean deleteBigSwitchVnsDevice(DeleteBigSwitchVnsDeviceCmd cmd);
-
-    List<BigSwitchVnsDeviceVO> listBigSwitchVnsDevices(ListBigSwitchVnsDevicesCmd cmd);
-
-}

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/01864ef7/plugins/network-elements/bigswitch-vns/src/com/cloud/network/guru/BigSwitchVnsGuestNetworkGuru.java
----------------------------------------------------------------------
diff --git a/plugins/network-elements/bigswitch-vns/src/com/cloud/network/guru/BigSwitchVnsGuestNetworkGuru.java b/plugins/network-elements/bigswitch-vns/src/com/cloud/network/guru/BigSwitchVnsGuestNetworkGuru.java
deleted file mode 100644
index cff7585..0000000
--- a/plugins/network-elements/bigswitch-vns/src/com/cloud/network/guru/BigSwitchVnsGuestNetworkGuru.java
+++ /dev/null
@@ -1,240 +0,0 @@
-/*
- * 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.network.guru;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.List;
-
-import javax.ejb.Local;
-import javax.inject.Inject;
-
-import org.apache.log4j.Logger;
-
-import com.cloud.agent.AgentManager;
-import com.cloud.agent.api.CreateVnsNetworkAnswer;
-import com.cloud.agent.api.CreateVnsNetworkCommand;
-import com.cloud.agent.api.DeleteVnsNetworkCommand;
-import com.cloud.dc.DataCenter;
-import com.cloud.dc.DataCenter.NetworkType;
-import com.cloud.dc.dao.DataCenterDao;
-import com.cloud.deploy.DeployDestination;
-import com.cloud.deploy.DeploymentPlan;
-import com.cloud.exception.InsufficientAddressCapacityException;
-import com.cloud.exception.InsufficientVirtualNetworkCapacityException;
-import com.cloud.host.HostVO;
-import com.cloud.host.dao.HostDao;
-import com.cloud.host.dao.HostDetailsDao;
-import com.cloud.network.BigSwitchVnsDeviceVO;
-import com.cloud.network.Network;
-import com.cloud.network.Network.GuestType;
-import com.cloud.network.Network.State;
-import com.cloud.network.NetworkProfile;
-import com.cloud.network.Networks.BroadcastDomainType;
-import com.cloud.network.PhysicalNetwork;
-import com.cloud.network.PhysicalNetwork.IsolationMethod;
-import com.cloud.network.dao.BigSwitchVnsDao;
-import com.cloud.network.dao.NetworkVO;
-import com.cloud.network.dao.PhysicalNetworkDao;
-import com.cloud.network.dao.PhysicalNetworkVO;
-import com.cloud.offering.NetworkOffering;
-import com.cloud.resource.ResourceManager;
-import com.cloud.user.Account;
-import com.cloud.user.dao.AccountDao;
-import com.cloud.vm.NicProfile;
-import com.cloud.vm.ReservationContext;
-import com.cloud.vm.VirtualMachineProfile;
-
-@Local(value = NetworkGuru.class)
-public class BigSwitchVnsGuestNetworkGuru extends GuestNetworkGuru {
-    private static final Logger s_logger = Logger.getLogger(BigSwitchVnsGuestNetworkGuru.class);
-
-    @Inject
-    DataCenterDao _zoneDao;
-    @Inject
-    PhysicalNetworkDao _physicalNetworkDao;
-    @Inject
-    AccountDao _accountDao;
-    @Inject
-    BigSwitchVnsDao _bigswitchVnsDao;
-    @Inject
-    HostDao _hostDao;
-    @Inject
-    ResourceManager _resourceMgr;
-    @Inject
-    AgentManager _agentMgr;
-    @Inject
-    HostDetailsDao _hostDetailsDao;
-
-    public BigSwitchVnsGuestNetworkGuru() {
-        super();
-        _isolationMethods = new IsolationMethod[] {IsolationMethod.VNS};
-    }
-
-    @Override
-    protected boolean canHandle(NetworkOffering offering, NetworkType networkType, PhysicalNetwork physicalNetwork) {
-        if (networkType == NetworkType.Advanced && isMyTrafficType(offering.getTrafficType()) && offering.getGuestType() == Network.GuestType.Isolated &&
-            isMyIsolationMethod(physicalNetwork)) {
-            return true;
-        } else {
-            s_logger.trace("We only take care of Guest networks of type   " + GuestType.Isolated + " in zone of type " + NetworkType.Advanced);
-            return false;
-        }
-    }
-
-    @Override
-    public Network design(NetworkOffering offering, DeploymentPlan plan, Network userSpecified, Account owner) {
-        // Check of the isolation type of the related physical network is VNS
-        PhysicalNetworkVO physnet = _physicalNetworkDao.findById(plan.getPhysicalNetworkId());
-        if (physnet == null || physnet.getIsolationMethods() == null || !physnet.getIsolationMethods().contains("VNS")) {
-            s_logger.debug("Refusing to design this network, the physical isolation type is not VNS");
-            return null;
-        }
-
-        List<BigSwitchVnsDeviceVO> devices = _bigswitchVnsDao.listByPhysicalNetwork(physnet.getId());
-        if (devices.isEmpty()) {
-            s_logger.error("No BigSwitxh Controller on physical network " + physnet.getName());
-            return null;
-        }
-        s_logger.debug("BigSwitch Controller " + devices.get(0).getUuid() + " found on physical network " + physnet.getId());
-
-        s_logger.debug("Physical isolation type is VNS, asking GuestNetworkGuru to design this network");
-        NetworkVO networkObject = (NetworkVO)super.design(offering, plan, userSpecified, owner);
-        if (networkObject == null) {
-            return null;
-        }
-        // Override the broadcast domain type
-        networkObject.setBroadcastDomainType(BroadcastDomainType.Lswitch);
-
-        return networkObject;
-    }
-
-    @Override
-    public Network implement(Network network, NetworkOffering offering, DeployDestination dest, ReservationContext context)
-        throws InsufficientVirtualNetworkCapacityException {
-        assert (network.getState() == State.Implementing) : "Why are we implementing " + network;
-
-        long dcId = dest.getDataCenter().getId();
-
-        //get physical network id
-        long physicalNetworkId = _networkModel.findPhysicalNetworkId(dcId, offering.getTags(), offering.getTrafficType());
-
-        NetworkVO implemented =
-            new NetworkVO(network.getTrafficType(), network.getMode(), network.getBroadcastDomainType(), network.getNetworkOfferingId(), State.Allocated,
-                network.getDataCenterId(), physicalNetworkId, offering.getRedundantRouter());
-
-        if (network.getGateway() != null) {
-            implemented.setGateway(network.getGateway());
-        }
-
-        if (network.getCidr() != null) {
-            implemented.setCidr(network.getCidr());
-        }
-
-        String vnet =
-            _dcDao.allocateVnet(dcId, physicalNetworkId, network.getAccountId(), context.getReservationId(), UseSystemGuestVlans.valueIn(network.getAccountId()));
-        if (vnet == null) {
-            throw new InsufficientVirtualNetworkCapacityException("Unable to allocate vnet as a " + "part of network " + network + " implement ", DataCenter.class, dcId);
-        }
-        // when supporting more types of networks this need to become
-//        int vlan = Integer.parseInt(BroadcastDomainType.getValue(vnet));
-        int vlan = Integer.parseInt(vnet);
-
-        // Name is either the given name or the uuid
-        String name = network.getName();
-        String networkUuid = implemented.getUuid();
-        if (name == null || name.isEmpty()) {
-            name = ((NetworkVO)network).getUuid();
-        }
-        if (name.length() > 64) {
-            name = name.substring(0, 63); // max length 64
-        }
-
-        String tenantId = context.getDomain().getName();
-        List<BigSwitchVnsDeviceVO> devices = _bigswitchVnsDao.listByPhysicalNetwork(physicalNetworkId);
-        if (devices.isEmpty()) {
-            s_logger.error("No BigSwitch Controller on physical network " + physicalNetworkId);
-            return null;
-        }
-        BigSwitchVnsDeviceVO bigswitchVnsDevice = devices.get(0);
-        HostVO bigswitchVnsHost = _hostDao.findById(bigswitchVnsDevice.getHostId());
-        _hostDao.loadDetails(bigswitchVnsHost);
-
-        CreateVnsNetworkCommand cmd = new CreateVnsNetworkCommand(networkUuid, name, tenantId, vlan);
-        CreateVnsNetworkAnswer answer = (CreateVnsNetworkAnswer)_agentMgr.easySend(bigswitchVnsHost.getId(), cmd);
-
-        if (answer == null || !answer.getResult()) {
-            s_logger.error("CreateNetworkCommand failed");
-            return null;
-        }
-
-        try {
-            implemented.setBroadcastUri(new URI("vns", cmd.getNetworkUuid(), null));
-            implemented.setBroadcastDomainType(BroadcastDomainType.Lswitch);
-            s_logger.info("Implemented OK, network " + networkUuid + " in tenant " + tenantId + " linked to " + implemented.getBroadcastUri().toString());
-        } catch (URISyntaxException e) {
-            s_logger.error("Unable to store network id in broadcast uri, uuid = " + implemented.getUuid(), e);
-        }
-
-        return implemented;
-    }
-
-    @Override
-    public void reserve(NicProfile nic, Network network, VirtualMachineProfile vm, DeployDestination dest, ReservationContext context)
-        throws InsufficientVirtualNetworkCapacityException, InsufficientAddressCapacityException {
-        // TODO Auto-generated method stub
-        super.reserve(nic, network, vm, dest, context);
-    }
-
-    @Override
-    public boolean release(NicProfile nic, VirtualMachineProfile vm, String reservationId) {
-        // TODO Auto-generated method stub
-        return super.release(nic, vm, reservationId);
-    }
-
-    @Override
-    public void shutdown(NetworkProfile profile, NetworkOffering offering) {
-        NetworkVO networkObject = _networkDao.findById(profile.getId());
-        if (networkObject.getBroadcastDomainType() != BroadcastDomainType.Lswitch || networkObject.getBroadcastUri() == null) {
-            s_logger.warn("BroadcastUri is empty or incorrect for guestnetwork " + networkObject.getDisplayText());
-            return;
-        }
-
-        List<BigSwitchVnsDeviceVO> devices = _bigswitchVnsDao.listByPhysicalNetwork(networkObject.getPhysicalNetworkId());
-        if (devices.isEmpty()) {
-            s_logger.error("No BigSwitch Controller on physical network " + networkObject.getPhysicalNetworkId());
-            return;
-        }
-        BigSwitchVnsDeviceVO bigswitchVnsDevice = devices.get(0);
-        HostVO bigswitchVnsHost = _hostDao.findById(bigswitchVnsDevice.getHostId());
-
-        String tenantId = profile.getNetworkDomain();
-
-        DeleteVnsNetworkCommand cmd = new DeleteVnsNetworkCommand(tenantId, BroadcastDomainType.getValue(networkObject.getBroadcastUri()));
-        _agentMgr.easySend(bigswitchVnsHost.getId(), cmd);
-
-        super.shutdown(profile, offering);
-    }
-
-    @Override
-    public boolean trash(Network network, NetworkOffering offering) {
-        return super.trash(network, offering);
-    }
-}


Mime
View raw message