@ -35,7 +35,7 @@ NET_COMMON_ARGS = dict(
port = dict ( type = ' int ' ) ,
username = dict ( ) ,
password = dict ( no_log = True ) ,
use_ssl = dict ( default = True , type = ' int ' ) ,
use_ssl = dict ( default = True , type = ' bool ' ) ,
transport = dict ( default = ' ssh ' , choices = [ ' ssh ' , ' cli ' , ' rest ' ] ) ,
provider = dict ( )
)
@ -48,35 +48,38 @@ def to_list(val):
else :
return list ( )
def get_ idl ( ) :
def get_ runconfig ( ) :
manager = OvsdbConnectionManager ( settings . get ( ' ovs_remote ' ) ,
settings . get ( ' ovs_schema ' ) )
manager . start ( )
idl = manager . idl
init_seq_no = 0
while ( init_seq_no == idl . change_seqno ) :
idl . run ( )
time . sleep ( 1 )
timeout = 10
interval = 0
init_seq_no = manager . idl . change_seqno
return idl
while ( init_seq_no == manager . idl . change_seqno ) :
if interval > timeout :
raise TypeError ( ' timeout ' )
manager . idl . run ( )
interval + = 1
time . sleep ( 1 )
def get_schema ( ) :
return restparser . parseSchema ( settings . get ( ' ext_schema ' ) )
def get_runconfig ( ) :
idl = get_idl ( )
schema = get_schema ( )
return runconfig . RunConfigUtil ( idl , schema )
schema = restparser . parseSchema ( settings . get ( ' ext_schema ' ) )
return runconfig . RunConfigUtil ( manager . idl , schema )
class Response ( object ) :
def __init__ ( self , resp , hdrs ) :
self . body = resp . read ( )
self . body = None
self . headers = hdrs
if resp :
self . body = resp . read ( )
@property
def json ( self ) :
if not self . body :
return None
try :
return json . loads ( self . body )
except ValueError :
@ -95,11 +98,11 @@ class Rest(object):
if self . module . params [ ' use_ssl ' ] :
proto = ' https '
if not port :
port = 443
port = 18091
else :
proto = ' http '
if not port :
port = 80
port = 80 91
self . baseurl = ' %s :// %s : %s /rest/v1 ' % ( proto , host , port )