Bug 1477254

Summary: [Doc-RFE] Document customer solution information for ceph manager
Product: [Red Hat Storage] Red Hat Ceph Storage Reporter: Anjana Suparna Sriram <asriram>
Component: DocumentationAssignee: Bara Ancincova <bancinco>
Status: CLOSED CURRENTRELEASE QA Contact: Madhavi Kasturi <mkasturi>
Severity: unspecified Docs Contact:
Priority: high    
Version: 3.0CC: anharris, branto, hnallurv, kdreyer, khartsoe
Target Milestone: rcKeywords: FutureFeature
Target Release: 3.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-12-26 03:38:34 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1477276    
Bug Blocks:    

Description Anjana Suparna Sriram 2017-08-01 14:56:43 UTC
Additional info: 

RHCS 3.0 Content Plan:
https://docs.google.com/document/d/1fp1j6iPr9UPHCMWqqS8QG3SXiSQ3n9Y9a1YogivhtzA/edit

Comment 12 Madhavi Kasturi 2017-10-17 10:23:10 UTC
OS - Ubuntu[16.04] 
certificate - Self-signed
Docuemnt - https://doc-stage.usersys.redhat.com/documentation/en-us/red_hat_ceph_storage/3/html-single/ceph_management_api/

--------------
Doc changes required.

1. Section : 2.1 Getting Information
1.a) Section 2.1.1 - 2.1.15 
Issue: Using Python interpreter for self-signed certificate the command fails with syntax error.
snippet: 
>>> result = requests.patch('https://10.8.128.92:8003/server/magna092', auth=("admin", "dcc512d6-5432-4ebe-b57b-2c0da7701122") verify=False)
  File "<stdin>", line 1
    result = requests.patch('https://10.8.128.92:8003/server/magna092', auth=("admin", "dcc512d6-5432-4ebe-b57b-2c0da7701122") verify=False)
                                                                                                                                    ^
SyntaxError: invalid syntax
>>> 

-----------------------
2. Section : 2.2 Changing Configuration
  sub section 2.2.1 -  How Can I Change OSD Configuration Options?
2.a)  using curl 
ubuntu@magna003:~$ echo -En '{"nodeep-scrub": False}' | curl --request PATCH --data @- --silent --insecure --user admin 'https://10.8.128.92:8003/config/osd'
Enter host password for user 'admin':
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>500 Internal Server Error</title>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error and was unable to complete your request.  Either the server is overloaded or there is an error in the application.</p>


using Python: syntax Error
>>> result = requests.patch('https://10.8.128.92:8003/config/osd', json={"nodeep-scrub": False}, auth=("admin", "dcc512d6-5432-4ebe-b57b-2c0da7701122") verify=False)
  File "<stdin>", line 1
    result = requests.patch('https://10.8.128.92:8003/config/osd', json={"nodeep-scrub": False}, auth=("admin", "dcc512d6-5432-4ebe-b57b-2c0da7701122") verify=False)
                                                                                                                                                             ^
SyntaxError: invalid syntax
>>> 

----------------------- 
3. 2.2.2. How Can I Change the OSD State?
3.a) Using CURL command error 
</html>ubuntu@magna092:~$ echo -En '{"in": False}' | curl --request PATCH --data @- --silent --insecure --user admin 'https://10.8.128.92:8003/config/osd/1'
Enter host password for user 'admin':
<html>
 <head>
  <title>404 Not Found</title>
 </head>
 <body>
  <h1>404 Not Found</h1>
  The resource could not be found.<br /><br />
 </body>
</html>ubuntu@magna092:~$ 
3 b) using Python : syntax error

>>> result = requests.patch('https://10.8.128.92:8003/config/osd/1', json={"up", False}, auth=("admin", "dcc512d6-5432-4ebe-b57b-2c0da7701122") verify=False)
  File "<stdin>", line 1
    result = requests.patch('https://10.8.128.92:8003/config/osd/1', json={"up", False}, auth=("admin", "dcc512d6-5432-4ebe-b57b-2c0da7701122") verify=False)
                                                                                                                                                     ^
SyntaxError: invalid syntax
>>> 

-----------------------
4. 2.2.3. How Can I Reweight an OSD?
4.a)Using Python: 
>>> result = requests.patch('https://10.8.128.92:8003/osd/1', json={"reweight", 0.0}, auth=("admin", "dcc512d6-5432-4ebe-b57b-2c0da7701122") verify=False)
  File "<stdin>", line 1
    result = requests.patch('https://10.8.128.92:8003/osd/1', json={"reweight", 0.0}, auth=("admin", "dcc512d6-5432-4ebe-b57b-2c0da7701122") verify=False)
                                                                                                                                                  ^
SyntaxError: invalid syntax
>>> 

-----------------------
4. Section: Administering the cluster
4a) section: 2.3.1. How Can I Run a Scheduled Process on an OSD?
srub spelling change needed to scrub : command with the process (srub, deep-scrub, or repair)

4b) Using Curl command 
"ubuntu@magna092:~$ echo -En '{"command": scrub}' | curl --request POST --data @- --silent --insecure --user admin 'https://10.8.128.92:8003/osd/1/command'
Enter host password for user 'admin':
<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 3.2 Final//EN"">
<title>500 Internal Server Error</title>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error and was unable to complete your request.  Either the server is overloaded or there is an error in the application.</p>
"
4c ) using python:
 result = requests.post('https://10.8.128.84:8003/osd/1/command', auth=("admin", "dcc512d6-5432-4ebe-b57b-2c0da7701122") verify=False)
                                                                                                                                 ^
SyntaxError: invalid syntax
>>> 

-----------------------
5. 2.3.2. How Can I Create a New Pool?
5.a) Using Curl command
ubuntu@magna092:~$ echo -En '{"name": newpool123, "pg_num": 100}' | curl --request POST --data @- --silent --insecure --user admin 'https://10.8.128.92:8003/pool'
Enter host password for user 'admin':
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>500 Internal Server Error</title>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error and was unable to complete your request.  Either the server is overloaded or there is an error in the application.</p>
5.b) Using Python : 
result = requests.post('https://10.8.128.92:8003/pool', json={"name": poola, "pg_num": 100}, auth=("admin", "dcc512d6-5432-4ebe-b57b-2c0da7701122") verify=False)
                                                                                                                                                             ^
SyntaxError: invalid syntax

-----------------------
6. 2.3.3. How Can I Remove Pools?
6.a) Using Python 

result = requests.delete('https://10.8.128.92:8003/pool/1', auth=("admin", "dcc512d6-5432-4ebe-b57b-2c0da7701122") verify=False)
                                                                                                                            ^
SyntaxError: invalid syntax

-----------------------
7. 2.3.4. How Can I Remove All Finished Requests?
7.a) Using Python 
    result = requests.delete('https://10.8.128.92:8003/request', auth=("admin", "dcc512d6-5432-4ebe-b57b-2c0da7701122") verify=False)
                                                                                                                             ^
SyntaxError: invalid syntax

-----------------------
8. 2.3.5. How Can I Remove a Particular Request?
8.a) Using Python 
result = requests.delete('https://10.8.128.92:8003/request/1', auth=("admin", "dcc512d6-5432-4ebe-b57b-2c0da7701122") verify=False)
                                                                                                                               ^
SyntaxError: invalid syntax
>>> 
-----------------------

Comment 14 Madhavi Kasturi 2017-10-22 10:58:57 UTC
Hi

Verified the revised document 

All the above mentioned issues are working with the changes made.

However,below section needs change.
2.2.4 How can I change Pool Information.
a) Using curl
 
ubuntu@magna003:/usr/share/ceph-ansible$ echo -En '{"pg_num": 100}' | curl --request PATCH --data @- --silent --insecure --user admin 'https://10.8.128.3:8003/pool/5'
Enter host password for user 'admin':
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>500 Internal Server Error</title>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error and was unable to complete your request.  Either the server is overloaded or there is an error in the application.</p>

however ,the value of pg_num does get reflected for pool 5.

b)Using Python 
result = requests.patch('https://<ceph-mgr>:8003/pool/<id>', json={"<option>": <value>}, auth=("<user>", "<password>") verify=False)

The comma is missing before verify=False.

c) result = requests.patch('https://10.8.128.3:8003/pool/5', json={"pg_num": 120}, auth=("admin", "be3903d4-6332-46f3-b9ac-84e4000e6b4d"), verify=False) 
The value of pg_num does not reflect in pool 5.

Comment 17 Madhavi Kasturi 2017-10-24 13:57:25 UTC
The document changes requested are incorporated. 

Would raise a separate bug for issues reported in comment 16.

Moving this bug to verified.