Skip to content

Commit

Permalink
Merge pull request #510 from dgonyeo/2.2.0
Browse files Browse the repository at this point in the history
Mark Ignition spec 2.2.0 as stable, create new 2.3.0-experimental spec
  • Loading branch information
Derek Gonyeo authored Feb 9, 2018
2 parents 0cdec36 + 29fc92a commit d3f7a10
Show file tree
Hide file tree
Showing 54 changed files with 4,893 additions and 43 deletions.
12 changes: 12 additions & 0 deletions config/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import (
"github.com/coreos/ignition/config/v1"
"github.com/coreos/ignition/config/v2_0"
"github.com/coreos/ignition/config/v2_1"
"github.com/coreos/ignition/config/v2_2"
"github.com/coreos/ignition/config/validate"
astjson "github.com/coreos/ignition/config/validate/astjson"
"github.com/coreos/ignition/config/validate/report"
Expand Down Expand Up @@ -71,6 +72,8 @@ func Parse(rawConfig []byte) (types.Config, report.Report, error) {
return config, rpt, nil
case types.MaxVersion:
return ParseFromLatest(rawConfig)
case semver.Version{Major: 2, Minor: 2}:
return ParseFromV2_2(rawConfig)
case semver.Version{Major: 2, Minor: 1}:
return ParseFromV2_1(rawConfig)
case semver.Version{Major: 2, Minor: 0}:
Expand Down Expand Up @@ -195,6 +198,15 @@ func ParseFromV2_1(rawConfig []byte) (types.Config, report.Report, error) {
return TranslateFromV2_1(cfg), report, err
}

func ParseFromV2_2(rawConfig []byte) (types.Config, report.Report, error) {
cfg, report, err := v2_2.Parse(rawConfig)
if err != nil {
return types.Config{}, report, err
}

return TranslateFromV2_2(cfg), report, err
}

func Version(rawConfig []byte) (semver.Version, error) {
var composite struct {
Version *int `json:"ignitionVersion"`
Expand Down
8 changes: 6 additions & 2 deletions config/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,15 +56,19 @@ func TestParse(t *testing.T) {
},
{
in: in{config: []byte(`{"ignition": {"version": "2.2.0-experimental"}}`)},
out: out{config: types.Config{Ignition: types.Ignition{Version: types.MaxVersion.String()}}},
out: out{err: ErrUnknownVersion},
},
{
in: in{config: []byte(`{"ignition": {"version": "2.1.0-experimental"}}`)},
out: out{err: ErrUnknownVersion},
},
{
in: in{config: []byte(`{"ignition": {"version": "2.2.0"}}`)},
out: out{err: ErrInvalid},
out: out{config: types.Config{Ignition: types.Ignition{Version: types.MaxVersion.String()}}},
},
{
in: in{config: []byte(`{"ignition": {"version": "2.3.0-experimental"}}`)},
out: out{config: types.Config{Ignition: types.Ignition{Version: types.MaxVersion.String()}}},
},
{
in: in{config: []byte(`{"ignition": {"version": "2.0.0"},}`)},
Expand Down
Loading

0 comments on commit d3f7a10

Please sign in to comment.