- Abstract this function to allow us to safely call
platform.linux_distribution() on distributions that support it or
platform.dist() on older Python versions
- Allows for shorter/cleaner comparisons
Store manifest in ExtensionsConfig.Plugins xml attribute 'manifestdata' for use in CheckHeartbeat
launchCommand now uses dirpath=os.path.dirname(mfile) and subprocess.Popen(dirpath+'/'+cmd+arg,shell=True,cwd=dirpath)
Added globals provisioned, provisionError to make agent status visible to ReportHandlerStatus()
Added Util.HttpPutBlockBlob() to PUT Handler StatusReports.
Added ExtensionsConfig.ReportHandlerStatus()
Added ExtensionsConfig.CheckHeartbeat()
Add call to Agent.Run for ReportHandlerStatus() and CheckHeartbeat()
GetMacAddress() - if ifname is empty keep trying.
FreeBSDDistro - Handle potential custom data by increasing length of dd from 1 (2048 byte) block to 33.
Add /usr/local/bin to path in bsd_init_file.
Use non-threaded method for activate resource disk to work around python thread bugs in FreeBSD10
Add call to dhclient if inet_addr is not set for hn0
Log to console even if verbose.
Write configuration to file ExtensionsConfig.xml.
If <enabled> is true, attempt to download the plugin.
Get the manifest from 'location/failoverlocation' tag.
Download and extract the archive to LibDir/plugin_manifest_name/.
Read 'installCommand' from the PluginManifest.xml <Plugin> tag.
Create execuatable shell script containig 'installCommand'.
Spawn the script and report the PID to the Log.
TBD - disable plugin when <enabled> is false.
Added:
class ExtensionsConfig
Changed:
class HostingEnvironmentConfig
class GoalState
Also remove unused method group setHostname() from all distro classes.
Remove duplicate call to EnvMonitor(object).MyDistro.publishHostname(self.HostName) which is now called from WaAgent.UpdateAndPublishHostName(self.HostName).
Removed:
redhatDistro.setHostname()
centosDistro.setHostname()
debianDistro.setHostname()
Changed:
AbstractDistro.publishHostname()
redhatDistro.publishHostname()
centosDistro.publishHostname()
debianDistro.publishHostname()