{"action":"created","issue":{"url":"https://api.github.com/repos/QualiSystems/AWS-Shell/issues/7","repository_url":"https://api.github.com/repos/QualiSystems/AWS-Shell","labels_url":"https://api.github.com/repos/QualiSystems/AWS-Shell/issues/7/labels{/name}","comments_url":"https://api.github.com/repos/QualiSystems/AWS-Shell/issues/7/comments","events_url":"https://api.github.com/repos/QualiSystems/AWS-Shell/issues/7/events","html_url":"https://github.com/QualiSystems/AWS-Shell/issues/7","id":145612160,"number":7,"title":"Prepare Sandbox Connectivity command (prior to deploy)","user":{"login":"alexazarh","id":6730546,"avatar_url":"https://avatars.githubusercontent.com/u/6730546?v=3","gravatar_id":"","url":"https://api.github.com/users/alexazarh","html_url":"https://github.com/alexazarh","followers_url":"https://api.github.com/users/alexazarh/followers","following_url":"https://api.github.com/users/alexazarh/following{/other_user}","gists_url":"https://api.github.com/users/alexazarh/gists{/gist_id}","starred_url":"https://api.github.com/users/alexazarh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexazarh/subscriptions","organizations_url":"https://api.github.com/users/alexazarh/orgs","repos_url":"https://api.github.com/users/alexazarh/repos","events_url":"https://api.github.com/users/alexazarh/events{/privacy}","received_events_url":"https://api.github.com/users/alexazarh/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/QualiSystems/AWS-Shell/labels/connectivity%20setup","name":"connectivity setup","color":"bfdadc"},{"url":"https://api.github.com/repos/QualiSystems/AWS-Shell/labels/F-connectivity","name":"F-connectivity","color":"fef2c0"},{"url":"https://api.github.com/repos/QualiSystems/AWS-Shell/labels/ready%20to%20test","name":"ready to test","color":"d4c5f9"},{"url":"https://api.github.com/repos/QualiSystems/AWS-Shell/labels/Test%20Plan","name":"Test Plan","color":"1d76db"},{"url":"https://api.github.com/repos/QualiSystems/AWS-Shell/labels/Version%207.1","name":"Version 7.1","color":"0e8a16"}],"state":"open","locked":false,"assignee":{"login":"razaba","id":8998560,"avatar_url":"https://avatars.githubusercontent.com/u/8998560?v=3","gravatar_id":"","url":"https://api.github.com/users/razaba","html_url":"https://github.com/razaba","followers_url":"https://api.github.com/users/razaba/followers","following_url":"https://api.github.com/users/razaba/following{/other_user}","gists_url":"https://api.github.com/users/razaba/gists{/gist_id}","starred_url":"https://api.github.com/users/razaba/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/razaba/subscriptions","organizations_url":"https://api.github.com/users/razaba/orgs","repos_url":"https://api.github.com/users/razaba/repos","events_url":"https://api.github.com/users/razaba/events{/privacy}","received_events_url":"https://api.github.com/users/razaba/received_events","type":"User","site_admin":false},"assignees":[{"login":"razaba","id":8998560,"avatar_url":"https://avatars.githubusercontent.com/u/8998560?v=3","gravatar_id":"","url":"https://api.github.com/users/razaba","html_url":"https://github.com/razaba","followers_url":"https://api.github.com/users/razaba/followers","following_url":"https://api.github.com/users/razaba/following{/other_user}","gists_url":"https://api.github.com/users/razaba/gists{/gist_id}","starred_url":"https://api.github.com/users/razaba/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/razaba/subscriptions","organizations_url":"https://api.github.com/users/razaba/orgs","repos_url":"https://api.github.com/users/razaba/repos","events_url":"https://api.github.com/users/razaba/events{/privacy}","received_events_url":"https://api.github.com/users/razaba/received_events","type":"User","site_admin":false},{"login":"TaiTheGreat","id":18596231,"avatar_url":"https://avatars.githubusercontent.com/u/18596231?v=3","gravatar_id":"","url":"https://api.github.com/users/TaiTheGreat","html_url":"https://github.com/TaiTheGreat","followers_url":"https://api.github.com/users/TaiTheGreat/followers","following_url":"https://api.github.com/users/TaiTheGreat/following{/other_user}","gists_url":"https://api.github.com/users/TaiTheGreat/gists{/gist_id}","starred_url":"https://api.github.com/users/TaiTheGreat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TaiTheGreat/subscriptions","organizations_url":"https://api.github.com/users/TaiTheGreat/orgs","repos_url":"https://api.github.com/users/TaiTheGreat/repos","events_url":"https://api.github.com/users/TaiTheGreat/events{/privacy}","received_events_url":"https://api.github.com/users/TaiTheGreat/received_events","type":"User","site_admin":false}],"milestone":null,"comments":2,"created_at":"2016-04-04T07:57:15Z","updated_at":"2016-07-04T13:22:17Z","closed_at":null,"body":"Add a PrepareSandboxConnectivity command to the aws shell. The command will create the VPC and subnet with the CIDR from the pool. And create the VPC peering with the management VPC. And also create a default security group for the sandbox.\n\nThis command should also create a key that will be used for all instances within the same reservation. This key should be located in an S3 bucket (the bucket will already exist and its name should be taken from an attribute named \"Keypairs Location\" on the AWS EC2 resource). The key name should be the reservation Id.\n\nNotes:\n- the command can only be called once from a reservation from the sandbox setup.\n- if a vpc with the same reservation id tag already exist tahn throw exception\n- the VPC and Subnet share the same CIDR allocated from the pool\n- the default sandbox SG should allow connectivity between all instances with the same SG and allow external inbound traffic for all the management SG (taken from an attribute named \"Management SG ID\" on the AWS EC2) for the ports needed by QualiX and Execution Server. Need to identify the ports (QualiX ports + standard ports for installation scripts) - talk to Alex Abugov/Tomer\n\n![img_20160601_160019](https://cloud.githubusercontent.com/assets/6730546/15804165/f8f63d12-2b08-11e6-9f5b-5269551a2feb.jpg)\n\n\n\nThe whole flow (this story is only part 3) - \n---------------\n(1) Setup - gets VPC and Subnet CIDR from pool (via pool API)\npass them to\n\n(2) PrepareSandboxConnectivity  API - gets CIDR for the VPC/Subnet from the pool + finds the AWS EC2 resource in the reservation and calls its PrepareConnectivity command, passes the VPC and Subnet CIDR\n\n(3) PrepareSandboxConnectivity command in AWS EC2 resource validates there is no VPC with the res_id, creates the VPC and CIDR and the SG, return their info as output"},"comment":{"url":"https://api.github.com/repos/QualiSystems/AWS-Shell/issues/comments/230289505","html_url":"https://github.com/QualiSystems/AWS-Shell/issues/7#issuecomment-230289505","issue_url":"https://api.github.com/repos/QualiSystems/AWS-Shell/issues/7","id":230289505,"user":{"login":"alexazarh","id":6730546,"avatar_url":"https://avatars.githubusercontent.com/u/6730546?v=3","gravatar_id":"","url":"https://api.github.com/users/alexazarh","html_url":"https://github.com/alexazarh","followers_url":"https://api.github.com/users/alexazarh/followers","following_url":"https://api.github.com/users/alexazarh/following{/other_user}","gists_url":"https://api.github.com/users/alexazarh/gists{/gist_id}","starred_url":"https://api.github.com/users/alexazarh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexazarh/subscriptions","organizations_url":"https://api.github.com/users/alexazarh/orgs","repos_url":"https://api.github.com/users/alexazarh/repos","events_url":"https://api.github.com/users/alexazarh/events{/privacy}","received_events_url":"https://api.github.com/users/alexazarh/received_events","type":"User","site_admin":false},"created_at":"2016-07-04T13:22:17Z","updated_at":"2016-07-04T13:22:17Z","body":"We also need to create an internet gateway as part of this story. This is mandatory if we want to use public/elastic ip's"}}
{"actor":{"display_login":"alexazarh"}}