Hello community,
here is the log from the commit of package yast2-services-manager for
openSUSE:Factory checked in at 2014-07-26 12:19:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-services-manager (Old)
and /work/SRC/openSUSE:Factory/.yast2-services-manager.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-services-manager"
Changes:
--------
---
/work/SRC/openSUSE:Factory/yast2-services-manager/yast2-services-manager.changes
2014-07-23 22:05:40.000000000 +0200
+++
/work/SRC/openSUSE:Factory/.yast2-services-manager.new/yast2-services-manager.changes
2014-07-26 12:20:01.000000000 +0200
@@ -1,0 +2,24 @@
+Tue Jul 25 12:40:31 UTC 2014 - [email protected]
+
+- Ensures that the errors list is cleared if the user decides to
+ continue after a failure (by delegating ServiceManager.errors to
+ ServiceManagerService)
+- Fixes bnc#888555
+- 3.1.27
+
+-------------------------------------------------------------------
+Thu Jul 24 11:55:32 CEST 2014 - [email protected]
+
+- While saving services state (activate/deactivate), do not touch
+ a service, that is already in the desired state (bnc#884756)
+- 3.1.26
+
+-------------------------------------------------------------------
+Wed Jul 23 18:51:57 CEST 2014 - [email protected]
+
+- Showing info that Services Manager hasn't been configured yet in
+ AutoYast till it's cloned from the system or user enters
+ the module and saves its configuration (bnc#887694)
+- 3.1.25
+
+-------------------------------------------------------------------
Old:
----
yast2-services-manager-3.1.24.tar.bz2
New:
----
yast2-services-manager-3.1.27.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-services-manager.spec ++++++
--- /var/tmp/diff_new_pack.C8z4OT/_old 2014-07-26 12:20:04.000000000 +0200
+++ /var/tmp/diff_new_pack.C8z4OT/_new 2014-07-26 12:20:04.000000000 +0200
@@ -24,7 +24,7 @@
######################################################################
Name: yast2-services-manager
-Version: 3.1.24
+Version: 3.1.27
Release: 0
BuildArch: noarch
++++++ yast2-services-manager-3.1.24.tar.bz2 ->
yast2-services-manager-3.1.27.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-services-manager-3.1.24/package/yast2-services-manager.changes
new/yast2-services-manager-3.1.27/package/yast2-services-manager.changes
--- old/yast2-services-manager-3.1.24/package/yast2-services-manager.changes
2014-07-22 15:22:07.000000000 +0200
+++ new/yast2-services-manager-3.1.27/package/yast2-services-manager.changes
2014-07-25 15:17:10.000000000 +0200
@@ -1,4 +1,28 @@
-------------------------------------------------------------------
+Tue Jul 25 12:40:31 UTC 2014 - [email protected]
+
+- Ensures that the errors list is cleared if the user decides to
+ continue after a failure (by delegating ServiceManager.errors to
+ ServiceManagerService)
+- Fixes bnc#888555
+- 3.1.27
+
+-------------------------------------------------------------------
+Thu Jul 24 11:55:32 CEST 2014 - [email protected]
+
+- While saving services state (activate/deactivate), do not touch
+ a service, that is already in the desired state (bnc#884756)
+- 3.1.26
+
+-------------------------------------------------------------------
+Wed Jul 23 18:51:57 CEST 2014 - [email protected]
+
+- Showing info that Services Manager hasn't been configured yet in
+ AutoYast till it's cloned from the system or user enters
+ the module and saves its configuration (bnc#887694)
+- 3.1.25
+
+-------------------------------------------------------------------
Tue Jul 22 15:01:52 CEST 2014 - [email protected]
- Using new library ServicesProposal, that holds information about
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-services-manager-3.1.24/package/yast2-services-manager.spec
new/yast2-services-manager-3.1.27/package/yast2-services-manager.spec
--- old/yast2-services-manager-3.1.24/package/yast2-services-manager.spec
2014-07-22 15:22:07.000000000 +0200
+++ new/yast2-services-manager-3.1.27/package/yast2-services-manager.spec
2014-07-25 15:17:10.000000000 +0200
@@ -24,7 +24,7 @@
######################################################################
Name: yast2-services-manager
-Version: 3.1.24
+Version: 3.1.27
Release: 0
BuildArch: noarch
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-services-manager-3.1.24/src/clients/services-manager.rb
new/yast2-services-manager-3.1.27/src/clients/services-manager.rb
--- old/yast2-services-manager-3.1.24/src/clients/services-manager.rb
2014-07-22 15:22:07.000000000 +0200
+++ new/yast2-services-manager-3.1.27/src/clients/services-manager.rb
2014-07-25 15:17:10.000000000 +0200
@@ -72,8 +72,6 @@
success = ServicesManager.save
UI.CloseDialog
if !success
- # FIXME if user select to continue the content of the popup is not
discarded
- # and new error messages will be displayed beneath the old ones
success = ! Popup::ContinueCancel(
_("Writing the configuration failed:\n" +
ServicesManager.errors.join("\n") +
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-services-manager-3.1.24/src/modules/services_manager.rb
new/yast2-services-manager-3.1.27/src/modules/services_manager.rb
--- old/yast2-services-manager-3.1.24/src/modules/services_manager.rb
2014-07-22 15:22:07.000000000 +0200
+++ new/yast2-services-manager-3.1.27/src/modules/services_manager.rb
2014-07-25 15:17:10.000000000 +0200
@@ -12,11 +12,8 @@
TARGET = 'default_target'
SERVICES = 'services'
- attr_reader :errors
-
def initialize
textdomain 'services-manager'
- @errors = []
end
def export
@@ -27,8 +24,13 @@
end
def auto_summary
- erb_template =
File.expand_path("../../data/services-manager/autoyast_summary.erb", __FILE__)
- ERB.new(File.read(erb_template)).result(binding)
+ if !modified?
+ # AutoYast summary
+ _("Not configured yet.")
+ else
+ erb_template =
File.expand_path("../../data/services-manager/autoyast_summary.erb", __FILE__)
+ ERB.new(File.read(erb_template)).result(binding)
+ end
end
def import data
@@ -47,13 +49,19 @@
ServicesManagerService.read
end
+ # Errors are delegated to ServiceManagerService
+ #
+ # @see ServiceManagerService#errors
+ def errors
+ ServicesManagerService.errors
+ end
+
# Saves the current configuration
#
# @return Boolean if successful
def save
target_saved = ServicesManagerTarget.save
services_saved = ServicesManagerService.save
- errors << ServicesManagerService.errors
!!(target_saved && services_saved)
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-services-manager-3.1.24/src/modules/services_manager_service.rb
new/yast2-services-manager-3.1.27/src/modules/services_manager_service.rb
--- old/yast2-services-manager-3.1.24/src/modules/services_manager_service.rb
2014-07-22 15:22:07.000000000 +0200
+++ new/yast2-services-manager-3.1.27/src/modules/services_manager_service.rb
2014-07-25 15:17:10.000000000 +0200
@@ -3,6 +3,7 @@
module Yast
import "Service"
import "ServicesProposal"
+ import "SystemdService"
class ServicesManagerServiceClass < Module
include Yast::Logger
@@ -382,11 +383,23 @@
end
def switch_services
- Builtins.y2milestone "Switching the services"
+ log.info "Switching services"
services_switched = []
+
services.each do |service_name, service_attributes|
next unless service_attributes[:modified]
- if switch!(service_name)
+
+ service = SystemdService.find(service_name)
+ unless service
+ log.error "Cannot find service #{service_name}"
+ next
+ end
+
+ # Do not start or stop services that are already in the desired state
+ # they might be coming from AutoYast import and thus they are
:modified.
+ if service.loaded? == service_attributes[:loaded] || service.active?
== service_attributes[:active]
+ log.info "Skipping service #{service_name} - it's already in desired
state"
+ elsif switch!(service_name)
services_switched << service_name
else
change = active(service_name) ? 'stop' : 'start'
@@ -398,6 +411,7 @@
Builtins.y2error("Error: %1", message)
end
end
+
services_switched
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-services-manager-3.1.24/test/services_manager_service_test.rb
new/yast2-services-manager-3.1.27/test/services_manager_service_test.rb
--- old/yast2-services-manager-3.1.24/test/services_manager_service_test.rb
2014-07-22 15:22:07.000000000 +0200
+++ new/yast2-services-manager-3.1.27/test/services_manager_service_test.rb
2014-07-25 15:17:10.000000000 +0200
@@ -3,14 +3,17 @@
require_relative "test_helper"
module Yast
+ extend Yast::I18n
+ Yast::textdomain "services-manager"
+
describe ServicesManagerService do
attr_reader :service
def stub_services
- Service.stub(:Enable).and_return(true)
- Service.stub(:Disable).and_return(true)
- Service.stub(:Start).and_return(true)
- Service.stub(:Stop).and_return(true)
+ allow(Service).to receive(:Enable).and_return true
+ allow(Service).to receive(:Disable).and_return true
+ allow(Service).to receive(:Start).and_return true
+ allow(Service).to receive(:Stop).and_return true
end
before do
@@ -139,5 +142,29 @@
expect(sshd[:active]).to eq(status)
expect(sshd[:modified]).to eq(false)
end
+
+ context "when enabling is failing" do
+ before do
+ stub_services
+ allow(Service).to receive(:Enable).and_return false
+ allow(Service).to receive(:Disable).and_return false
+ service.toggle 'postfix'
+ service.save
+ end
+
+ it "reports errors" do
+ expect(service.errors.first).to start_with Yast::_('Could not enable
postfix')
+ end
+
+ it "cleans messages after reset" do
+ expect(service.errors.size).to eq 1
+ service.reset
+ expect(service.errors.size).to eq 0
+ # Let's fail again
+ service.toggle 'postfix'
+ service.save
+ expect(service.errors.size).to eq 1
+ end
+ end
end
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/yast2-services-manager-3.1.24/test/services_manager_test.rb
new/yast2-services-manager-3.1.27/test/services_manager_test.rb
--- old/yast2-services-manager-3.1.24/test/services_manager_test.rb
2014-07-22 15:22:07.000000000 +0200
+++ new/yast2-services-manager-3.1.27/test/services_manager_test.rb
2014-07-25 15:17:10.000000000 +0200
@@ -6,6 +6,9 @@
Yast.import 'ServicesManagerTarget'
Yast.import 'ServicesManager'
+ extend Yast::I18n
+ Yast::textdomain "services-manager"
+
TARGETS = {
"multi-user"=>{
:enabled=>true, :loaded=>true, :active=>true, :description=>"Multi-User
System"
@@ -28,6 +31,13 @@
allow(Yast::ServicesManagerTarget).to
receive(:targets).and_return(TARGETS)
end
+ describe ".errors" do
+ it "delegates errors to ServiceManagerService" do
+ allow(Yast::ServicesManagerService).to
receive(:errors).and_return(["Error msg"])
+ expect(Yast::ServicesManager.errors).to eq ["Error msg"]
+ end
+ end
+
context "Autoyast API" do
it "exports systemd target and services" do
services = {
@@ -120,16 +130,26 @@
end
end
- it "returns HTML-formatted autoyast summary with HTML-escaped values" do
- expect(ServicesManagerTarget).to
receive(:export).and_return("multi-head-graphical-hydra")
- expect(ServicesManagerService).to receive(:export).and_return({
- "enable" => ["service-1", "service-<br>-2", "service-<b>name</b>-3"],
- "disable" => ["service-4", "service-<br>-5",
"service-<b>name</b>-6"],
- })
-
- summary = ServicesManager.auto_summary
- ["multi-head-graphical-hydra", "service-[14]",
"service-<br>-[25]", "service-<b>name</b>-[36]"].each do
|item|
- expect(summary).to match(/#{item}/)
+ context "when configuration hasn't been cloned/modified" do
+ it "returns information that it hasn't been configured yet" do
+ expect(ServicesManager).to receive(:modified?).and_return(false)
+ expect(ServicesManager.auto_summary).to eq(Yast::_("Not configured
yet."))
+ end
+ end
+
+ context "when configuration has been cloned/modified" do
+ it "returns HTML-formatted autoyast summary with HTML-escaped values"
do
+ expect(ServicesManager).to receive(:modified?).and_return(true)
+ expect(ServicesManagerTarget).to
receive(:export).and_return("multi-head-graphical-hydra")
+ expect(ServicesManagerService).to receive(:export).and_return({
+ "enable" => ["service-1", "service-<br>-2",
"service-<b>name</b>-3"],
+ "disable" => ["service-4", "service-<br>-5",
"service-<b>name</b>-6"],
+ })
+
+ summary = ServicesManager.auto_summary
+ ["multi-head-graphical-hydra", "service-[14]",
"service-<br>-[25]", "service-<b>name</b>-[36]"].each do
|item|
+ expect(summary).to match(/#{item}/)
+ end
end
end
end
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]