Knowledge Search


[CSO] Installation fail with AttributeError: 'NoneType' object has no attribute 'exec_cmd'

  [KB34833] Show Article Properties


This article explains a specific scenario of CSO 4.1.1 installation failed when authentication method is key based authentication instead of password authentication in VM's (Defined in provision_vm.conf).

The workaround is switching to password based authentication just for installation, then switch back to key based authentication post installation.  


root@sdninstallervm:~/Contrail_Service_Orchestration_4.1.1# ./ 


Ign http://X.X.X.X:90 salt InRelease 
Ign http://X.X.X.X:90 installer InRelease 
Ign http://X.X.X.X:90 salt Release.gpg 
Ign http://X.X.X.X:90 installer Release.gpg 
Hit http://X.X.X.X:90 salt Release 
Hit http://X.X.X.X:90 installer Release 
Ign http://X.X.X.X:90 salt/main amd64 Packages/DiffIndex 
Ign http://X.X.X.X:90 installer/main amd64 Packages/DiffIndex 
Hit http://X.X.X.X:90 salt/main amd64 Packages 
Ign http://X.X.X.X:90 salt/main Translation-en_US 
Ign http://X.X.X.X:90 salt/main Translation-en 
Hit http://X.X.X.X:90 installer/main amd64 Packages 
Ign http://X.X.X.X:90 installer/main Translation-en_US 
Ign http://X.X.X.X:90 installer/main Translation-en 
Reading package lists... Done 
Installing installer dependencies 

Skipping ./ since already done 
Skipping ./ since already done 
This tool assists you in installing/updating your CSO solution. 
Make sure you have the details of the servers/VMs required for the installation ready before continuing... 
If you want to create KVM-based VMs on the physical server, you can cut this script by pressing <ctrl + c> 
and use the PROVISION VM tool to create the VMs by following the instructions from README 
After you have completed PROVISION VM, you can re-run this script. 

Press any key to continue: 
The solution being installed: cso4.1.1 

Please answer the questions below. The default values are shown with each question, Press enter to proceed without any change. Press any key to continue: 

Generic Questions 
The installer machine IP: [X.X.X.X]: 
The deployment environment that you want to setup. (production) [production]: 
Select the deployment type. (small/medium/large) [medium]: 
Is CSO behind NAT (y/n) [n]: 
Timezone for the servers in topology [America/XXX]: 
List of ntp servers (comma separated) []: 
CSO certificate validity (in days) [365]: 
Do you want to enable TLS mode of authentication between device to FMPM services?. (y/n) [y]: 
Provide Email Address for cspadmin user []: 
DNS name of CSO Customer Portal []: 
DNS name of CSO Admin Portal (can be same as Customer Portal) []: 
The Autonomous System Number for BGP [65520]: 

Keystone related 
Do you have an external keystone (centralized mode use case only) (y/n) [n]: 
Deployment model: production, type: medium, ha: ha & configuration path production/ha 

Topology Details. Region: central 
"HA Production Environment Details" 
The servers required in central region are csp-central-infravm1, csp-central-infravm2, csp-central-infravm3, csp-central-msvm1, csp-central-msvm2, csp-central-msvm3, csp-central-lbvm1, csp-central-lbvm2, csp-central-lbvm3, csp-contrailanalytics-1, csp-contrailanalytics-2, csp-contrailanalytics-3, csp-central-elkvm1, csp-central-elkvm2, csp-central-elkvm3, csp-installer-vm 
Kubernetes overlay network cidr used by the microservices [X.X.X.X]: 
Kubernetes Services overlay network range (cidr) used by the microservices [X.X.X.X]: 
Kubernetes Service APIServer IP which is in above cidr range [X.X.X.X]: 
Kubernetes Cluster DNS IP used by skydns which should be in Kubernetes Services overlay network range [X.X.X.X]: 
Traceback (most recent call last): 
File "/root/Contrail_Service_Orchestration_4.1.1/scripts/", line 1861, in <module> 
File "/root/Contrail_Service_Orchestration_4.1.1/scripts/", line 1457, in main 
can_node_details = get_contrail_node_details('can '.format(can), settings['{}_csp-contrailanalytics-{}_management_address'.format(region, can)], settings['{}_csp-contrailanalytics-{}_username'.format(region, can)], settings['{}_csp-contrailanalytics-{}_password'.format(region, can)]) 
File "/root/Contrail_Service_Orchestration_4.1.1/scripts/", line 665, in get_contrail_node_details 
interface_name, _ = host.exec_cmd(cmd) 
AttributeError: 'NoneType' object has no attribute 'exec_cmd' 

CSO 4.1.1 installation does not support key based authentication.


As a workaround, you can switch to password based authentication just for installation and then switch to key based authentication post installation.  


  1. Set root password in all the VM's (defined in provision_vm.conf)
  2. Enter the correct (common and root) password during time of running
  3. Complete the installation.
  4. Optional: Switch back to key based authentication

Note: Password given during installation are present in ‚Äčlocation : ~/Contrail_Service_Orchestration_4.1.1/.config/settings.yaml

Related Links: