https://pulumi.com logo
Docs
Join the conversationJoin Slack
Channels
announcements
automation-api
aws
azure
blog-posts
built-with-pulumi
cloudengineering
cloudengineering-support
content-share
contribex
contribute
docs
dotnet
finops
general
getting-started
gitlab
golang
google-cloud
hackathon-03-19-2020
hacktoberfest
install
java
jobs
kubernetes
learn-pulumi-events
linen
localstack
multi-language-hackathon
office-hours
oracle-cloud-infrastructure
plugin-framework
pulumi-cdk
pulumi-crosscode
pulumi-deployments
pulumi-kubernetes-operator
pulumi-service
pulumiverse
python
registry
status
testingtesting123
testingtesting321
typescript
welcome
workshops
yaml
Powered by Linen
aws
  • f

    faint-motherboard-95438

    05/14/2020, 5:15 PM
    I’m getting a panic error while trying to provision an
    eks.createManagedNodeGroup
    , does anyone get this too ? Am I doing something wrong here ?
  • f

    faint-motherboard-95438

    05/14/2020, 5:15 PM
    panic: fatal: An assertion has failed: Kubernetes GVK is: "urn:pulumi:integration::platform::platform:API$aws:eks/nodeGroup:NodeGroup::api-integration-default-managed-ng"
        goroutine 14 [running]:
        <http://github.com/pulumi/pulumi/sdk/v2/go/common/util/contract.failfast(...)|github.com/pulumi/pulumi/sdk/v2/go/common/util/contract.failfast(...)>
            /home/travis/gopath/pkg/mod/github.com/pulumi/pulumi/sdk/v2@v2.1.1-0.20200506045153-0e512aa0ef84/go/common/util/contract/failfast.go:23
        <http://github.com/pulumi/pulumi/sdk/v2/go/common/util/contract.Assertf(0xc0005aa000|github.com/pulumi/pulumi/sdk/v2/go/common/util/contract.Assertf(0xc0005aa000>, 0x2582fac, 0x15, 0xc000693438, 0x1, 0x1)
            /home/travis/gopath/pkg/mod/github.com/pulumi/pulumi/sdk/v2@v2.1.1-0.20200506045153-0e512aa0ef84/go/common/util/contract/assert.go:33 +0x197
        <http://github.com/pulumi/pulumi-kubernetes/provider/v2/pkg/provider.(*kubeProvider).gvkFromURN(0xc000268000|github.com/pulumi/pulumi-kubernetes/provider/v2/pkg/provider.(*kubeProvider).gvkFromURN(0xc000268000>, 0xc0005aa000, 0x6e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x22dc8a4, ...)
            /home/travis/gopath/src/github.com/pulumi/pulumi-kubernetes/provider/pkg/provider/provider.go:1933 +0x13e
        <http://github.com/pulumi/pulumi-kubernetes/provider/v2/pkg/provider.(*kubeProvider).Check(0xc000268000|github.com/pulumi/pulumi-kubernetes/provider/v2/pkg/provider.(*kubeProvider).Check(0xc000268000>, 0x28077a0, 0xc00027fbc0, 0xc00009e340, 0xc000268000, 0x235cf01, 0xc00009e400)
            /home/travis/gopath/src/github.com/pulumi/pulumi-kubernetes/provider/pkg/provider/provider.go:979 +0x92c
        <http://github.com/pulumi/pulumi/sdk/v2/proto/go._ResourceProvider_Check_Handler.func1(0x28077a0|github.com/pulumi/pulumi/sdk/v2/proto/go._ResourceProvider_Check_Handler.func1(0x28077a0>, 0xc00027fbc0, 0x248d720, 0xc00009e340, 0x24ba980, 0x34d4ba0, 0x28077a0, 0xc00027fbc0)
            /home/travis/gopath/pkg/mod/github.com/pulumi/pulumi/sdk/v2@v2.1.1-0.20200506045153-0e512aa0ef84/proto/go/provider.pb.go:1848 +0x86
        <http://github.com/grpc-ecosystem/grpc-opentracing/go/otgrpc.OpenTracingServerInterceptor.func1(0x28077a0|github.com/grpc-ecosystem/grpc-opentracing/go/otgrpc.OpenTracingServerInterceptor.func1(0x28077a0>, 0xc0000caff0, 0x248d720, 0xc00009e340, 0xc00017a5c0, 0xc00017a5e0, 0x0, 0x0, 0x27c37c0, 0xc000080b30)
            /home/travis/gopath/pkg/mod/github.com/grpc-ecosystem/grpc-opentracing@v0.0.0-20180507213350-8e809c8a8645/go/otgrpc/server.go:57 +0x2f9
        <http://github.com/pulumi/pulumi/sdk/v2/proto/go._ResourceProvider_Check_Handler(0x24ffd00|github.com/pulumi/pulumi/sdk/v2/proto/go._ResourceProvider_Check_Handler(0x24ffd00>, 0xc000268000, 0x28077a0, 0xc0000caff0, 0xc000050720, 0xc0000d2080, 0x28077a0, 0xc0000caff0, 0xc000582000, 0x255)
            /home/travis/gopath/pkg/mod/github.com/pulumi/pulumi/sdk/v2@v2.1.1-0.20200506045153-0e512aa0ef84/proto/go/provider.pb.go:1850 +0x14b
        <http://google.golang.org/grpc.(*Server).processUnaryRPC(0xc0000e44e0|google.golang.org/grpc.(*Server).processUnaryRPC(0xc0000e44e0>, 0x28262e0, 0xc000496600, 0xc000466c00, 0xc0003a6180, 0x349fe18, 0x0, 0x0, 0x0)
            /home/travis/gopath/pkg/mod/google.golang.org/grpc@v1.28.0/server.go:1082 +0x4fd
        <http://google.golang.org/grpc.(*Server).handleStream(0xc0000e44e0|google.golang.org/grpc.(*Server).handleStream(0xc0000e44e0>, 0x28262e0, 0xc000496600, 0xc000466c00, 0x0)
            /home/travis/gopath/pkg/mod/google.golang.org/grpc@v1.28.0/server.go:1405 +0xd23
        <http://google.golang.org/grpc.(*Server).serveStreams.func1.1(0xc00017c280|google.golang.org/grpc.(*Server).serveStreams.func1.1(0xc00017c280>, 0xc0000e44e0, 0x28262e0, 0xc000496600, 0xc000466c00)
            /home/travis/gopath/pkg/mod/google.golang.org/grpc@v1.28.0/server.go:746 +0xbb
        created by <http://google.golang.org/grpc.(*Server).serveStreams.func1|google.golang.org/grpc.(*Server).serveStreams.func1>
            /home/travis/gopath/pkg/mod/google.golang.org/grpc@v1.28.0/server.go:744 +0xa1
  • f

    faint-motherboard-95438

    05/14/2020, 5:15 PM
    My snippet:
    const nodeGroup = eks.createManagedNodeGroup(`${name}-default-managed-ng`, {
          cluster,
          nodeGroupName: 'default-managed-ng-1',
          nodeRole: serviceRole,
          labels: { ondemand: 'true' },
          tags: { env: 'integration' },
        }, this, k8sProvider)
  • b

    best-receptionist-98400

    05/14/2020, 6:34 PM
    How would one set the name of a resulting Spot Instance that was created from a SpotInstanceRequest. Right now, whenever the SpotInstanceRequest is fulfilled, it creates the instance, but it has no name. Furthermore, how would you set the tags on the resulting instance?
  • s

    sparse-state-34229

    05/14/2020, 6:36 PM
    https://www.pulumi.com/docs/reference/pkg/aws/ec2/spotinstancerequest/ this says you can pass
    tags
  • b

    best-receptionist-98400

    05/14/2020, 6:37 PM
    Those are only tags for the Spot Instance request, they don't get passed along to the resulting EC2 instance.
  • s

    sparse-state-34229

    05/14/2020, 6:39 PM
    really?
  • b

    best-receptionist-98400

    05/14/2020, 6:40 PM
    Yep. I've confirmed it.
  • s

    sparse-state-34229

    05/14/2020, 6:40 PM
    weird, that’s a bummer
  • b

    best-receptionist-98400

    05/14/2020, 6:48 PM
    To be fair, when I try to set up a spot instance request via the Console, I don't see a place to add a name for it either.
  • s

    sparse-state-34229

    05/14/2020, 7:04 PM
    yeah sorry, i. haven’t used spot instances in years so i can’t recall how i did it
  • c

    chilly-hairdresser-56259

    05/14/2020, 7:06 PM
    Should be able to take the request, did you check the "Fleet" in advanced under tags?
  • c

    chilly-hairdresser-56259

    05/14/2020, 7:07 PM
    Advanced -> Tags -> Check Box
  • b

    best-receptionist-98400

    05/14/2020, 7:07 PM
    I'm assuming I'll have to do a two step process. First step is to create the instance request, and then the second will be to look up the Resulting EC2 instance and update it.
  • b

    best-receptionist-98400

    05/14/2020, 7:07 PM
    I will check that now.
  • c

    chilly-hairdresser-56259

    05/14/2020, 7:08 PM
    When I was doing EKS I could tags all my spots instances, I used Cloudformation (before I knew Pulumi Existed)
  • b

    best-receptionist-98400

    05/14/2020, 7:10 PM
    You can definitely add tags to the spot instances created from the request, I was just hoping there was a way to configure that when I create the SpotInstanceRequesst
  • s

    sparse-state-34229

    05/14/2020, 7:11 PM
    hm, yeah looks like you have to do it manually https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html#concepts-spot-instances-request-tags
  • b

    best-receptionist-98400

    05/14/2020, 7:15 PM
    Yea, what I might do is set the
    WaitForFulfillment
    tag on the SpotInstanceRequest, and then once it's been fulfilled I will run the GET on the resulting instance, and add the tags then. It will make the initial run take a tad longer, but I'd rather get the resulting instance set up all the way if I can.
  • b

    best-receptionist-98400

    05/14/2020, 7:45 PM
    Actually, how would I look up the resulting instance if there is no Name assigned to it and it's a required parameter? https://www.pulumi.com/docs/reference/pkg/aws/ec2/spotinstancerequest/#look-up Also, how do I invoke that?
  • s

    sparse-state-34229

    05/14/2020, 7:47 PM
    the spot instance request object should have an attribute
    spot_instance_id
    that you can use
    b
    • 2
    • 4
  • s

    sparse-state-34229

    05/14/2020, 7:48 PM
    to get the instance object
  • a

    acceptable-stone-35112

    05/15/2020, 11:33 AM
    Is it possible to have multiple policy packs in same project? Currently it seems only one is supported per project/folder. I prefer to use several small packs without overhead of creating new project with node_modules, etc... for few lines of code in each
    g
    • 2
    • 10
  • h

    hundreds-receptionist-31352

    05/18/2020, 6:44 PM
    Hi , I need to add some custom routes in a vpc, I'm using awsx.ec2.vpc , but not find the way to get the routes that are created , any insights ?
    g
    • 2
    • 2
  • i

    incalculable-engineer-92975

    05/20/2020, 6:51 PM
    When creating an EKS cluster, a Security Group is created implicitly. How do I replace or specify that group? We've tried using a Transform - and that works - but it only lets you modify the existing group. For auditing purposes what we want is to use a predefined SG - to replace the implicit SG.
    s
    • 2
    • 4
  • s

    sparse-state-34229

    05/21/2020, 5:47 AM
    is anyone using self managed EKS node groups with pulumi?
  • s

    sparse-state-34229

    05/21/2020, 5:50 AM
    it’s possible to specify an AMI ID with cloudformation but I don’t see that anywhere in pulumi (or terraform, for that matter)
  • b

    best-receptionist-98400

    05/21/2020, 12:47 PM
    Is there a way to set the PrivateIP of a spot instance that is created from a SpotFleetRequest? It looks like the option is there on the
    SpotInstanceRequest
    but it is not on the
    SpotFleetRequest
    or
    LaunchConfiguration
    for the SpotFleetRequest.
  • b

    broad-dog-22463

    05/21/2020, 10:25 PM
    @high-postman-55219 restarting thread
    h
    • 2
    • 33
  • b

    best-receptionist-98400

    05/22/2020, 1:19 PM
    Hoping to get some guidance on this issue we're running in to on the best way to solve it end to end. We're trying to use Spot Instances for a dev environments. It seems like SpotFleetRequests (With LaunchConfigurations) get us most of the way there, but lack some additional properties only exposed by SpotInstanceRequests and vice versa. Here's a list of different values so far: • NetworkInterfaces - Only on SpotInstanceRequest • PrivateIp - Only on SpotInstanceRequest • LoanBalancers - Only on SpotFleetRequest.LaunchConfig • Tags - Only on SpotFleetRequest.LaunchConfig. I know you can set tags on the SpotInstanceRequest but those apply only to the request, not the resulting Ec2 Instance but appears to be a limitation of AWS for some reason. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html I am curious why you can't set these on either the SpotFleetRequest.LaunchConfigurations or the SpotInstanceRequest (minus Tags, that one seems like an AWS limitation). I'm just looking on guidance for the best way to get an spot EC2 instance created with all of those values set. Do I have to do something like: • Use SpotInstanceRequest to be able to set the NetworkInterfaceId, and PrivateIP • Another step that
    dependsOn
    the step above to
    waitForFulfillment
    that imports the resulting Ec2 instance in to the stack so I can modify it • Update the Ec2 Instance I just imported to add the necessary tags • another step that
    dependsOn
    the tags being added that then goes to attach this instance to the load balancer? Or alternatively: • Use the SpotFleetRequest to be able to set the Tags and Load Balancer • Another step that
    dependsOn
    the step above to
    waitForFulfillment
    that imports the resulting Ec2 instance in to the stack so I can modify it • Update the Ec2 Instance I just imported to have a different NetworkInterfaceId and specific PrivateIP I'm just wondering if I'm missing anything here, or if that is the way I would need to go about this. Thanks.
    w
    • 2
    • 3
Powered by Linen
Title
b

best-receptionist-98400

05/22/2020, 1:19 PM
Hoping to get some guidance on this issue we're running in to on the best way to solve it end to end. We're trying to use Spot Instances for a dev environments. It seems like SpotFleetRequests (With LaunchConfigurations) get us most of the way there, but lack some additional properties only exposed by SpotInstanceRequests and vice versa. Here's a list of different values so far: • NetworkInterfaces - Only on SpotInstanceRequest • PrivateIp - Only on SpotInstanceRequest • LoanBalancers - Only on SpotFleetRequest.LaunchConfig • Tags - Only on SpotFleetRequest.LaunchConfig. I know you can set tags on the SpotInstanceRequest but those apply only to the request, not the resulting Ec2 Instance but appears to be a limitation of AWS for some reason. https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html I am curious why you can't set these on either the SpotFleetRequest.LaunchConfigurations or the SpotInstanceRequest (minus Tags, that one seems like an AWS limitation). I'm just looking on guidance for the best way to get an spot EC2 instance created with all of those values set. Do I have to do something like: • Use SpotInstanceRequest to be able to set the NetworkInterfaceId, and PrivateIP • Another step that
dependsOn
the step above to
waitForFulfillment
that imports the resulting Ec2 instance in to the stack so I can modify it • Update the Ec2 Instance I just imported to add the necessary tags • another step that
dependsOn
the tags being added that then goes to attach this instance to the load balancer? Or alternatively: • Use the SpotFleetRequest to be able to set the Tags and Load Balancer • Another step that
dependsOn
the step above to
waitForFulfillment
that imports the resulting Ec2 instance in to the stack so I can modify it • Update the Ec2 Instance I just imported to have a different NetworkInterfaceId and specific PrivateIP I'm just wondering if I'm missing anything here, or if that is the way I would need to go about this. Thanks.
w

white-balloon-205

05/22/2020, 9:43 PM
Tags - Only on SpotFleetRequest.LaunchConfig. I know you can set tags on the SpotInstanceRequest but those apply only to the request, not the resulting Ec2 Instance but appears to be a limitation of AWS for some reason.
Yeah - this appears to be an (unfortunate) AWS limitation.
LoanBalancers, NetworkInterfaces, PrivateIP
I think these differences are really about single instance vs. multiple instances. Which scenario are you trying to accomplish? I think your high-order-bit would likely to be to align to which of those matches what you want.
imports the resulting Ec2 instance in to the stack so I can modify it
That could work. Alternatively, if tagging is the thing you want to update, you could just wait for availability and then call
create-tags
yourself using the AWS SDK. Along the lines of https://gist.github.com/lukehoban/fd0355ed5b82386bd89c0ffe2a3c916a#file-waitforjob-ts-L20.
b

best-receptionist-98400

05/26/2020, 2:18 PM
@white-balloon-205 Thanks for reply!! I think you're idea of using the AWS SDK is pretty interesting. So I could use that from within the
MyStack
class after it's done running? Do you know of any C# examples that show something like that? I was looking around on how to invoke the
isDryRun
in C# but couldn't find anything.
@white-balloon-205 I was able to figure out how to get access to
IsDryRun
, but I'm still having trouble with the "waiting" part. I haven't been able to get the SpotInstanceId from the SpotInstanceRequest yet.
View count: 1