Package: dom-tools
toolsTable of ContentstoolsTable of ContentsDescriptionRequirementsSetupCLIValidateTestjdqlbackuplsstartstopaddremoveviewtailConnection MonitorGetting StartedFeeze MonitorGetting StartedComponent DiagramTestingDescriptionCollection of tools, scripts, tests, and a CLI for administering DOM deployments.RequirementsPython requirements are found in therequirements.txtfile.YAML::Perl moduleSetuppip -m venv venvsource venv/bin/activatepip install -r requirements.txtAdddom.pyto PATHCLIThis CLI is meant to be a way to centralize the many DOM administrative tasks the DOM operations team does on a regular basis.ValidateReads the configuation file. For all missions, fns, and rmi referenced in the config, reads those ServerConfig.pl, FNS.pl, and RMI.pl and confirms all config files referenced exist.Exampledom validateTestTests running DOM services, such as mission catalogs, fns, and rmi by running DOM jcat commands.Examplesdom testtests all missions, fns, and rmi found in the default config file.dom test cat psytests the psy mission.dom test rmi V10.14B1tests the V10.14B1 rmi.dom test fns psytests the psy fns server.jdqlRuns a jdql command while optionally making a backup of the schema before the command is run.Exampledom jdql -m psy 'show status;'runs the jdql show status command without backing up the schema.dom jdql -m psy -b 'show status;'dumps a backup of the complete psy schema, then runs the show status command.backupBacks up a specified schemalsdisplays the status of all or a specified DOM serviceExampledom lsdom ls rmidom ls catdom ls fnsdom ls sysExampledom lsdisplays the status of all mission servers, fns, and rmi on the localhostdom ls cat psydisplays the status of all psy serversdom ls rmi V10.14B1displays the status of the V10.14B1 rmi serverdom ls fns psydisplays the status of the psy fns serverstartStarts a DOM serviceExampledom start cat psystarts all psy serversdom start cat psy mainstarts just the psy main serverdom start rmi V10.14B1starts the V10.14B1 RMI serverdom start fns psystarts the psy fns serverstopstops a DOM serviceExampledom stop cat psystops all psy serversdom stop cat psy mainstops just the psy main serverdom stop rmi V10.14B1stops the V10.14B1 RMI serverdom stop fns psystops the psy fns serveraddadds a component (catalog, fns, rmi, user, group) to a DOM service.Exampledom add catlaunches an interactive tool to create a new mission catalog serverdom add cat psylaunches an interactive tool to create a new server in the psy missiondom add rmilaunches an interactive tool to create a new rmidom add fnslaunches an interactive tool to create a new fnsdom add user -m psy -n etrapp -g 'psy_test,psy_team'adds the useretrappto psy with membership inpsy_testandpsy_teamremoveremoves a component (catalog, fns, rmi, user, group) to a DOM service.Exampledom remove catlaunches an interactive tool to create a new mission catalog serverdom remove cat psylaunches an interactive tool to create a new server in the psy missiondom remove rmilaunches an interactive tool to create a new rmidom remove fnslaunches an interactive tool to create a new fnsdom remove user -m psy -n etrappremoves the useretrappfrom psydom remove user -m psy -n etrapp -g 'psy_test,psy_team'removes the useretrappfrom psy groupspsy_testandpsy_teamviewopens a specific dom config or log file in a text editor like vimExampledom view cat psy main configopens psy's mainServerConfig.plfile in vimdom view cat psy main logopens psy's main log file in vimtailtails a specific dom config or log fileExampledom tail cat psy main configtails psy's mainServerConfig.plfiledom tail cat psy main logtails psy's main log filedom tail --follow cat psy main logtails and follows psy's main log fileConnection MonitorThis is a monitoring script that was used in Spring of 2022 to continuously monitor the number of connections being maintained with each DOM server at any given time. The maximum of number of connections should be 50. After that and DOM should start closing them. It continuously logs this information to a log file.Getting Startedpython3 tools/connection-mon/connection-mon.py &Feeze MonitorThis is a monitoring script that was used in Spring of 2022 to continuously monitor DOM servers for a freezing issue they were experiencing. It does this my running thedomCheckAllServers.shutility over and over and when that call times out, it will send an email to an address configured intools/freeze-mon/freeze-mon.pyGetting StartedUpdate email intools/connection-mon/connection-mon.pypython3 tools/connection-mon/connection-mon.py &Component DiagramTestingIt's important to note that there are at least two different types of tests in this module:tests/contains all the tools for testing the rest of the tools and cli included in this module. There are the modules smoke tests. These test things like the modules ability to parse DOM config files, startup DOM services, and access process information on DOM. These are generally client tests.cli/testdomcontains code for testing the DOM services themselves. Generally, these are server tests.