An IBM Endpoint Manager Proxy Agent plugin to simulate clients
- Generate device reports
- Computer name
- Operating system
- Windows Server
- IBM Endpoint Manager 9.1.1117.0 - Proxy Agent
Tested on bolivar a Windows Server 2012 environment:
- IBM Endpoint Manager 9.1.1117.0 - Proxy Agent
- python-3.3.5.amd64
On bolivar:
$ net stop BESProxyAgent
$ cd {Management Extender root folder}
$ mkdir Plugins
$ cd Plugins
$ git clone git@github.com:bigfix/trask.git
$ net start BESProxyAgent{Management Extender root folder} by default is C:\Program Files (x86)\BigFix Enterprise\Management Extender. Adjust the settings.json if your Proxy Agent was installed elsewhere.
Device reports can be configured via the --device-config option. To utilize this option, the settings.json must be edited to include the option in the ExecutablePath. The --device-config option takes a JSON file with the following specifications:
- keys correlate to device report attributes (ex:
operating system). - values must be a list of choice objects
. - choice objects have a mandatory key,
value, and optional key,weight. By default, theweightis 1.
For example, this configuration file, sentinel.json has two equal likelihood choices for the operating system attribute:
{
"operating system": [{"value": {"name": "bolivar trask",
"version": "1965.11.10"},
"weight": 1},
{"value": {"name": "moira kinross",
"version": "1975.12.10"},
"weight": 1}]
}Command results can be configured via the --result-config option. Like the configuration for device reports, the settings.json must be edited to include the option in the ExecutablePath. This configuration also takes a JSON file with the following specifications:
- keys correlate to commands (ex:
locate). - values must be a list of choice objects
. - choice objects have a mandatory key,
value, and optional key,weight. By default, theweightis 1. The value must either be "Completed", "Failed", or "Error".
For example, this configuration file, result.json has two equal likelihood choices for the locate command and one result for any other commands:
{
"locate": [{"value": "Completed",
"weight": 1},
{"value": "Failed",
"weight": 1},
{"value": "Error",
"weight": 1}],
"default": [{"value": "Completed",
"weight": 1}]
}To run the tests, run any of the following (or execute a test file directly):
$ python -m unittest discover$ python test/test_Sentinel.py$ nosetestsTests can also be built using vagrant. To run tests in this way, run the following:
$ make test> make.bat testAny issues or questions regarding this software should be filed via GitHub issues.