All OpenStack projects use the same oslo-config boilerplate to provide credentials for the various clients a service may use. In this case, Cinder needs to talk to Nova, so a nova client needs to be instantiated. The sections for the various clients are identical. The only difference is the group name (eg: [nova], [neutron], etc). These individual sections are so alike, that in more recent versions of OpenStack, you can chose to either customize them (you may want a different Region for one of the clients), or use the "auth_section" option.
example:
[nova]
auth_section = "keystone_auth"
[keystone_auth]
.... The template contents from previous comment .....
In the cinder code, this is used here (for nova at least):
A keystone session is created with the credentials from [nova] and that session is passed into the nova client.
In general, if a service needs to talk to another service, for whatever reason, a proper [<service_name>] section needs to exist in the config with the proper keystone credentials (identical most times to all other services).
Adding a bit of context.
All OpenStack projects use the same oslo-config boilerplate to provide credentials for the various clients a service may use. In this case, Cinder needs to talk to Nova, so a nova client needs to be instantiated. The sections for the various clients are identical. The only difference is the group name (eg: [nova], [neutron], etc). These individual sections are so alike, that in more recent versions of OpenStack, you can chose to either customize them (you may want a different Region for one of the clients), or use the "auth_section" option.
example:
[nova]
auth_section = "keystone_auth"
[keystone_auth]
.... The template contents from previous comment .....
In the cinder code, this is used here (for nova at least):
https:/ /github. com/openstack/ cinder/ blob/master/ cinder/ compute/ nova.py# L115-L129
A keystone session is created with the credentials from [nova] and that session is passed into the nova client.
In general, if a service needs to talk to another service, for whatever reason, a proper [<service_name>] section needs to exist in the config with the proper keystone credentials (identical most times to all other services).