Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Only empty results are returned #3

Closed
jrake-revelant opened this issue Sep 8, 2020 · 5 comments
Closed

Only empty results are returned #3

jrake-revelant opened this issue Sep 8, 2020 · 5 comments

Comments

@jrake-revelant
Copy link

awsets list --regions eu-central-1 -o all.json --include ec2 yields an empty file:

❯ cat all.json
[]%
``

Verbose output:

❯ awsets list --regions eu-central-1 -o all.json --include ec2 -v
regions: [eu-central-1]
resource types: [ec2/eip ec2/flowlog ec2/image ec2/instance ec2/internetgateway ec2/keypair ec2/launchtemplate ec2/natgateway ec2/networkacl ec2/networkinterface ec2/routetable ec2/securitygroup ec2/snapshot ec2/subnet ec2/transitgateway ec2/volume ec2/vpc ec2/vpcpeering ec2/vpngateway]
querying 0 combinations
9: finished worker
1: finished worker
2: finished worker
0: finished worker
7: finished worker
3: finished worker
4: finished worker
6: finished worker
5: finished worker
8: finished worker


I double checked and `aws ec2 describe-instances` works as expected. What could be the issue?
@jcarter3
Copy link
Contributor

jcarter3 commented Sep 8, 2020

can you do a awsets version and tell me what version is being used here? this was broke in the first release but should have been fixed after. If not, I'll have to investigate further

@bciceron
Copy link

bciceron commented Sep 9, 2020

same problem here using v0.2.0

$ go get github.com/trek10inc/awsets/cmd/awsets
go: downloading github.com/trek10inc/awsets/cmd/awsets v0.0.0-20200908175407-c1723137ba70
go: downloading github.com/trek10inc/awsets v0.2.0
go: github.com/trek10inc/awsets/cmd/awsets upgrade => v0.0.0-20200908175407-c1723137ba70
go: downloading github.com/trek10inc/awsets v0.1.0
go: downloading github.com/emicklei/dot v0.11.0
go: downloading github.com/urfave/cli/v2 v2.2.0
go: downloading go.etcd.io/bbolt v1.3.5
go: downloading github.com/aws/aws-sdk-go-v2 v0.24.0
go: downloading github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d
go: downloading golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5
go: downloading github.com/russross/blackfriday/v2 v2.0.1
go: downloading github.com/fatih/structs v1.1.0
go: downloading github.com/shurcooL/sanitized_anchor_name v1.0.0

$ awsets version
awsets - version: dev commit: none date: unknown

but the cache does not seem empty:
-rw-r--r-- 1 me staff 32768 Sep 8 18:32 .awsets_cache

$ awsets list -v
regions: [ap-south-1 eu-west-2 ap-southeast-1 ap-southeast-2 us-east-2 eu-west-3 us-west-2 eu-west-1 ap-northeast-2 ca-central-1 eu-central-1 us-east-1 eu-north-1 ap-northeast-1 sa-east-1 us-west-1]
resource types: [accessanalyzer/analyzer acm/certificate apig/apikey apig/authorizer apig/basepathmapping apig/deployment apig/domainname apig/model apig/resource apig/restapi apig/stage apig/usageplan apig/usageplankey apigv2/api apigv2/apimapping apigv2/authorizer apigv2/deployment apigv2/domainname apigv2/integration appmesh/mesh appmesh/route appmesh/virtualnode appmesh/virtualrouter appmesh/virtualservice appsync/apikey appsync/datasource appsync/graphqlapi athena/namedquery athena/workgroup autoscaling/group autoscaling/launchconfig autoscaling/lifecyclehook autoscaling/policy autoscaling/scheduledaction backup/plan backup/selection backup/vault batch/computeenvironment batch/jobdefinition batch/jobqueue budgets/budget cloud9/environment cloudformation/stack cloudformation/stackset cloudfront/distribution cloudfront/originaccessidentity cloudfront/streamingdistribution cloudtrail/trail cloudwatch/alarm cloudwatch/dashboard codebuild/project codecommit/repository codepipeline/pipeline codepipeline/webhook cognito/userpool cognito/userpoolclient cognito/userpoolgroup cognito/userpoolidentityprovider cognito/userpoolresourceserver config/aggregationauthorizer config/configurationaggregator config/configurationrecorder config/deliverychannel config/rule dax/parametergroup dax/subnetgroup ddb/table dms/endpoint dms/replicationinstance dms/replicationsubnetgroup dms/replicationtask docdb/cluster docdb/instance docdb/parametergroup docdb/subnetgroup ec2/eip ec2/flowlog ec2/image ec2/instance ec2/internetgateway ec2/keypair ec2/launchtemplate ec2/natgateway ec2/networkacl ec2/networkinterface ec2/routetable ec2/securitygroup ec2/snapshot ec2/subnet ec2/transitgateway ec2/volume ec2/vpc ec2/vpcpeering ec2/vpngateway ecr/repository ecs/cluster ecs/service ecs/task ecs/taskdefinition efs/filesystem efs/mounttarget eks/cluster elasticache/cluster elasticache/parametergroup elasticache/replicationgroup elasticache/securitygroup elasticache/snapshot elasticache/subnetgroup elasticbeanstalk/application elasticbeanstalk/environment elasticsearch/domain elb/loadbalancer elbv2/listener elbv2/loadbalancer elbv2/targetgroup emr/cluster emr/instancefleetconfig emr/instancegroupconfig emr/securityconfiguration events/eventbus events/rule firehose/stream fsx/backup fsx/filesystem glue/database glue/table greengrass/connectordefinition greengrass/connectordefinitionversion greengrass/coredefinition greengrass/coredefinitionversion greengrass/devicedefinition greengrass/devicedefinitionversion greengrass/functiondefinition greengrass/functiondefinitionversion greengrass/group greengrass/groupversion greengrass/loggerdefinition greengrass/resourcedefinition greengrass/resourcedefinitionversion greengrass/subscriptiondefinition greengrass/subscriptiondefinitionversion iam/group iam/instanceprofile iam/policy iam/role iam/user iot/cacertificate iot/certificate iot/policy iot/thing iot/thinggroup iot/thingtype iot/topicrule kafka/cluster kinesis/stream kms/alias kms/key lambda/alias lambda/eventsourcemapping lambda/function lambda/layer lambda/layerversion lambda/version logs/loggroup logs/metricfilter logs/subsciptionfilter mq/broker mq/brokerconfiguration neptune/dbcluster neptune/dbclusterparametergroup neptune/dbclustersnapshot neptune/dbinstance neptune/dbparametergroup neptune/dbsubnetgroup qldb/ledger rds/dbcluster rds/dbclusterparametergroup rds/dbclustersnapshot rds/dbinstance rds/dbparametergroup rds/dbsnapshot rds/dbsubnetgroup redshift/cluster redshift/parametergroup redshift/securitygroup redshift/snapshot redshift/subnetgroup route53/healthcheck route53/hostedzone route53/recordset s3/bucket secretmanager/secret servicecatalog/acceptedportfolioshare servicecatalog/portfolio sns/subscription sns/topic sqs/queue ssm/document ssm/parameter stepfunction/statemachine waf/bytematchset waf/ipset waf/rule waf/sizeconstraintset waf/sqlinjectionmatchset waf/webacl waf/xssmatchset wafregional/bytematchset wafregional/geomatchset wafregional/ipset wafregional/ratebasedrule wafregional/regexpatternset wafregional/rule wafregional/sizeconstraintset wafregional/sqlinjectionmatchset wafregional/webacl wafregional/xssmatchset]
querying 0 combinations
2: finished worker
4: finished worker
5: finished worker
1: finished worker
6: finished worker
9: finished worker
0: finished worker
3: finished worker
8: finished worker
7: finished worker
[]

@jcarter3
Copy link
Contributor

jcarter3 commented Sep 9, 2020

I've narrowed down the problem, trying to come up with the "right" way to fix it. Installs done via go get are broke, but the distributed binaries are working. The issue is in the go.mod file, specifically these 2 lines:

https://github.com/trek10inc/awsets/blob/master/cmd/awsets/go.mod#L6
https://github.com/trek10inc/awsets/blob/master/cmd/awsets/go.mod#L14

When building the binaries, the replace directive makes sure the CLI build always uses the latest "library" portion of the code, and so overrides the v0.1.0 version of awsets that is specified on Line 6. When doing a go get, the replace doesn't happen and it's pulling in the old/broke version of the library.

@jcarter3
Copy link
Contributor

jcarter3 commented Sep 9, 2020

I came across this which seems to be the root of the problem: golang/go#30354

In the short term, it looks like my options are to either:

  • update installation instructions to do a git clone then go build && go install instead of a go get
  • find a way to automatically update the version in go.mod during the CI process

In the short term I'll likely do the first one while exploring the second, but I'm open to other ideas as well.

@jcarter3
Copy link
Contributor

I've added support for it to be installed via Homebrew:

brew tap trek10inc/tap
brew install awsets

and also updated the Readme to have "build from source" instructions to get around the current issue. I'll mark this as closed for now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants