Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:adrianSuSE
build
openstack-console
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File openstack-console of Package build
################################################################ # # Copyright (c) 2017 SUSE Linux Products GmbH # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 or 3 as # published by the Free Software Foundation. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program (see the file COPYING); if not, write to the # Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA # ################################################################ import websocket import sys import re import time url = '' if len(sys.argv) != 2: sys.exit("usage: openstack-console <url>") else: url = sys.argv[1] print("openstack-console: Using url '%s'" % url) ws = websocket.create_connection(url, header={'Sec-WebSocket-Protocol: binary'}) buf = '' timeout=120 while timeout > 0: try: data = ws.recv() break except websocket._exceptions.WebSocketConnectionClosedException: print("Failed to get data from websocket %d retries left." % timeout) ws = websocket.create_connection(url, header={'Sec-WebSocket-Protocol: binary'}) timeout -= 1 time.sleep(1) while True: sys.stdout.write(data) if not ws.connected: sys.stdout.write("[connection closed]\n") break buf += data buf = buf[-256:] if re.search("[\r\n]\[\s*[0-9\.]*]\s+reboot: Power down", buf): break data = ws.recv() ws.close()
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor