nutanix / calm-dsl

Keep Calm and DSL On!
https://nutanix.github.io/calm-dsl/
Apache License 2.0
32 stars 51 forks source link

[BUG] Failed to create VMWare brownfield app - fails whether specifying instance_name, ip_address, or instance_id #226

Closed ntnxnelson closed 5 months ago

ntnxnelson commented 2 years ago

Describe the bug When attempting to create a VMWare Brownfield app, the creation is failing with the following:

File "/home/centos/calm-dsl/calm/dsl/builtins/models/brownfield.py", line 334, in get_vmware_bf_vm_data e_address_list = e_resources["guest.ipAddress"] KeyError: 'guest.ipAddress'

Branch/Container master

Expected behavior The brownfield app should be created upon specifying either the vm_name, ip_address, or instance_id in the brownfield.py file

Available Logs/Data (venv) [centos@DevWorkstation-2822 separate_file_example]$ calm launch bp esx_bfi_test --app_name cjn-esx-bfi-001 -b esx_brownfield.py [2022-04-05 17:24:22] [INFO] [calm.dsl.cli.bps:1245] Searching for existing applications with name cjn-esx-bfi-001 [2022-04-05 17:24:22] [INFO] [calm.dsl.cli.bps:1260] No existing application found with name cjn-esx-bfi-001 [2022-04-05 17:24:22] [INFO] [calm.dsl.cli.bps:646] esx_bfi_test found [2022-04-05 17:24:22] [INFO] [calm.dsl.cli.bps:1278] Fetching runtime editables in the blueprint Traceback (most recent call last): File "/home/centos/calm-dsl/venv/bin/calm", line 33, in sys.exit(load_entry_point('calm.dsl', 'console_scripts', 'calm')()) File "/home/centos/calm-dsl/venv/lib64/python3.6/site-packages/click/core.py", line 829, in call return self.main(args, kwargs) File "/home/centos/calm-dsl/venv/lib64/python3.6/site-packages/click/core.py", line 782, in main rv = self.invoke(ctx) File "/home/centos/calm-dsl/calm/dsl/cli/utils.py", line 127, in invoke return super().invoke(ctx) File "/home/centos/calm-dsl/venv/lib64/python3.6/site-packages/click/core.py", line 1259, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/home/centos/calm-dsl/calm/dsl/cli/utils.py", line 127, in invoke return super().invoke(ctx) File "/home/centos/calm-dsl/venv/lib64/python3.6/site-packages/click/core.py", line 1259, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/home/centos/calm-dsl/venv/lib64/python3.6/site-packages/click/core.py", line 1066, in invoke return ctx.invoke(self.callback, ctx.params) File "/home/centos/calm-dsl/venv/lib64/python3.6/site-packages/click/core.py", line 610, in invoke return callback(args, kwargs) File "/home/centos/calm-dsl/calm/dsl/cli/bp_commands.py", line 389, in launch_blueprint_command brownfield_deployment_file=brownfield_deployment_file, File "/home/centos/calm-dsl/calm/dsl/cli/bps.py", line 1358, in launch_blueprint_simple _bf_dep = _bf_dep.get_dict() File "/home/centos/calm-dsl/calm/dsl/builtins/models/entity.py", line 603, in get_dict return json.loads(cls.json_dumps()) File "/home/centos/calm-dsl/calm/dsl/builtins/models/entity.py", line 563, in json_dumps separators=(",", ": ") if pprint else (",", ":"), File "/usr/lib64/python3.6/json/init.py", line 238, in dumps kw).encode(obj) File "/usr/lib64/python3.6/json/encoder.py", line 199, in encode chunks = self.iterencode(o, _one_shot=True) File "/usr/lib64/python3.6/json/encoder.py", line 257, in iterencode return _iterencode(o, 0) File "/home/centos/calm-dsl/calm/dsl/builtins/models/entity.py", line 617, in default return cls.generate_payload() File "/home/centos/calm-dsl/calm/dsl/builtins/models/entity.py", line 437, in generate_payload cdict = cls.compile() File "/home/centos/calm-dsl/calm/dsl/builtins/models/brownfield.py", line 567, in compile instance_id=cdict["instance_id"], File "/home/centos/calm-dsl/calm/dsl/builtins/models/brownfield.py", line 334, in get_vmware_bf_vm_data e_address_list = e_resources["guest.ipAddress"] KeyError: 'guest.ipAddress' (venv) [centos@DevWorkstation-2822 separate_file_example]$

dwivediprab commented 5 months ago

PR: https://github.com/ideadevice/calm-dsl/pull/272