Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions extensions/dynatrace/extension.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ def _load_service_info(self):
self._ctx['DYNATRACE_TOKEN'] = detected_services[0].get('apitoken', None)
self._ctx['DYNATRACE_SKIPERRORS'] = detected_services[0].get('skiperrors', None)
self._ctx['DYNATRACE_NETWORK_ZONE'] = detected_services[0].get('networkzone', None)
self._ctx['DYNATRACE_ADDTECHNOLOGIES'] = detected_services[0].get('addtechnologies', None)

self._convert_api_url()
self._detected = True
Expand Down Expand Up @@ -125,6 +126,10 @@ def download_oneagent_installer(self):
self.create_folder(os.path.join(self._ctx['BUILD_DIR'], 'dynatrace'))
installer = self._get_oneagent_installer_path()
url = self._ctx['DYNATRACE_API_URL'] + '/v1/deployment/installer/agent/unix/paas-sh/latest?bitness=64&include=php&include=nginx&include=apache'
if self._ctx['DYNATRACE_ADDTECHNOLOGIES']:
for code_module in self._ctx['DYNATRACE_ADDTECHNOLOGIES'].split(","):
self._log.info(f"Adding additional code module to download: {code_module}")
url = f"{url}&include={code_module}"
if self._ctx['DYNATRACE_NETWORK_ZONE']:
self._log.info("Setting DT_NETWORK_ZONE...")
url = url + ("&networkZone=%s" % self._ctx['DYNATRACE_NETWORK_ZONE'])
Expand Down
6 changes: 4 additions & 2 deletions src/php/integration/deploy_a_php_app_with_dynatrace_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -184,16 +184,18 @@ var _ = Describe("Deploy app with", func() {
Expect(app.Stdout.String()).To(ContainSubstring("Setting DT_NETWORK_ZONE..."))
})

It("Deploy app with single dynatrace service and check for config update", func() {
It("Deploy app with single dynatrace service and check for config update and additional code modules", func() {
serviceName := "dynatrace-" + cutlass.RandStringRunes(20) + "-service"
Expect(RunCf("cups", serviceName, "-p", fmt.Sprintf(`{"apitoken":"secretpaastoken","apiurl":"%s","environmentid":"envid", "networkzone":"testzone"}`, dynatraceAPIURI))).To(Succeed())
Expect(RunCf("cups", serviceName, "-p", fmt.Sprintf(`{"apitoken":"secretpaastoken","apiurl":"%s","environmentid":"envid", "networkzone":"testzone", "addtechnologies":"go,nodejs"}`, dynatraceAPIURI))).To(Succeed())
Expect(RunCf("bind-service", app.Name, serviceName)).To(Succeed())
Expect(RunCf("start", app.Name)).To(Succeed())
ConfirmRunning(app)

Expect(app.ConfirmBuildpack(buildpackVersion)).To(Succeed())
Expect(app.Stdout.String()).To(ContainSubstring("Fetching updated OneAgent configuration from tenant..."))
Expect(app.Stdout.String()).To(ContainSubstring("Finished writing updated OneAgent config back to"))
Expect(app.Stdout.String()).To(ContainSubstring("Adding additional code module to download: go"))
Expect(app.Stdout.String()).To(ContainSubstring("Adding additional code module to download: nodejs"))
})

})