_authcookie variable.
*
diff --git a/plugins/network-elements/nicira-nvp/src/com/cloud/network/resource/NiciraNvpResource.java b/plugins/network-elements/nicira-nvp/src/com/cloud/network/resource/NiciraNvpResource.java
index c6359d37553..b297e7f979d 100644
--- a/plugins/network-elements/nicira-nvp/src/com/cloud/network/resource/NiciraNvpResource.java
+++ b/plugins/network-elements/nicira-nvp/src/com/cloud/network/resource/NiciraNvpResource.java
@@ -88,39 +88,25 @@ public class NiciraNvpResource implements ServerResource {
private static final Logger s_logger = Logger.getLogger(NiciraNvpResource.class);
private String _name;
- private String _ip;
- private String _adminuser;
- private String _adminpass;
private String _guid;
private String _zoneId;
private int _numRetries;
private NiciraNvpApi _niciraNvpApi;
+ protected NiciraNvpApi createNiciraNvpApi() {
+ return new NiciraNvpApi();
+ }
+
@Override
public boolean configure(String name, Map params)
throws ConfigurationException {
-
+
_name = (String) params.get("name");
if (_name == null) {
throw new ConfigurationException("Unable to find name");
}
- _ip = (String) params.get("ip");
- if (_ip == null) {
- throw new ConfigurationException("Unable to find IP");
- }
-
- _adminuser = (String) params.get("adminuser");
- if (_adminuser == null) {
- throw new ConfigurationException("Unable to find admin username");
- }
-
- _adminpass = (String) params.get("adminpass");
- if (_adminpass == null) {
- throw new ConfigurationException("Unable to find admin password");
- }
-
_guid = (String)params.get("guid");
if (_guid == null) {
throw new ConfigurationException("Unable to find the guid");
@@ -133,11 +119,24 @@ public class NiciraNvpResource implements ServerResource {
_numRetries = 2;
- try {
- _niciraNvpApi = new NiciraNvpApi(_ip, _adminuser, _adminpass);
- } catch (NiciraNvpApiException e) {
- throw new ConfigurationException(e.getMessage());
+ String ip = (String) params.get("ip");
+ if (ip == null) {
+ throw new ConfigurationException("Unable to find IP");
}
+
+ String adminuser = (String) params.get("adminuser");
+ if (adminuser == null) {
+ throw new ConfigurationException("Unable to find admin username");
+ }
+
+ String adminpass = (String) params.get("adminpass");
+ if (adminpass == null) {
+ throw new ConfigurationException("Unable to find admin password");
+ }
+
+ _niciraNvpApi = createNiciraNvpApi();
+ _niciraNvpApi.setControllerAddress(ip);
+ _niciraNvpApi.setAdminCredentials(adminuser,adminpass);
return true;
}
diff --git a/plugins/network-elements/nicira-nvp/test/com/cloud/network/resource/NiciraNvpResourceTest.java b/plugins/network-elements/nicira-nvp/test/com/cloud/network/resource/NiciraNvpResourceTest.java
new file mode 100644
index 00000000000..9fd2cef5b9c
--- /dev/null
+++ b/plugins/network-elements/nicira-nvp/test/com/cloud/network/resource/NiciraNvpResourceTest.java
@@ -0,0 +1,49 @@
+package com.cloud.network.resource;
+
+import static org.mockito.Mockito.*;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.naming.ConfigurationException;
+
+import org.junit.Before;
+import org.junit.Test;
+
+import com.cloud.network.nicira.NiciraNvpApi;
+
+public class NiciraNvpResourceTest {
+ NiciraNvpApi _nvpApi = mock(NiciraNvpApi.class);
+ NiciraNvpResource _resource;
+
+ @Before
+ public void setUp() {
+ _resource = new NiciraNvpResource() {
+ protected NiciraNvpApi createNiciraNvpApi() {
+ return _nvpApi;
+ }
+ };
+ }
+
+ @Test (expected=ConfigurationException.class)
+ public void resourceConfigureFailure() throws ConfigurationException {
+ _resource.configure("NiciraNvpResource", Collections.emptyMap());
+ }
+
+ @Test
+ public void resourceConfigure() throws ConfigurationException {
+ Map parameters = new HashMap();
+ parameters.put("name","nvptestdevice");
+ parameters.put("ip","127.0.0.1");
+ parameters.put("adminuser","adminuser");
+ parameters.put("guid", "aaaaa-bbbbb-ccccc");
+ parameters.put("zoneId", "blublub");
+ parameters.put("adminpass","adminpass");
+ _resource.configure("NiciraNvpResource", parameters);
+
+ verify(_nvpApi).setAdminCredentials("adminuser", "adminpass");
+ verify(_nvpApi).setControllerAddress("127.0.0.1");
+ }
+
+}