diff --git a/scripts/barclamp_install.rb b/scripts/barclamp_install.rb index d28bdf80e8a..08d50ecc21b 100755 --- a/scripts/barclamp_install.rb +++ b/scripts/barclamp_install.rb @@ -144,6 +144,7 @@ def usage() exit_code = -3 end end + bc_install_update_config_db barclamps, log end generate_navigation diff --git a/scripts/barclamp_mgmt_lib.rb b/scripts/barclamp_mgmt_lib.rb index 2213fd70b7a..026ef6f2021 100755 --- a/scripts/barclamp_mgmt_lib.rb +++ b/scripts/barclamp_mgmt_lib.rb @@ -505,6 +505,18 @@ def check_schema_migration(bc) return old_schema_revision != new_schema_revision end +def bc_install_update_config_db(barclamps, log) + File.open(log, "a") do |f| + f.puts( + "======== Updating configuration DB for #{barclamps.join(", ")} -- " \ + "#{Time.now.strftime("%c")} ========" + ) + end + unless run_rake_task("crowbar:update_config_db[#{barclamps.join(" ")}]", log) + fatal "Failed to update configuration DB for #{barclamps.join(", ")}.", log + end +end + def get_rpm_file_list(rpm) cmd = "rpm -ql #{rpm}" file_list = `#{cmd}`.lines.map { |line| line.rstrip } diff --git a/scripts/install-chef-suse.sh b/scripts/install-chef-suse.sh index 117336a9d5d..ec91eb7890b 100755 --- a/scripts/install-chef-suse.sh +++ b/scripts/install-chef-suse.sh @@ -1071,6 +1071,8 @@ do # already installed echo '{ "crowbar_wall": { "registering": true } }' | \ $chef_client --json-attributes /dev/stdin + # admin server got allocated an IP address, regenerate the config db + su -s /bin/sh - crowbar sh -c "cd /opt/dell/crowbar_framework && RAILS_ENV=production bin/rake crowbar:update_config_db" else $chef_client fi