mirror of
https://github.com/containers/podman.git
synced 2025-06-23 10:38:20 +08:00
@ -62,10 +62,8 @@ func CreateContainer(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
func makeCreateConfig(containerConfig *config.Config, input handlers.CreateContainerConfig, newImage *image2.Image) (createconfig.CreateConfig, error) {
|
||||
var (
|
||||
err error
|
||||
init bool
|
||||
tmpfs []string
|
||||
volumes []string
|
||||
err error
|
||||
init bool
|
||||
)
|
||||
env := make(map[string]string)
|
||||
stopSignal := unix.SIGTERM
|
||||
@ -137,6 +135,7 @@ func makeCreateConfig(containerConfig *config.Config, input handlers.CreateConta
|
||||
User: input.User,
|
||||
}
|
||||
pidConfig := createconfig.PidConfig{PidMode: namespaces.PidMode(input.HostConfig.PidMode)}
|
||||
volumes := make([]string, 0, len(input.Volumes))
|
||||
for k := range input.Volumes {
|
||||
volumes = append(volumes, k)
|
||||
}
|
||||
@ -158,6 +157,7 @@ func makeCreateConfig(containerConfig *config.Config, input handlers.CreateConta
|
||||
}
|
||||
|
||||
// format the tmpfs mounts into a []string from map
|
||||
tmpfs := make([]string, 0, len(input.HostConfig.Tmpfs))
|
||||
for k, v := range input.HostConfig.Tmpfs {
|
||||
tmpfs = append(tmpfs, fmt.Sprintf("%s:%s", k, v))
|
||||
}
|
||||
|
@ -12,7 +12,6 @@ import (
|
||||
func HistoryImage(w http.ResponseWriter, r *http.Request) {
|
||||
runtime := r.Context().Value("runtime").(*libpod.Runtime)
|
||||
name := utils.GetName(r)
|
||||
var allHistory []handlers.HistoryResponse
|
||||
|
||||
newImage, err := runtime.ImageRuntime().NewFromLocal(name)
|
||||
if err != nil {
|
||||
@ -25,6 +24,7 @@ func HistoryImage(w http.ResponseWriter, r *http.Request) {
|
||||
utils.InternalServerError(w, err)
|
||||
return
|
||||
}
|
||||
allHistory := make([]handlers.HistoryResponse, 0, len(history))
|
||||
for _, h := range history {
|
||||
l := handlers.HistoryResponse{
|
||||
ID: h.ID,
|
||||
|
@ -129,7 +129,7 @@ func GetInfo(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
func getGraphStatus(storeInfo map[string]string) [][2]string {
|
||||
var graphStatus [][2]string
|
||||
graphStatus := make([][2]string, 0, len(storeInfo))
|
||||
for k, v := range storeInfo {
|
||||
graphStatus = append(graphStatus, [2]string{k, v})
|
||||
}
|
||||
|
@ -162,9 +162,6 @@ func findPluginByName(plugins []*libcni.NetworkConfig, pluginType string) ([]byt
|
||||
}
|
||||
|
||||
func ListNetworks(w http.ResponseWriter, r *http.Request) {
|
||||
var (
|
||||
reports []*types.NetworkResource
|
||||
)
|
||||
runtime := r.Context().Value("runtime").(*libpod.Runtime)
|
||||
decoder := r.Context().Value("decoder").(*schema.Decoder)
|
||||
query := struct {
|
||||
@ -191,6 +188,7 @@ func ListNetworks(w http.ResponseWriter, r *http.Request) {
|
||||
utils.InternalServerError(w, err)
|
||||
return
|
||||
}
|
||||
reports := make([]*types.NetworkResource, 0, len(netNames))
|
||||
for _, name := range netNames {
|
||||
report, err := getNetworkResourceByName(name, runtime)
|
||||
if err != nil {
|
||||
@ -215,7 +213,7 @@ func CreateNetwork(w http.ResponseWriter, r *http.Request) {
|
||||
if len(networkCreate.Name) > 0 {
|
||||
name = networkCreate.Name
|
||||
}
|
||||
// At present I think we should just suport the bridge driver
|
||||
// At present I think we should just support the bridge driver
|
||||
// and allow demand to make us consider more
|
||||
if networkCreate.Driver != network.DefaultNetworkDriver {
|
||||
utils.InternalServerError(w, errors.New("network create only supports the bridge driver"))
|
||||
|
@ -89,7 +89,6 @@ func PodStop(w http.ResponseWriter, r *http.Request) {
|
||||
runtime = r.Context().Value("runtime").(*libpod.Runtime)
|
||||
decoder = r.Context().Value("decoder").(*schema.Decoder)
|
||||
responses map[string]error
|
||||
errs []error
|
||||
)
|
||||
query := struct {
|
||||
Timeout int `schema:"t"`
|
||||
@ -128,6 +127,7 @@ func PodStop(w http.ResponseWriter, r *http.Request) {
|
||||
utils.Error(w, "Something went wrong", http.StatusInternalServerError, err)
|
||||
return
|
||||
}
|
||||
var errs []error //nolint
|
||||
for _, err := range responses {
|
||||
errs = append(errs, err)
|
||||
}
|
||||
@ -139,9 +139,7 @@ func PodStop(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
func PodStart(w http.ResponseWriter, r *http.Request) {
|
||||
var (
|
||||
errs []error
|
||||
)
|
||||
var errs []error //nolint
|
||||
runtime := r.Context().Value("runtime").(*libpod.Runtime)
|
||||
name := utils.GetName(r)
|
||||
pod, err := runtime.LookupPod(name)
|
||||
@ -206,9 +204,7 @@ func PodDelete(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
func PodRestart(w http.ResponseWriter, r *http.Request) {
|
||||
var (
|
||||
errs []error
|
||||
)
|
||||
var errs []error //nolint
|
||||
runtime := r.Context().Value("runtime").(*libpod.Runtime)
|
||||
name := utils.GetName(r)
|
||||
pod, err := runtime.LookupPod(name)
|
||||
@ -243,12 +239,12 @@ func PodPrune(w http.ResponseWriter, r *http.Request) {
|
||||
func PodPruneHelper(w http.ResponseWriter, r *http.Request) ([]*entities.PodPruneReport, error) {
|
||||
var (
|
||||
runtime = r.Context().Value("runtime").(*libpod.Runtime)
|
||||
reports []*entities.PodPruneReport
|
||||
)
|
||||
responses, err := runtime.PrunePods(r.Context())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
reports := make([]*entities.PodPruneReport, 0, len(responses))
|
||||
for k, v := range responses {
|
||||
reports = append(reports, &entities.PodPruneReport{
|
||||
Err: v,
|
||||
@ -259,9 +255,7 @@ func PodPruneHelper(w http.ResponseWriter, r *http.Request) ([]*entities.PodPrun
|
||||
}
|
||||
|
||||
func PodPause(w http.ResponseWriter, r *http.Request) {
|
||||
var (
|
||||
errs []error
|
||||
)
|
||||
var errs []error //nolint
|
||||
runtime := r.Context().Value("runtime").(*libpod.Runtime)
|
||||
name := utils.GetName(r)
|
||||
pod, err := runtime.LookupPod(name)
|
||||
@ -285,9 +279,7 @@ func PodPause(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
func PodUnpause(w http.ResponseWriter, r *http.Request) {
|
||||
var (
|
||||
errs []error
|
||||
)
|
||||
var errs []error //nolint
|
||||
runtime := r.Context().Value("runtime").(*libpod.Runtime)
|
||||
name := utils.GetName(r)
|
||||
pod, err := runtime.LookupPod(name)
|
||||
@ -357,7 +349,7 @@ func PodKill(w http.ResponseWriter, r *http.Request) {
|
||||
runtime = r.Context().Value("runtime").(*libpod.Runtime)
|
||||
decoder = r.Context().Value("decoder").(*schema.Decoder)
|
||||
signal = "SIGKILL"
|
||||
errs []error
|
||||
errs []error //nolint
|
||||
)
|
||||
query := struct {
|
||||
Signal string `schema:"signal"`
|
||||
|
@ -61,7 +61,7 @@ func SystemPrune(w http.ResponseWriter, r *http.Request) {
|
||||
systemPruneReport.ImagePruneReport = &report
|
||||
|
||||
if query.Volumes {
|
||||
volumePruneReport, err := pruneVolumesHelper(w, r)
|
||||
volumePruneReport, err := pruneVolumesHelper(r)
|
||||
if err != nil {
|
||||
utils.InternalServerError(w, err)
|
||||
return
|
||||
|
@ -102,9 +102,8 @@ func InspectVolume(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
func ListVolumes(w http.ResponseWriter, r *http.Request) {
|
||||
var (
|
||||
decoder = r.Context().Value("decoder").(*schema.Decoder)
|
||||
runtime = r.Context().Value("runtime").(*libpod.Runtime)
|
||||
volumeConfigs []*entities.VolumeListReport
|
||||
decoder = r.Context().Value("decoder").(*schema.Decoder)
|
||||
runtime = r.Context().Value("runtime").(*libpod.Runtime)
|
||||
)
|
||||
query := struct {
|
||||
Filters map[string][]string `schema:"filters"`
|
||||
@ -129,6 +128,7 @@ func ListVolumes(w http.ResponseWriter, r *http.Request) {
|
||||
utils.InternalServerError(w, err)
|
||||
return
|
||||
}
|
||||
volumeConfigs := make([]*entities.VolumeListReport, 0, len(vols))
|
||||
for _, v := range vols {
|
||||
config := entities.VolumeConfigResponse{
|
||||
Name: v.Name(),
|
||||
@ -147,7 +147,7 @@ func ListVolumes(w http.ResponseWriter, r *http.Request) {
|
||||
}
|
||||
|
||||
func PruneVolumes(w http.ResponseWriter, r *http.Request) {
|
||||
reports, err := pruneVolumesHelper(w, r)
|
||||
reports, err := pruneVolumesHelper(r)
|
||||
if err != nil {
|
||||
utils.InternalServerError(w, err)
|
||||
return
|
||||
@ -155,15 +155,15 @@ func PruneVolumes(w http.ResponseWriter, r *http.Request) {
|
||||
utils.WriteResponse(w, http.StatusOK, reports)
|
||||
}
|
||||
|
||||
func pruneVolumesHelper(w http.ResponseWriter, r *http.Request) ([]*entities.VolumePruneReport, error) {
|
||||
func pruneVolumesHelper(r *http.Request) ([]*entities.VolumePruneReport, error) {
|
||||
var (
|
||||
runtime = r.Context().Value("runtime").(*libpod.Runtime)
|
||||
reports []*entities.VolumePruneReport
|
||||
)
|
||||
pruned, err := runtime.PruneVolumes(r.Context())
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
reports := make([]*entities.VolumePruneReport, 0, len(pruned))
|
||||
for k, v := range pruned {
|
||||
reports = append(reports, &entities.VolumePruneReport{
|
||||
Err: v,
|
||||
|
@ -93,7 +93,7 @@ func GetImages(w http.ResponseWriter, r *http.Request) ([]*image.Image, error) {
|
||||
if query.All {
|
||||
return images, nil
|
||||
}
|
||||
var returnImages []*image.Image
|
||||
returnImages := []*image.Image{}
|
||||
for _, img := range images {
|
||||
if len(img.Names()) == 0 {
|
||||
parent, err := img.IsParent(r.Context())
|
||||
|
@ -11,7 +11,6 @@ import (
|
||||
|
||||
func GetPods(w http.ResponseWriter, r *http.Request) ([]*entities.ListPodsReport, error) {
|
||||
var (
|
||||
lps []*entities.ListPodsReport
|
||||
pods []*libpod.Pod
|
||||
filters []libpod.PodFilter
|
||||
)
|
||||
@ -45,6 +44,11 @@ func GetPods(w http.ResponseWriter, r *http.Request) ([]*entities.ListPodsReport
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if len(pods) == 0 {
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
lps := make([]*entities.ListPodsReport, 0, len(pods))
|
||||
for _, pod := range pods {
|
||||
status, err := pod.GetPodStatus()
|
||||
if err != nil {
|
||||
|
Reference in New Issue
Block a user