• Iustin Pop's avatar
    Add cluster.SimpleFill*() functions · 73e0328b
    Iustin Pop authored
    
    
    Currently, the existing cluster.Fill* functions take as argument an
    instance. This means that in any case where we don't have an actual
    instance object, we have to resort to calling the low-level
    objects.FillDict function.
    
    This is bad for two reasons:
    - we have to know of, and we hardcode, the cluster object internals
      (e.g. that the nicparams are stored in a dict indexed by group)
    - which can result in subtle bugs, if the underlying storage mechanisms
      change
    
    This patch adds a lower-level implementation SimpleFillHV for FillHV and
    SimpleFillBE for FillBE, and adds a completely new SimpleFillNIC (all
    use cases until now hardcoded cluster.nicparams[constant.PP_DEFAULT]
    directly); it then uses these new functions in cmdlib.py.
    
    A side effect is that _CheckNicsBridgesExist loses the 'profile'
    parameter, which was unused. If it's needed, we should add it later via
    a proper profile parameter to SimpleFillNIC.
    Signed-off-by: default avatarIustin Pop <iustin@google.com>
    Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
    73e0328b
objects.py 33.1 KB