Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Open sidebar
Ijaz Ahmad
ksonnet
Commits
40a626d3
Unverified
Commit
40a626d3
authored
Mar 01, 2018
by
Bryan Liles
Committed by
GitHub
Mar 01, 2018
Browse files
Merge pull request #337 from bryanl/jessicayuen-gen-lib
Attempt to generate lib directory when not found
parents
44700711
90fe67de
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
34 additions
and
25 deletions
+34
-25
metadata/environment.go
metadata/environment.go
+21
-11
metadata/lib/lib.go
metadata/lib/lib.go
+10
-8
metadata/lib/lib_test.go
metadata/lib/lib_test.go
+1
-1
metadata/manager_test.go
metadata/manager_test.go
+2
-5
No files found.
metadata/environment.go
View file @
40a626d3
...
...
@@ -50,7 +50,7 @@ var envPaths = []string{
func
(
m
*
manager
)
CreateEnvironment
(
name
,
server
,
namespace
,
k8sSpecFlag
string
)
error
{
// generate the lib data for this kubernetes version
libManager
,
err
:=
lib
.
NewManager
WithSpec
(
k8sSpecFlag
,
m
.
appFS
,
m
.
libPath
)
libManager
,
err
:=
lib
.
NewManager
(
k8sSpecFlag
,
m
.
appFS
,
m
.
libPath
)
if
err
!=
nil
{
return
err
}
...
...
@@ -371,26 +371,36 @@ func (m *manager) SetEnvironmentParams(env, component string, params param.Param
}
func
(
m
*
manager
)
EnvPaths
(
env
string
)
(
libPath
,
mainPath
,
paramsPath
string
,
err
error
)
{
envSpec
,
err
:=
m
.
GetEnvironment
(
env
)
if
err
!=
nil
{
return
}
libManager
:=
lib
.
NewManager
(
envSpec
.
KubernetesVersion
,
m
.
appFS
,
m
.
libPath
)
mainPath
,
paramsPath
=
m
.
makeEnvPaths
(
env
)
libPath
,
err
=
m
.
getLibPath
(
env
)
return
}
func
(
m
*
manager
)
makeEnvPaths
(
env
string
)
(
mainPath
,
paramsPath
string
)
{
envPath
:=
str
.
AppendToPath
(
m
.
environmentsPath
,
env
)
// main.jsonnet file
mainPath
=
str
.
AppendToPath
(
envPath
,
envFileName
)
// params.libsonnet file
paramsPath
=
str
.
AppendToPath
(
envPath
,
componentParamsFile
)
// ksonnet-lib file directory
libPath
,
err
=
libManager
.
GetLibPath
()
return
}
// errorOnSpec file is a temporary function to help migration from ks 0.8 to 0.9.
// It will return an error if a spec.json file is found in an environment directory.
func
(
m
*
manager
)
getLibPath
(
env
string
)
(
string
,
error
)
{
envSpec
,
err
:=
m
.
GetEnvironment
(
env
)
if
err
!=
nil
{
return
""
,
err
}
libManager
,
err
:=
lib
.
NewManager
(
fmt
.
Sprintf
(
"version:%s"
,
envSpec
.
KubernetesVersion
),
m
.
appFS
,
m
.
libPath
)
if
err
!=
nil
{
return
""
,
err
}
return
libManager
.
GetLibPath
()
}
func
(
m
*
manager
)
errorOnSpecFile
()
error
{
return
afero
.
Walk
(
m
.
appFS
,
m
.
environmentsPath
,
func
(
p
string
,
f
os
.
FileInfo
,
err
error
)
error
{
if
err
!=
nil
{
...
...
metadata/lib/lib.go
View file @
40a626d3
...
...
@@ -48,13 +48,8 @@ type Manager struct {
fs
afero
.
Fs
}
// NewManager creates a crew instance of lib.Manager
func
NewManager
(
k8sVersion
string
,
fs
afero
.
Fs
,
libPath
string
)
*
Manager
{
return
&
Manager
{
K8sVersion
:
k8sVersion
,
fs
:
fs
,
libPath
:
libPath
}
}
// NewManagerWithSpec creates a new instance of lib.Manager with the cluster spec initialized.
func
NewManagerWithSpec
(
k8sSpecFlag
string
,
fs
afero
.
Fs
,
libPath
string
)
(
*
Manager
,
error
)
{
// NewManager creates a new instance of lib.Manager
func
NewManager
(
k8sSpecFlag
string
,
fs
afero
.
Fs
,
libPath
string
)
(
*
Manager
,
error
)
{
//
// Generate the program text for ksonnet-lib.
//
...
...
@@ -148,7 +143,14 @@ func (m *Manager) GetLibPath() (string, error) {
return
""
,
err
}
if
!
ok
{
return
""
,
fmt
.
Errorf
(
"Expected lib directory '%s' but was not found"
,
m
.
K8sVersion
)
log
.
Debugf
(
"Expected lib directory '%s' but was not found"
,
m
.
K8sVersion
)
// create the directory
if
err
:=
m
.
GenerateLibData
();
err
!=
nil
{
return
""
,
err
}
return
path
,
nil
}
return
path
,
err
}
metadata/lib/lib_test.go
View file @
40a626d3
...
...
@@ -50,7 +50,7 @@ func TestGenerateLibData(t *testing.T) {
specFlag
:=
fmt
.
Sprintf
(
"file:%s"
,
blankSwagger
)
libPath
:=
"lib"
libManager
,
err
:=
NewManager
WithSpec
(
specFlag
,
testFS
,
libPath
)
libManager
,
err
:=
NewManager
(
specFlag
,
testFS
,
libPath
)
if
err
!=
nil
{
t
.
Fatal
(
"Failed to initialize lib.Manager"
)
}
...
...
metadata/manager_test.go
View file @
40a626d3
...
...
@@ -191,16 +191,13 @@ func TestLibPaths(t *testing.T) {
}
}
func
TestEnvPaths
(
t
*
testing
.
T
)
{
func
Test
Make
EnvPaths
(
t
*
testing
.
T
)
{
appName
:=
"test-env-paths"
expectedMainPath
:=
path
.
Join
(
appName
,
environmentsDir
,
mockEnvName
,
envFileName
)
expectedParamsPath
:=
path
.
Join
(
appName
,
environmentsDir
,
mockEnvName
,
paramsFileName
)
m
:=
mockEnvironments
(
t
,
appName
)
_
,
mainPath
,
paramsPath
,
err
:=
m
.
EnvPaths
(
mockEnvName
)
if
err
!=
nil
{
t
.
Fatalf
(
"Failure retrieving EnvPaths"
)
}
mainPath
,
paramsPath
:=
m
.
makeEnvPaths
(
mockEnvName
)
if
mainPath
!=
expectedMainPath
{
t
.
Fatalf
(
"Expected environment main path to be:
\n
'%s'
\n
, got:
\n
'%s'"
,
expectedMainPath
,
mainPath
)
...
...
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