I came across this error message the other day when configuring a Veeam Replication job with separate virtual networks, which displayed “The given key was not present in the dictionary”
The error appeared within the Replication Job after selecting Separate Virtual Networks, and clicking Next until I got to the point where you select Source and Destination Networks.
Let’s take a look with a few screen shots.
Veeam Replication Job – The given key was not present in the dictionary
Within the Veeam Replication Job, I’ve selected “Separate virtual networks”
At step number 4 (Network), I have selected the source network successfully
When I click on Browse for the Target Network, and try to expand into the VMware ESXi host, the error message pops up “The given key was not present in the dictionary”
The issue is not actually with Veeam but with permissions on the distributed switch. A dedicated Veeam user called veeamrepl has been created (used specifically for Veeam Replication) along with the necessary role permissions and applied only to the port-group called Internal.
If we take a look at what permissions that have been applied to the distributed switch, we can see that we don’t have our veeamrepl user applied with any permissions and hence why we are getting the “The given key was not present in the dictionary” error.
To be able to add the veeamrepl user along with the appropriate permissions to the vmlab-dswitch we either have to apply the permission at the Datacenter level with the propagate setting enabled, or create a new Network folder and move the distributed switch into it. After moving the switch into the folder we can then apply the permission at the folder level (with the propagate setting enabled) which will then propagate down to the distributed switch.
Right click on the datacenter and select All vCenter Actions – New Network Folde
Now that we’ve created a folder called switches, we can select the manage tab followed by the Permissions button. Click on the green plus sign and add the user and role you wish to assign to your distributed switch
As you can see by clicking on the vmlab-dswitch, the veeamrepl account and its permissions have propagated down.
Now when we go back into the replication job and browse the target network, we can see the list of network available.