Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 3 additions & 2 deletions hack/test-go.sh
Original file line number Diff line number Diff line change
Expand Up @@ -78,9 +78,10 @@ fi
KUBE_TIMEOUT=${KUBE_TIMEOUT:-'60s'}

if [ "${1-}" != "" ]; then
if [[ "${1}" == *"/..." ]]; then
suffix=/...
if [[ "${1}" == *"${suffix}" ]]; then
# if the package name ends with /... they are intending a recursive test
test_packages=$(find_test_dirs "${1:0:(-4)}")
test_packages=$(find_test_dirs "${1%$suffix}")
else
test_packages="$OS_GO_PACKAGE/$1"
fi
Expand Down
17 changes: 5 additions & 12 deletions pkg/api/latest/latest.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,21 +18,17 @@ import (
)

// Version is the string that represents the current external default version.
var Version = unversioned.GroupVersion{"", "v1"}
var Version = v1.SchemeGroupVersion

// OldestVersion is the string that represents the oldest server version supported,
// for client code that wants to hardcode the lowest common denominator.
var OldestVersion = unversioned.GroupVersion{"", "v1beta3"}
var OldestVersion = v1beta3.SchemeGroupVersion

// Versions is the list of versions that are recognized in code. The order provided
// may be assumed to be least feature rich to most feature rich, and clients may
// choose to prefer the latter items in the list over the former items when presented
// with a set of versions to choose.
var Versions = []unversioned.GroupVersion{Version, OldestVersion}

// TODO: this should be removed, it's here to make the storage related stuff work
// as before.
var VersionsStrings = []string{"v1", "v1beta3"}
var Versions = []unversioned.GroupVersion{v1.SchemeGroupVersion, v1beta3.SchemeGroupVersion}

// Codec is the default codec for serializing output that should use
// the latest supported version. Use this Codec when writing to
Expand Down Expand Up @@ -102,11 +98,8 @@ func init() {
// api.RESTMapper, which is different than what you'd get from latest.
kubeMapper := api.RESTMapper

// list of versions we support on the server, in preferred order
versions := []unversioned.GroupVersion{Version, OldestVersion}

originMapper := kmeta.NewDefaultRESTMapper(
versions,
Versions,
func(version unversioned.GroupVersion) (*kmeta.VersionInterfaces, error) {
interfaces, err := InterfacesFor(version)
if err != nil {
Expand Down Expand Up @@ -147,7 +140,7 @@ func init() {
}

// enumerate all supported versions, get the kinds, and register with the mapper how to address our resources
for _, version := range versions {
for _, version := range Versions {
for kind, t := range api.Scheme.KnownTypes(version) {
if !strings.Contains(t.PkgPath(), "openshift/origin") {
if _, ok := kindToRootScope[kind]; !ok {
Expand Down
19 changes: 19 additions & 0 deletions pkg/api/matcher.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package api

import (
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/fields"
"k8s.io/kubernetes/pkg/labels"
)

func ListOptionsToSelectors(options *unversioned.ListOptions) (labels.Selector, fields.Selector) {
label := labels.Everything()
if options != nil && options.LabelSelector.Selector != nil {
label = options.LabelSelector.Selector
}
field := fields.Everything()
if options != nil && options.FieldSelector.Selector != nil {
field = options.FieldSelector.Selector
}
return label, field
}
7 changes: 2 additions & 5 deletions pkg/api/register.go
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package api

import (
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/runtime"

_ "github.com/openshift/origin/pkg/authorization/api"
_ "github.com/openshift/origin/pkg/build/api"
Expand All @@ -16,9 +16,6 @@ import (
_ "github.com/openshift/origin/pkg/user/api"
)

// Scheme is the default instance of runtime.Scheme to which types in the Kubernetes API are already registered.
var Scheme = runtime.NewScheme()

// SchemeGroupVersion is group version used to register these objects
var SchemeGroupVersion = unversioned.GroupVersion{Group: "", Version: ""}

Expand All @@ -33,5 +30,5 @@ func Resource(resource string) unversioned.GroupResource {
}

func init() {
Scheme.AddKnownTypes(SchemeGroupVersion)
api.Scheme.AddKnownTypes(SchemeGroupVersion)
}
12 changes: 6 additions & 6 deletions pkg/api/serialization_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import (
"k8s.io/kubernetes/pkg/api"
"k8s.io/kubernetes/pkg/api/meta"
apitesting "k8s.io/kubernetes/pkg/api/testing"
"k8s.io/kubernetes/pkg/api/unversioned"
"k8s.io/kubernetes/pkg/api/validation"
"k8s.io/kubernetes/pkg/conversion"
"k8s.io/kubernetes/pkg/runtime"
Expand All @@ -20,7 +21,6 @@ import (
"k8s.io/kubernetes/pkg/util/intstr"
"k8s.io/kubernetes/pkg/util/sets"

osapi "github.com/openshift/origin/pkg/api"
_ "github.com/openshift/origin/pkg/api/latest"
"github.com/openshift/origin/pkg/api/v1"
"github.com/openshift/origin/pkg/api/v1beta3"
Expand Down Expand Up @@ -397,7 +397,7 @@ func TestSpecificKind(t *testing.T) {
defer api.Scheme.Log(nil)

kind := "DeploymentConfig"
item, err := api.Scheme.New("", kind)
item, err := api.Scheme.New(unversioned.GroupVersionKind{Group: "", Version: "", Kind: kind})
if err != nil {
t.Errorf("Couldn't make a %v? %v", kind, err)
return
Expand All @@ -406,7 +406,7 @@ func TestSpecificKind(t *testing.T) {
for i := 0; i < fuzzIters; i++ {
t.Logf(`About to test %v with ""`, kind)
fuzzInternalObject(t, "", item, seed)
roundTrip(t, osapi.Codec, item)
roundTrip(t, api.Codec, item)
t.Logf(`About to test %v with "v1beta3"`, kind)
fuzzInternalObject(t, "v1beta3", item, seed)
roundTrip(t, v1beta3.Codec, item)
Expand All @@ -421,7 +421,7 @@ var nonInternalRoundTrippableTypes = sets.NewString("List", "ListOptions", "PodE

// TestTypes will try to roundtrip all OpenShift and Kubernetes stable api types
func TestTypes(t *testing.T) {
for kind, reflectType := range api.Scheme.KnownTypes("") {
for kind, reflectType := range api.Scheme.KnownTypes(unversioned.GroupVersion{Group: "", Version: ""}) {
if !strings.Contains(reflectType.PkgPath(), "/origin/") && reflectType.PkgPath() != "k8s.io/kubernetes/pkg/api" {
continue
}
Expand All @@ -430,7 +430,7 @@ func TestTypes(t *testing.T) {
}
// Try a few times, since runTest uses random values.
for i := 0; i < fuzzIters; i++ {
item, err := api.Scheme.New("", kind)
item, err := api.Scheme.New(unversioned.GroupVersionKind{Group: "", Version: "", Kind: kind})
if err != nil {
t.Errorf("Couldn't make a %v? %v", kind, err)
continue
Expand All @@ -450,7 +450,7 @@ func TestTypes(t *testing.T) {
}
t.Logf(`About to test %v with ""`, kind)
fuzzInternalObject(t, "", item, seed)
roundTrip(t, osapi.Codec, item)
roundTrip(t, api.Codec, item)
t.Logf(`About to test %v with "v1beta3"`, kind)
fuzzInternalObject(t, "v1beta3", item, seed)
roundTrip(t, v1beta3.Codec, item)
Expand Down
Loading