Example #1
0
    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)
Example #2
0
    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
Example #3
0
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)
Example #4
0
 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')
Example #5
0
    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')