4 Operator

 • 

8.6K Posts

May 22nd, 2013 09:00

Hi John,

did you get it to work in the meantime ?

I’m not a programmer so your code doesn’t really mean much to me.

Typically you should be able to learn from the html response why a request didn’t work.

Take a look at the log file in /nas/log/cel_api.log

If you don’t see your request there than you it didn’t reach the XML API server – probably a problem earlier on with auth or config

What I can guess:

-          Authentification failure – I assume you know you can just store and re-use the cookie – don’t login for every request

-          Too many requests – there is a limit in the number of outstanding requests (16 I think)

Rainer

4 Operator

 • 

8.6K Posts

June 3rd, 2013 10:00

any updated or did you stop working on the project ?

Rainer

20 Posts

June 4th, 2013 16:00

Hi Ranier,

We are still working on the problem - we haven't found anything in the logs so far that has helped - we are able to connect and get a reply for the first request but not the additional requests - adding a sleep in between requests seems to help sometimes but not always and we don't think we are hitting any type of request limit.

Seems most of the API work so far has been script based so we are wondering if there is something in the C# code we are having an issue with or possible something with .NET.

Anyway was hoping to get someone from the API team who may have done some work using C# to take a quick look at our code.

Thanks,

JohnMc...

4 Operator

 • 

8.6K Posts

June 5th, 2013 05:00

Are you using a Simulator or a real VNX ?

With a Simulator you might simply run out of CPU / memory - try do adjust that

You can try on the developer forum if someone wants to share his code

There are number of companies / product that use the XML API with C, C#, ....

3 Posts

January 14th, 2016 05:00

Sorry to bump up an old thread.

I'm working on a ASP.Net port of our quota management tool we have here for NetApp quota to EMC platform

The code sample and API defenitions are very nice.

Indeed Rainer was right about  mentioning the maximum number of sessions reached in the API manual.

Somehow the code does open a new session id for each query in VnxClient.cs:

It started working as expected when I changed line SendRequestPacket to retain the session ID the same:

///
  /// Executes the request.
  ///
  /// The request.
  /// if set to true continue the session from previous request call.
  ///
  /// request
  /// Connection is not opened.
  public ResponsePacket ExecuteRequest(RequestPacket request, bool continueSession = false)
  {
     if (request == null) throw new ArgumentNullException("request");
     if (string.IsNullOrEmpty(_authenticationCookie)) throw new ArgumentException("Connection is not opened.");
     try
     {
        var response = SendRequestPacket(request, true, continueSession ? _sessionCookie : null);
//        var response = SendRequestPacket(request, false, continueSession ? _sessionCookie : null);


4 Operator

 • 

8.6K Posts

January 14th, 2016 16:00

thanks for the feedback.

Do you still have a problem there or just wanted to comment on the sample code ?

What I have heard from other programmers is that it would be good to re-use a session - i.e. not open a new session for each quota call.

Since you mentioned you are working on quota management - are you aware that the VNX/Celerra actually implements some native Win32 quota call ?

That could be lower overhead than using the XML API.

Rainer

3 Posts

January 15th, 2016 06:00

No, just commenting on the sample code.

I was aware that there exists win32 quota control, but on our VNX node, a tree quota regime is implemented.

I don't know the in depth reasons why this is chosen, but the tool we have is to alkow the helpdesk support staff to increment quota for group and user shares in 10% increment chunks to quickly mitigate quota block problems without full permissions on the VNX environment.

Still puzzling how to parse the QuotaResponse in that example.

4 Operator

 • 

8.6K Posts

January 15th, 2016 16:00

Thanks.

You’re right – tree quotas cant be managed through Win32 – only user quotas

BTW there are also other solutions – an external developer in France has written a quota daemon for faster setting of quota’s and is selling that.

Its got a Windows CLI and DLL API and supports user/group/treequotas plus using Windows user names

See https://community.emc.com/docs/DOC-8568

What specifically do you want to know about QuotaResponse ?

Typically the most puzzling things for customer that use the CLI or API for quota management with Windows users is that we only report the Unix UID but not the Windows username or SID.

To map the UID to Windows credentials you would have to build your own mapping table.

For that you can either use the API to query all quotas – that gets you the mapping.

Or user a secmap export from server_cifssupport CLI

Rainer

No Events found!

Top