Comment 0 for bug 1790863

Revision history for this message
mhg (marvinhg) wrote :

Brief Description
-----------------
CLI 'sudo configure_controller --retstore-system', one of the steps for System Restore failed with Traceback and error messages. Further investigation found that one expected file was missing: /usr/sbin/apply_banner_customization.

Severity
--------
Critical

Steps to Reproduce
------------------
1) Do system backup following the documented procedures:
   -backup system data using CLI:
             sudo config_controller --backup-system <backup_package_name>
   -backup glance images using CLI for each image:
             sudo image-backup export <image_uuid>
   -backup cinder volumes using CLI for each volumes:
             cinder export <volume_uuid> (for "available" volumes)
             cinder snapshot-create --force True --name <snp_name> <volume_uuid> (for "in-use" volumes)
             cinder snapshot-export <snp_id> (for "in-use" volumes)

     -save all files generated under /opt/backup

2) wipe disks and reinstall same version of system on controller-0 (e.g. using same ISO)
3) restore system using CLI:
     sudo config_controller --restore-system <system-backup-package_file>

Expected Behavior
------------------
The CLI is expected to run to completion without any error and.

Actual Behavior
----------------
The CLI failed after 11 out of 25 steps (44%), Traceback was diplayed:
Step 11 of 25 [################### ] [44%]Traceback (most recent call last):
  File "/usr/bin/config_controller", line 9, in <module>
    load_entry_point('controllerconfig==1.0.0', 'console_scripts', 'config_controller')()
  File "/usr/lib64/python2.7/site-packages/controllerconfig/systemconfig.py", line 476, in main
    backup_restore.restore_system(backup_name)
  File "/usr/lib64/python2.7/site-packages/controllerconfig/backup_restore.py", line 1757, in restore_system
    utils.apply_banner_customization()
  File "/usr/lib64/python2.7/site-packages/controllerconfig/utils.py", line 821, in apply_banner_customization
    stdout=blog, stderr=blog)
  File "/usr/lib64/python2.7/subprocess.py", line 537, in check_call
    retcode = call(*popenargs, **kwargs)
  File "/usr/lib64/python2.7/subprocess.py", line 524, in call
    return Popen(*popenargs, **kwargs).wait()
  File "/usr/lib64/python2.7/subprocess.py", line 711, in __init__
    errread, errwrite)
  File "/usr/lib64/python2.7/subprocess.py", line 1327, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

Further investigation found that the file '/usr/sbin/apply_banner_customization' does not exist, which failed the config_controller.

Reproducibility
---------------
Reproducible
Only ran once, but it's confirmed the package containing the file was not in the build.

System Configuration
--------------------
Any system types

Branch/Pull Time/Commit
-----------------------
StarlingX master as of 2018-08-29_20-18-00

Timestamp/Logs
2018-08-31 21:13:20,512

--------------
[2018-08-31 21:13:20,512] 824 INFO MainThread telnet.exec_cmd:: executing: echo "Li69nux*" | sudo -S config_controller --restore-system /home/wrsroot/titanium_backup_.ceph20180831-153713_2018-08-29_20-18-00_yow-cgcs-ironpass-20_27_system.tgz
[2018-08-31 21:29:43,431] 840 DEBUG MainThread telnet.exec_cmd:: index:2, output:echo "Li69nux*" | sudo -S config_controller --restore-sy
stem /home/wrsroot/titanium_backup_.ceph20180831-153713_2018-08-29_20-18-00_yow-
cgcs-ironpass-20_27_system.tgz

Restoring system (this will take several minutes):

Step 1 of 25 [# ] [4%]
Step 2 of 25 [### ] [8%]
Step 3 of 25 [##### ] [12%]
Step 4 of 25 [####### ] [16%]
Step 5 of 25 [######### ] [20%]
Step 6 of 25 [########## ] [24%]
Step 7 of 25 [############ ] [28%]
Step 8 of 25 [############## ] [32%]
Step 9 of 25 [################ ] [36%]
Step 10 of 25 [################## ] [40%]
Step 11 of 25 [################### ] [44%]Traceback (most recent call last):
  File "/usr/bin/config_controller", line 9, in <module>
    load_entry_point('controllerconfig==1.0.0', 'console_scripts', 'config_controller')()
  File "/usr/lib64/python2.7/site-packages/controllerconfig/systemconfig.py", line 476, in main
    backup_restore.restore_system(backup_name)
  File "/usr/lib64/python2.7/site-packages/controllerconfig/backup_restore.py", line 1757, in restore_system
    utils.apply_banner_customization()
  File "/usr/lib64/python2.7/site-packages/controllerconfig/utils.py", line 821, in apply_banner_customization
    stdout=blog, stderr=blog)
  File "/usr/lib64/python2.7/subprocess.py", line 537, in check_call
    retcode = call(*popenargs, **kwargs)
  File "/usr/lib64/python2.7/subprocess.py", line 524, in call
    return Popen(*popenargs, **kwargs).wait()
  File "/usr/lib64/python2.7/subprocess.py", line 711, in __init__
    errread, errwrite)
  File "/usr/lib64/python2.7/subprocess.py", line 1327, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory