Skip to content

Commit ef277d6

Browse files
author
Zhou Hao
committed
generate: add windows-resources-storage option
Signed-off-by: Zhou Hao <[email protected]>
1 parent 4068d38 commit ef277d6

File tree

4 files changed

+26
-0
lines changed

4 files changed

+26
-0
lines changed

cmd/oci-runtime-tool/generate.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ var generateFlags = []cli.Flag{
128128
cli.StringFlag{Name: "windows-network", Usage: "specifies network for container"},
129129
cli.StringFlag{Name: "windows-resources-cpu", Usage: "specifies CPU for container"},
130130
cli.Uint64Flag{Name: "windows-resources-memory-limit", Usage: "specifies limit of memory"},
131+
cli.StringFlag{Name: "windows-resources-storage", Usage: "specifies storage for container"},
131132
}
132133

133134
var generateCommand = cli.Command{
@@ -861,6 +862,14 @@ func setupSpec(g *generate.Generator, context *cli.Context) error {
861862
g.SetWindowsResourcesMemoryLimit(limit)
862863
}
863864

865+
if context.IsSet("windows-resources-storage") {
866+
storage := context.String("windows-resources-storage")
867+
err := g.SetWindowsResourcesStorage(storage)
868+
if err != nil {
869+
return err
870+
}
871+
}
872+
864873
err := addSeccomp(context, g)
865874
return err
866875
}

completions/bash/oci-runtime-tool

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -396,6 +396,7 @@ _oci-runtime-tool_generate() {
396396
--windows-network
397397
--windows-resources-cpu
398398
--windows-resources-memory-limit
399+
--windows-resources-storage
399400
"
400401

401402
local boolean_options="

generate/generate.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1538,3 +1538,15 @@ func (g *Generator) SetWindowsResourcesMemoryLimit(limit uint64) {
15381538
g.initSpecWindowsResourcesMemory()
15391539
g.spec.Windows.Resources.Memory.Limit = &limit
15401540
}
1541+
1542+
// SetWindowsResourcesStorage sets g.spec.Windows.Resources.Storage.
1543+
func (g *Generator) SetWindowsResourcesStorage(storage string) error {
1544+
g.initSpecWindowsResources()
1545+
tmpStorage := &rspec.WindowsStorageResources{}
1546+
err := json.Unmarshal([]byte(storage), tmpStorage)
1547+
if err != nil {
1548+
return err
1549+
}
1550+
g.spec.Windows.Resources.Storage = tmpStorage
1551+
return nil
1552+
}

man/oci-runtime-tool-generate.1.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -495,6 +495,10 @@ read the configuration from `config.json`.
495495
**--windows-resources-memory-limit**=MEMORYLIMIT
496496
Set limit of memory.
497497

498+
**--windows-resources-storage**=""
499+
Specifies storage for container.
500+
e.g. --windows-resources-storage '{"iops": 50, "bps": 20}'
501+
498502
# EXAMPLES
499503

500504
## Generating container in read-only mode

0 commit comments

Comments
 (0)