Switch from ThirdPartyResources to CustomResourceDefinitions (#381)
Switch Fission's storage over to the new CustomResourceDefinitions, from the deprecated ThirdPartyResources. This allows us to be compatible with Kubernets 1.8 and onwards. This also adds a CLI tool for dumping state from an old fission version and restoring state into new CRDs. The storage service is unaffected by this change.
This commit is contained in:
committed by
Soam Vasani
parent
746c51901d
commit
5f14b9b0ae
+2
-2
@@ -17,12 +17,12 @@ limitations under the License.
|
||||
package timer
|
||||
|
||||
import (
|
||||
"github.com/fission/fission/crd"
|
||||
"github.com/fission/fission/publisher"
|
||||
"github.com/fission/fission/tpr"
|
||||
)
|
||||
|
||||
func Start(routerUrl string) error {
|
||||
fissionClient, _, err := tpr.MakeFissionClient()
|
||||
fissionClient, _, _, err := crd.MakeFissionClient()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
+6
-6
@@ -22,8 +22,8 @@ import (
|
||||
"github.com/robfig/cron"
|
||||
|
||||
"github.com/fission/fission"
|
||||
"github.com/fission/fission/crd"
|
||||
"github.com/fission/fission/publisher"
|
||||
"github.com/fission/fission/tpr"
|
||||
)
|
||||
|
||||
type requestType int
|
||||
@@ -41,14 +41,14 @@ type (
|
||||
|
||||
timerRequest struct {
|
||||
requestType
|
||||
triggers []tpr.Timetrigger
|
||||
triggers []crd.TimeTrigger
|
||||
responseChannel chan *timerResponse
|
||||
}
|
||||
timerResponse struct {
|
||||
error
|
||||
}
|
||||
timerTriggerWithCron struct {
|
||||
trigger tpr.Timetrigger
|
||||
trigger crd.TimeTrigger
|
||||
cron *cron.Cron
|
||||
}
|
||||
)
|
||||
@@ -63,7 +63,7 @@ func MakeTimer(publisher publisher.Publisher) *Timer {
|
||||
return timer
|
||||
}
|
||||
|
||||
func (timer *Timer) Sync(triggers []tpr.Timetrigger) error {
|
||||
func (timer *Timer) Sync(triggers []crd.TimeTrigger) error {
|
||||
req := &timerRequest{
|
||||
requestType: SYNC,
|
||||
triggers: triggers,
|
||||
@@ -85,7 +85,7 @@ func (timer *Timer) svc() {
|
||||
}
|
||||
}
|
||||
|
||||
func (timer *Timer) syncCron(triggers []tpr.Timetrigger) error {
|
||||
func (timer *Timer) syncCron(triggers []crd.TimeTrigger) error {
|
||||
// add new triggers or update existing ones
|
||||
for _, t := range triggers {
|
||||
if item, ok := timer.triggers[t.Metadata.Name]; ok {
|
||||
@@ -137,7 +137,7 @@ func (timer *Timer) syncCron(triggers []tpr.Timetrigger) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (timer *Timer) newCron(t tpr.Timetrigger) *cron.Cron {
|
||||
func (timer *Timer) newCron(t crd.TimeTrigger) *cron.Cron {
|
||||
c := cron.New()
|
||||
c.AddFunc(t.Spec.Cron, func() {
|
||||
headers := map[string]string{
|
||||
|
||||
+4
-4
@@ -22,17 +22,17 @@ import (
|
||||
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
|
||||
"github.com/fission/fission/tpr"
|
||||
"github.com/fission/fission/crd"
|
||||
)
|
||||
|
||||
type (
|
||||
TimerSync struct {
|
||||
fissionClient *tpr.FissionClient
|
||||
fissionClient *crd.FissionClient
|
||||
timer *Timer
|
||||
}
|
||||
)
|
||||
|
||||
func MakeTimerSync(fissionClient *tpr.FissionClient, timer *Timer) *TimerSync {
|
||||
func MakeTimerSync(fissionClient *crd.FissionClient, timer *Timer) *TimerSync {
|
||||
ws := &TimerSync{
|
||||
fissionClient: fissionClient,
|
||||
timer: timer,
|
||||
@@ -43,7 +43,7 @@ func MakeTimerSync(fissionClient *tpr.FissionClient, timer *Timer) *TimerSync {
|
||||
|
||||
func (ws *TimerSync) syncSvc() {
|
||||
for {
|
||||
triggers, err := ws.fissionClient.Timetriggers(metav1.NamespaceAll).List(metav1.ListOptions{})
|
||||
triggers, err := ws.fissionClient.TimeTriggers(metav1.NamespaceAll).List(metav1.ListOptions{})
|
||||
if err != nil {
|
||||
log.Fatalf("Failed get time trigger list: %v", err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user