Coder Social home page Coder Social logo

Comments (16)

dwilliams782 avatar dwilliams782 commented on June 16, 2024 5

I have the same issue, guessing it'll be a tf0.13 issue

from blast-radius.

xiaopeng163 avatar xiaopeng163 commented on June 16, 2024 1

another finding, it will work without any issue if there are no modules imported. @Ianyliu

from blast-radius.

NandoTheessen avatar NandoTheessen commented on June 16, 2024

Same issue, terraform 0.13.5

from blast-radius.

dano0b avatar dano0b commented on June 16, 2024

I have it with Terraform v0.14.9

from blast-radius.

jryan128 avatar jryan128 commented on June 16, 2024

I have the issue with Terraform v0.15.3

from blast-radius.

caiconkhicon avatar caiconkhicon commented on June 16, 2024

I have a same issue with 0.13.6 :( So sad I just found this great project which may help me visualizing Terraform graph.

from blast-radius.

alen-z avatar alen-z commented on June 16, 2024

Same error.

AttributeError: 'NoneType' object has no attribute 'groupdict' in blastradius/handlers/dot.py.

from blast-radius.

KieranP avatar KieranP commented on June 16, 2024

Same here on v1.0.4:

[2021-08-17 11:18:46,902] ERROR in app: Exception on /graph.svg [GET]
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/blastradius/handlers/dot.py", line 455, in _module
    return m.groupdict()['module']
AttributeError: 'NoneType' object has no attribute 'groupdict'

from blast-radius.

krystian1981 avatar krystian1981 commented on June 16, 2024

I have the issue with Terraform v0.15.5

from blast-radius.

xiaopeng163 avatar xiaopeng163 commented on June 16, 2024

same issue with terraform v1.2.9

[2022-09-23 22:09:27,966] ERROR in app: Exception on /graph.svg [GET]
Traceback (most recent call last):
  File "/home/vagrant/venv/terraform/lib/python3.8/site-packages/blastradius/handlers/dot.py", line 455, in _module
    return m.groupdict()['module']
AttributeError: 'NoneType' object has no attribute 'groupdict'

During handling of the above exception, another exception occurred:

from blast-radius.

Ianyliu avatar Ianyliu commented on June 16, 2024

Not sure if this will help, but you can try using my version of Blast Radius which I've tried to increase compatibility for.

Source Code:
Blast Radius Fork

Installation:
python3 -m pip install git+https://github.com/Ianyliu/blast-radius-fork

docker run --rm -it -p 5000:5000 \ -v $(pwd):/data:ro \ --security-opt apparmor:unconfined \ --cap-add=SYS_ADMIN \ ianyliu/blast-radius-fork

Docker image:

from blast-radius.

xiaopeng163 avatar xiaopeng163 commented on June 16, 2024

Not sure if this will help, but you can try using my version of Blast Radius which I've tried to increase compatibility for.

Source Code: Blast Radius Fork

Installation: python3 -m pip install git+https://github.com/Ianyliu/blast-radius-fork

docker run --rm -it -p 5000:5000 \ -v $(pwd):/data:ro \ --security-opt apparmor:unconfined \ --cap-add=SYS_ADMIN \ ianyliu/blast-radius-fork

Docker image:

got error like this

[2022-09-25 07:48:26,018] ERROR in app: Exception on /graph.svg [GET]
Traceback (most recent call last):
  File "/home/vagrant/venv/terraform/lib/python3.8/site-packages/lark/parsers/lalr_parser.py", line 59, in get_action
    return states[state][token.type]
KeyError: '__ANON_3'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/vagrant/venv/terraform/lib/python3.8/site-packages/flask/app.py", line 2077, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/vagrant/venv/terraform/lib/python3.8/site-packages/flask/app.py", line 1525, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/vagrant/venv/terraform/lib/python3.8/site-packages/flask/app.py", line 1523, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/vagrant/venv/terraform/lib/python3.8/site-packages/flask/app.py", line 1509, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
  File "/home/vagrant/venv/terraform/lib/python3.8/site-packages/blastradius/server/server.py", line 134, in graph_svg
    dot = initalizeDotGraph(content=run_tf_graph(),
  File "/home/vagrant/venv/terraform/lib/python3.8/site-packages/blastradius/server/server.py", line 215, in initalizeDotGraph
    tf = Terraform(os.getcwd())
  File "/home/vagrant/venv/terraform/lib/python3.8/site-packages/blastradius/handlers/terraform.py", line 29, in __init__
    self.config = hcl.load(config_io)
  File "/home/vagrant/venv/terraform/lib/python3.8/site-packages/hcl2/api.py", line 9, in load
    return loads(file.read())
  File "/home/vagrant/venv/terraform/lib/python3.8/site-packages/hcl2/api.py", line 18, in loads
    return hcl2.parse(text + "\n")
  File "/home/vagrant/venv/terraform/lib/python3.8/site-packages/lark/lark.py", line 464, in parse
    return self.parser.parse(text, start=start)
  File "/home/vagrant/venv/terraform/lib/python3.8/site-packages/lark/parser_frontends.py", line 115, in parse
    return self._parse(token_stream, start)
  File "/home/vagrant/venv/terraform/lib/python3.8/site-packages/lark/parser_frontends.py", line 63, in _parse
    return self.parser.parse(input, start, *args)
  File "/home/vagrant/venv/terraform/lib/python3.8/site-packages/lark/parsers/lalr_parser.py", line 35, in parse
    return self.parser.parse(*args)
  File "/home/vagrant/venv/terraform/lib/python3.8/site-packages/lark/parsers/lalr_parser.py", line 88, in parse
    action, arg = get_action(token)
  File "/home/vagrant/venv/terraform/lib/python3.8/site-packages/lark/parsers/lalr_parser.py", line 66, in get_action
    raise UnexpectedToken(token, expected, state=state, puppet=puppet)
lark.exceptions.UnexpectedToken: Unexpected token Token('__ANON_3', 'output') at line 302, column 3.
Expected one of: 
        * __ANON_0
        * __ANON_2
        * __ANON_1

127.0.0.1 - - [25/Sep/2022 07:48:26] "GET /graph.svg HTTP/1.1" 500 -

from blast-radius.

Ianyliu avatar Ianyliu commented on June 16, 2024

Do you happen to know if you're using HCL or HCL2?
I've updated one of the dependencies, python-hcl2 to see if it will help.
The problem occurred when parsing HCL files, and it's not the first time someone told me about it.
Since I'm not extremely familiar with HCL parsing either, I'm still trying to wrap my head around it

from blast-radius.

Ianyliu avatar Ianyliu commented on June 16, 2024

Hi @xiaopeng163,
Could you try testing out this version of Blast-Radius (fork)?

It should resolve the problems for remote modules
I integrated changes from Jrc356/blast-radius

The changes are on my dev branch, so to install it you would have to put:
pip install -U git+https://github.com/Ianyliu/blast-radius-fork@dev

If you use Docker and would like me to create a dev or testing image, please let me know as well

from blast-radius.

xiaopeng163 avatar xiaopeng163 commented on June 16, 2024

@Ianyliu seems working with the remote module, for example

module "vpc" {
  source  = "terraform-aws-modules/vpc/aws"
  version = ">= 3.14.2"

  name           = var.aws_vpc_name
  cidr           = var.aws_vpc_cidr
  azs            = var.aws_availability_zones
  public_subnets = [cidrsubnet(var.aws_vpc_cidr, 8, 1)]

  create_igw = true

  manage_default_security_group  = true
  default_security_group_egress  = var.aws_sg_egress_rules
  default_security_group_ingress = var.aws_sg_ingress_rules
}

image

but to be honest, this is not readable, seems it shows all resources defined in the module?

btw, the code still doesn't work for local modules like:

module "my_vpc" {

  source = "./modules/vpc"
  
  aws_vpc_cidr_block = var.aws_vpc_cidr_block

}

output "vpc_id" {
  
  value = module.my_vpc.id

}

from blast-radius.

Ianyliu avatar Ianyliu commented on June 16, 2024

@xiaopeng163
Was there a problem before with local modules? I assumed that your problem was just due to the modules being remote.
If the source is from another local file, I doubt it will work right now. But perhaps that is something I should work on.

Could you describe the problem in more detail? I don't really have any experience using local modules in Terraform.

from blast-radius.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.