Package: plbmng
Descriptionplbmngis a tool for monitoring servers within and outside of Planetlab network.For this purpose there are several tools within this project:to get all servers from PlanetLab network and gather all available information about themto create a map with pin pointed location of the serversfilter servers based on their availability, location, software, hardware.to add server which are not from PlanetLab network into plbmng databasecopy file/files to multiple server/servers from plbmng databaseschedule jobs to run commands on remote serversmanage jobs lifecycleDependenciesPython 3.8 or higherDialog engine(TUI)Python modules (all modules are available from pip):geocoderfoliumvincentparamikopythondialogdynaconfloguruparallel-sshpysftpInstallationTo install the plbmng module, type:$pip3installplbmngInstall dialog-like engine. If you are using Fedora-like distributions:$sudoyuminstall-ydialogOn Mac OS you can install it from brew:$brewinstalldialogBasic usageWhen you run plbmng for the first time, please add your credentials for Planetlab network to the configuration file located at~/.plbmng/settings.yaml. If you don’t want to add your credentials right away, you can skip it and add it in the settings later.Once you have added your credentials, useUpdate server list nowoption in the Monitor servers menu. In default you will have old data which can be updated by this function. It downloads all servers from your slice and exports it asdefault.nodefile.Main menuAccess servers: If you are looking for some specific node or set of nodes, useAccess serversoption. In the next screen you can choose from four options: access last server, search by DNS, IP or location. If you choose search by DNS or IP you will be prompted to type a string, which indicates the domain you are looking for. If you want to search by location, you will be asked to choose a continent and a country. Then you will see all available nodes from this selected country and you can choose one of them to see more detailes about this particular node. At the bottom of the information screen you can choose from three options.Monitor servers: Monitoring tools are there.Update server list now, here you can update your list of servers.Update server status now, here you can update your list of available servers.Plot servers on map:Generate map, will create a map with all or specific nodes fromplanetlab.nodefile.Run jobs on servers:Copy files to server(s)- User is prompted to select file/files, server/servers from plbmng database and destination path on the target. DO NOT FORGET TO SET PATH TO SSH KEY AND SLICE NAME(user on the target) IN THE CONFIG FILE!Runone-offremote command- Allows to run a command on a set of servers.Schedule remote job- Allows user to schedule remote jobs that run commands on the servers at the specified time. It uses local database for storing details about all scheduled jobs.Display jobs state- Provides a menu to display either non-finished or finished jobs.Refresh jobs state- Refreshes state of non-finished jobs.Job artefacts- Allows user to view the artefacts that the job produced.Clean up jobs- Provides user with the ability to delete old/unused jobs.ExtrasIn the extras menu you can find tool for managing your own server by adding them to the database. Another new feature added to extras menu is parallel copy to server/servers from database.Add server to database: Allows user to add a server to the plbmng database. By adding info about server to the prepared file, you are able to filter and monitor your server with this tool just like with the others within PlanetLab network.Development processCheck out the project$gitclonegit@gitlab.com:utko-planetlab/plbmng.gitInstall required packages and development dependencies by$poetryinstallInstall pre-commit for code check$pre-commitinstall--install-hooksMake changes of your choice and commit them$gitcommit-m"Your beautiful commit message"If you want to issue new version, run the following command. This issues minor version. It updates version strings in the whole repository and creates git commit and git tag. Then it pushes the tag and the commit to the upstream repository.$bumpverupdate--patchAuthorsDan Komosny- Maintainer and supervisorIvan Andrasov- ContributorFilip Suba- ContributorMartin Kacmarcik- ContributorOndrej Gajdusek- Contributor