in src/routingmanager/Extensions.cs [354:399]
public static bool IsEqual(this V1ConfigMap configMap, V1ConfigMap configMap1, ILog log)
{
if (configMap1 == null)
{
log.Verbose("Configmap being compared to is null");
return false;
}
if (((configMap.Metadata.Labels == null || !configMap.Metadata.Labels.Any()) && (configMap1.Metadata.Labels != null || configMap1.Metadata.Labels.Any()))
|| ((configMap.Metadata.Labels != null || configMap.Metadata.Labels.Any()) && (configMap1.Metadata.Labels == null || !configMap1.Metadata.Labels.Any()))
|| configMap.Metadata.Labels.Count != configMap1.Metadata.Labels.Count)
{
log.Verbose("Config map labels do not match");
return false;
}
foreach (var label in configMap.Metadata.Labels)
{
if (!configMap1.Metadata.Labels.ContainsKey(label.Key)
|| !configMap1.Metadata.Labels[label.Key].Equals(label.Value))
{
log.Verbose("Config map label values do not match");
return false;
}
}
if (((configMap.Data == null || !configMap.Data.Any()) && (configMap1.Data != null || configMap1.Data.Any()))
|| ((configMap.Data != null || configMap.Data.Any()) && (configMap1.Data == null || !configMap1.Data.Any()))
|| configMap.Data.Count != configMap1.Data.Count)
{
log.Verbose("Config map data count does not match");
return false;
}
foreach (var data in configMap.Data)
{
if (!configMap1.Data.ContainsKey(data.Key)
|| !configMap1.Data[data.Key].Equals(data.Value))
{
log.Verbose("Config map data values do not match");
return false;
}
}
log.Verbose("Config maps match");
return true;
}