Problem Statement:
You might encounter some errors while executing bootvm.py for ESC installation; one such common error is:
Description:
You may get a long python stack trace information after running bootvm.py and you must refer couple of lines at the bottom
of the error messages. For example: Unauthorized: The request you have made requires authentication. (HTTP 401) (Request-ID: req-e93d90b0-aced-4b88-b4ca-bcc3d88e8bc0)
The request you have made requires authentication. (HTTP 401) (Request-ID: req-e93d90b0-aced-4b88-b4ca-bcc3d88e8bc0) -- Booting up ESC VM has failed.
Solution:
In such scenarios, you must check your open stack credentials information either in your bootvm.py arguments, or in your global
environment (if you have not specified those in the bootvm.py arguments).
Following is an example to check OpenStack credential parameters through global environment:$ env | grep OS_
OS_USER_DOMAIN_NAME=default
OS_IMAGE_API_VERSION=2
OS_PROJECT_NAME=admin
OS_IDENTITY_API_VERSION=3
OS_PASSWORD=cisco123
OS_AUTH_TYPE=password
OS_AUTH_URL=http://10.85.103.145:35357/v3
OS_USERNAME=admin
OS_TENANT_NAME=admin
OS_PROJECT_DOMAIN_NAME=default
Similar to other OpenStack clients (OpenStack, Nova, Neutron, etc.), bootvm.py is used to install ESC on OpenStack. You can
pass OpenStack credentials to ESC installer through the following arguments of bootvm.py:--os_auth_url
--os_username
--os_password
--os_tenant_name
--os_project_name
--os_user_domain_name
--os_project_domain_name
--os_identity_api_version
--bs_os_auth_url
--bs_os_username
--bs_os_password
--bs_os_tenant_name
--bs_os_project_name
--bs_os_user_domain_name
--bs_os_project_domain_name
--bs_os_identity_api_version
The bootstrap arguments starting with bs_
is only used for ESC installation on OpenStack, and the arguments starting with os_
is used for ESC to perform the VNF lifecycle management (as default VIM connector in ESC 3.x).
If you do not specify those arguments, ESC uses the same OpenStack credentials from global environment variables of Linux
for both ESC installation and VNF lifecycle management. Similar to the OpenStack client, you can create an openrc file and
source the file to add global environment variables.
For OpenStack V2 API, you need the following items exported to your global environment variables: OS_PASSWORD
OS_AUTH_URL
OS_USERNAME
OS_TENANT_NAME
For OpenStack V3 API, you must set OS_IDENTITY_API_VERSION=3 to use OpenStack V3 API. You need the following items exported
to your global environment variables: OS_USER_DOMAIN_NAME
OS_PROJECT_DOMAIN_NAME
OS_PROJECT_NAME
OS_TENANT_NAME
OS_PASSWORD
OS_AUTH_URL
OS_USERNAME
OS_IDENTITY_API_VERSION