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 depot/containerstore/containerstore.go
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,8 @@ type containerStore struct {
enableUnproxiedPortMappings bool
advertisePreferenceForInstanceAddress bool

volumeMountedFiles VolumeMountedFilesImplementor

jsonMarshaller func(any) ([]byte, error)
}

Expand All @@ -110,6 +112,7 @@ func New(
cellID string,
enableUnproxiedPortMappings bool,
advertisePreferenceForInstanceAddress bool,
volumeMountedFiles VolumeMountedFilesImplementor,
jsonMarshaller func(any) ([]byte, error),
) ContainerStore {
return &containerStore{
Expand All @@ -134,6 +137,7 @@ func New(

enableUnproxiedPortMappings: enableUnproxiedPortMappings,
advertisePreferenceForInstanceAddress: advertisePreferenceForInstanceAddress,
volumeMountedFiles: volumeMountedFiles,
jsonMarshaller: jsonMarshaller,
}
}
Expand Down Expand Up @@ -170,6 +174,7 @@ func (cs *containerStore) Reserve(logger lager.Logger, traceID string, req *exec
cs.cellID,
cs.enableUnproxiedPortMappings,
cs.advertisePreferenceForInstanceAddress,
cs.volumeMountedFiles,
cs.jsonMarshaller,
))

Expand Down
42 changes: 38 additions & 4 deletions depot/containerstore/containerstore_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,11 @@ var _ = Describe("Container Store", func() {
logManager *containerstorefakes.FakeLogManager
logStreamer *fake_log_streamer.FakeLogStreamer

clock *fakeclock.FakeClock
eventEmitter *eventfakes.FakeHub
metronClient *mfakes.FakeIngressClient
rootFSSizer *configurationfakes.FakeRootFSSizer
clock *fakeclock.FakeClock
eventEmitter *eventfakes.FakeHub
metronClient *mfakes.FakeIngressClient
rootFSSizer *configurationfakes.FakeRootFSSizer
volumeMountedFilesHandler *containerstorefakes.FakeVolumeMountedFilesImplementor
)

var containerState = func(guid string) func() executor.State {
Expand Down Expand Up @@ -113,6 +114,7 @@ var _ = Describe("Container Store", func() {
clock = fakeclock.NewFakeClock(time.Now())
eventEmitter = &eventfakes.FakeHub{}
rootFSSizer = new(configurationfakes.FakeRootFSSizer)
volumeMountedFilesHandler = &containerstorefakes.FakeVolumeMountedFilesImplementor{}

credManager.RunnerReturns(ifrit.RunFunc(func(signals <-chan os.Signal, ready chan<- struct{}) error {
close(ready)
Expand Down Expand Up @@ -164,6 +166,7 @@ var _ = Describe("Container Store", func() {
cellID,
true,
advertisePreferenceForInstanceAddress,
volumeMountedFilesHandler,
json.Marshal,
)

Expand Down Expand Up @@ -378,6 +381,10 @@ var _ = Describe("Container Store", func() {
{Name: "beep", Value: "booop"},
}

volumeMountedFiles := []executor.VolumeMountedFiles{
{Path: "/redis/username", Content: "redis_username"},
}

logGuid = "log-guid-foo"
runInfo = executor.RunInfo{
RootFSPath: "/foo/bar",
Expand Down Expand Up @@ -406,6 +413,7 @@ var _ = Describe("Container Store", func() {
},
EnableContainerProxy: true,
LogRateLimitBytesPerSecond: logRateUnlimitedBytesPerSecond,
VolumeMountedFiles: volumeMountedFiles,
}

runReq = &executor.RunRequest{
Expand Down Expand Up @@ -489,6 +497,7 @@ var _ = Describe("Container Store", func() {
cellID,
true,
advertisePreferenceForInstanceAddress,
volumeMountedFilesHandler,
json.Marshal,
)
})
Expand Down Expand Up @@ -645,6 +654,26 @@ var _ = Describe("Container Store", func() {
Expect(containerSpec.Env).To(Equal(expectedEnv))
})

It("creates container with service binding root", func() {
expectedMount := garden.BindMount{
SrcPath: "/var/vcap/data/rep/shared/garden/service_binding_root",
DstPath: "/etc/cf-instance-binding",
Mode: garden.BindMountModeRO,
Origin: garden.BindMountOriginHost,
}

dependencyManager.DownloadCachedDependenciesReturns(containerstore.BindMounts{
GardenBindMounts: []garden.BindMount{expectedMount},
}, nil)

_, err := containerStore.Create(logger, "some-trace-id", containerGuid)
Expect(err).NotTo(HaveOccurred())

Expect(gardenClient.CreateCallCount()).To(Equal(1))
containerSpec := gardenClient.CreateArgsForCall(0)
Expect(containerSpec.BindMounts).To(ContainElement(expectedMount))
})

It("sets the correct external and internal ip", func() {
container, err := containerStore.Create(logger, "some-trace-id", containerGuid)
Expect(err).NotTo(HaveOccurred())
Expand Down Expand Up @@ -713,6 +742,7 @@ var _ = Describe("Container Store", func() {
cellID,
true,
advertisePreferenceForInstanceAddress,
volumeMountedFilesHandler,
json.Marshal,
)
})
Expand Down Expand Up @@ -1254,6 +1284,7 @@ var _ = Describe("Container Store", func() {
cellID,
true,
advertisePreferenceForInstanceAddress,
volumeMountedFilesHandler,
json.Marshal,
)

Expand Down Expand Up @@ -1344,6 +1375,7 @@ var _ = Describe("Container Store", func() {
cellID,
false,
advertisePreferenceForInstanceAddress,
volumeMountedFilesHandler,
json.Marshal,
)
})
Expand Down Expand Up @@ -2493,6 +2525,7 @@ var _ = Describe("Container Store", func() {
cellID,
true,
advertisePreferenceForInstanceAddress,
volumeMountedFilesHandler,
fm.Marshal,
)
})
Expand Down Expand Up @@ -3066,6 +3099,7 @@ var _ = Describe("Container Store", func() {
cellID,
true,
advertisePreferenceForInstanceAddress,
volumeMountedFilesHandler,
json.Marshal,
)

Expand Down
Loading