def executeDocker2(self): try: # Open a connection client = Client(base_url=self.docker_server, version="1.17") client.execute(container=self.shassarosContainer.shassaros[1].docker_id, cmd="/usr/bin/puppet apply --modulepath=\"/root\" /root/shassaro.pp") # Start the vncserver (due to bug in the vnc puppet module) client.execute(container=self.shassarosContainer.shassaros[1].docker_id, cmd="/sbin/service vncserver start") except Exception as e: pass
def executeDocker2(self): try: # Open a connection client = Client(base_url=self.docker_server, version="1.17") client.execute( container=self.shassarosContainer.shassaros[1].docker_id, cmd= "/usr/bin/puppet apply --modulepath=\"/root\" /root/shassaro.pp" ) # Start the vncserver (due to bug in the vnc puppet module) client.execute( container=self.shassarosContainer.shassaros[1].docker_id, cmd="/sbin/service vncserver start") except Exception as e: pass
def main(): args = parse_args() config_file = args.config_file C = Client(base_url='unix://var/run/docker.sock') with open(config_file) as data_file: data = json.load(data_file) def get_image(image_name): for line in C.pull(image_name, stream=True): logging.debug(json.dumps(json.loads(line), indent=4)) def remove_chars(word, chars=DEFAULT_CHARS): for char in chars: word = ''.join(word.split(char)) return word def create_container(image_name, mode): if mode == REMOVE_EXISTING: for container in C.containers(): if container.get('Image') == image_name: logging.info('Deleting container - %s' % container.get('Names')[0]) C.remove_container(container=container.get('Id'), force=True) name = '%s_test' % remove_chars(image_name) container = C.create_container(image=image_name, hostname=name, name=name, command=STARTUP_CMD) logging.info('Created container - Image: %s | Name: %s | Id: %s' % (image_name, name, container.get('Id'))) return container for item in data['create_containers']['containers']: image_name = item['RepoTags'] get_image(image_name) container = create_container( image_name, data['create_containers']['mode']) C.start(container=container.get('Id')) for cmd in item['cmds']: logging.debug('Executing command %s on Container %s' % (cmd, container.get('Id'))) C.execute(container=container.get('Id'), cmd=cmd)