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 /etc/svc/profile/site directory, 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 conflict.
$ svcs -x svc:/site/example:default (site/example) State: maintenance since Mon Jun 27 16:32:36 2016 Reason: Instance has conflicts. Conflicting value: FMRI="svc:/site/example"; Name of conflicting property="config/prop1"; from file="/etc/svc/profile/site/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 reports the conflict.
$ tail `svcs -L manifest-import` Applying profile to admin layer: /etc/svc/profile/site/example_prof2.xml Applying profile to admin layer: /etc/svc/profile/site/example_prof1.xml 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/site/example_prof1.xml";
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.