Cuando se ejecuta el comando de redireccionamiento del dominio en el modo de comprobación previa, los datos de vCenter Server se exportan y se examinan, y los conflictos se escriben en un archivo.

Los siguientes datos se exportan a la carpeta /storage/domain-data/ o ProgramData/VMWare/vCenterServerdata/domain-data:

  • All_Privileges.json
  • All_Roles.json
  • All_TagCategories.json
  • All_Tags.json

Estos archivos contienen todos los datos (autorización y etiquetado) de la instancia de vCenter Server en la que se ejecutó este comando.

Si se proporciona una instancia secundaria de vCenter Server mediante la opción -dvf o --dest-vc-fqdn , también se exportan los conflictos a la misma carpeta:

  • Conflicts_Roles.json
  • Conflicts_TagCategories.json
  • Conflicts_Tags.json

El siguiente es un archivo de conflictos de ejemplo:

<---- Sample Conflict file code block --->
	 {
  "global" : {
    "resolution" : "MERGE|SKIP|COPY",
    "description" : "Default resolution option used to resolve Role Conflicts is COPY. The 
conflicts list describes the differences between Role entities on source and target vCenter Server. If 
the source information represents an empty JSON array, it simply means that all the entity 
attributes from source and target are identical. If the source lists few entries, it means 
that only these entity attributes are missing from the target. If the target lists few entries, 
it means that only these entity attributes are missing from the source. Though a global resolution 
can be set, it can also be overridden at each conflict level by providing individual resolution 
mode."
  },
  "conflicts-count" : 1,
  "conflicts-list" : {
    "NoCryptoAdmin" : {
      "source" : {
        "privileges" : "[]"
      },
      "target" : {
        "privileges" : "[Group-1.SamplePriv-1, Group-1.SamplePriv-4, Group-2.SamplePriv-10, 
Group-2.SamplePriv-3, Group-2.SamplePriv-7, Group-3.SamplePriv-2, Group-3.SamplePriv-9]"
      },
      "resolution" : ""
    }
}
<----- End of code block --->

Las partes de los archivos de conflicto de ejemplo son las siguientes:

  • description. Proporciona los detalles sobre cómo se lee y se comprende el archivo de conflictos correspondiente.
  • source y target. Objetos JSON que enumeran solo las diferencias entre los objetos de vCenter Server de origen y de destino.
  • resolution. El usuario proporciona una resolución válida. Las resoluciones válidas son MERGE, COPY y SKIP.

Para especificar la resolución de conflictos, puede proporcionar una opción predeterminada de resolución de todos los conflictos en la sección "global": "resolution" = "MERGE|SKIP|COPY". Si no proporciona un tipo de resolución global válida para resolution o la deja sin editar, el sistema utiliza COPY como la opción de resolución predeterminada.

También puede proporcionar una opción de resolución válida para cada uno de los conflictos mediante la edición de la propiedad resolution en cada nivel de conflicto que reemplaza a la opción de resolución global.

Los tipos de conflictos que aparecen en Tipos de conflictos.

Tabla 1. Tipos de conflictos
Conflicto Propiedades utilizadas para comparar objetos por categoría Tipos de conflictos Propiedades en conflicto Opciones de resolución de conflictos
Conflicto de función
  • name: nombre de la categoría.
  • privilegeId: lista de privilegios de la función.

Los conflictos con RoleName se producen mientras hay importación de funciones y una función con el mismo nombre en la instancia de destino de vCenter Server, pero con diferentes privilegios.

Las propiedades que pueden estar en conflicto si hay un conflicto de tipo RoleName pueden ser Privileges.
  • COPY. Se crea una copia de la función en conflicto en la instancia de destino de vCenter Server con –-copy anexado al nombre de la función. La nueva función se crea con un nuevo identificador de función con el mismo conjunto de identificadores de privilegios. En la tabla VPX_ACCESS, se actualizó el identificador de la nueva función. El identificador de la nueva función se aplica al conflicto con el nombre de la función y conflicto con el identificador de la función.
    Nota:
    La opción de resolución predeterminada para resolver conflictos con las funciones es COPY.
  • MERGE. La opción MERGE se resuelve en la siguiente secuencia:
    1. Si la instancia de origen de vCenter Server tiene una función con el mismo nombre y la misma lista de privilegios que una función en la instancia de destino de vCenter Server, pero los identificadores de la función son diferentes, se utiliza el identificador de la función de la instancia de destino de vCenter Server y se actualiza en la tabla VPX_ACCESS.
    2. Si la instancia de origen de vCenter Server tiene una función con el mismo nombre que una función en la instancia de destino de vCenter Server, pero con una lista de privilegios diferentes, entonces las listas de privilegios de ambas funciones se combinan.
  • SKIP. No realice ninguna acción. La función específica se pasa por alto.

Conflicto de categoría de etiqueta: un nombre de categoría debe ser único en una instancia de vCenter Server.
  • name: nombre de la categoría.
  • cardinality: cardinalidad de la categoría, ya sea Única o Múltiples.
  • associableEntityType: lista de objetos de vCenter Server que se pueden asociar con una etiqueta de esta categoría. El valor All indica todos los objetos de vCenter Server.
Puede verse solo un tipo de conflicto al importar categorías de etiquetas: el conflicto CategoryName. Este conflicto indica que ya existe una categoría con el mismo nombre en la instancia de destino de vCenter Server, pero con propiedades diferentes (cardinality o associableEntityType). Las propiedades que pueden estar en conflicto en el tipo de conflicto CategoryName pueden ser al menos de uno de dos tipos: Cardinality o AssociableTypes.
  • COPY. Se crea una copia de la categoría en conflicto en la instancia de destino de vCenter Server con –-copy anexado al nombre de la categoría. La nueva categoría se crea con el mismo nombre de propiedad, como se muestra en la instancia de origen de vCenter Server. Todas las etiquetas que figuraban en esta categoría se importan en la recién creada CategoryCopy.
    Nota:
    La opción de resolución predeterminada para los conflictos de CategoryName es COPY.
  • MERGE. Las propiedades en conflicto se combinan con la categoría que ya está presente en el SSO. Las propiedades se combinan de las siguientes maneras:
    1. Description. Se utiliza la descripción que ya está presente.
    2. Cardinality. La cardinalidad no se puede reducir. Si hay un conflicto de cardinalidad, esta se establece en multiple. No se puede reducir al tipo de cardinalidad única.
    3. AssociableTypes. Si los valores de associableEntityType son nulos, se establece como nula. De lo contrario, los tipos Objects se combinan.
  • SKIP. No realice ninguna acción. Todas las etiquetas se importan en la categoría que ya existe.

Conflicto de etiquetas: un objeto tag siempre pertenece a un objeto category. El nombre de una etiqueta debe ser único solo dentro de una categoría.
  • name
  • description
Puede verse solo un tipo de conflicto al importar etiquetas: el conflicto TagName. Este conflicto indica que ya existe una etiqueta con el mismo nombre en la misma categoría y en la instancia de destino de vCenter Server, pero con propiedades diferentes. Las propiedades que pueden estar en conflicto si hay un conflicto de tipo TagName pueden ser Description.
  • COPY. Se crea una copia de la etiqueta en conflicto en la instancia de destino de vCenter Server con –-copy anexado al nombre de la etiqueta. Tome MoRef (identificador de etiqueta interno) de la etiqueta recién creada y actualice la asociación de etiquetas, si es necesario.
    Nota:
    La opción de resolución predeterminada para los conflictos de CategoryName es COPY.
  • MERGE. Mantenga la descripción actual. Tome MoRef (identificador de etiqueta interno) y actualice una o más asociaciones de etiquetas, si es necesario.

  • SKIP. No realice ninguna acción. No cree esta etiqueta. Limpie las asociaciones de etiquetas.