fix
This commit is contained in:
parent
b6144b5559
commit
ebfb38a9c4
|
|
@ -16,6 +16,7 @@ import (
|
||||||
"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/constants"
|
"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/constants"
|
||||||
"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/notifications"
|
"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/notifications"
|
||||||
e "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/notifications/event"
|
e "github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/notifications/event"
|
||||||
|
"github.com/jenkinsci/kubernetes-operator/pkg/controller/jenkins/configuration/base/resources"
|
||||||
"github.com/jenkinsci/kubernetes-operator/pkg/event"
|
"github.com/jenkinsci/kubernetes-operator/pkg/event"
|
||||||
"github.com/jenkinsci/kubernetes-operator/pkg/log"
|
"github.com/jenkinsci/kubernetes-operator/pkg/log"
|
||||||
"github.com/jenkinsci/kubernetes-operator/version"
|
"github.com/jenkinsci/kubernetes-operator/version"
|
||||||
|
|
@ -118,6 +119,9 @@ func main() {
|
||||||
fatal(errors.Wrap(err, "failed to create Kubernetes client set"), *debug)
|
fatal(errors.Wrap(err, "failed to create Kubernetes client set"), *debug)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( resources.IsRouteAPIAvailable(clientSet) ) {
|
||||||
|
log.Log.Info("Route API found: Route creation will be performed")
|
||||||
|
}
|
||||||
c := make(chan e.Event)
|
c := make(chan e.Event)
|
||||||
go notifications.Listen(c, events, mgr.GetClient())
|
go notifications.Listen(c, events, mgr.GetClient())
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package apis
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2"
|
"github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2"
|
||||||
|
routev1 "github.com/openshift/api/route/v1"
|
||||||
|
|
||||||
"k8s.io/apimachinery/pkg/runtime"
|
"k8s.io/apimachinery/pkg/runtime"
|
||||||
)
|
)
|
||||||
|
|
@ -17,4 +18,5 @@ func AddToScheme(s *runtime.Scheme) error {
|
||||||
func init() {
|
func init() {
|
||||||
// Register the types with the Scheme so the components can map objects to GroupVersionKinds and back
|
// Register the types with the Scheme so the components can map objects to GroupVersionKinds and back
|
||||||
AddToSchemes = append(AddToSchemes, v1alpha2.SchemeBuilder.AddToScheme)
|
AddToSchemes = append(AddToSchemes, v1alpha2.SchemeBuilder.AddToScheme)
|
||||||
|
AddToSchemes = append(AddToSchemes, routev1.AddToScheme)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -182,15 +182,19 @@ func (r *ReconcileJenkinsBaseConfiguration) ensureResourcesRequiredForJenkinsPod
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
r.logger.V(log.VDebug).Info("Jenkins HTTP Service is present")
|
r.logger.V(log.VDebug).Info("Jenkins HTTP Service is present")
|
||||||
|
|
||||||
if err := r.createService(metaObject, resources.GetJenkinsSlavesServiceName(r.Configuration.Jenkins), r.Configuration.Jenkins.Spec.SlaveService); err != nil {
|
if err := r.createService(metaObject, resources.GetJenkinsSlavesServiceName(r.Configuration.Jenkins), r.Configuration.Jenkins.Spec.SlaveService); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if resources.IsRouteAPIAvailable(r.ClientSet) {
|
r.logger.V(log.VDebug).Info("Jenkins slave Service is present")
|
||||||
|
|
||||||
|
if resources.IsRouteAPIAvailable(&r.ClientSet) {
|
||||||
|
r.logger.V(log.VDebug).Info("Route API is available. Now creating route.")
|
||||||
if err := r.createRoute(metaObject, httpServiceName, r.Configuration.Jenkins); err != nil {
|
if err := r.createRoute(metaObject, httpServiceName, r.Configuration.Jenkins); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
r.logger.V(log.VDebug).Info("Jenkins Route is present")
|
||||||
}
|
}
|
||||||
r.logger.V(log.VDebug).Info("Jenkins slave Service is present")
|
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,6 @@ package resources
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2"
|
"github.com/jenkinsci/kubernetes-operator/pkg/apis/jenkins/v1alpha2"
|
||||||
|
|
||||||
routev1 "github.com/openshift/api/route/v1"
|
routev1 "github.com/openshift/api/route/v1"
|
||||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||||
"k8s.io/apimachinery/pkg/util/intstr"
|
"k8s.io/apimachinery/pkg/util/intstr"
|
||||||
|
|
@ -29,8 +28,8 @@ func UpdateRoute(actual routev1.Route,jenkins *v1alpha2.Jenkins) routev1.Route {
|
||||||
return actual
|
return actual
|
||||||
}
|
}
|
||||||
|
|
||||||
//IsRouteAPIDiscoverable tells if the Route API is installed and discoverable
|
//IsRouteAPIAvailable tells if the Route API is installed and discoverable
|
||||||
func IsRouteAPIAvailable(clientSet kubernetes.Clientset) (bool) {
|
func IsRouteAPIAvailable(clientSet *kubernetes.Clientset) (bool) {
|
||||||
if (routeAPIChecked){
|
if (routeAPIChecked){
|
||||||
return isRouteAPIAvailable
|
return isRouteAPIAvailable
|
||||||
}
|
}
|
||||||
|
|
@ -40,8 +39,12 @@ func IsRouteAPIAvailable(clientSet kubernetes.Clientset) (bool) {
|
||||||
}
|
}
|
||||||
if err := discovery.ServerSupportsVersion(clientSet, gv); err != nil {
|
if err := discovery.ServerSupportsVersion(clientSet, gv); err != nil {
|
||||||
// error, API not available
|
// error, API not available
|
||||||
return false
|
routeAPIChecked = true
|
||||||
}
|
isRouteAPIAvailable = false
|
||||||
|
} else {
|
||||||
// API Exists
|
// API Exists
|
||||||
return true
|
routeAPIChecked = true
|
||||||
|
isRouteAPIAvailable = true
|
||||||
|
}
|
||||||
|
return isRouteAPIAvailable
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue