Xenserver: Adding a server to a Pool

This is going to cover 2 error messages when adding a new / additional Server to a XenServer pool.
1) This server’s hardware is incompatible with the masters.
2) The CPU does not support masking of features. details: CPU does not have FlexMigration
Issue 1)
You want to add a new server to an existing pool or want to merge 2 or more servers to one pool.
This server’s hardware is incompatible with the masters.
This error tries to tell you have most likely have different CPU Hardware on the servers and that it cannot merge them to a pool.
There is a detailed description on why and how https://support.citrix.com/article/CTX127059
You can get the CPU features by running
xe host-cpu-info
See on the below examples how it went out on my 2 boxes.
[root@xenserver00 ~]# xe host-cpu-info
cpu_count : 4
socket_count: 1
vendor: GenuineIntel
speed: 2825.956
modelname: Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz
family: 6
model: 23
stepping: 10
flags: fpu de tsc msr pae mce cx8 apic sep mca cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl pni monitor vmx est ssse3 cx16 sse4_1 hypervisor lahf_lm dtherm tpr_shadow vnmi flexpriority
features: 0408e3fd-bfebfbff-00000001-20100800
features_after_reboot: 0408e3fd-bfebfbff-00000001-20100800
physical_features: 0408e3fd-bfebfbff-00000001-20100800
maskable: base
[root@xenserver01 ~]# xe host-cpu-info
cpu_count : 4
socket_count: 1
vendor: GenuineIntel
speed: 2660.078
modelname: Intel(R) Core(TM)2 Quad CPU Q6700 @ 2.66GHz
family: 6
model: 15
stepping: 11
flags: fpu de tsc msr pae mce cx8 apic sep mca cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc rep_good nopl pni monitor vmx est ssse3 cx16 hypervisor lahf_lm dtherm tpr_shadow vnmi flexpriority
features: 0000e3bd-bfebfbff-00000001-20100800
features_after_reboot: 0000e3bd-bfebfbff-00000001-20100800
physical_features: 0000e3bd-bfebfbff-00000001-20100800
maskable: no
Yeah I have 2 different boxes with 2 different CPU features.
There is a way to mask the features to match them between the boxes.
To do so you will need to get uuid of your hosts. Example
root@xenserver01 ~]# xe host-list uuid ( RO) : f54a8c38-56f2-4dc4-878c-e8ed3fc36889 name-label ( RW): xenserver01.local
So I run:
[root@xenserver01 ~]# xe host-set-cpu-features features=0408e3fd-bfebfbff-00000001-20100800 uuid=f54a8c38-56f2-4dc4-878c-e8ed3fc36889 The CPU does not support masking of features. details: CPU does not have FlexMigration
Naturally I had a 50/50 chance and took the wrong box which lead the to issue Nr 2)
The CPU does not support masking of features. details: CPU does not have FlexMigration
So to sort issue 2) The CPU does not support masking of features. details: CPU does not have FlexMigration
I run the same command on the other node and apparently that CPU did allow me to apply masking.
[root@xenserver00 ~]# xe host-list uuid ( RO) : 3f6db05d-bef6-4f9f-a2f3-a01f1786f60d name-label ( RW): xenserver00.local name-description ( RW): Default install of XenServer
[root@xenserver00 ~]# xe host-set-cpu-features features=0000e3bd-bfebfbff-00000001-20100800 uuid=3f6db05d-bef6-4f9f-a2f3-a01f1786f60d
You should now be able to join the servers to one pool. If not then you wont get around to get other hardware.