Unverified Commit db91e8e6 authored by SparkSnail's avatar SparkSnail Committed by GitHub
Browse files

Support https in paiHost (#1873)

parent 0c7f22fb
......@@ -9,7 +9,7 @@ import { TrialJobApplicationForm, TrialJobDetail, TrialJobStatus } from '../../
export class PAIClusterConfig {
public readonly userName: string;
public readonly passWord?: string;
public readonly host: string;
public host: string;
public readonly token?: string;
/**
......
......@@ -52,7 +52,7 @@ export class PAIJobInfoCollector {
// Rest call to get PAI job info and update status
// Refer https://github.com/Microsoft/pai/blob/master/docs/rest-server/API.md for more detail about PAI Rest API
const getJobInfoRequest: request.Options = {
uri: `http://${paiClusterConfig.host}/rest-server/api/v1/user/${paiClusterConfig.userName}/jobs/${paiTrialJob.paiJobName}`,
uri: `${paiClusterConfig.host}/rest-server/api/v1/user/${paiClusterConfig.userName}/jobs/${paiTrialJob.paiJobName}`,
method: 'GET',
json: true,
headers: {
......
......@@ -68,6 +68,7 @@ class PAIK8STrainingService extends PAITrainingService {
} else if(this.paiClusterConfig.token) {
this.paiToken = this.paiClusterConfig.token;
}
this.paiClusterConfig.host = this.formatPAIHost(this.paiClusterConfig.host);
break;
case TrialConfigMetadataKey.TRIAL_CONFIG:
......@@ -257,7 +258,7 @@ class PAIK8STrainingService extends PAITrainingService {
// Step 3. Submit PAI job via Rest call
// Refer https://github.com/Microsoft/pai/blob/master/docs/rest-server/API.md for more detail about PAI Rest API
const submitJobRequest: request.Options = {
uri: `http://${this.paiClusterConfig.host}/rest-server/api/v2/jobs`,
uri: `${this.paiClusterConfig.host}/rest-server/api/v2/jobs`,
method: 'POST',
body: paiJobConfig,
headers: {
......
......@@ -165,7 +165,7 @@ abstract class PAITrainingService implements TrainingService {
}
const stopJobRequest: request.Options = {
uri: `http://${this.paiClusterConfig.host}/rest-server/api/v1/user/${this.paiClusterConfig.userName}\
uri: `${this.paiClusterConfig.host}/rest-server/api/v1/user/${this.paiClusterConfig.userName}\
/jobs/${trialJobDetail.paiJobName}/executionType`,
method: 'PUT',
json: true,
......@@ -216,6 +216,16 @@ abstract class PAITrainingService implements TrainingService {
return this.metricsEmitter;
}
protected formatPAIHost(host: string): string {
// If users' host start with 'http://' or 'https://', use the original host,
// or format to 'http//${host}'
if (host.startsWith('http://') || host.startsWith('https://')) {
return host;
} else {
return `http://${host}`;
}
}
protected async statusCheckingLoop(): Promise<void> {
while (!this.stopping) {
if(this.paiClusterConfig && this.paiClusterConfig.passWord) {
......@@ -259,7 +269,7 @@ abstract class PAITrainingService implements TrainingService {
}
const authenticationReq: request.Options = {
uri: `http://${this.paiClusterConfig.host}/rest-server/api/v1/token`,
uri: `${this.paiClusterConfig.host}/rest-server/api/v1/token`,
method: 'POST',
json: true,
body: {
......
......@@ -107,7 +107,7 @@ class PAIYarnTrainingService extends PAITrainingService {
} else {
throw new Error('pai cluster config format error, please set password or token!');
}
this.paiClusterConfig.host = this.formatPAIHost(this.paiClusterConfig.host);
break;
case TrialConfigMetadataKey.TRIAL_CONFIG:
......@@ -272,7 +272,7 @@ class PAIYarnTrainingService extends PAITrainingService {
// Step 3. Submit PAI job via Rest call
// Refer https://github.com/Microsoft/pai/blob/master/docs/rest-server/API.md for more detail about PAI Rest API
const submitJobRequest: request.Options = {
uri: `http://${this.paiClusterConfig.host}/rest-server/api/v1/user/${this.paiClusterConfig.userName}/jobs`,
uri: `${this.paiClusterConfig.host}/rest-server/api/v1/user/${this.paiClusterConfig.userName}/jobs`,
method: 'POST',
json: true,
body: paiJobConfig,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment