cryptobiu / MATRIX

MPC Simulation Framework
MIT License
24 stars 13 forks source link

AWS Deployment: Termination/Start/Stop fails #13

Closed lenerd closed 6 years ago

lenerd commented 6 years ago

Hi, I am able to start instances on AWS using the 1. Deploy Instance(s) option. When I try to terminate them using 5. Terminate machines (or with 7. Start instances or 8. Stop instances), I get the following error:

Welcome to MATRIX system.
Please Insert your choice:
1. Deploy Menu
2. Execute Menu
3. Analysis Menu
4. Generate Circuits
5. Exit
Your choice:1
Enter configuration file(s):
Configuration file path (current path is: /path/to/MATRIX): ProtocolsConfigurations/Config_BMR.json
Choose cloud provider:
1. AWS
2. Scaleway
Your choice:1
Choose deployment task
1. Deploy Instance(s)
2. Create Key pair(s)
3. Create security group(s)
4. Get instances network data
5. Terminate machines
6. Change machines types
7. Start instances 
8. Stop instances
Your choice:5
---------------------------------------------------------------------------
ClientError                               Traceback (most recent call last)
/path/to/MATRIX/main.py in <module>()
    169 
    170 if __name__ == '__main__':
--> 171     main()

/path/to/MATRIX/main.py in main()
    157 
    158             if selection == '1':
--> 159                 print_instances_management_menu(conf_file_path)
    160 
    161             elif selection == '2':

/path/to/MATRIX/main.py in print_instances_management_menu(conf_file_path)
     60             deploy.get_network_details()
     61         elif selection == '5':
---> 62             deploy.terminate()
     63         elif selection == '6':
     64             deploy.change_instance_types()

/path/to/MATRIX/Deployment/aws_deploy.py in terminate(self)
    319 
    320             client = boto3.client('ec2', region_name=region_name)
--> 321             client.terminate_instances(InstanceIds=instances)

/path/to/MATRIX/.venv/lib/python3.7/site-packages/botocore/client.py in _api_call(self, *args, **kwargs)
    318                     "%s() only accepts keyword arguments." % py_operation_name)
    319             # The "self" in this scope is referring to the BaseClient.
--> 320             return self._make_api_call(operation_name, kwargs)
    321 
    322         _api_call.__name__ = str(py_operation_name)

/path/to/MATRIX/.venv/lib/python3.7/site-packages/botocore/client.py in _make_api_call(self, operation_name, api_params)
    621             error_code = parsed_response.get("Error", {}).get("Code")
    622             error_class = self.exceptions.from_code(error_code)
--> 623             raise error_class(parsed_response, operation_name)
    624         else:
    625             return parsed_response

ClientError: An error occurred (InvalidParameterCombination) when calling the TerminateInstances operation: No instances specified
> /path/to/MATRIX/.venv/lib/python3.7/site-packages/botocore/client.py(623)_make_api_call()
    621             error_code = parsed_response.get("Error", {}).get("Code")
    622             error_class = self.exceptions.from_code(error_code)
--> 623             raise error_class(parsed_response, operation_name)
    624         else:
    625             return parsed_response