def connection_for_env(self, **kwargs): """ Returns a boto ec2 connection for the current environment. """ access_key = os.getenv('EC2_ACCESS_KEY') secret_key = os.getenv('EC2_SECRET_KEY') clc_url = os.getenv('EC2_URL') if not access_key or not secret_key or not clc_url: raise Exception('Missing EC2 environment variables. Please source ' 'the appropriate novarc file before running this ' 'test.') parts = self.split_clc_url(clc_url) if FLAGS.use_ipv6: return boto_v6.connect_ec2(aws_access_key_id=access_key, aws_secret_access_key=secret_key, is_secure=parts['is_secure'], region=regioninfo.RegionInfo( None, 'nova', parts['ip']), port=parts['port'], path='/services/Cloud', **kwargs) return boto.connect_ec2(aws_access_key_id=access_key, aws_secret_access_key=secret_key, is_secure=parts['is_secure'], region=regioninfo.RegionInfo( None, 'nova', parts['ip']), port=parts['port'], path='/services/Cloud', **kwargs)
def expect_http(self, host=None, is_secure=False, api_version=None): """Returns a new EC2 connection.""" self.ec2 = boto.connect_ec2(aws_access_key_id='fake', aws_secret_access_key='fake', is_secure=False, region=regioninfo.RegionInfo( None, 'test', self.host), port=8773, path='/services/Cloud') if api_version: self.ec2.APIVersion = api_version self.mox.StubOutWithMock(self.ec2, 'new_http_connection') self.http = FakeHttplibConnection(self.app, '%s:8773' % (self.host), False) # pylint: disable=E1103 if versionutils.is_compatible('2.14', boto.Version, same_major=False): self.ec2.new_http_connection(host or self.host, 8773, is_secure).AndReturn(self.http) elif versionutils.is_compatible('2', boto.Version, same_major=False): self.ec2.new_http_connection(host or '%s:8773' % (self.host), is_secure).AndReturn(self.http) else: self.ec2.new_http_connection(host, is_secure).AndReturn(self.http) return self.http
def get_cloudwatch_client(access_key=None, secret_key=None): region = regioninfo.RegionInfo(None, 'Test', FLAGS.get('test_synaps_ip')) ak = access_key or FLAGS.get('test_access_key') sk = secret_key or FLAGS.get('test_secret_key') return CloudWatchConnection(aws_access_key_id=ak, aws_secret_access_key=sk, is_secure=False, port=FLAGS.get('test_synaps_port'), path=FLAGS.get('test_synaps_path'), region=region)
def _get_ec2_connection(self, api_node_hostname): """ Connect to an EC2 instance """ # TODO - these are the dashboard user's hardcoded keys access_key = 'root' secret_key = 'citrix' return boto.connect_ec2(aws_access_key_id=access_key, aws_secret_access_key=secret_key, is_secure=False, region=regioninfo.RegionInfo( None, 'nova', api_node_hostname), port=8773, path='/services/Cloud')
def setUp(self): super(ApiEc2TestCase, self).setUp() self.users = users.UserManager.instance() self.cloud = cloud.CloudController() self.host = '127.0.0.1' self.app = api.APIServerApplication(self.users, {'Cloud': self.cloud}) self.ec2 = boto.connect_ec2(aws_access_key_id='fake', aws_secret_access_key='fake', is_secure=False, region=regioninfo.RegionInfo( None, 'test', self.host), port=FLAGS.cc_port, path='/services/Cloud') self.mox.StubOutWithMock(self.ec2, 'new_http_connection')