diff --git a/example.conf b/example.conf index ec6d932e6..01215ab5e 100644 --- a/example.conf +++ b/example.conf @@ -254,6 +254,12 @@ # value) #ironic_url = http://localhost:6385/ +# Ironic service type. (string value) +#os_service_type = baremetal + +# Ironic endpoint type. (string value) +#os_endpoint_type = internalURL + [keystone_authtoken] diff --git a/ironic_inspector/conf.py b/ironic_inspector/conf.py index 859a0c8a2..af6407fa7 100644 --- a/ironic_inspector/conf.py +++ b/ironic_inspector/conf.py @@ -59,6 +59,12 @@ IRONIC_OPTS = [ help='Ironic API URL, used to set Ironic API URL when ' 'auth_strategy option is noauth to work with standalone ' 'Ironic without keystone.'), + cfg.StrOpt('os_service_type', + default='baremetal', + help='Ironic service type.'), + cfg.StrOpt('os_endpoint_type', + default='internalURL', + help='Ironic endpoint type.'), ] diff --git a/ironic_inspector/utils.py b/ironic_inspector/utils.py index ed26f65f0..221d2da4d 100644 --- a/ironic_inspector/utils.py +++ b/ironic_inspector/utils.py @@ -64,13 +64,15 @@ def get_client(): # pragma: no cover """Get Ironic client instance.""" # NOTE: To support standalone ironic without keystone if CONF.ironic.auth_strategy == 'noauth': - args = dict({'os_auth_token': 'noauth', - 'ironic_url': CONF.ironic.ironic_url}) + args = {'os_auth_token': 'noauth', + 'ironic_url': CONF.ironic.ironic_url} else: - args = dict({'os_password': CONF.ironic.os_password, - 'os_username': CONF.ironic.os_username, - 'os_auth_url': CONF.ironic.os_auth_url, - 'os_tenant_name': CONF.ironic.os_tenant_name}) + args = {'os_password': CONF.ironic.os_password, + 'os_username': CONF.ironic.os_username, + 'os_auth_url': CONF.ironic.os_auth_url, + 'os_tenant_name': CONF.ironic.os_tenant_name, + 'os_service_type': CONF.ironic.os_service_type, + 'os_endpoint_type': CONF.ironic.os_endpoint_type} return client.get_client(1, **args)