Hello community, here is the log from the commit of package velum for openSUSE:Factory checked in at 2018-07-03 23:34:45 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/velum (Old) and /work/SRC/openSUSE:Factory/.velum.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "velum" Tue Jul 3 23:34:45 2018 rev:38 rq:620394 version:4.0.0+dev+git_r849_5a47921acc39abe81892cc5a47bd8f921ae52fb5 Changes: -------- --- /work/SRC/openSUSE:Factory/velum/velum.changes 2018-06-29 22:35:44.866035808 +0200 +++ /work/SRC/openSUSE:Factory/.velum.new/velum.changes 2018-07-03 23:35:54.624274893 +0200 @@ -1,0 +2,23 @@ +Mon Jul 2 09:16:19 UTC 2018 - containers-bugow...@suse.de + +- Commit f95f065 by Maximilian Meister mmeis...@suse.de + migrate once more after db creation + + this should enable CI to create newly added db tables/changes during a devenv + deployment + + bsc#1098436 + + Signed-off-by: Maximilian Meister <mmeis...@suse.de> + + Commit b3434c3 by Maximilian Meister mmeis...@suse.de + save online status through reconciler (bsc#1098436) + + when a minion is down, it should be shown as down in the UI + + separate columns in the UI for applied and online status + + Signed-off-by: Maximilian Meister <mmeis...@suse.de> + + +------------------------------------------------------------------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ velum.spec ++++++ --- /var/tmp/diff_new_pack.L3UvSZ/_old 2018-07-03 23:35:55.516273618 +0200 +++ /var/tmp/diff_new_pack.L3UvSZ/_new 2018-07-03 23:35:55.516273618 +0200 @@ -23,7 +23,7 @@ # Version: 1.0.0 # %%define branch 1.0.0 -Version: 4.0.0+dev+git_r846_18067aa11e7ac6c2d1d95169d3425687fe70ad91 +Version: 4.0.0+dev+git_r849_5a47921acc39abe81892cc5a47bd8f921ae52fb5 Release: 0 %define branch master Summary: Dashboard for CaasP @@ -93,7 +93,7 @@ %description velum is the dashboard for CaasP to manage and deploy kubernetes clusters on top of MicroOS -This package has been built with commit 18067aa11e7ac6c2d1d95169d3425687fe70ad91 from branch master on date Thu, 28 Jun 2018 11:46:06 +0000 +This package has been built with commit 5a47921acc39abe81892cc5a47bd8f921ae52fb5 from branch master on date Mon, 02 Jul 2018 09:15:41 +0000 %prep %setup -q -n velum-%{branch} ++++++ 0_set_default_salt_events_alter_time_column_value.rpm.patch ++++++ --- /var/tmp/diff_new_pack.L3UvSZ/_old 2018-07-03 23:35:55.540273584 +0200 +++ /var/tmp/diff_new_pack.L3UvSZ/_new 2018-07-03 23:35:55.540273584 +0200 @@ -1,8 +1,8 @@ diff --git a/db/schema.rb b/db/schema.rb -index 1275187..9eb6291 100644 +index 1ea41ec..4d401d5 100644 --- a/db/schema.rb +++ b/db/schema.rb -@@ -106,7 +106,7 @@ ActiveRecord::Schema.define(version: 20181708070232) do +@@ -107,7 +107,7 @@ ActiveRecord::Schema.define(version: 20181708070233) do create_table "salt_events", force: :cascade do |t| t.string "tag", limit: 255, null: false t.text "data", limit: 16777215, null: false @@ -11,7 +11,7 @@ t.string "master_id", limit: 255, null: false t.datetime "taken_at" t.datetime "processed_at" -@@ -135,7 +135,7 @@ ActiveRecord::Schema.define(version: 20181708070232) do +@@ -136,7 +136,7 @@ ActiveRecord::Schema.define(version: 20181708070233) do t.string "id", limit: 255, null: false t.string "success", limit: 10, null: false t.text "full_ret", limit: 16777215, null: false ++++++ master.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/velum-master/app/assets/javascripts/dashboard/dashboard.js new/velum-master/app/assets/javascripts/dashboard/dashboard.js --- old/velum-master/app/assets/javascripts/dashboard/dashboard.js 2018-06-28 13:47:55.000000000 +0200 +++ new/velum-master/app/assets/javascripts/dashboard/dashboard.js 2018-07-02 11:17:08.000000000 +0200 @@ -346,7 +346,7 @@ }, renderDashboard: function(minion) { - var statusHtml; + var appliedHtml; var checked; var masterHtml; var actionsHtml; @@ -354,26 +354,26 @@ switch(minion.highstate) { case "not_applied": - statusHtml = '<i class="fa fa-circle-o text-success fa-2x" aria-hidden="true"></i>'; + appliedHtml = '<i class="fa fa-circle-o text-success fa-2x" aria-hidden="true"></i>'; break; case "pending_removal": case "pending": - statusHtml = '\ + appliedHtml = '\ <span class="fa-stack" aria-hidden="true">\ <i class="fa fa-circle fa-stack-2x text-muted" aria-hidden="true"></i>\ <i class="fa fa-refresh fa-stack-1x fa-spin fa-inverse" aria-hidden="true"></i>\ </span>'; break; case "failed": - statusHtml = '<i class="fa fa-times-circle text-danger fa-2x" aria-hidden="true"></i>'; + appliedHtml = '<i class="fa fa-times-circle text-danger fa-2x" aria-hidden="true"></i>'; MinionPoller.alertFailedBootstrap(); break; case "removal_failed": removalFailedClass = 'removal-failed'; - statusHtml = '<i class="fa fa-minus-circle text-danger fa-2x" aria-hidden="true"></i> Removal Failed'; + appliedHtml = '<i class="fa fa-minus-circle text-danger fa-2x" aria-hidden="true"></i> Removal Failed'; break; case "applied": - statusHtml = '<i class="fa fa-check-circle-o text-success fa-2x" aria-hidden="true"></i>'; + appliedHtml = '<i class="fa fa-check-circle-o text-success fa-2x" aria-hidden="true"></i>'; break; } @@ -390,17 +390,17 @@ if (minion.tx_update_reboot_needed) { switch (minion.highstate) { case "applied": - statusHtml = '<i class="fa fa-arrow-circle-up text-info fa-2x" aria-hidden="true"></i> Update Available'; + appliedHtml = '<i class="fa fa-arrow-circle-up text-info fa-2x" aria-hidden="true"></i> Update Available'; break; case "failed": - statusHtml = '<i class="fa fa-arrow-circle-up text-warning fa-2x" aria-hidden="true"></i> Update Failed - Retryable'; + appliedHtml = '<i class="fa fa-arrow-circle-up text-warning fa-2x" aria-hidden="true"></i> Update Failed - Retryable'; break; case "pending": - statusHtml += ' Update in progress' + appliedHtml += ' Update in progress' break; } } else if (minion.tx_update_failed) { - statusHtml = '<i class="fa fa-arrow-circle-up text-danger fa-2x" aria-hidden="true"></i> Update Failed'; + appliedHtml = '<i class="fa fa-arrow-circle-up text-danger fa-2x" aria-hidden="true"></i> Update Failed'; } if (State.pendingRemovalMinionId || State.hasPendingStateNode) { @@ -420,7 +420,8 @@ return '\ <tr> \ - <td class="status">' + statusHtml + '</td>\ + <td class="status">' + onlineHtml(minion) + '</td>\ + <td class="status">' + appliedHtml + '</td>\ <td><strong>' + minion.minion_id + '</strong></td>\ <td class="minion-hostname">' + minion.fqdn + '</td>\ <td>' + masterHtml + minion.role + '</td>\ @@ -466,8 +467,8 @@ '; return '\ - <tr class="minion_' + minion.id + '"> \ - <td>' + minion.minion_id + '</td>\ + <tr class="minion_' + minion.id + '">' + + '<td>' + minion.minion_id + '</td>\ <td class="minion-hostname">' + minion.fqdn + '</td>' + roleHtml + '</tr>'; @@ -1062,3 +1063,11 @@ .fail(enableOrchTriggers) .fail(notifyRemovalError); } + +function onlineHtml(minion) { + if(minion.online) { + return '<i class="fa fa-circle text-success fa-2x" aria-hidden="true" title="Online"></i>'; + } else { + return '<i class="fa fa-circle text-danger fa-2x" aria-hidden="true" title="Offline (last updated at: ' + minion.updated_at + ' admin server time)"></i>'; + } +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/velum-master/app/models/minion.rb new/velum-master/app/models/minion.rb --- old/velum-master/app/models/minion.rb 2018-06-28 13:47:55.000000000 +0200 +++ new/velum-master/app/models/minion.rb 2018-07-02 11:17:08.000000000 +0200 @@ -19,9 +19,14 @@ Minion.all.find_each do |minion| begin minion_grains = minion.salt.info + online = minion_grains.present? + # update minion early as minion_grains can't be accessed + minion.update_columns online: false && next unless online + tx_update_reboot_needed = minion_grains["tx_update_reboot_needed"] || false tx_update_failed = minion_grains["tx_update_failed"] || false - minion.update_columns tx_update_reboot_needed: tx_update_reboot_needed, + minion.update_columns online: online, + tx_update_reboot_needed: tx_update_reboot_needed, tx_update_failed: tx_update_failed rescue StandardError end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/velum-master/app/views/dashboard/index.html.slim new/velum-master/app/views/dashboard/index.html.slim --- old/velum-master/app/views/dashboard/index.html.slim 2018-06-28 13:47:55.000000000 +0200 +++ new/velum-master/app/views/dashboard/index.html.slim 2018-07-02 11:17:08.000000000 +0200 @@ -74,7 +74,9 @@ thead tr th - | Status + | Online + th + | Applied th | ID th diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/velum-master/bin/init new/velum-master/bin/init --- old/velum-master/bin/init 2018-06-28 13:47:55.000000000 +0200 +++ new/velum-master/bin/init 2018-07-02 11:17:08.000000000 +0200 @@ -39,6 +39,7 @@ echo "Error at setup time" exit 1 fi + bundle exec rake db:migrate ;; "DB_READY") echo "Database ready" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/velum-master/db/migrate/20181708070233_add_online_status_to_minions.rb new/velum-master/db/migrate/20181708070233_add_online_status_to_minions.rb --- old/velum-master/db/migrate/20181708070233_add_online_status_to_minions.rb 1970-01-01 01:00:00.000000000 +0100 +++ new/velum-master/db/migrate/20181708070233_add_online_status_to_minions.rb 2018-07-02 11:17:08.000000000 +0200 @@ -0,0 +1,5 @@ +class AddOnlineStatusToMinions < ActiveRecord::Migration + def change + add_column :minions, :online, :boolean, default: true, after: :tx_update_failed + end +end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/velum-master/db/schema.rb new/velum-master/db/schema.rb --- old/velum-master/db/schema.rb 2018-06-28 13:47:55.000000000 +0200 +++ new/velum-master/db/schema.rb 2018-07-02 11:17:08.000000000 +0200 @@ -11,7 +11,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 20181708070232) do +ActiveRecord::Schema.define(version: 20181708070233) do create_table "certificate_services", force: :cascade do |t| t.integer "certificate_id", limit: 4 @@ -54,6 +54,7 @@ t.integer "highstate", limit: 4, default: 0 t.boolean "tx_update_reboot_needed", default: false t.boolean "tx_update_failed", default: false + t.boolean "online", default: true t.datetime "created_at" t.datetime "updated_at" end diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/velum-master/packaging/suse/patches/0_set_default_salt_events_alter_time_column_value.rpm.patch new/velum-master/packaging/suse/patches/0_set_default_salt_events_alter_time_column_value.rpm.patch --- old/velum-master/packaging/suse/patches/0_set_default_salt_events_alter_time_column_value.rpm.patch 2018-06-28 13:47:55.000000000 +0200 +++ new/velum-master/packaging/suse/patches/0_set_default_salt_events_alter_time_column_value.rpm.patch 2018-07-02 11:17:08.000000000 +0200 @@ -1,8 +1,8 @@ diff --git a/db/schema.rb b/db/schema.rb -index 1275187..9eb6291 100644 +index 1ea41ec..4d401d5 100644 --- a/db/schema.rb +++ b/db/schema.rb -@@ -106,7 +106,7 @@ ActiveRecord::Schema.define(version: 20181708070232) do +@@ -107,7 +107,7 @@ ActiveRecord::Schema.define(version: 20181708070233) do create_table "salt_events", force: :cascade do |t| t.string "tag", limit: 255, null: false t.text "data", limit: 16777215, null: false @@ -11,7 +11,7 @@ t.string "master_id", limit: 255, null: false t.datetime "taken_at" t.datetime "processed_at" -@@ -135,7 +135,7 @@ ActiveRecord::Schema.define(version: 20181708070232) do +@@ -136,7 +136,7 @@ ActiveRecord::Schema.define(version: 20181708070233) do t.string "id", limit: 255, null: false t.string "success", limit: 10, null: false t.text "full_ret", limit: 16777215, null: false diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/velum-master/spec/features/monitoring_feature_spec.rb new/velum-master/spec/features/monitoring_feature_spec.rb --- old/velum-master/spec/features/monitoring_feature_spec.rb 2018-06-28 13:47:55.000000000 +0200 +++ new/velum-master/spec/features/monitoring_feature_spec.rb 2018-07-02 11:17:08.000000000 +0200 @@ -30,4 +30,10 @@ expect(page).not_to have_content("minion1.k8s.local") end # rubocop:enable RSpec/ExampleLength + + it "shows the node as offline", js: true do + Minion.last.update!(online: false) + + expect(page).to have_css(".fa-circle.text-danger") + end end