Go to main content

Managing System Services in Oracle® Solaris 11.4

Exit Print View

Updated: Febuary 2019
 
 

Conflicting Configuration

When you create a profile, ensure that the configuration defined does not conflict with configuration defined in the same layer in any other profile for the same service or service instance.

Examples of conflicting configuration include different values for the same property and different types for the same property or property group.

If conflicting configuration is delivered by multiple files in any single layer, and is not set at a higher layer, the manifest-import service log reports the conflict and the service with the conflicting configuration is not started and is placed in the maintenance state.

If you create two profile files, each of which specify different values for the same property, place both of these profile files in the same /etc/svc/profile/ layer subdirectory, and reboot the system, you get results similar to the following:

  • If you have notifications configured, the notification reports the conflict. The following example is a service state transition notification:

    HOSTNAME: host
    TIMESTAMP: June 27, 2016 at 04:15:43 PM PDT
    FMRI: svc:/site/example:default
    FROM-STATE: uninitialized
    TO-STATE: maintenance
    DESCRIPTION: The indicated service has transitioned to the maintenance state
    REASON: the instance is in conflict

    The following example is an FMA event notification. Note the information in the Impact and Recommended Action sections.

    SUNW-MSG-ID: SMF-8001-02, TYPE: Defect, VER: 1, SEVERITY: Major
    EVENT-TIME: Mon Jun 27 16:14:07 PDT 2016
    PLATFORM: Ultra 24, CSN: 0817FMB003, HOSTNAME: host
    SOURCE: software-diagnosis, REV: 0.2
    EVENT-ID: c46b48bb-484d-4c9f-a82b-e1349a0ddce6
    DESC: The Solaris Service manager tried to import a manifest or apply a profile defining
    the service, but detected one or more entities with conflicting definitions.
    AUTO-RESPONSE: The service may have been placed into the maintenance state.
    IMPACT: The service is not running.  It will not be started until the conflict is resolved
    and the maintenance state is cleared.  Services with require-type dependencies on the
    service will not be started.  (Use 'svcs -xv svc:/site/nm_example:default' to see a list
    of services waiting for the service to start.)
    REC-ACTION: Edit the problematic manifest or profile to resolve the conflict and reimport
    or reapply it, or use svccfg to administratively override the conflicting definitions.
    Then clear the maintenance state. Please refer to the associated reference document at
    http://support.oracle.com/msg/SMF-8001-02 for the latest service procedures and policies
    regarding this diagnosis.
  • The svcs -x command reports the conflicts. All locations where conflicts are found are listed, so that you can more easily find the problem. The following output lines are broken for readability.

    $  svcs -x
    svc:/site/example:default (site/example)
     State: maintenance since Wed Nov 16 15:29:51 2016
    Reason: Instance has conflicts.
    Conflicting value: FMRI="svc:/site/example"; Name of conflicting property="config/prop1"; 
    from file="/etc/svc/profile/node/example_prof1.xml"; from file="/etc/svc/profile/site/example_prof2.xml";
    Conflicting value: FMRI="svc:/site/example"; Name of conflicting property="config/prop2"; 
    from file="/etc/svc/profile/node/example_prof1.xml";
       See: http://support.oracle.com/msg/SMF-8001-02
       See: /var/svc/log/site-example:default.log
    Impact: This service is not running.
  • The manifest-import service log file also reports the conflicts. The following output lines are broken for readability.

    $ svcs -xL manifest-import
    svc:/system/manifest-import:default (service manifest import)
     State: online since Wed Nov 16 15:29:52 2016
       See: smf_bootstrap(7)
       See: /var/svc/log/system-manifest-import:default.log
    Impact: None.
       Log:
    svccfg: svc:/site/example: property group "config" has a conflict.
    Conflicting value: FMRI="svc:/site/example"; Name of conflicting property="config/prop1"; 
    from file="/etc/svc/profile/node/example_prof1.xml"; from file="/etc/svc/profile/site/example_prof2.xml";
    Conflicting value: FMRI="svc:/site/example"; Name of conflicting property="config/prop2"; 
    from file="/etc/svc/profile/node/example_prof1.xml";
    svccfg: Multiple definitions of property group reg in entity default.
    [ 2016 Nov 16 15:29:52 Method "start" exited with status 0. ]

You can also use the -l, -f, and -o options of the svccfg listprop command to investigate the cause of a conflict. See Showing the Layer Where a Value Is Set and Showing the File that Contributed the Configuration.