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
@@ -23,7 +23,7 @@ import (
|
||||
log "github.com/sirupsen/logrus"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
|
||||
"github.com/fission/fission/tpr"
|
||||
"github.com/fission/fission/crd"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -47,7 +47,7 @@ type (
|
||||
}
|
||||
|
||||
MessageQueue interface {
|
||||
subscribe(trigger *tpr.Messagequeuetrigger) (messageQueueSubscription, error)
|
||||
subscribe(trigger *crd.MessageQueueTrigger) (messageQueueSubscription, error)
|
||||
unsubscribe(triggerSub messageQueueSubscription) error
|
||||
}
|
||||
|
||||
@@ -55,12 +55,12 @@ type (
|
||||
reqChan chan request
|
||||
mqCfg MessageQueueConfig
|
||||
triggers map[string]*triggerSubscription
|
||||
fissionClient *tpr.FissionClient
|
||||
fissionClient *crd.FissionClient
|
||||
messageQueue MessageQueue
|
||||
}
|
||||
|
||||
triggerSubscription struct {
|
||||
trigger tpr.Messagequeuetrigger
|
||||
trigger crd.MessageQueueTrigger
|
||||
subscription messageQueueSubscription
|
||||
}
|
||||
|
||||
@@ -75,7 +75,7 @@ type (
|
||||
}
|
||||
)
|
||||
|
||||
func MakeMessageQueueTriggerManager(fissionClient *tpr.FissionClient, routerUrl string, mqConfig MessageQueueConfig) *MessageQueueTriggerManager {
|
||||
func MakeMessageQueueTriggerManager(fissionClient *crd.FissionClient, routerUrl string, mqConfig MessageQueueConfig) *MessageQueueTriggerManager {
|
||||
var messageQueue MessageQueue
|
||||
var err error
|
||||
|
||||
@@ -105,7 +105,7 @@ func (mqt *MessageQueueTriggerManager) service() {
|
||||
switch req.requestType {
|
||||
case ADD_TRIGGER:
|
||||
var err error
|
||||
k := tpr.CacheKey(&req.triggerSub.trigger.Metadata)
|
||||
k := crd.CacheKey(&req.triggerSub.trigger.Metadata)
|
||||
if _, ok := mqt.triggers[k]; ok {
|
||||
err = errors.New("Trigger already exists")
|
||||
} else {
|
||||
@@ -119,7 +119,7 @@ func (mqt *MessageQueueTriggerManager) service() {
|
||||
}
|
||||
req.respChan <- response{triggers: ©Triggers}
|
||||
case DELETE_TRIGGER:
|
||||
delete(mqt.triggers, tpr.CacheKey(&req.triggerSub.trigger.Metadata))
|
||||
delete(mqt.triggers, crd.CacheKey(&req.triggerSub.trigger.Metadata))
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -149,7 +149,7 @@ func (mqt *MessageQueueTriggerManager) delTrigger(m *metav1.ObjectMeta) {
|
||||
mqt.reqChan <- request{
|
||||
requestType: DELETE_TRIGGER,
|
||||
triggerSub: &triggerSubscription{
|
||||
trigger: tpr.Messagequeuetrigger{
|
||||
trigger: crd.MessageQueueTrigger{
|
||||
Metadata: *m,
|
||||
},
|
||||
},
|
||||
@@ -159,14 +159,14 @@ func (mqt *MessageQueueTriggerManager) delTrigger(m *metav1.ObjectMeta) {
|
||||
func (mqt *MessageQueueTriggerManager) syncTriggers() {
|
||||
for {
|
||||
// get new set of triggers
|
||||
newTriggers, err := mqt.fissionClient.Messagequeuetriggers(metav1.NamespaceAll).List(metav1.ListOptions{})
|
||||
newTriggers, err := mqt.fissionClient.MessageQueueTriggers(metav1.NamespaceAll).List(metav1.ListOptions{})
|
||||
if err != nil {
|
||||
log.Fatalf("Failed to read message queue trigger list: %v", err)
|
||||
}
|
||||
newTriggerMap := make(map[string]*tpr.Messagequeuetrigger)
|
||||
newTriggerMap := make(map[string]*crd.MessageQueueTrigger)
|
||||
for index := range newTriggers.Items {
|
||||
newTrigger := &newTriggers.Items[index]
|
||||
newTriggerMap[tpr.CacheKey(&newTrigger.Metadata)] = newTrigger
|
||||
newTriggerMap[crd.CacheKey(&newTrigger.Metadata)] = newTrigger
|
||||
}
|
||||
|
||||
// get current set of triggers
|
||||
|
||||
Reference in New Issue
Block a user