Skip to content

Commit

Permalink
Running commands silently (microsoft#13189)
Browse files Browse the repository at this point in the history
* Running commands silently

* Updating task version

* Bumping task version

* Fixing failing L0 tests
  • Loading branch information
shigupt202 committed Jun 29, 2020
1 parent 9de040b commit 0ee6c8f
Show file tree
Hide file tree
Showing 7 changed files with 12 additions and 20 deletions.
9 changes: 0 additions & 9 deletions Tasks/HelmDeployV0/Tests/L0.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ describe("HelmDeployV0 Suite", function () {
tr.run();
assert(tr.stdout.indexOf("v3") != -1, "Helm version 3 should have been installed");
assert(tr.stdout.indexOf("STATUS: deployed") != -1, `Release should have been created with NAME: ${shared.testReleaseName}`);
assert(tr.stdout.indexOf("# Source: testChartName/templates/serviceaccount.yaml") != -1, `Manifests should have been extracted from release ${shared.testReleaseName}`);
assert(tr.stdout.indexOf(`DeploymentDetailsApiResponse: {"mockKey":"mockValue"}`) != -1, "Web response should have been received for pushing metadata to evidence store");
assert(tr.succeeded, "task should have succeeded");
done();
Expand All @@ -69,7 +68,6 @@ describe("HelmDeployV0 Suite", function () {
tr.run();
assert(tr.stdout.indexOf("v2") != -1, "Helm version 2 should have been installed");
assert(tr.stdout.indexOf("STATUS: deployed") != -1, `Release should have been created with NAME: ${shared.testReleaseName}`);
assert(tr.stdout.indexOf("# Source: testChartName/templates/serviceaccount.yaml") != -1, `Manifests should have been extracted from release ${shared.testReleaseName}`);
assert(tr.stdout.indexOf(`DeploymentDetailsApiResponse: {"mockKey":"mockValue"}`) != -1, "Web response should have been received for pushing metadata to evidence store");
assert(tr.succeeded, "task should have succeeded");
done();
Expand All @@ -89,7 +87,6 @@ describe("HelmDeployV0 Suite", function () {
tr.run();
assert(tr.stdout.indexOf("v3") != -1, "Helm version 3 should have been installed");
assert(tr.stdout.indexOf("STATUS: deployed") != -1, `Release should have been created with NAME: ${shared.testReleaseName}`);
assert(tr.stdout.indexOf("# Source: testChartName/templates/serviceaccount.yaml") != -1, `Manifests should have been extracted from release ${shared.testReleaseName}`);
assert(tr.stdout.indexOf(`DeploymentDetailsApiResponse: {"mockKey":"mockValue"}`) != -1, "Web response should have been received for pushing metadata to evidence store");
assert(tr.succeeded, "task should have succeeded");
done();
Expand All @@ -108,7 +105,6 @@ describe("HelmDeployV0 Suite", function () {
tr.run();
assert(tr.stdout.indexOf("v3") != -1, "Helm version 3 should have been installed");
assert(tr.stdout.indexOf("STATUS: deployed") != -1, "Release should have been created");
assert(tr.stdout.indexOf("# Source: testChartName/templates/serviceaccount.yaml") != -1, `Manifests should have been extracted from release ${shared.testReleaseName}`);
assert(tr.stdout.indexOf(`DeploymentDetailsApiResponse: {"mockKey":"mockValue"}`) != -1, "Web response should have been received for pushing metadata to evidence store");
assert(tr.succeeded, "task should have succeeded");
done();
Expand All @@ -129,7 +125,6 @@ describe("HelmDeployV0 Suite", function () {
tr.run();
assert(tr.stdout.indexOf("v3") != -1, "Helm version 3 should have been installed");
assert(tr.stdout.indexOf("STATUS: deployed") != -1, "Release should have been created");
assert(tr.stdout.indexOf("# Source: testChartName/templates/serviceaccount.yaml") != -1, `Manifests should have been extracted from release ${shared.testReleaseName}`);
assert(tr.stdout.indexOf(`DeploymentDetailsApiResponse: {"mockKey":"mockValue"}`) != -1, "Web response should have been received for pushing metadata to evidence store");
assert(tr.succeeded, "task should have succeeded");
done();
Expand All @@ -150,7 +145,6 @@ describe("HelmDeployV0 Suite", function () {
tr.run();
assert(tr.stdout.indexOf("v3") != -1, "Helm version 3 should have been installed");
assert(tr.stdout.indexOf("STATUS: deployed") != -1, "Release should have been created");
assert(tr.stdout.indexOf("# Source: testChartName/templates/serviceaccount.yaml") != -1, `Manifests should have been extracted from release ${shared.testReleaseName}`);
assert(tr.stdout.indexOf(`DeploymentDetailsApiResponse: {"mockKey":"mockValue"}`) != -1, "Web response should have been received for pushing metadata to evidence store");
assert(tr.succeeded, "task should have succeeded");
done();
Expand All @@ -171,7 +165,6 @@ describe("HelmDeployV0 Suite", function () {
assert(tr.stdout.indexOf("v3") != -1, "Helm version 3 should have been installed");
assert(tr.stdout.indexOf("STATUS: deployed") != -1, "Release should have been created");
assert(tr.stdout.indexOf("The given version " + process.env[shared.TestEnvVars.version] + " is not valid. Running the helm install command with latest version") != -1, "Version should not have been accepted");
assert(tr.stdout.indexOf("# Source: testChartName/templates/serviceaccount.yaml") != -1, `Manifests should have been extracted from release ${shared.testReleaseName}`);
assert(tr.stdout.indexOf(`DeploymentDetailsApiResponse: {"mockKey":"mockValue"}`) != -1, "Web response should have been received for pushing metadata to evidence store");
assert(tr.succeeded, "task should have succeeded");
done();
Expand All @@ -189,7 +182,6 @@ describe("HelmDeployV0 Suite", function () {

tr.run();
assert(tr.stdout.indexOf(`Release "${shared.testReleaseName}" has been upgraded`) != -1, "Release should have been upgraded");
assert(tr.stdout.indexOf("# Source: testChartName/templates/serviceaccount.yaml") != -1, `Manifests should have been extracted from release ${shared.testReleaseName}`);
assert(tr.stdout.indexOf(`DeploymentDetailsApiResponse: {"mockKey":"mockValue"}`) != -1, "Web response should have been received for pushing metadata to evidence store");
assert(tr.succeeded, "task should have succeeded");
done();
Expand All @@ -208,7 +200,6 @@ describe("HelmDeployV0 Suite", function () {

tr.run();
assert(tr.stdout.indexOf(`Release "${shared.testReleaseName}" has been upgraded`) != -1, "Release should have been upgraded");
assert(tr.stdout.indexOf("# Source: testChartName/templates/serviceaccount.yaml") != -1, `Manifests should have been extracted from release ${shared.testReleaseName}`);
assert(tr.stdout.indexOf(`DeploymentDetailsApiResponse: {"mockKey":"mockValue"}`) != -1, "Web response should have been received for pushing metadata to evidence store");
assert(tr.succeeded, "task should have succeeded");
done();
Expand Down
9 changes: 5 additions & 4 deletions Tasks/HelmDeployV0/src/helm.ts
Original file line number Diff line number Diff line change
Expand Up @@ -169,11 +169,14 @@ function runHelm(helmCli: helmcli, command: string, kubectlCli: kubernetescli, f
let manifests = helmutil.getManifestsFromRelease(helmCli, releaseName);
if (manifests && manifests.length > 0) {
const manifestUrls = getManifestFileUrlsFromHelmOutput(output);
const allPods = JSON.parse(kubectlCli.getAllPods().stdout);
const clusterInfo = kubectlCli.getClusterInfo().stdout;

manifests.forEach(manifest => {
//Check if the manifest object contains a deployment entity
if (manifest.kind && isDeploymentEntity(manifest.kind)) {
try {
pushDeploymentDataToEvidenceStore(kubectlCli, manifest, manifestUrls).then((result) => {
pushDeploymentDataToEvidenceStore(allPods, clusterInfo, manifest, manifestUrls).then((result) => {
tl.debug("DeploymentDetailsApiResponse: " + JSON.stringify(result));
}, (error) => {
tl.warning("publishToImageMetadataStore failed with error: " + error);
Expand All @@ -198,9 +201,7 @@ run().then(() => {
tl.setResult(tl.TaskResult.Failed, reason);
});

async function pushDeploymentDataToEvidenceStore(kubectlCli: kubernetescli, deploymentObject: any, manifestUrls: string[]): Promise<any> {
const allPods = JSON.parse(kubectlCli.getAllPods().stdout);
const clusterInfo = kubectlCli.getClusterInfo().stdout;
async function pushDeploymentDataToEvidenceStore(allPods: any, clusterInfo: any, deploymentObject: any, manifestUrls: string[]): Promise<any> {
const metadata = getDeploymentMetadata(deploymentObject, allPods, "None", clusterInfo, manifestUrls);
const requestUrl = getPublishDeploymentRequestUrl();
const request = new WebRequest();
Expand Down
6 changes: 3 additions & 3 deletions Tasks/HelmDeployV0/src/helmcli.ts
Original file line number Diff line number Diff line change
Expand Up @@ -64,14 +64,14 @@ export default class helmcli extends basecommand {
return true;
return false;
}
public execHelmCommand(): tr.IExecSyncResult {

public execHelmCommand(silent?: boolean): tr.IExecSyncResult {
var command = this.createCommand();
command.arg(this.command);
this.arguments.forEach((value) => {
command.line(value);
});

return this.execCommandSync(command);
return this.execCommandSync(command, { silent: !!silent } as tr.IExecOptions);
}
}
2 changes: 1 addition & 1 deletion Tasks/HelmDeployV0/src/kubernetescli.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ export default class kubernetescli extends basecommand {
command.arg('get');
command.arg('pods');
command.arg(['-o', 'json']);
return this.execCommandSync(command);
return this.execCommandSync(command, { silent: true } as tr.IExecOptions);
}

public getClusterInfo(): tr.IExecSyncResult {
Expand Down
2 changes: 1 addition & 1 deletion Tasks/HelmDeployV0/src/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ export function getManifestsFromRelease(helmCli: helmcli, releaseName: string):
helmCli.addArgument('manifest');
helmCli.addArgument(releaseName);

const execResult = helmCli.execHelmCommand();
const execResult = helmCli.execHelmCommand(true);
yaml.safeLoadAll(execResult.stdout, (doc) => {
manifests.push(doc);
});
Expand Down
2 changes: 1 addition & 1 deletion Tasks/HelmDeployV0/task.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"version": {
"Major": 0,
"Minor": 172,
"Patch": 1
"Patch": 2
},
"demands": [],
"groups": [
Expand Down
2 changes: 1 addition & 1 deletion Tasks/HelmDeployV0/task.loc.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"version": {
"Major": 0,
"Minor": 172,
"Patch": 1
"Patch": 2
},
"demands": [],
"groups": [
Expand Down

0 comments on commit 0ee6c8f

Please sign in to comment.