#!/usr/bin/env python ################################################################################ # Copyright 2021 highstreet technologies GmbH # # Licensed under the Apache License, Version 2.0 (the 'License'); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an 'AS IS' BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # from libtmux import Pane, Server, Window, exc from libtmux.common import has_gte_version def createLoggingWindow(): logging = session.new_window(attach=False, window_name="logging") sdnr = logging.list_panes()[0] sdnr.send_keys('echo "sdnr"', enter=True) sdnr.send_keys('docker exec -it sdnr tail -f /opt/opendaylight/data/log/karaf.log', enter=True) ntsim = logging.split_window(attach=False, vertical=True) ntsim.send_keys('echo "ntsim"', enter=True) ntsim.send_keys('docker exec -it ntsim-ng-o-du-1122 tail -f /opt/dev/ntsim-ng/log/log.txt', enter=True) ves = logging.split_window(attach=False, vertical=False) ves.send_keys('echo "ves"', enter=True) ves.send_keys('docker logs -f ves-collector', enter=True) env = ntsim.split_window(attach=False, vertical=False) env.send_keys('htop', enter=True) # main server = Server() session = server.find_where({ "session_name": "integration" }) workspace = session.select_window("workspace") pane = workspace.list_panes()[0] # pane.send_keys('clear', enter=True) pane.send_keys('cat README.md', enter=True) pane.send_keys('docker ps -a', enter=True) # create logging window, if needed logging = session.find_where({'window_name':'logging'}) if logging is None: createLoggingWindow()