Mike,

It's been a while since I'ved the XenServer XAPI apis so I don't know for sure 
what you've set is correct.  However, I can point out that the way I normally 
debug these things is I used the xe command line tool to first create the iscsi 
SR.  And then I look at the SR parameters and then try to configure it with the 
java api to make the SR look the same.  It's much easier to figure it out this 
way.

--Alex

> -----Original Message-----
> From: Mike Tutkowski [mailto:mike.tutkow...@solidfire.com]
> Sent: Tuesday, February 26, 2013 3:26 PM
> To: cloudstack-dev@incubator.apache.org
> Subject: XAPI Create iSCSI SR Question
> 
> Hi,
> 
> I'm totally new to using the Xen Management API.
> 
> I'm working on a little project where I create an iSCSI volume, then a Storage
> Repository based on the volume, then a Primary Storage based on the SR.
> 
> When running the code below (hard coding the info that's asked for), I
> receive the following exception (*bolded*):
> 
> *"The request is missing or has an incorrect target IQN parameter" (id=65)
> *
> 
> *<?xml version="1.0" ?>*
> 
> *<iscsi-target-iqns>*
> 
> *<TGT>*
> 
> *<Index>0</Index>*
> 
> *<IPAddress>10.0.3.15</IPAddress>*
> 
> *<TargetIQN>iqn.2013-01.com.solidfire:volume-1</TargetIQN>*
> 
> *</TGT>*
> 
> *<TGT>*
> 
> *<Index>1</Index>*
> 
> *<IPAddress>192.168.56.7</IPAddress>*
> 
> *<TargetIQN>iqn.2013-01.com.solidfire:volume-1</TargetIQN>*
> 
> *</TGT>*
> 
> *<TGT>*
> 
> *<Index>2</Index>*
> 
> *<IPAddress>192.168.56.7</IPAddress>*
> 
> *<TargetIQN>*</TargetIQN>*
> 
> *</TGT>*
> 
> *</iscsi-target-iqns>*
> 
>         Connection connection = new Connection(new
> URL("http://192.168.56.9";
> ));
> 
>          Session.loginWithPassword(connection, "root", "password",
> APIVersion.latest().toString());
> 
>          Host host = (Host)Host.getAll(connection).toArray()[0];
> 
>          Map<String, String> deviceConfig = new HashMap<String, String>();
> 
> 
>         deviceConfig.put("target", "192.168.56.7"); // the IP address of the 
> box
> hosting the iSCSI target
> 
>         deviceConfig.put("targetiqn", "iqn.2013-01.com.solidfire:volume-1");
> // the IQN
> 
>         deviceConfig.put("SCSIid",
> "14945540000000000174363735d33eaa0b2066de99378683d"); // the SCSI ID
> 
>         final long size = 0; // Not sure if I need a "real" value here?
> 
>         final String name = "Test iSCSI SR";
> 
>         final String desc = "Created = " + new Date().toString();
> 
>         final String type = "lvmoiscsi";
> 
>         final String contentType = "unused"; // Not sure if I need a "real"
> value here?
> 
>         final boolean shared = true;
> 
>         SR.create(connection, host, deviceConfig, size, name, desc, type,
> contentType, shared, new HashMap<String, String>()); Thanks for any
> assistance here! :)
> 
> --
> *Mike Tutkowski*
> *Senior CloudStack Developer, SolidFire Inc.*
> e: mike.tutkow...@solidfire.com
> o: 303.746.7302
> Advancing the way the world uses the
> cloud<http://solidfire.com/solution/overview/?video=play>
> *(tm)*

Reply via email to