Hi All.
Hitachi Support resolved it today with their direct involvement. Key was to make sure that CMD Device is really a Command Device.
Inqraid must show the device as Command Device first and foremost. We added two more CMD devices, and they have to have a CM flag showing that they are really Command Devices. While presenting Physical Compatibility flag needs to be set clearly in VM Edit Settings screen.
[root@ABMDEBPOPS01V bin]# ls /dev/sd* | /HORCM/usr/bin/inqraid -CLI -fx
DEVICE_FILE PORT SERIAL LDEV CTG H/M/12 SSID R:Group PRODUCT_ID
sda - - - - - - - Virtual disk
sdb - - - - - - - Virtual disk
sdc CL7-A 74519X 11F - s/s/ss 0005 A:00000 OPEN-V
sdd CL7-A 74519X 120 - s/s/ss 0005 A:00000 OPEN-V
sde CL7-A 74519X 121 - - 0005 A:00000 OPEN-V-CM
sdf CL7-A 74519X 122 - - 0005 A:00000 OPEN-V-CM
Once that was straightened out, FCmode was like a cake walk in a ziffy. It even changed automatically DTLS SVP to SSL TLS with no special efforts.
And after that FCmode also got set easily with same commands of that KB and that small jason file example.
"communicationMode" : "fcConnectionMode"
} ],
"isSecure" : true,
"lanConnectionProtocol" : "SSL TLS", <= And without doing anything from my side it changed this from DTLS SVP. So this also has something to do with this communication style.
"targetCtl" : "CTL1",
"usesSvp" : true
Apparently KB needs one note that: Make sure that the new RDM disks have CM flag to indicate those are 'real' Command Device.
Thanks
-------------------------------------------
Original Message:
Sent: 12-10-2024 18:59
From: Sudhir BISHT
Subject: CMREST lanmode to fcmode
Hi Piyush and Prasenjit.
For the new case opened today, support told me something today, which only Piyush has chimed in earlier, and nobody told about that.
Piyush had told that command device correctly created and inqraid is a must pre-req. And, support told me today that it is not set. And , interestingly the KB also never mentions it. As per support CMD_Device should show as OPEN-V-CM. And, my CMD devices are seen as only OPEN-V:
[root@ABMDEBPOPS01V bin]# ls /dev/* | ./inqraid
/dev/sda -> CheckCondition SKEY = 5 ASC = 0x24 on VPD[83] [VMware ] [Virtual disk ]
/dev/sdb -> CheckCondition SKEY = 5 ASC = 0x24 on VPD[83] [VMware ] [Virtual disk ]
/dev/sdc -> CHNO = 0 TID = 2 LUN = 0
[SQ] CL7-A Ser = 745XXX LDEV = 287 [HITACHI ] [OPEN-V ]
HORC = SMPL HOMRCF[MU#0 = SMPL MU#1 = SMPL MU#2 = SMPL]
A-LUN[PoolID 0000] SSID = 0x0005
/dev/sdd -> CHNO = 0 TID = 3 LUN = 0
[SQ] CL7-A Ser = 745XXX LDEV = 288 [HITACHI ] [OPEN-V ]
HORC = SMPL HOMRCF[MU#0 = SMPL MU#1 = SMPL MU#2 = SMPL]
A-LUN[PoolID 0000] SSID = 0x0005
[root@ABMDEBPOPS01V bin]# ls /dev/* | ./inqraid -CLI
DEVICE_FILE PORT SERIAL LDEV CTG H/M/12 SSID R:Group PRODUCT_ID
sda - - - - - - - Virtual disk
sdb - - - - - - - Virtual disk
sdc CL7-A 745193 287 - s/s/ss 0005 A:00000 OPEN-V
sdd CL7-A 745193 288 - s/s/ss 0005 A:00000 OPEN-V
# ls /dev/sd* | /HORCM/usr/bin/inqraid -CLI -fx
DEVICE_FILE PORT SERIAL LDEV CTG H/M/12 SSID R:Group PRODUCT_ID
sda - - - - - - - Virtual disk
sdb - - - - - - - Virtual disk
sdc CL7-A 745193 11F - s/s/ss 0005 A:00000 OPEN-V
sdd CL7-A 745193 120 - s/s/ss 0005 A:00000 OPEN-V
So, some other steps related to CCI/HORCM/Inqraid also needs to be done and straightened out here first. May be that is causing this issue and not letting FCMode.
Do you have exact steps to setup HORCM files from the sample /etc/horcm.conf file. I noticed even horcmstart.sh script is not starting it.
I have also asked support to provide the same and waiting.
Thanks
Original Message:
Sent: 12-10-2024 15:34
From: Sudhir BISHT
Subject: CMREST lanmode to fcmode
Hi Piyush.
Once above in one reply you mentioned to make sure inqraid. I checked it.
[root@ABMDEBPOPS01V bin]# ls /dev/* | ./inqraid
/dev/sda -> CheckCondition SKEY = 5 ASC = 0x24 on VPD[83] [VMware ] [Virtual disk ]
/dev/sdb -> CheckCondition SKEY = 5 ASC = 0x24 on VPD[83] [VMware ] [Virtual disk ]
/dev/sdc -> CHNO = 0 TID = 2 LUN = 0
[SQ] CL7-A Ser = 745XXX LDEV = 287 [HITACHI ] [OPEN-V ]
HORC = SMPL HOMRCF[MU#0 = SMPL MU#1 = SMPL MU#2 = SMPL]
A-LUN[PoolID 0000] SSID = 0x0005
/dev/sdd -> CHNO = 0 TID = 3 LUN = 0
[SQ] CL7-A Ser = 745XXX LDEV = 288 [HITACHI ] [OPEN-V ]
HORC = SMPL HOMRCF[MU#0 = SMPL MU#1 = SMPL MU#2 = SMPL]
A-LUN[PoolID 0000] SSID = 0x0005
[root@ABMDEBPOPS01V bin]# ls /dev/* | ./inqraid -CLI
DEVICE_FILE PORT SERIAL LDEV CTG H/M/12 SSID R:Group PRODUCT_ID
sda - - - - - - - Virtual disk
sdb - - - - - - - Virtual disk
sdc CL7-A 745XXX 287 - s/s/ss 0005 A:00000 OPEN-V
sdd CL7-A 745XXX 288 - s/s/ss 0005 A:00000 OPEN-V
Does the above looks good. I have not done any modify horcm1.conf/horcm2.conf things at all.
Thanks
Original Message:
Sent: 12-10-2024 14:11
From: Sudhir BISHT
Subject: CMREST lanmode to fcmode
Hi Piyush.
Case Number: 04921595
Thanks
Original Message:
Sent: 12-10-2024 13:36
From: Sudhir BISHT
Subject: CMREST lanmode to fcmode
Hi Piyush,
Case opened was 04915540. I believe they closed it. But not exactly sure. Please check. If you can use it , please do so. Else, let me open a fresh one once again.
Thanks.
Original Message:
Sent: 12-10-2024 12:14
From: Piyush Khatri
Subject: CMREST lanmode to fcmode
Hi Sudhir, The way to get Engg. engaged is via support case, please open a case and let me know.
Thank you,
PK
------------------------------
Piyush Khatri
Hitachi Vantara
Original Message:
Sent: 12-10-2024 11:01
From: Sudhir BISHT
Subject: CMREST lanmode to fcmode
Hi Prasenjit.
After putting missing (,), the registration command worked fine with the 'SSL TLS' parameter.
"communicationMode" : "lanConnectionMode"
} ],
"isSecure" : true,
"lanConnectionProtocol" : "SSL TLS",
"targetCtl" : "CTL1",
"usesSvp" : true
Since you had mentioned about isSecure :true part, and it still was in lanmode, so I changed isSecure:false.
"message" : "The format of the string or the content specified in the request body is invalid. (details = The storage system does not support the specified value. (parameter name = isSecure, specified value = false))",
So, I again made it isSecure:true, and registered.
This crap doesn't work, do whatever one may.
You also mention, please make sure SSL has been configured correctly between the API server and the storage and as usual like everyone says - refer the manual. Nowhere it is written what needs to be done to make sure that. Yes, refer 1662 pages of same things written hundreds of time and for 50 types of Storage Arrays and models. G, F, E and various numbers of models. Something work for this series, and not for E-Series etc etc. Why not they keep few standard models like G1000 was, of 5000 is, like other major vendors have just few standard well known models. Total chaos and confusion, as usual in Hitachi Products since ages.
If there is way that CMREST Engg. can give some clue and resolve it. Else, we are good with lanmode. Who cares anyway. We just thought communcation will be quick with FC. Thats it.
Thanks
Original Message:
Sent: 12-10-2024 01:58
From: Prasenjit Chatterjee
Subject: CMREST lanmode to fcmode
Hi Sudhir,
You got this error because you missed to put a comma (,) at the end of the SVP IP, so please put a comma and try again, however when isSecure is set to true then please make sure SSL has been configured correctly between the API server and the storage, for your reference I have attached the latest CMREST reference guide, from there please go through the "Configuring a REST environment" and "Registering a storage system" section carefully. In this manual if you go through the changing the communication mode of the REST API server there also nothing mentioned, whatever is there KB contains all those stuffs, hence I am suspecting that this is happening due to this different protocol. After doing all these if still nothing works out then please let me know, I will talk to the CMREST Eng. team.
------------------------------
Prasenjit Chatterjee
Hitachi Vantara
Original Message:
Sent: 12-10-2024 00:33
From: Sudhir BISHT
Subject: CMREST lanmode to fcmode
Hi Prasenjit. As I mentioned previously, last year when the array (E1090H E-Series) was not getting registered successfully, I came here and you then inboxed me a modified Jason sample file (not in the manual at that time, may be now it is there, didn't checked the latest manual), and after that modified jason only the array was successfully registered. And, that file was something like:
# cat InputParametersE1090-7451XX_afterSVPAdd.json
{
"ctl1Ip" : "10.8.1.XX",
"ctl2Ip" : "10.8.1.XX",
"model" : "VSP E1090",
"serialNumber" : 7451XX,
"changeNotificationSetting" : {
"isNotifiable" : false
},
"usesSvp" : true,
"svpIp" : "10.8.1.XX"
So, now where can I add the line you mentioned. And, what is the correct syntax, as its is very particular about it.
And, when I do try to add what you had suggested latest, it gives me an error:
{
"ctl1Ip" : "10.8.1.XX",
"ctl2Ip" : "10.8.1.XX",
"model" : "VSP E1090",
"serialNumber" : 7451XX,
"changeNotificationSetting" : {
"isNotifiable" : false
},
"usesSvp" : true,
"svpIp" : "10.8.1.XX"
"isSecure" : true,
"lanConnectionProtocol" : "SSL TLS"
}
"message" : "The format of the string or the content specified in the request body is invalid. (details = Unexpected character ('\"' (code 34)): was expecting comma to separate Object entries\n at [Source: (ByteArrayInputStream); line: 13, column: 4])",
Thanks
Original Message:
Sent: 12-09-2024 22:58
From: Prasenjit Chatterjee
Subject: CMREST lanmode to fcmode
Hi Sudhir,
As you SVP is linked to your environment hence one last time please try the below:
Unregister the array from the CMREST server.
While registering the array to the CMRESt server then please mention the value "SSL TLS" for the attribute "lanConnectionProtocol" and try to change the mode again.
As you mentioned the useSVP=true hence if you don't specify the value for the said attribute then deafult value DTLS SVP will be set, which is Datagram Transport layer Security, that is actually an encryption mode for communication between the REST API server and the storage system, hence requesting you to change this mode and try again, if it still does not work then let me know with your environment details I will talk to the CREST engg team.
------------------------------
Prasenjit Chatterjee
Hitachi Vantara
Original Message:
Sent: 12-09-2024 22:33
From: Sudhir BISHT
Subject: CMREST lanmode to fcmode
Hi Piyush.
I again ran the commands, all worked fine as far as commands are concerned, but Nada changes, Zilch:
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -u user:pass -X POST "https://abmdebpops01v:23451/ConfigurationManager/v1/objects/storages/9380007451XX/sessions/" -d "" --insecure <= WORKS NOW
{
"token" : "3465cfb8e31348e6ab3a13341611f3b7",
"sessionId" : 60862
# curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session 3465cfb8e31348e6ab3a133416113b7" -X POST --data-binary @./FCModeInput.json "https://abmdebpops01v:23451/ConfigurationManager/v1/9380007451XX/services/communication-mode/actions/change/invoke" --insecure
"jobId" : 4611686018427387912,
"self" : "/ConfigurationManager/v1/objects/storages/938000745193/jobs/4611686018427387912",
"userId" : "maintenance",
"status" : "Initializing",
"state" : "Queued",
"createdTime" : "2024-12-10T03:22:54Z",
"updatedTime" : "2024-12-10T03:22:54Z",
"request" : {
"requestUrl" : "/ConfigurationManager/v1/9380007451XX/services/communication-mode/actions/change/invoke",
"requestMethod" : "POST",
"requestBody" : "{\"parameters\": { \"communicationModes\": [ { \"communicationMode\": \"fcConnectionMode\" }]}}"
# curl -v -H "Accept:application/json" -H "Content-Type:application/json" -u user:pass -X GET http://abmdebpops01v:23450/ConfigurationManager/v1/objects/storages/9380007451XX --insecure
"communicationModes" : [ {
"communicationMode" : "lanConnectionMode"
} ],
"isSecure" : true,
"lanConnectionProtocol" : "DTLS SVP",
"targetCtl" : "CTL1",
"usesSvp" : true
All commands run fine but still doesn't change it to FC Mode.
I'll again say this has something to do with "DRLS SVP', or something related to SSL. Or, SSL cert issue or port issue when setting.
Case Number: 04915540. Closed without resolution. Recommended to refer to the CMREST manual.
Thanks.
Original Message:
Sent: 12-09-2024 22:17
From: Sudhir BISHT
Subject: CMREST lanmode to fcmode
Hi Piyush.
Thanks.
This is what I was trying to tell earlier. This POST command doesn't work here. PUT works fine. For example:
# curl -v -H "Accept:application/json" -H "Content-Type:application/json" -u maintenance:raid-maintenance -X PUT http://abmdebpos01v:23450/ConfigurationManager/v1/9380007451XX/services/storage-cache-service/actions/refresh/invoke -d ""
Worsk fine above. But the below doesn't work at all:
# curl -v -H "Accept:application/json" -H "Content-Type:application/json" -u maintenance:raid-maintenance -X PUT http://abmdebpops01v:23450/ConfigurationManager/v1/9380007451XX/sessions -d "" --insecure
"errorSource" : "/ConfigurationManager/v1/9380007451XX/sessions",
"message" : "No resource exists at the specified URL. (URL = /ConfigurationManager/v1/9380007451XX/sessions)",
"solution" : "Check the URL.",
"messageId" : "KART20009-E",
"detailCode" : "20009E-0"
* Closing connection 0
# curl -v -H "Accept:application/json" -H "Content-Type:application/json" -u maintenance:raid-maintenance -X POST https://abmdebpops01v:23451/ConfigurationManager/v1/9380007451XX/sessions -d "" --insecure
"errorSource" : "/ConfigurationManager/v1/938000745193/sessions",
"message" : "No resource exists at the specified URL. (URL = /ConfigurationManager/v1/938000745193/sessions)",
"solution" : "Check the URL.",
"messageId" : "KART20009-E",
"detailCode" : "20009E-0"
* Closing connection 0
Thanks
Sudhir
-------------------------------------------
Original Message:
Sent: 12-09-2024 20:10
From: Sudhir BISHT
Subject: CMREST lanmode to fcmode
Hi Piyush. Thanks again.
I think now I know what you are referring to. As during my earlier days(10 years ago) when HCS(Command Suite) was there , we used to do this thing, which is after presenting CMD device, we had to do some steps. Need to check old notes, like RAIDCOM/HORCOM and some commands and then view it as \\Physical Device, with some CCI things. That has not done here at all, bcoz as per the KB, just present the RAW device(RDM) and discover it on the CMREST host. Thats it. No further steps done here. Let me check old notes and get that done first. And, then later will run these other commands like sessions creation etc. Thanks
-------------------------------------------
Original Message:
Sent: 12-09-2024 19:55
From: Piyush Khatri
Subject: CMREST lanmode to fcmode
Hi Sudhir.
1/ Do you have the command device correctly created? can you verify that with inqraid command? (this is a pre-req)
2/ here is the query for session creation
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -u <YourUserName:YourPassword> -X POST "https://<cmreset_server_ip>:23451/ConfigurationManager/v1/objects/storages/<Your_storage_ID>/sessions/" -d "" --insecure
:
note: make sure storage is onboarded to the CMREST server, next, point the URL to the CMREST server and don't forget --insecure. change storage object id and serial to your Array.
3/ create input parameters (.json)
{ "parameters": { "communicationModes": [{ "communicationMode": "fcConnectionMode" } ] }}
4. run
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session <session_ID>" -X POST --data-binary @./change.json "https://<cmrest_ip>:23451/ConfigurationManager/v1/<storage_id>/services/communication-mode/actions/change/invoke" --insecure
5. the job id will look like this: in below case the job ID is 5
< Content-Length: 583<{ "jobId" : 5, "self" : "/ConfigurationManager/v1/objects/storages/800000056899/jobs/5", "userId" : "maintenance", "status" : "Initializing", "state" : "Queued", "createdTime" : "2024-12-10T00:47:59Z", "updatedTime" : "2024-12-10T00:47:59Z", "request" : { "requestUrl" : "/ConfigurationManager/v1/800000056899/services/communication-mode/actions/change/invoke", "requestMethod" : "POST", "requestBody" : "{ \"parameters\": { \"communicationModes\": [{ \"communicationMode\": \"fcConnectionMode\" } ] }}" }* Connection #0 to host 10.4.150.120 left intact}[root@gsc-probe ~]# cat change.json{ "parameters": { "communicationModes": [{ "communicationMode": "fcConnectionMode" } ] }}
6. below how to check the job id,, you can repeat this command to keep checking the command to get complete.
curl -v -H "Accept:application/json" -H "Content-Type:application/json" -H "Authorization:Session <session_ID>" -X GET https:/<cmrest_ip>:23451/ConfigurationManager/v1/objects/storages/<storage_id>/jobs/5 --insecure
------------------------------
Piyush Khatri
Hitachi Vantara
Original Message:
Sent: 12-09-2024 19:16
From: Sudhir BISHT
Subject: CMREST lanmode to fcmode
Hi Piyush.
Thanks for the instructions. I think I had created a session in the past, but it works only with Virtual SVP IP, and never works with CMREST Server IP.
Like:
# curl -v -k -H "Content-Length:0" -u username:password -X POST https://SVP-IP/ConfigurationManager/v1/objects/sessions
{
"token" : "dc534b12-a178-4578-833d-bfa04e78d1ee",
"sessionId" : 1
* Connection #0 to host 10.8.1.98 left intact
# curl -v -H "Accept: application/json" -H "Content-Type:application/json" -H "Authorization:Session dc534b12-a178-4578-833d-bfa0478d1ee" -X PUT --data-binary @./FCModeInput.json https://CMREST-Server:23451/ConfigurationManager/v1/9380007XXXXX/
curl failed to verify the legitimacy of the server and therefore could not establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.
So, what is the exact syntax to make a session with CMREST IP. With SVP IP session gets established.
Thanks
Original Message:
Sent: 12-09-2024 18:51
From: Piyush Khatri
Subject: CMREST lanmode to fcmode
Hi Sudhir,
Please try this:
1. Follow the steps in provided in UG - https://docs.hitachivantara.com/r/en-us/ops-center-api-configuration-manager/11.0.x/mk-99cfm000/changing-the-communication-mode-of-the-rest-api-server
2. The REST Query Instructions:
a. create a session (I assume you know this or, Refer the user guide for instructions)
b. use the following query:
c. Coding example
curl -v -H "Accept: application/json" -H "Content-Type:application/json" -H "Authorization:Session b74777a3-f9f0-4ea8-bd8f-09847fac48d3" -X PUT --data-binary @./InputParameters.json https://192.0.2.100:23451/ConfigurationManager/v1/836000123456/services/communication-mode/actions/change/invoke
(Change he session ID from step "a") (also change the serial number to your Array)
d. Use below Body:
{
"parameters": {
"communicationModes": [
{
"communicationMode": "fcConnectionMode"
}
]
}
}
3. If still run into issues, provide me the case number you have with Support.
------------------------------
Piyush Khatri
Hitachi Vantara
Original Message:
Sent: 12-06-2024 18:08
From: Sudhir BISHT
Subject: CMREST lanmode to fcmode
Hi All. We tried to change the communication mode from default lanmode to fcmode, using this article found in Ops center thread.
How to Change the Communication Mode of the API Configuration Manager (CMREST) Server from lanConnectionMode to fcConnectionMode
https://community.hitachivantara.com/blogs/prasenjit-chatterjee/2024/07/23/how-to-change-the-communication-mode-of-the-api-co?CommunityKey=ade29f91-df53-43e5-8725-1e8de66bbefd
And, Support has also provided to us the similar link to do this.
But doesn't works for us. Looks like something to do with DTLS SVP. Then Support asked to refer the CMREST manual etc.
So, what can be the issue here as all steps were followed without errors.
"requestUrl" : "/ConfigurationManager/v1/XX80007XXXXX/services/communication-mode/actions/change/invoke",
"requestMethod" : "PUT",
"requestBody" : "{\"parameters\": { \"communicationModes\": [ { \"communicationMode\": \"fcConnectionMode\" }]}}"
Still, when we check the O/P, we get lanconnectionMode only.
"communicationMode" : "lanConnectionMode"
We rebooted the CMREST Host and also invoke 'refresh' a few times.
Will deleting the Array first and then Re-registering it with correct parameters will help. As above method is to change the mode. If we re-register it a fresh will that help.
Also, what is DTLS SVP, as we don't have a physical SVP with this array. We've a Virtual SVP(Windows Server). Array Mode: VSP E-Series E1090H.
Thanks