Skip to content

Commit

Permalink
remove last traces of oapi
Browse files Browse the repository at this point in the history
  • Loading branch information
deads2k committed Apr 16, 2018
1 parent 0e768b6 commit bcfcefd
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 63 deletions.
4 changes: 2 additions & 2 deletions pkg/oc/cli/util/clientcmd/factory_builder.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,12 @@ import (
)

type ring2Factory struct {
clientAccessFactory ClientAccessFactory
clientAccessFactory kcmdutil.ClientAccessFactory
objectMappingFactory kcmdutil.ObjectMappingFactory
kubeBuilderFactory kcmdutil.BuilderFactory
}

func NewBuilderFactory(clientAccessFactory ClientAccessFactory, objectMappingFactory kcmdutil.ObjectMappingFactory) kcmdutil.BuilderFactory {
func NewBuilderFactory(clientAccessFactory kcmdutil.ClientAccessFactory, objectMappingFactory kcmdutil.ObjectMappingFactory) kcmdutil.BuilderFactory {
return &ring2Factory{
clientAccessFactory: clientAccessFactory,
objectMappingFactory: objectMappingFactory,
Expand Down
63 changes: 2 additions & 61 deletions pkg/oc/cli/util/clientcmd/factory_object_mapping.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/labels"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/client-go/dynamic"
restclient "k8s.io/client-go/rest"
kapi "k8s.io/kubernetes/pkg/apis/core"
"k8s.io/kubernetes/pkg/controller"
Expand All @@ -23,7 +22,6 @@ import (
"k8s.io/kubernetes/pkg/kubectl/validation"
kprinters "k8s.io/kubernetes/pkg/printers"

"github.com/openshift/origin/pkg/api/latest"
appsapi "github.com/openshift/origin/pkg/apps/apis/apps"
appsmanualclient "github.com/openshift/origin/pkg/apps/client/internalversion"
appsclient "github.com/openshift/origin/pkg/apps/generated/internalclientset"
Expand All @@ -33,18 +31,16 @@ import (
buildmanualclient "github.com/openshift/origin/pkg/build/client/internalversion"
buildclientinternal "github.com/openshift/origin/pkg/build/generated/internalclientset"
buildutil "github.com/openshift/origin/pkg/build/util"
configcmd "github.com/openshift/origin/pkg/bulk"
imageapi "github.com/openshift/origin/pkg/image/apis/image"
deploymentcmd "github.com/openshift/origin/pkg/oc/cli/deploymentconfigs"
"github.com/openshift/origin/pkg/oc/cli/describe"
)

type ring1Factory struct {
clientAccessFactory ClientAccessFactory
clientAccessFactory kcmdutil.ClientAccessFactory
kubeObjectMappingFactory kcmdutil.ObjectMappingFactory
}

func NewObjectMappingFactory(clientAccessFactory ClientAccessFactory) kcmdutil.ObjectMappingFactory {
func NewObjectMappingFactory(clientAccessFactory kcmdutil.ClientAccessFactory) kcmdutil.ObjectMappingFactory {
return &ring1Factory{
clientAccessFactory: clientAccessFactory,
kubeObjectMappingFactory: kcmdutil.NewObjectMappingFactory(clientAccessFactory),
Expand All @@ -60,69 +56,14 @@ func (f *ring1Factory) CategoryExpander() categories.CategoryExpander {
}

func (f *ring1Factory) ClientForMapping(mapping *meta.RESTMapping) (resource.RESTClient, error) {
// TODO only do this for legacy kinds
if latest.OriginKind(mapping.GroupVersionKind) {
cfg, err := f.clientAccessFactory.ClientConfig()
if err != nil {
return nil, err
}
if err := configcmd.SetLegacyOpenShiftDefaults(cfg); err != nil {
return nil, err
}
cfg.APIPath = "/apis"
if mapping.GroupVersionKind.Group == kapi.GroupName {
cfg.APIPath = "/oapi"
}
gv := mapping.GroupVersionKind.GroupVersion()
cfg.GroupVersion = &gv
return restclient.RESTClientFor(cfg)
}
return f.kubeObjectMappingFactory.ClientForMapping(mapping)
}

func (f *ring1Factory) UnstructuredClientForMapping(mapping *meta.RESTMapping) (resource.RESTClient, error) {
// TODO only do this for legacy kinds
if latest.OriginKind(mapping.GroupVersionKind) {
cfg, err := f.clientAccessFactory.ClientConfig()
if err != nil {
return nil, err
}
if err := configcmd.SetLegacyOpenShiftDefaults(cfg); err != nil {
return nil, err
}
cfg.APIPath = "/apis"
if mapping.GroupVersionKind.Group == kapi.GroupName {
cfg.APIPath = "/oapi"
}
gv := mapping.GroupVersionKind.GroupVersion()
cfg.ContentConfig = dynamic.ContentConfig()
cfg.GroupVersion = &gv
return restclient.RESTClientFor(cfg)
}
return f.kubeObjectMappingFactory.UnstructuredClientForMapping(mapping)
}

func (f *ring1Factory) Describer(mapping *meta.RESTMapping) (kprinters.Describer, error) {
// TODO we need to refactor the describer logic to handle misses or run serverside.
// for now we can special case our "sometimes origin, sometimes kube" resource
// I think it is correct for more code if this is NOT considered an origin type since
// it wasn't an origin type pre 3.6.
isSCC := mapping.GroupVersionKind.Kind == "SecurityContextConstraints"
if latest.OriginKind(mapping.GroupVersionKind) || isSCC {
kClient, err := f.clientAccessFactory.ClientSet()
if err != nil {
return nil, fmt.Errorf("unable to create client %s: %v", mapping.GroupVersionKind.Kind, err)
}
clientConfig, err := f.clientAccessFactory.ClientConfig()
if err != nil {
return nil, fmt.Errorf("unable to create client config %s: %v", mapping.GroupVersionKind.Kind, err)
}
describer, ok := describe.DescriberFor(mapping.GroupVersionKind.GroupKind(), clientConfig, kClient, clientConfig.Host)
if !ok {
return nil, fmt.Errorf("no description has been implemented for %q", mapping.GroupVersionKind.Kind)
}
return describer, nil
}
return f.kubeObjectMappingFactory.Describer(mapping)
}

Expand Down

0 comments on commit bcfcefd

Please sign in to comment.