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.