I determined that if I define the payload_content_type as 'text/plain' through python then I no longer see the error. Also, if I define the payload_content_type as 'application/pkix-cert' on the CLI, I get the same error that I was seeing from python.
From CLI:
~/devstack$ barbican secret get http://localhost:9311/v1/secrets/8ec681e6-145d-4e72-99c7-8a354af6696f --payload -f value --debug --payload_content_type application/pkix-cert
Starting new HTTP connection (1): 10.109.24.227
Starting new HTTP connection (1): localhost
4xx Client error: Not Acceptable
Not Acceptable
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/cliff/app.py", line 314, in run_subcommand
result = cmd.run(parsed_args)
File "/usr/local/lib/python2.7/dist-packages/cliff/display.py", line 92, in run
column_names, data = self.take_action(parsed_args)
File "/opt/stack/python-barbicanclient/barbicanclient/barbican_cli/secrets.py", line 68, in take_action
(entity.payload,))
File "/opt/stack/python-barbicanclient/barbicanclient/secrets.py", line 188, in payload
self._fetch_payload()
File "/opt/stack/python-barbicanclient/barbicanclient/secrets.py", line 259, in _fetch_payload
payload = self._api._get_raw(payload_url, headers=headers)
File "/opt/stack/python-barbicanclient/barbicanclient/client.py", line 79, in _get_raw
return self.request(path, 'GET', *args, **kwargs).content
File "/opt/stack/python-barbicanclient/barbicanclient/client.py", line 63, in request
self._check_status_code(resp)
File "/opt/stack/python-barbicanclient/barbicanclient/client.py", line 103, in _check_status_code
status
HTTPClientError: Not Acceptable
Traceback (most recent call last):
File "/usr/local/bin/barbican", line 10, in <module>
sys.exit(main())
File "/opt/stack/python-barbicanclient/barbicanclient/barbican.py", line 310, in main
return barbican_app.run(argv)
File "/opt/stack/python-barbicanclient/barbicanclient/barbican.py", line 305, in run
return super(Barbican, self).run(argv)
File "/usr/local/lib/python2.7/dist-packages/cliff/app.py", line 241, in run
result = self.run_subcommand(remainder)
File "/usr/local/lib/python2.7/dist-packages/cliff/app.py", line 314, in run_subcommand
result = cmd.run(parsed_args)
File "/usr/local/lib/python2.7/dist-packages/cliff/display.py", line 92, in run
column_names, data = self.take_action(parsed_args)
File "/opt/stack/python-barbicanclient/barbicanclient/barbican_cli/secrets.py", line 68, in take_action
(entity.payload,))
File "/opt/stack/python-barbicanclient/barbicanclient/secrets.py", line 188, in payload
self._fetch_payload()
File "/opt/stack/python-barbicanclient/barbicanclient/secrets.py", line 259, in _fetch_payload
payload = self._api._get_raw(payload_url, headers=headers)
File "/opt/stack/python-barbicanclient/barbicanclient/client.py", line 79, in _get_raw
return self.request(path, 'GET', *args, **kwargs).content
File "/opt/stack/python-barbicanclient/barbicanclient/client.py", line 63, in request
self._check_status_code(resp)
File "/opt/stack/python-barbicanclient/barbicanclient/client.py", line 103, in _check_status_code
status
barbicanclient.exceptions.HTTPClientError: Not Acceptable
~/devstack$
I determined that if I define the payload_ content_ type as 'text/plain' through python then I no longer see the error. Also, if I define the payload_ content_ type as 'application/ pkix-cert' on the CLI, I get the same error that I was seeing from python.
From CLI: localhost: 9311/v1/ secrets/ 8ec681e6- 145d-4e72- 99c7-8a354af669 6f --payload -f value --debug --payload_ content_ type application/ pkix-cert lib/python2. 7/dist- packages/ cliff/app. py", line 314, in run_subcommand parsed_ args) lib/python2. 7/dist- packages/ cliff/display. py", line 92, in run action( parsed_ args) python- barbicanclient/ barbicanclient/ barbican_ cli/secrets. py", line 68, in take_action payload, )) python- barbicanclient/ barbicanclient/ secrets. py", line 188, in payload _fetch_ payload( ) python- barbicanclient/ barbicanclient/ secrets. py", line 259, in _fetch_payload _get_raw( payload_ url, headers=headers) python- barbicanclient/ barbicanclient/ client. py", line 79, in _get_raw python- barbicanclient/ barbicanclient/ client. py", line 63, in request _check_ status_ code(resp) python- barbicanclient/ barbicanclient/ client. py", line 103, in _check_status_code bin/barbican" , line 10, in <module> exit(main( )) python- barbicanclient/ barbicanclient/ barbican. py", line 310, in main app.run( argv) python- barbicanclient/ barbicanclient/ barbican. py", line 305, in run lib/python2. 7/dist- packages/ cliff/app. py", line 241, in run subcommand( remainder) lib/python2. 7/dist- packages/ cliff/app. py", line 314, in run_subcommand parsed_ args) lib/python2. 7/dist- packages/ cliff/display. py", line 92, in run action( parsed_ args) python- barbicanclient/ barbicanclient/ barbican_ cli/secrets. py", line 68, in take_action payload, )) python- barbicanclient/ barbicanclient/ secrets. py", line 188, in payload _fetch_ payload( ) python- barbicanclient/ barbicanclient/ secrets. py", line 259, in _fetch_payload _get_raw( payload_ url, headers=headers) python- barbicanclient/ barbicanclient/ client. py", line 79, in _get_raw python- barbicanclient/ barbicanclient/ client. py", line 63, in request _check_ status_ code(resp) python- barbicanclient/ barbicanclient/ client. py", line 103, in _check_status_code exceptions. HTTPClientError : Not Acceptable
~/devstack$ barbican secret get http://
Starting new HTTP connection (1): 10.109.24.227
Starting new HTTP connection (1): localhost
4xx Client error: Not Acceptable
Not Acceptable
Traceback (most recent call last):
File "/usr/local/
result = cmd.run(
File "/usr/local/
column_names, data = self.take_
File "/opt/stack/
(entity.
File "/opt/stack/
self.
File "/opt/stack/
payload = self._api.
File "/opt/stack/
return self.request(path, 'GET', *args, **kwargs).content
File "/opt/stack/
self.
File "/opt/stack/
status
HTTPClientError: Not Acceptable
Traceback (most recent call last):
File "/usr/local/
sys.
File "/opt/stack/
return barbican_
File "/opt/stack/
return super(Barbican, self).run(argv)
File "/usr/local/
result = self.run_
File "/usr/local/
result = cmd.run(
File "/usr/local/
column_names, data = self.take_
File "/opt/stack/
(entity.
File "/opt/stack/
self.
File "/opt/stack/
payload = self._api.
File "/opt/stack/
return self.request(path, 'GET', *args, **kwargs).content
File "/opt/stack/
self.
File "/opt/stack/
status
barbicanclient.
~/devstack$
From python: secrets. get('http:// localhost: 9311/v1/ secrets/ 8ec681e6- 145d-4e72- 99c7-8a354af669 6f', payload_ content_ type='text/ plain') payload_ content_ type ----\nMIICgzCCA WsCECCYIEMsaETJ saf+z9ryNxkwDQY JKoZIhvcNAQELBQ AwXDELMAkG\ nA1UEBhMCWFgxDj AMBgNVBAgTBVVuc 2V0MQ4wDAYDVQQH EwVVbnNldDEOMAw GA1UE\nChMFVW5z ZXQxHTAbBgNVBAM TFFNuYWtlb2lsIE NlcnRpZmljYXRlM B4XDTE1MDcy\ nOTE3MzA0N1oXDT E1MDcyOTE3NDI1N 1owKDEUMBIGA1UE ChMLZXhhbXBsZS5 jb20x\nEDAOBgNV BAMTB3NlcnZlcjE wgZ8wDQYJKoZIhv cNAQEBBQADgY0AM IGJAoGBAMuu\ ngzIK2zuz5p3qHf UVn5EnjlJqTsMja l+Hw1x0RLvCEgMP IYj+qHzp2SFOh5g 2GUDz\nrk7zxXBt 6K5e25W/ wWVXZe5l/ J/Pva0q1+ jOdMXI+ ozQnoA6wRYE2cO2 6fZLRUkW\ nQGcnLMgfzsnuRK T2H9VTAA5ygcff/ TdGrBcalhftAgMB AAEwDQYJKoZIhvc NAQEL\nBQADggEB AAmgO+4jwoINsts +9ynIUFSWjxBvb/ 89g0x2K/ Of3lXd1XfiqHI3o OXl\njpTfbwET7w iykc+MYIFvgDr0z QwXDRpYPk26x7Hh lPuHyDSp0KMruIO zkCUbjqfu\ n6lttenTvqWloNr f+HSpgLuigHXta9 H4GvCVvKzvgyRXt 5AgRifc1OkJO7rX WMQ7V\nZ9z/ XhIOHwyQpU1gT6P +BR460Sc8Ba7U7A T+36IXIHS9Um2nd bNM3i+Gy15/ M5Aj\najAOWGB/ dokHQg+ kz1M9sgNzYEKkXC 5ivuwSJMwvB5J+ LjBkj/nSG5MsoIj u+a/+\npQDNWViJ Bf2Edx32bUOHqna Z4UIwzig= \n----- END CERTIFICATE-----\n'
>>> certificate = barbican.
>>> certificate.
'text/plain'
>>> certificate.payload
u'-----BEGIN CERTIFICATE-
>>>