Commit 0068fd03 authored by Lu Xu's avatar Lu Xu 👀

wip

parent 12c29729
......@@ -36,7 +36,7 @@ md5sum = b34fe47a73890097fbc6ea6374aeb38d
[lopcomm-rrh-software.jinja2.py]
_update_hash_filename_ = lopcomm-rrh-software.jinja2.py
md5sum = 57f4439524d464961dd8cbd6e5e52fc6
md5sum = 65877f831d497d5bcdc40d4e98c32dc4
[template-enb]
_update_hash_filename_ = instance-enb.jinja2.cfg
......
......@@ -47,20 +47,29 @@ class LopcommNetconfClient:
hostkey_verify=False)
self.logger.info('Connection to %s successful' % (self.address,))
def rpc_request(self, rpc_files):
for rpc_file in rpc_files:
with open(rpc_file) as f:
rpc_xml = f.read()
try:
self.logger.info('Sending software management RPC request...')
rpc_obj = RPC(rpc_xml, self.conn)
rpc_obj.send()
self.logger.info('Software management RPC request sent successfully')
except RPCError as e:
self.logger.error('Error sending software management RPC request: %s' % e)
def custom_rpc_request(self, rpc_xml):
try:
self.logger.info('Sending custom RPC request...')
response = self.conn.dispatch(rpc_xml)
if response.ok:
self.logger.info('Custom RPC request sent successfully')
else:
self.logger.error('Error sending custom RPC request: %s' % response.error)
except RPCError as e:
self.logger.error('Error sending custom RPC request: %s' % e)
# def rpc_request(self, rpc_files):
# for rpc_file in rpc_files:
# with open(rpc_file) as f:
# rpc_xml = f.read()
#
# try:
# self.logger.info('Sending software management RPC request...')
# rpc_obj = RPC(rpc_xml, self.conn)
# rpc_obj.send()
# self.logger.info('Software management RPC request sent successfully')
# except RPCError as e:
# self.logger.error('Error sending software management RPC request: %s' % e)
#
# def rpc_request(self, rpc_files):
# for rpc_file in rpc_files:
# with open(rpc_file) as f:
......@@ -77,17 +86,38 @@ class LopcommNetconfClient:
# Close not compatible between ncclient and netconf server
#self.conn.close()
pass
if __name__ == '__main__':
nc = LopcommNetconfClient()
while True:
try:
nc.connect("{{ netaddr.IPAddress(slap_configuration.get('tap-ipv6-gateway', '')) }}", 830, "oranuser", "oranpassword")
nc.rpc_request(["{{ software_install_template }}"])
#nc.connect("{{ netaddr.IPAddress(slap_configuration.get('tap-ipv6-gateway', '')) }}", 830, "oranuser", "oranpassword")
nc.connect("fe80::20a:ff:fe00:1020%slaptap6", 830, "oranuser", "oranpassword")
# Load your custom RPC XML from a file or construct it manually
custom_rpc_xml = """
<software-install xmlns="urn:o-ran:software-management:1.0">
<slot-name>slot-2</slot-name>
<file-names>PR.PRM61C70V1002.K010927.tar.g</file-names>
</software-install>
"""
nc.custom_rpc_request(custom_rpc_xml)
break
except Exception as e:
nc.logger.debug('Got exception, waiting 10 seconds before reconnecting...')
nc.logger.debug(e)
nc.logger.debug(str(e))
time.sleep(10)
finally:
nc.close()
#if __name__ == '__main__':
# nc = LopcommNetconfClient()
# while True:
# try:
# nc.connect("{{ netaddr.IPAddress(slap_configuration.get('tap-ipv6-gateway', '')) }}", 830, "oranuser", "oranpassword")
# nc.rpc_request(["{{ software_install_template }}"])
# break
# except Exception as e:
# nc.logger.debug('Got exception, waiting 10 seconds before reconnecting...')
# nc.logger.debug(e)
# time.sleep(10)
# finally:
# nc.close()
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment