Skip to content

Commit

Permalink
[No ticket] Fix exception and change return type of getNodepool (#325)
Browse files Browse the repository at this point in the history
* fix

* get nodepool returns option

* fix test

Co-authored-by: jdcanas <jcanas@broadinstitute.com>
  • Loading branch information
jdcanas and jdcanas committed Jun 30, 2020
1 parent 21a9422 commit a133da6
Show file tree
Hide file tree
Showing 6 changed files with 13 additions and 7 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ To depend on the `MockGoogle*` classes, additionally depend on:

Contains utility functions for talking to Google APIs via com.google.cloud client library (more recent) via gRPC.

Latest SBT dependency: `"org.broadinstitute.dsde.workbench" %% "workbench-google2" % "0.10-5df3b81"`
Latest SBT dependency: `"org.broadinstitute.dsde.workbench" %% "workbench-google2" % "0.10-TRAVIS-REPLACE-ME"`

To start the Google PubSub emulator for unit testing:

Expand Down
3 changes: 2 additions & 1 deletion google2/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ Changed:
- Make `genDiskName` non-empty
- Bump `http4s` version to `0.21.5`, `scalatest` to `3.1.2`, `fs2-io` to `2.4.2`
- Add `autoDeleteDiskDeviceName: Set[DeviceName]` to `deleteInstance` method
- get nodepool returns an option

Added:
- Add `GoogleDiskService` and `GoogleDiskInterpreter`
Expand All @@ -19,7 +20,7 @@ Added:
- Add Generator for `DiskName`
- Add Kubernetes client APIs for creating service accounts, roles and role bindings

SBT dependency: `"org.broadinstitute.dsde.workbench" %% "workbench-google2" % "0.10-5df3b81"`
SBT dependency: `"org.broadinstitute.dsde.workbench" %% "workbench-google2" % "0.10-TRAVIS-REPLACE-ME"`

## 0.9
Changed:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,9 +83,12 @@ final class GKEInterpreter[F[_]: Async: StructuredLogger: Timer: ContextShift](
)
}

override def getNodepool(nodepoolId: NodepoolId)(implicit ev: ApplicativeAsk[F, TraceId]): F[NodePool] =
override def getNodepool(nodepoolId: NodepoolId)(implicit ev: ApplicativeAsk[F, TraceId]): F[Option[NodePool]] =
tracedGoogleRetryWithBlocker(
Async[F].delay(clusterManagerClient.getNodePool(nodepoolId.toString)),
recoverF(
Async[F].delay(clusterManagerClient.getNodePool(nodepoolId.toString)),
whenStatusCode(404)
),
f"com.google.cloud.container.v1.ClusterManagerClient.getNodepool(${nodepoolId.toString})"
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ trait GKEService[F[_]] {

def createNodepool(request: KubernetesCreateNodepoolRequest)(implicit ev: ApplicativeAsk[F, TraceId]): F[Operation]

def getNodepool(nodepoolId: NodepoolId)(implicit ev: ApplicativeAsk[F, TraceId]): F[NodePool]
def getNodepool(nodepoolId: NodepoolId)(implicit ev: ApplicativeAsk[F, TraceId]): F[Option[NodePool]]

def deleteNodepool(nodepoolId: NodepoolId)(implicit ev: ApplicativeAsk[F, TraceId]): F[Operation]

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,9 @@ import io.kubernetes.client.custom.IntOrString

/** Common Kubernetes models */
final case class KubernetesClusterNotFoundException(message: String) extends WorkbenchException
final case class KubernetesInvalidNameException(message: String) extends WorkbenchException
final case class KubernetesInvalidNameException(message: String) extends WorkbenchException {
override def getMessage: String = message
}

object KubernetesName {
def withValidation[A](str: String, apply: String => A): Either[Throwable, A] = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ final class Test(credPathStr: String,
}
}

def callGetNodepool(nodepoolId: NodepoolId): IO[NodePool] = serviceResource.use { service =>
def callGetNodepool(nodepoolId: NodepoolId): IO[Option[NodePool]] = serviceResource.use { service =>
service.getNodepool(nodepoolId)
}

Expand Down

0 comments on commit a133da6

Please sign in to comment.