Skip to content

Commit

Permalink
provider: fix ingress rules (#390)
Browse files Browse the repository at this point in the history
Possible fix for #388 

* provider: use http ingress rules
* add _doc/tasks
* deployment: display lease as a pane

Signed-off-by: Greg Osuri <me@gregosuri.com>
  • Loading branch information
gosuri committed Oct 15, 2019
1 parent 27877a7 commit 7c23ceb
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 12 deletions.
24 changes: 24 additions & 0 deletions _docs/provider.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
Provider Design Document Placeholder

Config

```
ClusterWaitReadyDuration time.Duration `env:"AKASH_CLUSTER_WAIT_READY_DURATION" envDefault:"5s"`
InventoryResourcePollPeriod time.Duration `env:"AKASH_INVENTORY_RESOURCE_POLL_PERIOD" envDefault:"5s"`
InventoryResourceDebugFrequency uint `env:"AKASH_INVENTORY_RESOURCE_DEBUG_FREQUENCY" envDefault:"10"`
// gcp: NodePort
// others: ClusterIP
DeploymentServiceType corev1.ServiceType `env:"AKASH_DEPLOYMENT_SERVICE_TYPE" envDefault:"NodePort"`
// gcp: False
// others: true
DeploymentIngressStaticHosts bool `env:"AKASH_DEPLOYMENT_INGRESS_STATIC_HOSTS" envDefault:"false"`
DeploymentIngressExposeLBHosts bool `env:"AKASH_DEPLOYMENT_INGRESS_EXPOSE_LB_HOSTS" envDefault:"true"`
ManifestLingerDuration time.Duration `env:"AKASH_MANIFEST_LINGER_DURATION" envDefault:"5m"`
cmd.Flags().String("private-key", "", "import private key")
cmd.Flags().Bool("kube", false, "use kubernetes cluster")
cmd.Flags().String("manifest-ns", "lease", "set manifest namespace")
```
2 changes: 0 additions & 2 deletions provider/bidengine/pricing.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ func calculatePrice(resources types.ResourceList) uint64 {
}

func calculatePriceRange(resources types.ResourceList) (uint64, uint64) {

// TODO: catch overflow
var (
mem uint64
Expand All @@ -44,5 +43,4 @@ func calculatePriceRange(resources types.ResourceList) (uint64, uint64) {
}

return cmin, cmax

}
25 changes: 15 additions & 10 deletions provider/cluster/kube/builder.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ import (
)

const (
akashManagedLabelName = "akash.network"

akashManagedLabelName = "akash.network"
akashManifestServiceLabelName = "akash.network/manifest-service"
akashDefaultIngressBackend = "http"
)

type builder struct {
Expand Down Expand Up @@ -88,7 +88,6 @@ func (b *deploymentBuilder) labels() map[string]string {

func (b *deploymentBuilder) create() (*appsv1.Deployment, error) {
replicas := int32(b.service.Count)

kdeployment := &appsv1.Deployment{
ObjectMeta: metav1.ObjectMeta{
Name: b.name(),
Expand All @@ -115,7 +114,6 @@ func (b *deploymentBuilder) create() (*appsv1.Deployment, error) {

func (b *deploymentBuilder) update(obj *appsv1.Deployment) (*appsv1.Deployment, error) {
replicas := int32(b.service.Count)

obj.Labels = b.labels()
obj.Spec.Selector.MatchLabels = b.labels()
obj.Spec.Replicas = &replicas
Expand All @@ -125,7 +123,6 @@ func (b *deploymentBuilder) update(obj *appsv1.Deployment) (*appsv1.Deployment,
}

func (b *deploymentBuilder) container() corev1.Container {

qcpu := resource.NewScaledQuantity(int64(b.service.Unit.CPU), resource.Milli)
qmem := resource.NewQuantity(int64(b.service.Unit.Memory), resource.DecimalSI)

Expand Down Expand Up @@ -235,10 +232,6 @@ func (b *ingressBuilder) create() (*extv1.Ingress, error) {
Labels: b.labels(),
},
Spec: extv1.IngressSpec{
Backend: &extv1.IngressBackend{
ServiceName: b.name(),
ServicePort: intstr.FromInt(int(exposeExternalPort(b.expose))),
},
Rules: b.rules(),
},
}, nil
Expand All @@ -253,8 +246,20 @@ func (b *ingressBuilder) update(obj *extv1.Ingress) (*extv1.Ingress, error) {

func (b *ingressBuilder) rules() []extv1.IngressRule {
rules := make([]extv1.IngressRule, 0, len(b.expose.Hosts))
httpRule := &extv1.HTTPIngressRuleValue{
Paths: []extv1.HTTPIngressPath{extv1.HTTPIngressPath{
Backend: extv1.IngressBackend{
ServiceName: b.expose.Service,
ServicePort: intstr.FromInt(int(exposeExternalPort(b.expose))),
}},
},
}

for _, host := range b.expose.Hosts {
rules = append(rules, extv1.IngressRule{Host: host})
rules = append(rules, extv1.IngressRule{
Host: host,
IngressRuleValue: extv1.IngressRuleValue{httpRule},
})
}
return rules
}
Expand Down

0 comments on commit 7c23ceb

Please sign in to comment.