diff options
author | Mandeep Khinda <Mandeep.Khinda@amdocs.com> | 2017-06-24 11:49:37 -0400 |
---|---|---|
committer | Mandeep Khinda <Mandeep.Khinda@amdocs.com> | 2017-06-24 11:49:37 -0400 |
commit | d6ea987caed84a9f36030a5a1516df7c6186362d (patch) | |
tree | 265dda9cfb43a78542e4b2ccac382a8a5583bc56 /kubernetes/config/docker/init/src/config/robot/robot/resources/openstack/keystone_interface.robot | |
parent | 43d96ac929c93d0aa2a55d860e0425a39118f7b4 (diff) |
onap on kubernetes source files
Change-Id: I4de34baf90979651223a28323010deb7aef21946
Signed-off-by: Mandeep Khinda <Mandeep.Khinda@amdocs.com>
Diffstat (limited to 'kubernetes/config/docker/init/src/config/robot/robot/resources/openstack/keystone_interface.robot')
-rw-r--r-- | kubernetes/config/docker/init/src/config/robot/robot/resources/openstack/keystone_interface.robot | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/kubernetes/config/docker/init/src/config/robot/robot/resources/openstack/keystone_interface.robot b/kubernetes/config/docker/init/src/config/robot/robot/resources/openstack/keystone_interface.robot new file mode 100644 index 0000000000..6c48e12086 --- /dev/null +++ b/kubernetes/config/docker/init/src/config/robot/robot/resources/openstack/keystone_interface.robot @@ -0,0 +1,55 @@ +*** Settings *** +Documentation The main interface for interacting with Openstack Keystone API. It handles low level stuff like managing the authtoken and Openstack required fields +Library OpenstackLibrary +Library RequestsLibrary +Library UUID +Library Collections +Library OperatingSystem +Resource ../global_properties.robot +Resource ../json_templater.robot +Resource openstack_common.robot + +*** Variables *** +${OPENSTACK_KEYSTONE_API_VERSION} /v2.0 +${OPENSTACK_KEYSTONE_AUTH_PATH} /tokens +${OPENSTACK_KEYSTONE_AUTH_BODY_FILE} robot/assets/templates/keystone_get_auth.template +${OPENSTACK_KEYSTONE_TENANT_PATH} /tenants + +*** Keywords *** +Run Openstack Auth Request + [Documentation] Runs an Openstack Auth Request and returns the token and service catalog. you need to include the token in future request's x-auth-token headers. Service catalog describes what can be called + [Arguments] ${alias} ${username}= ${password}= + ${username} ${password}= Set Openstack Credentials ${username} ${password} + ${session}= Create Session keystone ${GLOBAL_OPENSTACK_KEYSTONE_SERVER} verify=True + ${uuid}= Generate UUID + ${data_template}= OperatingSystem.Get File ${OPENSTACK_KEYSTONE_AUTH_BODY_FILE} + ${arguments}= Create Dictionary username=${username} password=${password} + ${data}= Fill JSON Template ${data_template} ${arguments} + ${data_path}= Catenate ${OPENSTACK_KEYSTONE_API_VERSION}${OPENSTACK_KEYSTONE_AUTH_PATH} + ${headers}= Create Dictionary Accept=application/json Content-Type=application/json X-TransactionId=${GLOBAL_APPLICATION_ID}-${uuid} X-FromAppId=${GLOBAL_APPLICATION_ID} + Log Sending authenticate post request ${data_path} with headers ${headers} and data ${data} + ${resp}= Post Request keystone ${data_path} data=${data} headers=${headers} + Save Openstack Auth ${alias} ${resp.text} + Log Received response from keystone ${resp.text} + +Get Openstack Tenants + [Documentation] Returns all the openstack tenant info + [Arguments] ${alias} + ${resp}= Internal Get Openstack With Region ${alias} ${GLOBAL_OPENSTACK_KEYSTONE_SERVICE_TYPE} region= url_ext=${OPENSTACK_KEYSTONE_TENANT_PATH} data_path= + [Return] ${resp.json()} + +Get Openstack Tenant + [Documentation] Returns the openstack tenant info for the specified tenantid + [Arguments] ${alias} ${tenant_id} + ${resp}= Internal Get Openstack With Region ${alias} ${GLOBAL_OPENSTACK_KEYSTONE_SERVICE_TYPE} region= url_ext=${OPENSTACK_KEYSTONE_TENANT_PATH} data_path=/${tenant_id} + [Return] ${resp.json()} + +Set Openstack Credentials + [Arguments] ${username} ${password} + Return From Keyword If '${username}' != '' ${username} ${password} + ${user} ${pass}= Get Openstack Credentials + [Return] ${user} ${pass} + +Get Openstack Credentials + Dictionary Should Contain Key ${GLOBAL_VM_PROPERTIES} openstack_username + [Return] ${GLOBAL_VM_PROPERTIES['openstack_username']} ${GLOBAL_VM_PROPERTIES['openstack_password']}
\ No newline at end of file |