diff options
author | Matthew Heon <matthew.heon@gmail.com> | 2018-06-25 13:27:57 -0400 |
---|---|---|
committer | Matthew Heon <matthew.heon@gmail.com> | 2018-07-24 16:12:31 -0400 |
commit | ab9bc2187795b61a41dfa825ddf173ff92d531d1 (patch) | |
tree | 9c47bd939d6a28a11c827ebe65c95a0a5a5507c4 /libpod/boltdb_state.go | |
parent | 24457873366bbd23d71b364a63037f34c652c04a (diff) | |
download | podman-ab9bc2187795b61a41dfa825ddf173ff92d531d1.tar.gz podman-ab9bc2187795b61a41dfa825ddf173ff92d531d1.tar.bz2 podman-ab9bc2187795b61a41dfa825ddf173ff92d531d1.zip |
Add namespaces and initial constraints to database
Add basic awareness of namespaces to the database. As part of
this, add constraints so containers can only be added to pods in
the same namespace.
Signed-off-by: Matthew Heon <matthew.heon@gmail.com>
Diffstat (limited to 'libpod/boltdb_state.go')
-rw-r--r-- | libpod/boltdb_state.go | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/libpod/boltdb_state.go b/libpod/boltdb_state.go index 45d09348e..648c14267 100644 --- a/libpod/boltdb_state.go +++ b/libpod/boltdb_state.go @@ -964,6 +964,11 @@ func (s *BoltState) AddPod(pod *Pod) error { podID := []byte(pod.ID()) podName := []byte(pod.Name()) + var podNamespace []byte + if pod.config.Namespace != "" { + podNamespace = []byte(pod.config.Namespace) + } + podConfigJSON, err := json.Marshal(pod.config) if err != nil { return errors.Wrapf(err, "error marshalling pod %s config to JSON", pod.ID()) @@ -1031,6 +1036,12 @@ func (s *BoltState) AddPod(pod *Pod) error { return errors.Wrapf(err, "error storing pod %s state JSON in DB", pod.ID()) } + if podNamespace != nil { + if err := newPod.Put(namespaceKey, podNamespace); err != nil { + return errors.Wrapf(err, "error storing pod %s namespace in DB", pod.ID()) + } + } + // Add us to the ID and names buckets if err := idsBkt.Put(podID, podName); err != nil { return errors.Wrapf(err, "error storing pod %s ID in DB", pod.ID()) |