cancel
Showing results for 
Search instead for 
Did you mean: 

NBU Appliance Web GUI Architecture

Sid1987
Level 6
Certified

Hi Team,

 I want to understand how NBU Appliance web console works, as in what is running on an appliance(python or any other language) to access Netbackup data and then what is making it accessible over an https request. Does anyone has any idea what is the data flow and in what language?

Let me know if it's confusing question.

Thanks

Sid

11 REPLIES 11

RiaanBadenhorst
Moderator
Moderator
Partner    VIP    Accredited Certified

What are you plotting?

sdo
Moderator
Moderator
Partner    VIP    Certified
I don’t know... but I suspect that the Java admin console:
- first authenticates to master
- secondly, as soon as you click on activity monitor then forks a thread that sends a bpdbjobs continuous command for all columns and this thread is then permanently active until you close the console, and so the thread on the master which is actually running the bpbjobs command simply squirts all of the output back to the console via a network pipe, and the Java console then updates its internal tables of job details, and updates the display if any fields that are display have changed meta-data arrived from master.
- thirdly, after the above then any actions in the console are simply formed into the equivalent command and that command is then sent to the master to execute.
It’s not https based, at least not yet. Just proprietary application protocols that will never be divulged by the developers.
What indeed are you plotting?

sdo
Moderator
Moderator
Partner    VIP    Certified
Doh - my bad - your question is re Appliance Console. I would expect something similar in that right at the bottom layer then any info request, or action, then always a process is executed to run NetBackup CLI commands. So, some HTML application code will be sending commands to the Http server daemon to have some commands executed and text output sent back and then the returned tex is processsrd:filtered and displayed by yet more html code.

andrew_mcc1
Level 6
   VIP   

As far as I know this isn't documented for customers or partners, Veritas really want users to treat an Appliance as a "black-box". In the past it was possible (but very unsupported) to install Appliance ISOs under VMware which you may be able use to take a look around safely if you really want. Good luck, Andrew

PS: If you install on VMware, it needs a very big install disk (say 160 GB) but it can be thin provisioned. Not sure if this still works post N2.7 (NBU 7.7) which is based on RHEL. Also for me it wouldn't work on Hyper-V...

Sid1987
Level 6
Certified

What I am trying to build is still under process. I got a close answer by @sdo that appliance works with html code which has inbuilt netbackup commands whose output is in text format which with simple regex is formatted to display on https. Does it sound right?

sdo
Moderator
Moderator
Partner    VIP    Certified

Hi @Sid1987 - to be honest it's nothing but pure conjecture from me - not based upon any solid fact.  It seems reasonable that the developers would follow some form of client and server design.  I would expect that the output is in some form of XML or json format - and yes perhaps is derived as the output from some regex expressions.

In the past I had noticed that a few NetBackup commands seem to have a hidden undocumented "-json" switch.  But I'm not sure how many do actually have this switch.  Maybe it is only a handful.

Thinking about the safest way to implement something like this is to tokenise the requests (but not the output).  i.e. instead of sending the commands to be exceuted, to instead request that command number 1 be executed, or number 2, or 3, etc... e.g. command 0001 could be  list all disk mount-points, command 0002 could be list all processes.  This would be much safer than sending the actual command to be executed.

andrew_mcc1
Level 6
   VIP   

Sid1987, what sort of thing are you trying to build? I assumed the question was out of academic interest...

@sdo, Viable suggestion, Let me design the architecture first then I will go ahead and code the pieces.

@andrew_mcc1It's not for academic interest, I am trying something sort of Nbu self service, In house web console for Netbackup.

andrew_mcc1
Level 6
   VIP   

> I am trying something sort of Nbu self service, In house web console for Netbackup

I believe a RESTful API for NBU is planned but I would not expect a full version to be back-ported to current versions. You are limited to interfacing with the NBU CLI right now. BR Andrew

JonHunt
Moderator
Moderator
   VIP   

You may want to look at NSS 'NetBack Self Service', if you are an 'NBU Complete' customer you already have entitlement to use it. NSS can be used as a standalone portal or as you want to use it to communicate with NetBackup from another application. NSS has its own API, this is complete and fully published and available now! I published an article on this recently https://vox.veritas.com/t5/NetBackup-Self-Service/NSS-API-support-collateral/td-p/840282

The NSS API is a high level API, so all the hard work is done for you, you just need to supply machine name and maybe protection type, the proposed NBU API is very low level and would require a significant project team to get it working and build out all the workflows, all of this is already done in NSS.

More than 50% of customers who are using NSS are using it to interface between their console/portal/application to NetBackup. 

If you don't have 'NBU Complete' you can download a trialware copy, I have published this article with details https://vox.veritas.com/t5/NetBackup-Self-Service/Downloading-a-trial-copy-of-NSS-NetBackup-Self-Ser...

Jon

Sid1987
Level 6
Certified

@JonHunt

Thanks for the update, I am aware of NSS and will go through the articles, However I am trying to get my version of it, for which i have further plans.