Changes made so that PLATdockertest pulls all images from onos dockerhub
Change-Id: Ia5a55901111d7e925afd1cadb16f471049cc120b
diff --git a/TestON/drivers/common/api/dockerapidriver.py b/TestON/drivers/common/api/dockerapidriver.py
index 10743da..1d19488 100644
--- a/TestON/drivers/common/api/dockerapidriver.py
+++ b/TestON/drivers/common/api/dockerapidriver.py
@@ -47,6 +47,20 @@
except Exception as e:
main.log.exception( e )
+ def getListOfImages( self, repo="onosproject/onos" ):
+ """
+ Get the list of image tags
+ """
+ try:
+ imageList = list( self.dockerClient.images( name=repo ) )
+ imageListToSend = []
+ for imageDict in imageList:
+ if imageDict[ 'RepoTags' ] is not None:
+ imageListToSend.append( imageDict['RepoTags'][0].encode('UTF8').split(':')[1] )
+ return imageListToSend
+ except Exception as e:
+ main.log.exception( e )
+
def dockerPull( self, onosRepo ="onosproject/onos", onosTag="latest" ):
"""
Pulls Docker image from repository
@@ -60,8 +74,8 @@
main.log.info(json.dumps(json.loads(line), indent =4))
#response = json.dumps( json.load( pullResult ), indent=4 )
- if re.search( "for onosproject/onos:latest", line ):
- main.log.info( "latest onos docker image pulled is: " + line )
+ if re.search( "for onosproject/onos:" + onosTag, line ):
+ main.log.info( "onos docker image pulled is: " + line )
return main.TRUE
else:
main.log.error( "Failed to download image from: " + onosRepo +":"+ onosTag )
@@ -202,18 +216,19 @@
#main.cleanup()
#main.exit()
- def dockerRemoveImage( self, image="onosproject/onos:latest" ):
+ def dockerRemoveImage( self, imageRepoTag=None ):
"""
Remove Docker image
"""
rmResult = main.TRUE
-
if self.dockerClient.images() is []:
- main.log.info( "No docker image found with RepoTags: " + image )
+ main.log.info( "No docker image found" )
return rmResult
else:
- list = [ image["Id"] for image in self.dockerClient.images() if image["RepoTags"][0] == '<none>:<none>' ]
- for id in list:
+ imageList = [ image["Id"] for image in self.dockerClient.images()
+ if image["RepoTags"] is None
+ or imageRepoTag in image["RepoTags"] ]
+ for id in imageList:
try:
main.log.info( self.name + ": Removing Docker image " + id )
response = self.dockerClient.remove_image(id, force = True)