Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I am going crazy. Can anybody tell me the secret of deleting a CIFS server with Python client library? It complains about missing AD credentials, but I am simply not getting how to pass them over. I am working in LoD:
https://handsonlabs.netapp.com/lab/ontapapi (SL10599)
Here is what I am trying to do:
print("--> Starting CIFS server delete operation")
try:
cifs = CifsService.find(name="PRIMARY_SVM_01")
cifs.from_dict(
{
"svm": {
"name": "primary_svm_01"
},
"ad_domain": {
"fqdn": "demo.netapp.com",
"user": "Administrator@demo.netapp.com",
"password": "<guesswhatthatcouldbe:D>"
}
})
cifs.delete()
print("--> CIFS server {} deleted successfully".format(cifs.name))
except NetAppRestError as err:
print("--> Error: CIFS server was not deleted:\n{}".format(err))
print("")
And here is the debug output:
--> Starting CIFS server delete operation
DEBUG:urllib3.util.retry:Converted retries value: 5 -> Retry(total=5, connect=None, read=None, redirect=None, status=None)
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): cluster1.demo.netapp.com:443
DEBUG:urllib3.connectionpool:https://cluster1.demo.netapp.com:443 "GET /api/protocols/cifs/services?name=PRIMARY_SVM_01 HTTP/1.1" 200 579
DEBUG:netapp_ontap.utils:
-----------REQUEST-----------
GET https://cluster1.demo.netapp.com:443/api/protocols/cifs/services?name=PRIMARY_SVM_01
User-Agent: python-requests/2.23.0
Accept-Encoding: gzip, deflate
Accept: */*
Connection: keep-alive
X-Dot-Client-App: netapp-ontap-python-9.7.0
Authorization: Basic YWRtaW46TmV0YXBwMSE=
None
-----------------------------
-----------RESPONSE-----------
200 OK
Date: Wed, 18 Mar 2020 06:45:40 GMT
Server: libzapid-httpd
X-Content-Type-Options: nosniff
Cache-Control: no-cache,no-store,must-revalidate
Content-Length: 579
Content-Type: application/hal+json
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
{
"records": [
{
"svm": {
"uuid": "513ab210-687a-11ea-8d2a-005056819f1b",
"name": "primary_svm_01",
"_links": {
"self": {
"href": "/api/svm/svms/513ab210-687a-11ea-8d2a-005056819f1b"
}
}
},
"name": "PRIMARY_SVM_01",
"_links": {
"self": {
"href": "/api/protocols/cifs/services/513ab210-687a-11ea-8d2a-005056819f1b"
}
}
}
],
"num_records": 1,
"_links": {
"self": {
"href": "/api/protocols/cifs/services?name=PRIMARY_SVM_01"
}
}
}
------------------------------
DEBUG:urllib3.util.retry:Converted retries value: 5 -> Retry(total=5, connect=None, read=None, redirect=None, status=None)
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): cluster1.demo.netapp.com:443
DEBUG:urllib3.connectionpool:https://cluster1.demo.netapp.com:443 "GET /api/protocols/cifs/services/513ab210-687a-11ea-8d2a-005056819f1b HTTP/1.1" 200 768
DEBUG:netapp_ontap.utils:
-----------REQUEST-----------
GET https://cluster1.demo.netapp.com:443/api/protocols/cifs/services/513ab210-687a-11ea-8d2a-005056819f1b
User-Agent: python-requests/2.23.0
Accept-Encoding: gzip, deflate
Accept: */*
Connection: keep-alive
X-Dot-Client-App: netapp-ontap-python-9.7.0
Authorization: Basic YWRtaW46TmV0YXBwMSE=
None
-----------------------------
-----------RESPONSE-----------
200 OK
Date: Wed, 18 Mar 2020 06:45:40 GMT
Server: libzapid-httpd
X-Content-Type-Options: nosniff
Cache-Control: no-cache,no-store,must-revalidate
Content-Length: 768
Content-Type: application/hal+json
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
{
"svm": {
"uuid": "513ab210-687a-11ea-8d2a-005056819f1b",
"name": "primary_svm_01",
"_links": {
"self": {
"href": "/api/svm/svms/513ab210-687a-11ea-8d2a-005056819f1b"
}
}
},
"name": "PRIMARY_SVM_01",
"ad_domain": {
"fqdn": "DEMO.NETAPP.COM",
"organizational_unit": "CN=Computers"
},
"enabled": true,
"comment": "Created with ONTAP PYL",
"security": {
"restrict_anonymous": "no_enumeration",
"smb_signing": false,
"smb_encryption": false,
"kdc_encryption": false
},
"netbios": {
"wins_servers": [
],
"enabled": false
},
"default_unix_user": "pcuser",
"_links": {
"self": {
"href": "/api/protocols/cifs/services/513ab210-687a-11ea-8d2a-005056819f1b"
}
}
}
------------------------------
DEBUG:netapp_ontap.utils:
-----------REQUEST-----------
GET https://cluster1.demo.netapp.com:443/api/protocols/cifs/services/513ab210-687a-11ea-8d2a-005056819f1b
User-Agent: python-requests/2.23.0
Accept-Encoding: gzip, deflate
Accept: */*
Connection: keep-alive
X-Dot-Client-App: netapp-ontap-python-9.7.0
Authorization: Basic YWRtaW46TmV0YXBwMSE=
None
-----------------------------
-----------RESPONSE-----------
200 OK
Date: Wed, 18 Mar 2020 06:45:40 GMT
Server: libzapid-httpd
X-Content-Type-Options: nosniff
Cache-Control: no-cache,no-store,must-revalidate
Content-Length: 768
Content-Type: application/hal+json
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
{
"svm": {
"uuid": "513ab210-687a-11ea-8d2a-005056819f1b",
"name": "primary_svm_01",
"_links": {
"self": {
"href": "/api/svm/svms/513ab210-687a-11ea-8d2a-005056819f1b"
}
}
},
"name": "PRIMARY_SVM_01",
"ad_domain": {
"fqdn": "DEMO.NETAPP.COM",
"organizational_unit": "CN=Computers"
},
"enabled": true,
"comment": "Created with ONTAP PYL",
"security": {
"restrict_anonymous": "no_enumeration",
"smb_signing": false,
"smb_encryption": false,
"kdc_encryption": false
},
"netbios": {
"wins_servers": [
],
"enabled": false
},
"default_unix_user": "pcuser",
"_links": {
"self": {
"href": "/api/protocols/cifs/services/513ab210-687a-11ea-8d2a-005056819f1b"
}
}
}
------------------------------
DEBUG:urllib3.connectionpool:https://cluster1.demo.netapp.com:443 "DELETE /api/protocols/cifs/services/513ab210-687a-11ea-8d2a-005056819f1b HTTP/1.1" 202 189
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): cluster1.demo.netapp.com:443
DEBUG:urllib3.connectionpool:https://cluster1.demo.netapp.com:443 "GET /api/cluster/jobs/154221a4-68e4-11ea-87e9-00505681f8b5 HTTP/1.1" 200 619
INFO:netapp_ontap.utils:Job (failure): In order to delete an Active Directory machine account for the CIFS server, you must supply the name and password of a Windows account with sufficient privileges to remove computers from the "DEMO.NETAPP.COM" domain. . Timeout remaining: 30.
--> Error: CIFS server was not deleted:
Job failed: In order to delete an Active Directory machine account for the CIFS server, you must supply the name and password of a Windows account with sufficient privileges to remove computers from the "DEMO.NETAPP.COM" domain.
Solved! See The Solution
1 ACCEPTED SOLUTION
badrian has accepted the solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The CIFS Services DELETE API requires that the credentials are passed in the body of the request. So your code should look a bit like this:
print("--> Starting CIFS server delete operation")
try:
cifs = CifsService.find(name="PRIMARY_SVM_01")
cifs.delete(body={
"ad_domain": {
"fqdn": "demo.netapp.com",
"user": "Administrator@demo.netapp.com",
"password": "<guesswhatthatcouldbe:D>"
}
})
print("--> CIFS server {} deleted successfully".format(cifs.name))
except NetAppRestError as err:
print("--> Error: CIFS server was not deleted:\n{}".format(err))
print("")
1 REPLY 1
badrian has accepted the solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The CIFS Services DELETE API requires that the credentials are passed in the body of the request. So your code should look a bit like this:
print("--> Starting CIFS server delete operation")
try:
cifs = CifsService.find(name="PRIMARY_SVM_01")
cifs.delete(body={
"ad_domain": {
"fqdn": "demo.netapp.com",
"user": "Administrator@demo.netapp.com",
"password": "<guesswhatthatcouldbe:D>"
}
})
print("--> CIFS server {} deleted successfully".format(cifs.name))
except NetAppRestError as err:
print("--> Error: CIFS server was not deleted:\n{}".format(err))
print("")
