Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
nni
Commits
cb15be49
Unverified
Commit
cb15be49
authored
Dec 11, 2019
by
chicm-ms
Committed by
GitHub
Dec 11, 2019
Browse files
Enable eslint for nni_manager (#1845)
* enable eslint * remove tslint
parent
a2210436
Changes
42
Show whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
21 additions
and
51 deletions
+21
-51
azure-pipelines.yml
azure-pipelines.yml
+5
-0
src/nni_manager/common/component.ts
src/nni_manager/common/component.ts
+0
-1
src/nni_manager/common/log.ts
src/nni_manager/common/log.ts
+0
-1
src/nni_manager/common/restServer.ts
src/nni_manager/common/restServer.ts
+0
-1
src/nni_manager/common/utils.ts
src/nni_manager/common/utils.ts
+0
-1
src/nni_manager/core/nniDataStore.ts
src/nni_manager/core/nniDataStore.ts
+0
-1
src/nni_manager/core/sqlDatabase.ts
src/nni_manager/core/sqlDatabase.ts
+0
-2
src/nni_manager/core/test/dataStore.test.ts
src/nni_manager/core/test/dataStore.test.ts
+0
-1
src/nni_manager/core/test/ipcInterfaceTerminate.test.ts
src/nni_manager/core/test/ipcInterfaceTerminate.test.ts
+1
-1
src/nni_manager/core/test/sqlDatabase.test.ts
src/nni_manager/core/test/sqlDatabase.test.ts
+1
-3
src/nni_manager/package.json
src/nni_manager/package.json
+0
-2
src/nni_manager/rest_server/restHandler.ts
src/nni_manager/rest_server/restHandler.ts
+0
-2
src/nni_manager/rest_server/test/mockedNNIManager.ts
src/nni_manager/rest_server/test/mockedNNIManager.ts
+0
-1
src/nni_manager/rest_server/test/restserver.test.ts
src/nni_manager/rest_server/test/restserver.test.ts
+0
-4
src/nni_manager/training_service/common/clusterJobRestServer.ts
...i_manager/training_service/common/clusterJobRestServer.ts
+0
-5
src/nni_manager/training_service/common/util.ts
src/nni_manager/training_service/common/util.ts
+0
-1
src/nni_manager/training_service/kubernetes/azureStorageClientUtils.ts
...er/training_service/kubernetes/azureStorageClientUtils.ts
+0
-4
src/nni_manager/training_service/kubernetes/frameworkcontroller/frameworkcontrollerApiClient.ts
...netes/frameworkcontroller/frameworkcontrollerApiClient.ts
+12
-15
src/nni_manager/training_service/kubernetes/frameworkcontroller/frameworkcontrollerConfig.ts
...bernetes/frameworkcontroller/frameworkcontrollerConfig.ts
+0
-2
src/nni_manager/training_service/kubernetes/frameworkcontroller/frameworkcontrollerJobInfoCollector.ts
...rameworkcontroller/frameworkcontrollerJobInfoCollector.ts
+2
-3
No files found.
azure-pipelines.yml
View file @
cb15be49
...
@@ -17,6 +17,11 @@ jobs:
...
@@ -17,6 +17,11 @@ jobs:
-
script
:
|
-
script
:
|
source install.sh
source install.sh
displayName
:
'
Install
nni
toolkit
via
source
code'
displayName
:
'
Install
nni
toolkit
via
source
code'
-
script
:
|
set -e
cd src/nni_manager
yarn eslint
displayName
:
'
Run
eslint'
-
script
:
|
-
script
:
|
python3 -m pip install torch==0.4.1 --user
python3 -m pip install torch==0.4.1 --user
python3 -m pip install torchvision==0.2.1 --user
python3 -m pip install torchvision==0.2.1 --user
...
...
src/nni_manager/common/component.ts
View file @
cb15be49
...
@@ -5,7 +5,6 @@
...
@@ -5,7 +5,6 @@
import
*
as
ioc
from
'
typescript-ioc
'
;
import
*
as
ioc
from
'
typescript-ioc
'
;
// tslint:disable-next-line:no-any
const
Inject
:
(...
args
:
any
[])
=>
any
=
ioc
.
Inject
;
const
Inject
:
(...
args
:
any
[])
=>
any
=
ioc
.
Inject
;
const
Singleton
:
(
target
:
Function
)
=>
void
=
ioc
.
Singleton
;
const
Singleton
:
(
target
:
Function
)
=>
void
=
ioc
.
Singleton
;
const
Container
=
ioc
.
Container
;
const
Container
=
ioc
.
Container
;
...
...
src/nni_manager/common/log.ts
View file @
cb15be49
...
@@ -2,7 +2,6 @@
...
@@ -2,7 +2,6 @@
// Licensed under the MIT license.
// Licensed under the MIT license.
'
use strict
'
;
'
use strict
'
;
/* tslint:disable:no-any */
import
*
as
fs
from
'
fs
'
;
import
*
as
fs
from
'
fs
'
;
import
*
as
path
from
'
path
'
;
import
*
as
path
from
'
path
'
;
...
...
src/nni_manager/common/restServer.ts
View file @
cb15be49
...
@@ -34,7 +34,6 @@ export abstract class RestServer {
...
@@ -34,7 +34,6 @@ export abstract class RestServer {
}
}
get
endPoint
():
string
{
get
endPoint
():
string
{
// tslint:disable-next-line:no-http-string
return
`http://
${
this
.
hostName
}
:
${
this
.
port
}
`
;
return
`http://
${
this
.
hostName
}
:
${
this
.
port
}
`
;
}
}
...
...
src/nni_manager/common/utils.ts
View file @
cb15be49
...
@@ -116,7 +116,6 @@ function uniqueString(len: number): string {
...
@@ -116,7 +116,6 @@ function uniqueString(len: number): string {
function
randomSelect
<
T
>
(
a
:
T
[]):
T
{
function
randomSelect
<
T
>
(
a
:
T
[]):
T
{
assert
(
a
!==
undefined
);
assert
(
a
!==
undefined
);
// tslint:disable-next-line:insecure-random
return
a
[
Math
.
floor
(
Math
.
random
()
*
a
.
length
)];
return
a
[
Math
.
floor
(
Math
.
random
()
*
a
.
length
)];
}
}
function
parseArg
(
names
:
string
[]):
string
{
function
parseArg
(
names
:
string
[]):
string
{
...
...
src/nni_manager/core/nniDataStore.ts
View file @
cb15be49
...
@@ -304,7 +304,6 @@ class NNIDataStore implements DataStore {
...
@@ -304,7 +304,6 @@ class NNIDataStore implements DataStore {
}
}
}
}
// tslint:disable-next-line:cyclomatic-complexity
private
getTrialJobsByReplayEvents
(
trialJobEvents
:
TrialJobEventRecord
[]):
Map
<
string
,
TrialJobInfo
>
{
private
getTrialJobsByReplayEvents
(
trialJobEvents
:
TrialJobEventRecord
[]):
Map
<
string
,
TrialJobInfo
>
{
this
.
log
.
debug
(
'
getTrialJobsByReplayEvents begin
'
);
this
.
log
.
debug
(
'
getTrialJobsByReplayEvents begin
'
);
...
...
src/nni_manager/core/sqlDatabase.ts
View file @
cb15be49
...
@@ -20,7 +20,6 @@ import { getLogger, Logger } from '../common/log';
...
@@ -20,7 +20,6 @@ import { getLogger, Logger } from '../common/log';
import
{
ExperimentProfile
}
from
'
../common/manager
'
;
import
{
ExperimentProfile
}
from
'
../common/manager
'
;
import
{
TrialJobDetail
}
from
'
../common/trainingService
'
;
import
{
TrialJobDetail
}
from
'
../common/trainingService
'
;
/* tslint:disable:no-any */
const
createTables
:
string
=
`
const
createTables
:
string
=
`
create table TrialJobEvent (timestamp integer, trialJobId text, event text, data text, logPath text, sequenceId integer);
create table TrialJobEvent (timestamp integer, trialJobId text, event text, data text, logPath text, sequenceId integer);
...
@@ -91,7 +90,6 @@ class SqlDB implements Database {
...
@@ -91,7 +90,6 @@ class SqlDB implements Database {
this
.
log
.
debug
(
`Database directory:
${
dbDir
}
`
);
this
.
log
.
debug
(
`Database directory:
${
dbDir
}
`
);
assert
(
fs
.
existsSync
(
dbDir
));
assert
(
fs
.
existsSync
(
dbDir
));
// tslint:disable-next-line:no-bitwise
const
mode
:
number
=
createNew
?
(
sqlite3
.
OPEN_CREATE
|
sqlite3
.
OPEN_READWRITE
)
:
sqlite3
.
OPEN_READWRITE
;
const
mode
:
number
=
createNew
?
(
sqlite3
.
OPEN_CREATE
|
sqlite3
.
OPEN_READWRITE
)
:
sqlite3
.
OPEN_READWRITE
;
const
dbFileName
:
string
=
path
.
join
(
dbDir
,
'
nni.sqlite
'
);
const
dbFileName
:
string
=
path
.
join
(
dbDir
,
'
nni.sqlite
'
);
...
...
src/nni_manager/core/test/dataStore.test.ts
View file @
cb15be49
...
@@ -107,7 +107,6 @@ describe('Unit test for dataStore', () => {
...
@@ -107,7 +107,6 @@ describe('Unit test for dataStore', () => {
}
}
];
];
// tslint:disable-next-line:no-any
const
metricsData
:
any
=
[
const
metricsData
:
any
=
[
{
{
trial_job_id
:
'
111
'
,
trial_job_id
:
'
111
'
,
...
...
src/nni_manager/core/test/ipcInterfaceTerminate.test.ts
View file @
cb15be49
...
@@ -47,7 +47,7 @@ function startProcess(): void {
...
@@ -47,7 +47,7 @@ function startProcess(): void {
// create IPC interface
// create IPC interface
dispatcher
=
createDispatcherInterface
(
proc
);
dispatcher
=
createDispatcherInterface
(
proc
);
(
<
IpcInterface
>
dispatcher
).
onCommand
((
commandType
:
string
,
content
:
string
):
void
=>
{
(
<
IpcInterface
>
dispatcher
).
onCommand
((
commandType
:
string
,
content
:
string
):
void
=>
{
console
.
log
(
commandType
,
content
);
// tslint:disable-line:no-console
console
.
log
(
commandType
,
content
);
});
});
}
}
...
...
src/nni_manager/core/test/sqlDatabase.test.ts
View file @
cb15be49
...
@@ -70,19 +70,17 @@ const metrics: MetricDataRecord[] = [
...
@@ -70,19 +70,17 @@ const metrics: MetricDataRecord[] = [
{
timestamp
:
Date
.
now
(),
trialJobId
:
'
C
'
,
parameterId
:
'
2
'
,
type
:
'
FINAL
'
,
sequence
:
0
,
data
:
2.2
}
// 5
{
timestamp
:
Date
.
now
(),
trialJobId
:
'
C
'
,
parameterId
:
'
2
'
,
type
:
'
FINAL
'
,
sequence
:
0
,
data
:
2.2
}
// 5
];
];
// tslint:disable-next-line:no-any
function
assertRecordEqual
(
record
:
any
,
value
:
any
):
void
{
function
assertRecordEqual
(
record
:
any
,
value
:
any
):
void
{
assert
.
ok
(
record
.
timestamp
>
new
Date
(
2018
,
6
,
1
).
getTime
());
assert
.
ok
(
record
.
timestamp
>
new
Date
(
2018
,
6
,
1
).
getTime
());
assert
.
ok
(
record
.
timestamp
<
Date
.
now
());
assert
.
ok
(
record
.
timestamp
<
Date
.
now
());
for
(
const
key
in
value
)
{
// tslint:disable-line:no-for-in
for
(
const
key
in
value
)
{
if
(
key
!==
'
timestamp
'
)
{
if
(
key
!==
'
timestamp
'
)
{
assert
.
equal
(
record
[
key
],
value
[
key
]);
assert
.
equal
(
record
[
key
],
value
[
key
]);
}
}
}
}
}
}
// tslint:disable-next-line:no-any
function
assertRecordsEqual
(
records
:
any
[],
inputs
:
any
[],
indices
:
number
[]):
void
{
function
assertRecordsEqual
(
records
:
any
[],
inputs
:
any
[],
indices
:
number
[]):
void
{
assert
.
equal
(
records
.
length
,
indices
.
length
);
assert
.
equal
(
records
.
length
,
indices
.
length
);
for
(
let
i
:
number
=
0
;
i
<
records
.
length
;
i
++
)
{
for
(
let
i
:
number
=
0
;
i
<
records
.
length
;
i
++
)
{
...
...
src/nni_manager/package.json
View file @
cb15be49
...
@@ -54,8 +54,6 @@
...
@@ -54,8 +54,6 @@
"rmdir"
:
"^1.2.0"
,
"rmdir"
:
"^1.2.0"
,
"tmp"
:
"^0.0.33"
,
"tmp"
:
"^0.0.33"
,
"ts-node"
:
"^7.0.0"
,
"ts-node"
:
"^7.0.0"
,
"tslint"
:
"^5.12.0"
,
"tslint-microsoft-contrib"
:
"^6.0.0"
,
"typescript"
:
"^3.2.2"
"typescript"
:
"^3.2.2"
},
},
"resolutions"
:
{
"resolutions"
:
{
...
...
src/nni_manager/rest_server/restHandler.ts
View file @
cb15be49
...
@@ -32,7 +32,6 @@ class NNIRestHandler {
...
@@ -32,7 +32,6 @@ class NNIRestHandler {
public
createRestHandler
():
Router
{
public
createRestHandler
():
Router
{
const
router
:
Router
=
Router
();
const
router
:
Router
=
Router
();
// tslint:disable-next-line:typedef
router
.
use
((
req
:
Request
,
res
:
Response
,
next
)
=>
{
router
.
use
((
req
:
Request
,
res
:
Response
,
next
)
=>
{
this
.
log
.
debug
(
`
${
req
.
method
}
:
${
req
.
url
}
: body:\n
${
JSON
.
stringify
(
req
.
body
,
undefined
,
4
)}
`
);
this
.
log
.
debug
(
`
${
req
.
method
}
:
${
req
.
url
}
: body:\n
${
JSON
.
stringify
(
req
.
body
,
undefined
,
4
)}
`
);
res
.
header
(
'
Access-Control-Allow-Origin
'
,
'
*
'
);
res
.
header
(
'
Access-Control-Allow-Origin
'
,
'
*
'
);
...
@@ -179,7 +178,6 @@ class NNIRestHandler {
...
@@ -179,7 +178,6 @@ class NNIRestHandler {
router
.
put
(
router
.
put
(
'
/experiment/cluster-metadata
'
,
expressJoi
(
ValidationSchemas
.
SETCLUSTERMETADATA
),
'
/experiment/cluster-metadata
'
,
expressJoi
(
ValidationSchemas
.
SETCLUSTERMETADATA
),
async
(
req
:
Request
,
res
:
Response
)
=>
{
async
(
req
:
Request
,
res
:
Response
)
=>
{
// tslint:disable-next-line:no-any
const
metadata
:
any
=
req
.
body
;
const
metadata
:
any
=
req
.
body
;
const
keys
:
string
[]
=
Object
.
keys
(
metadata
);
const
keys
:
string
[]
=
Object
.
keys
(
metadata
);
try
{
try
{
...
...
src/nni_manager/rest_server/test/mockedNNIManager.ts
View file @
cb15be49
...
@@ -66,7 +66,6 @@ export class MockedNNIManager extends Manager {
...
@@ -66,7 +66,6 @@ export class MockedNNIManager extends Manager {
startTime
:
Date
.
now
(),
startTime
:
Date
.
now
(),
endTime
:
Date
.
now
(),
endTime
:
Date
.
now
(),
tags
:
[
'
test
'
],
tags
:
[
'
test
'
],
// tslint:disable-next-line:no-http-string
url
:
'
http://test
'
,
url
:
'
http://test
'
,
workingDirectory
:
'
/tmp/mocked
'
,
workingDirectory
:
'
/tmp/mocked
'
,
form
:
{
form
:
{
...
...
src/nni_manager/rest_server/test/restserver.test.ts
View file @
cb15be49
...
@@ -3,9 +3,7 @@
...
@@ -3,9 +3,7 @@
'
use strict
'
;
'
use strict
'
;
// tslint:disable-next-line:no-implicit-dependencies
import
{
assert
,
expect
}
from
'
chai
'
;
import
{
assert
,
expect
}
from
'
chai
'
;
// tslint:disable-next-line:no-implicit-dependencies
import
*
as
request
from
'
request
'
;
import
*
as
request
from
'
request
'
;
import
{
Container
}
from
'
typescript-ioc
'
;
import
{
Container
}
from
'
typescript-ioc
'
;
...
@@ -54,7 +52,6 @@ describe('Unit test for rest server', () => {
...
@@ -54,7 +52,6 @@ describe('Unit test for rest server', () => {
});
});
it
(
'
Test GET trial-jobs/:id
'
,
(
done
:
Mocha
.
Done
)
=>
{
it
(
'
Test GET trial-jobs/:id
'
,
(
done
:
Mocha
.
Done
)
=>
{
// tslint:disable-next-line:no-any
request
.
get
(
`
${
ROOT_URL
}
/trial-jobs/1234`
,
(
err
:
Error
,
res
:
request
.
Response
,
body
:
any
)
=>
{
request
.
get
(
`
${
ROOT_URL
}
/trial-jobs/1234`
,
(
err
:
Error
,
res
:
request
.
Response
,
body
:
any
)
=>
{
if
(
err
)
{
if
(
err
)
{
assert
.
fail
(
err
.
message
);
assert
.
fail
(
err
.
message
);
...
@@ -88,7 +85,6 @@ describe('Unit test for rest server', () => {
...
@@ -88,7 +85,6 @@ describe('Unit test for rest server', () => {
});
});
it
(
'
Test change concurrent-trial-jobs
'
,
(
done
:
Mocha
.
Done
)
=>
{
it
(
'
Test change concurrent-trial-jobs
'
,
(
done
:
Mocha
.
Done
)
=>
{
// tslint:disable-next-line:no-any
request
.
get
(
`
${
ROOT_URL
}
/experiment`
,
(
err
:
Error
,
res
:
request
.
Response
,
body
:
any
)
=>
{
request
.
get
(
`
${
ROOT_URL
}
/experiment`
,
(
err
:
Error
,
res
:
request
.
Response
,
body
:
any
)
=>
{
if
(
err
)
{
if
(
err
)
{
assert
.
fail
(
err
.
message
);
assert
.
fail
(
err
.
message
);
...
...
src/nni_manager/training_service/common/clusterJobRestServer.ts
View file @
cb15be49
...
@@ -4,7 +4,6 @@
...
@@ -4,7 +4,6 @@
'
use strict
'
;
'
use strict
'
;
import
*
as
assert
from
'
assert
'
;
import
*
as
assert
from
'
assert
'
;
// tslint:disable-next-line:no-implicit-dependencies
import
*
as
bodyParser
from
'
body-parser
'
;
import
*
as
bodyParser
from
'
body-parser
'
;
import
{
Request
,
Response
,
Router
}
from
'
express
'
;
import
{
Request
,
Response
,
Router
}
from
'
express
'
;
import
*
as
fs
from
'
fs
'
;
import
*
as
fs
from
'
fs
'
;
...
@@ -71,10 +70,8 @@ export abstract class ClusterJobRestServer extends RestServer {
...
@@ -71,10 +70,8 @@ export abstract class ClusterJobRestServer extends RestServer {
}
}
// Abstract method to handle trial metrics data
// Abstract method to handle trial metrics data
// tslint:disable-next-line:no-any
protected
abstract
handleTrialMetrics
(
jobId
:
string
,
trialMetrics
:
any
[]):
void
;
protected
abstract
handleTrialMetrics
(
jobId
:
string
,
trialMetrics
:
any
[]):
void
;
// tslint:disable: no-unsafe-any no-any
protected
createRestHandler
():
Router
{
protected
createRestHandler
():
Router
{
const
router
:
Router
=
Router
();
const
router
:
Router
=
Router
();
...
@@ -146,7 +143,6 @@ export abstract class ClusterJobRestServer extends RestServer {
...
@@ -146,7 +143,6 @@ export abstract class ClusterJobRestServer extends RestServer {
if
(
!
skipLogging
)
{
if
(
!
skipLogging
)
{
// Construct write stream to write remote trial's log into local file
// Construct write stream to write remote trial's log into local file
// tslint:disable-next-line:non-literal-fs-path
const
writeStream
:
Writable
=
fs
.
createWriteStream
(
trialLogPath
,
{
const
writeStream
:
Writable
=
fs
.
createWriteStream
(
trialLogPath
,
{
flags
:
'
a+
'
,
flags
:
'
a+
'
,
encoding
:
'
utf8
'
,
encoding
:
'
utf8
'
,
...
@@ -166,5 +162,4 @@ export abstract class ClusterJobRestServer extends RestServer {
...
@@ -166,5 +162,4 @@ export abstract class ClusterJobRestServer extends RestServer {
return
router
;
return
router
;
}
}
// tslint:enable: no-unsafe-any no-any
}
}
src/nni_manager/training_service/common/util.ts
View file @
cb15be49
...
@@ -18,7 +18,6 @@ import { GPU_INFO_COLLECTOR_FORMAT_WINDOWS } from './gpuData';
...
@@ -18,7 +18,6 @@ import { GPU_INFO_COLLECTOR_FORMAT_WINDOWS } from './gpuData';
* @param codeDir codeDir in nni config file
* @param codeDir codeDir in nni config file
* @returns file number under codeDir
* @returns file number under codeDir
*/
*/
// tslint:disable: no-redundant-jsdoc
export
async
function
validateCodeDir
(
codeDir
:
string
):
Promise
<
number
>
{
export
async
function
validateCodeDir
(
codeDir
:
string
):
Promise
<
number
>
{
let
fileCount
:
number
|
undefined
;
let
fileCount
:
number
|
undefined
;
let
fileNameValid
:
boolean
=
true
;
let
fileNameValid
:
boolean
=
true
;
...
...
src/nni_manager/training_service/kubernetes/azureStorageClientUtils.ts
View file @
cb15be49
...
@@ -11,7 +11,6 @@ import { String } from 'typescript-string-operations';
...
@@ -11,7 +11,6 @@ import { String } from 'typescript-string-operations';
import
{
getLogger
}
from
'
../../common/log
'
;
import
{
getLogger
}
from
'
../../common/log
'
;
import
{
mkDirP
}
from
'
../../common/utils
'
;
import
{
mkDirP
}
from
'
../../common/utils
'
;
// tslint:disable: no-redundant-jsdoc no-any no-unsafe-any
export
namespace
AzureStorageClientUtility
{
export
namespace
AzureStorageClientUtility
{
/**
/**
...
@@ -114,7 +113,6 @@ export namespace AzureStorageClientUtility {
...
@@ -114,7 +113,6 @@ export namespace AzureStorageClientUtility {
async
function
downloadFile
(
fileServerClient
:
any
,
azureDirectory
:
string
,
azureFileName
:
any
,
azureShare
:
any
,
async
function
downloadFile
(
fileServerClient
:
any
,
azureDirectory
:
string
,
azureFileName
:
any
,
azureShare
:
any
,
localFilePath
:
string
):
Promise
<
boolean
>
{
localFilePath
:
string
):
Promise
<
boolean
>
{
const
deferred
:
Deferred
<
boolean
>
=
new
Deferred
<
boolean
>
();
const
deferred
:
Deferred
<
boolean
>
=
new
Deferred
<
boolean
>
();
// tslint:disable-next-line:non-literal-fs-path
await
fileServerClient
.
getFileToStream
(
azureShare
,
azureDirectory
,
azureFileName
,
fs
.
createWriteStream
(
localFilePath
),
await
fileServerClient
.
getFileToStream
(
azureShare
,
azureDirectory
,
azureFileName
,
fs
.
createWriteStream
(
localFilePath
),
(
error
:
any
,
result
:
any
,
response
:
any
)
=>
{
(
error
:
any
,
result
:
any
,
response
:
any
)
=>
{
if
(
error
)
{
if
(
error
)
{
...
@@ -136,7 +134,6 @@ export namespace AzureStorageClientUtility {
...
@@ -136,7 +134,6 @@ export namespace AzureStorageClientUtility {
* @param azureShare : the azure share used
* @param azureShare : the azure share used
* @param localDirectory : local directory to be uploaded
* @param localDirectory : local directory to be uploaded
*/
*/
// tslint:disable:non-literal-fs-path
export
async
function
uploadDirectory
(
fileServerClient
:
azureStorage
.
FileService
,
azureDirectory
:
string
,
azureShare
:
any
,
export
async
function
uploadDirectory
(
fileServerClient
:
azureStorage
.
FileService
,
azureDirectory
:
string
,
azureShare
:
any
,
localDirectory
:
string
):
Promise
<
boolean
>
{
localDirectory
:
string
):
Promise
<
boolean
>
{
const
deferred
:
Deferred
<
boolean
>
=
new
Deferred
<
boolean
>
();
const
deferred
:
Deferred
<
boolean
>
=
new
Deferred
<
boolean
>
();
...
@@ -221,4 +218,3 @@ export namespace AzureStorageClientUtility {
...
@@ -221,4 +218,3 @@ export namespace AzureStorageClientUtility {
return
deferred
.
promise
;
return
deferred
.
promise
;
}
}
}
}
// tslint:enable: no-redundant-jsdoc no-any no-unsafe-any
src/nni_manager/training_service/kubernetes/frameworkcontroller/frameworkcontrollerApiClient.ts
View file @
cb15be49
...
@@ -6,19 +6,6 @@
...
@@ -6,19 +6,6 @@
import
*
as
fs
from
'
fs
'
;
import
*
as
fs
from
'
fs
'
;
import
{
GeneralK8sClient
,
KubernetesCRDClient
}
from
'
../kubernetesApiClient
'
;
import
{
GeneralK8sClient
,
KubernetesCRDClient
}
from
'
../kubernetesApiClient
'
;
/**
* FrameworkController Client
*/
class
FrameworkControllerClientFactory
{
/**
* Factory method to generate operator client
*/
// tslint:disable-next-line:function-name
public
static
createClient
():
KubernetesCRDClient
{
return
new
FrameworkControllerClientV1
();
}
}
/**
/**
* FrameworkController ClientV1
* FrameworkController ClientV1
*/
*/
...
@@ -26,7 +13,6 @@ class FrameworkControllerClientV1 extends KubernetesCRDClient {
...
@@ -26,7 +13,6 @@ class FrameworkControllerClientV1 extends KubernetesCRDClient {
/**
/**
* constructor, to initialize frameworkcontroller CRD definition
* constructor, to initialize frameworkcontroller CRD definition
*/
*/
// tslint:disable: no-unsafe-any no-any
public
constructor
()
{
public
constructor
()
{
super
();
super
();
this
.
crdSchema
=
JSON
.
parse
(
fs
.
readFileSync
(
'
./config/frameworkcontroller/frameworkcontrollerjob-crd-v1.json
'
,
'
utf8
'
));
this
.
crdSchema
=
JSON
.
parse
(
fs
.
readFileSync
(
'
./config/frameworkcontroller/frameworkcontrollerjob-crd-v1.json
'
,
'
utf8
'
));
...
@@ -36,11 +22,22 @@ class FrameworkControllerClientV1 extends KubernetesCRDClient {
...
@@ -36,11 +22,22 @@ class FrameworkControllerClientV1 extends KubernetesCRDClient {
protected
get
operator
():
any
{
protected
get
operator
():
any
{
return
this
.
client
.
apis
[
'
frameworkcontroller.microsoft.com
'
].
v1
.
namespaces
(
'
default
'
).
frameworks
;
return
this
.
client
.
apis
[
'
frameworkcontroller.microsoft.com
'
].
v1
.
namespaces
(
'
default
'
).
frameworks
;
}
}
// tslint:enable: no-unsafe-any no-any
public
get
containerName
():
string
{
public
get
containerName
():
string
{
return
'
framework
'
;
return
'
framework
'
;
}
}
}
}
/**
* FrameworkController Client
*/
class
FrameworkControllerClientFactory
{
/**
* Factory method to generate operator client
*/
public
static
createClient
():
KubernetesCRDClient
{
return
new
FrameworkControllerClientV1
();
}
}
export
{
FrameworkControllerClientFactory
,
GeneralK8sClient
};
export
{
FrameworkControllerClientFactory
,
GeneralK8sClient
};
src/nni_manager/training_service/kubernetes/frameworkcontroller/frameworkcontrollerConfig.ts
View file @
cb15be49
...
@@ -9,7 +9,6 @@ import { AzureStorage, KeyVaultConfig, KubernetesClusterConfig, KubernetesCluste
...
@@ -9,7 +9,6 @@ import { AzureStorage, KeyVaultConfig, KubernetesClusterConfig, KubernetesCluste
KubernetesStorageKind
,
KubernetesTrialConfig
,
KubernetesTrialConfigTemplate
,
NFSConfig
,
StorageConfig
KubernetesStorageKind
,
KubernetesTrialConfig
,
KubernetesTrialConfigTemplate
,
NFSConfig
,
StorageConfig
}
from
'
../kubernetesConfig
'
;
}
from
'
../kubernetesConfig
'
;
// tslint:disable:completed-docs
export
class
FrameworkAttemptCompletionPolicy
{
export
class
FrameworkAttemptCompletionPolicy
{
public
readonly
minFailedTaskCount
:
number
;
public
readonly
minFailedTaskCount
:
number
;
public
readonly
minSucceededTaskCount
:
number
;
public
readonly
minSucceededTaskCount
:
number
;
...
@@ -54,7 +53,6 @@ export class FrameworkControllerClusterConfig extends KubernetesClusterConfig {
...
@@ -54,7 +53,6 @@ export class FrameworkControllerClusterConfig extends KubernetesClusterConfig {
}
}
}
}
// tslint:disable:function-name
export
class
FrameworkControllerClusterConfigNFS
extends
KubernetesClusterConfigNFS
{
export
class
FrameworkControllerClusterConfigNFS
extends
KubernetesClusterConfigNFS
{
public
readonly
serviceAccountName
:
string
;
public
readonly
serviceAccountName
:
string
;
constructor
(
constructor
(
...
...
src/nni_manager/training_service/kubernetes/frameworkcontroller/frameworkcontrollerJobInfoCollector.ts
View file @
cb15be49
...
@@ -26,7 +26,6 @@ export class FrameworkControllerJobInfoCollector extends KubernetesJobInfoCollec
...
@@ -26,7 +26,6 @@ export class FrameworkControllerJobInfoCollector extends KubernetesJobInfoCollec
return
Promise
.
reject
(
'
kubernetesCRDClient is undefined
'
);
return
Promise
.
reject
(
'
kubernetesCRDClient is undefined
'
);
}
}
// tslint:disable-next-line:no-any
let
kubernetesJobInfo
:
any
;
let
kubernetesJobInfo
:
any
;
try
{
try
{
kubernetesJobInfo
=
await
kubernetesCRDClient
.
getKubernetesJob
(
kubernetesTrialJob
.
kubernetesJobName
);
kubernetesJobInfo
=
await
kubernetesCRDClient
.
getKubernetesJob
(
kubernetesTrialJob
.
kubernetesJobName
);
...
@@ -37,9 +36,9 @@ export class FrameworkControllerJobInfoCollector extends KubernetesJobInfoCollec
...
@@ -37,9 +36,9 @@ export class FrameworkControllerJobInfoCollector extends KubernetesJobInfoCollec
return
Promise
.
resolve
();
return
Promise
.
resolve
();
}
}
// tslint:disable: no-unsafe-any
if
(
kubernetesJobInfo
.
status
&&
kubernetesJobInfo
.
status
.
state
)
{
if
(
kubernetesJobInfo
.
status
&&
kubernetesJobInfo
.
status
.
state
)
{
const
frameworkJobType
:
FrameworkControllerJobStatus
=
<
FrameworkControllerJobStatus
>
kubernetesJobInfo
.
status
.
state
;
const
frameworkJobType
:
FrameworkControllerJobStatus
=
<
FrameworkControllerJobStatus
>
kubernetesJobInfo
.
status
.
state
;
/* eslint-disable require-atomic-updates */
switch
(
frameworkJobType
)
{
switch
(
frameworkJobType
)
{
case
'
AttemptCreationPending
'
:
case
'
AttemptCreationPending
'
:
case
'
AttemptCreationRequested
'
:
case
'
AttemptCreationRequested
'
:
...
@@ -69,9 +68,9 @@ export class FrameworkControllerJobInfoCollector extends KubernetesJobInfoCollec
...
@@ -69,9 +68,9 @@ export class FrameworkControllerJobInfoCollector extends KubernetesJobInfoCollec
}
}
default
:
default
:
}
}
/* eslint-enable require-atomic-updates */
}
}
return
Promise
.
resolve
();
return
Promise
.
resolve
();
}
}
// tslint:enable: no-unsafe-any
}
}
Prev
1
2
3
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment