Quando você executa o comando de reposicionamento de domínio no modo de pré-verificação, os dados do vCenter Server são exportados, examinados e os conflitos são gravados em um arquivo.

Os seguintes dados são exportados para a pasta / storage / domain-data / ou ProgramData / VMWare / vCenterServerdata / domain-data :

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

Esses arquivos contêm todos os dados (autorização e marcação) do vCenter Server no qual este comando foi executado.

Se um vCenter Server secundário for fornecido usando a opção -dvf ou --dest-vc-fqdn , todos os conflitos também serão exportados para a mesma pasta:

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

O seguinte é um exemplo de arquivo de conflitos:

<---- 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 --->

As partes dos arquivos de conflito de amostra são:

  • description. Fornece os detalhes sobre como o respectivo arquivo de conflitos é lido e compreendido.
  • source e target. Objetos JSON que listam apenas as diferenças entre os objetos de origem e de destino vCenter Server.
  • resolution. O usuário fornece uma resolução válida. As resoluções válidas são MERGE, COPY e SKIP.

Para especificar a resolução para lidar com conflitos, você pode fornecer uma opção de resolução padrão para todos os conflitos na seção "global": "resolution" = "MERGE|SKIP|COPY". Se você não fornecer um tipo de resolução global válido para resolution ou deixá-lo sem edição, o sistema usará COPY como a opção de resolução padrão.

Você também pode fornecer uma opção de resolução válida para cada um dos conflitos editando a propriedade resolution em cada nível de conflito que substitui a opção de resolução global.

Os tipos de conflitos listados em Tipos de conflito.

Tabela 1. Tipos de conflito
Conflito Propriedades usadas para comparar objetos de categoria Tipos de conflito Propriedades conflitantes Opções de resolução de conflitos
Conflito de funções
  • name: Nome da categoria.
  • privilegeId: lista de privilégios para a função.

O conflito de RoleName ocorre durante a importação de funções e existe uma função com o mesmo nome no vCenter Server de destino, mas com privilégios diferentes.

As propriedades que podem ser conflitantes para o tipo de conflito RoleName podem ser Privileges.
  • COPY. Uma cópia da função conflitante é criada no destino vCenter Server, com –-copy anexado ao nome da função. A nova função é criada com um novo ID de função com o mesmo conjunto de IDs de privilégio. O novo ID de função é atualizado na tabela VPX_ACCESS. O novo ID de função é aplicável para conflito de nome de função e conflito de ID de função.
    Observação:
    A opção de resolução padrão para resolver conflitos de função é COPY.
  • MERGE .A opção MERGE é resolvida na seguinte sequência:
    1. Se a origem vCenter Server tiver uma função com o mesmo nome e lista de privilégios que uma função no vCenter Server de destino, mas os IDs de função forem diferentes, o ID de função do vCenter Server de destino será usado e atualizado no VPX_ACCESS } tabela.
    2. Se a origem vCenter Server tiver uma função com o mesmo nome que uma função no vCenter Server de destino, mas com uma lista de privilégios diferente, as listas de privilégios para ambas as funções serão mescladas.
  • SKIP. Não faça nada. A função específica é ignorada.

Conflito de categoria de tag: um nome de categoria deve ser exclusivo em um vCenter Server.
  • name: Nome da categoria.
  • cardinality: Cardinalidade da categoria, única ou múltipla.
  • associableEntityType: lista de objetos vCenter Server que podem ser associados a uma tag desta categoria. Um valor de All indica todos os objetos vCenter Server.
Apenas um tipo de conflito pode ser visto ao importar categorias de tag, conflito de CategoryName. Esse conflito indica que existe uma categoria com o mesmo nome no destino vCenter Server, mas com propriedades diferentes (cardinality ou associableEntityType). As propriedades que podem ser conflitantes para o tipo de conflito CategoryName podem ser pelo menos um dos dois tipos: Cardinality ou AssociableTypes.
  • COPY. Uma cópia da categoria conflitante é criada no destino vCenter Server, com –-copy anexado ao nome da categoria. A nova categoria é criada com o mesmo nome de propriedade que na origem vCenter Server. Todas as tags que estavam presentes nesta categoria são importadas sob o CategoryCopy recém-criado.
    Observação:
    A opção de resolução padrão para resolver CategoryName conflitos é COPY.
  • MERGE. Propriedades conflitantes são mescladas com a categoria que já está presente no SSO. As propriedades são mescladas da seguinte maneira:
    1. Description. A descrição que já está presente é usada.
    2. Cardinality. A cardinalidade não pode ser reduzida. Se houver um conflito de cardinalidade, a cardinalidade será definida como multiple. Não pode ser reduzido a único.
    3. AssociableTypes .Se qualquer um dos valores de associableEntityType for nulo, ele será definido como nulo. Caso contrário, os tipos Objects serão mesclados.
  • SKIP. Não faça nada. Todas as tags são importadas na categoria existente.

Conflito de tags: um objeto tag sempre pertence a um objeto category. Um nome de tag deve ser exclusivo apenas dentro de uma categoria.
  • name
  • description
Apenas um tipo de conflito pode ser visto durante a importação de tags: TagName conflito. Esse conflito indica que uma tag com o mesmo nome existe na mesma categoria e no destino vCenter Server, mas com propriedades diferentes. As propriedades que podem ser conflitantes para um conflito do tipo: TagName podem ser Description.
  • COPY. Uma cópia da tag conflitante é criada no destino vCenter Server, com –-copy anexado ao nome da tag. Pegue o MoRef (ID da tag interna) da tag recém-criada e atualize a associação da tag, se necessário.
    Observação:
    A opção de resolução padrão para resolver CategoryName conflitos é COPY.
  • MERGE .Mantenha a descrição existente. Pegue o MoRef (ID de etiqueta interna) e atualize uma ou mais associações de etiqueta, se necessário.

  • SKIP. Não faça nada. Não crie essa tag. Limpe todas as associações de tag.