mirror of
https://github.com/containers/podman.git
synced 2025-08-06 19:44:14 +08:00
Bump CDI go dependency to v0.3.0
This updates the CDI dependency to the v0.3.0 tagged version instead of relying on a pseudo version. This also addresses the fact that cgroups are not set correctly for devices using the previous dependency. Signed-off-by: Evan Lezar <elezar@nvidia.com>
This commit is contained in:
@ -33,6 +33,7 @@ var (
|
||||
validSpecVersions = map[string]struct{}{
|
||||
"0.1.0": {},
|
||||
"0.2.0": {},
|
||||
"0.3.0": {},
|
||||
}
|
||||
)
|
||||
|
||||
@ -120,14 +121,18 @@ func (s *Spec) GetPriority() int {
|
||||
|
||||
// ApplyEdits applies the Spec's global-scope container edits to an OCI Spec.
|
||||
func (s *Spec) ApplyEdits(ociSpec *oci.Spec) error {
|
||||
e := ContainerEdits{&s.ContainerEdits}
|
||||
return e.Apply(ociSpec)
|
||||
return s.edits().Apply(ociSpec)
|
||||
}
|
||||
|
||||
// edits returns the applicable global container edits for this spec.
|
||||
func (s *Spec) edits() *ContainerEdits {
|
||||
return &ContainerEdits{&s.ContainerEdits}
|
||||
}
|
||||
|
||||
// Validate the Spec.
|
||||
func (s *Spec) validate() (map[string]*Device, error) {
|
||||
if _, ok := validSpecVersions[s.Version]; !ok {
|
||||
return nil, errors.Errorf("invalid version %q", s.Version)
|
||||
if err := validateVersion(s.Version); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := ValidateVendorName(s.vendor); err != nil {
|
||||
return nil, err
|
||||
@ -135,8 +140,7 @@ func (s *Spec) validate() (map[string]*Device, error) {
|
||||
if err := ValidateClassName(s.class); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
edits := &ContainerEdits{&s.ContainerEdits}
|
||||
if err := edits.Validate(); err != nil {
|
||||
if err := s.edits().Validate(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@ -155,6 +159,15 @@ func (s *Spec) validate() (map[string]*Device, error) {
|
||||
return devices, nil
|
||||
}
|
||||
|
||||
// validateVersion checks whether the specified spec version is supported.
|
||||
func validateVersion(version string) error {
|
||||
if _, ok := validSpecVersions[version]; !ok {
|
||||
return errors.Errorf("invalid version %q", version)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// Parse raw CDI Spec file data.
|
||||
func parseSpec(data []byte) (*cdi.Spec, error) {
|
||||
raw := &cdi.Spec{}
|
||||
|
Reference in New Issue
Block a user