Esempio n. 1
0
    def __init__(self, conf):
        super(CDNProvider, self).__init__(conf)

        self._conf.register_opts(AKAMAI_OPTIONS, group=AKAMAI_GROUP)
        self.akamai_conf = self._conf[AKAMAI_GROUP]
        self.akamai_policy_api_base_url = ''.join([
            str(self.akamai_conf.policy_api_base_url),
            'partner-api/v1/network/production/properties/',
            '{configuration_number}/sub-properties/{policy_name}/policy'
        ])
        self.akamai_ccu_api_base_url = ''.join(
            [str(self.akamai_conf.ccu_api_base_url), 'ccu/v2/queues/default'])

        self.http_conf_number = self.akamai_conf.akamai_http_config_number
        self.https_shared_conf_number = (
            self.akamai_conf.akamai_https_shared_config_number)
        self.https_san_conf_number = (
            self.akamai_conf.akamai_https_san_config_numbers[-1])
        self.https_custom_conf_number = (
            self.akamai_conf.akamai_https_custom_config_numbers[-1])

        self.akamai_access_url_link = self.akamai_conf.akamai_access_url_link
        self.akamai_https_access_url_suffix = (
            self.akamai_conf.akamai_https_access_url_suffix)

        self.akamai_policy_api_client = requests.Session()
        self.akamai_policy_api_client.auth = edgegrid.EdgeGridAuth(
            client_token=self.akamai_conf.policy_api_client_token,
            client_secret=self.akamai_conf.policy_api_client_secret,
            access_token=self.akamai_conf.policy_api_access_token)

        self.akamai_ccu_api_client = requests.Session()
        self.akamai_ccu_api_client.auth = edgegrid.EdgeGridAuth(
            client_token=self.akamai_conf.ccu_api_client_token,
            client_secret=self.akamai_conf.ccu_api_client_secret,
            access_token=self.akamai_conf.ccu_api_access_token)

        self.akamai_sps_api_base_url = ''.join([
            str(self.akamai_conf.policy_api_base_url),
            'config-secure-provisioning-service/v1'
            '/sps-requests/{spsId}?contractId=%s&groupId=%s' %
            (self.akamai_conf.contract_id, self.akamai_conf.group_id)
        ])

        self.akamai_sps_api_client = self.akamai_policy_api_client

        self.san_cert_cnames = self.akamai_conf.san_cert_cnames
        self.san_cert_hostname_limit = self.akamai_conf.san_cert_hostname_limit

        self.mod_san_queue = (zookeeper_queue.ZookeeperModSanQueue(self._conf))
Esempio n. 2
0
    def setUp(self):
        super(TestModSanQueue, self).setUp()
        self.cert_obj_json = {
            "cert_type": "san",
            "domain_name": "www.abc.com",
            "flavor_id": "premium"
        }
        zookeeper_client_patcher = mock.patch('kazoo.client.KazooClient')
        zookeeper_client_patcher.start()
        self.addCleanup(zookeeper_client_patcher.stop)

        self.conf = cfg.ConfigOpts()
        self.zk_queue = zookeeper_queue.ZookeeperModSanQueue(self.conf)

        self.zk_queue.mod_san_queue_backend = mock.Mock()
Esempio n. 3
0
    def setUp(self):
        super(TestModSanQueue, self).setUp()
        self.cert_obj_json = {
            "cert_type": "san",
            "domain_name": "www.abc.com",
            "flavor_id": "premium"
        }

        # Need this fake class bc zake's fake client
        # does not take any host parameters
        class fake_kz_client(fake_client.FakeClient):
            def __init__(self, hosts):
                super(self.__class__, self).__init__()

        zookeeper_client_patcher = mock.patch('kazoo.client.KazooClient',
                                              fake_kz_client)
        zookeeper_client_patcher.start()
        self.addCleanup(zookeeper_client_patcher.stop)

        self.conf = cfg.ConfigOpts()
        self.zk_queue = zookeeper_queue.ZookeeperModSanQueue(self.conf)
Esempio n. 4
0
    def __init__(self, conf):
        """Initialize Akamai driver.

        Process the ``poppy.conf`` and initializes base urls
        for various Akamai end-points; configuration numbers;
        api clients and zookeeper queues.

        :param conf: Poppy configuration
        :type conf: oslo_config.ConfigOpts
        """
        super(CDNProvider, self).__init__(conf)

        self._conf.register_opts(AKAMAI_OPTIONS, group=AKAMAI_GROUP)
        self.akamai_conf = self._conf[AKAMAI_GROUP]
        self.akamai_policy_api_base_url = ''.join([
            str(self.akamai_conf.policy_api_base_url),
            'partner-api/v2/network/production/properties/',
            '{configuration_number}/sub-properties/{policy_name}/policy'
        ])
        self.akamai_subcustomer_api_base_url = ''.join([
            str(self.akamai_conf.policy_api_base_url),
            'partner-api/v2/network/production/properties/',
            '{configuration_number}/customers/{subcustomer_id}'
        ])
        self.akamai_ccu_api_base_url = ''.join([
            str(self.akamai_conf.ccu_api_base_url),
            'ccu/v3/{purge_type}/url/{network}'
        ])
        self.regions = geo_zone_code_mapping.REGIONS
        self.http_conf_number = self.akamai_conf.akamai_http_config_number
        self.https_shared_conf_number = (
            self.akamai_conf.akamai_https_shared_config_number)
        self.https_san_conf_number = (
            self.akamai_conf.akamai_https_san_config_numbers[-1])
        self.https_sni_conf_number = (
            self.akamai_conf.akamai_https_sni_config_numbers[-1])
        self.https_custom_conf_number = (
            self.akamai_conf.akamai_https_custom_config_numbers[-1])

        self.akamai_access_url_link = self.akamai_conf.akamai_access_url_link
        self.akamai_https_access_url_suffix = (
            self.akamai_conf.akamai_https_access_url_suffix)

        self.akamai_policy_api_client = requests.Session()
        self.akamai_policy_api_client.auth = edgegrid.EdgeGridAuth(
            client_token=self.akamai_conf.policy_api_client_token,
            client_secret=self.akamai_conf.policy_api_client_secret,
            access_token=self.akamai_conf.policy_api_access_token)

        self.akamai_ccu_api_client = requests.Session()
        self.akamai_ccu_api_client.auth = edgegrid.EdgeGridAuth(
            client_token=self.akamai_conf.ccu_api_client_token,
            client_secret=self.akamai_conf.ccu_api_client_secret,
            access_token=self.akamai_conf.ccu_api_access_token)

        self.akamai_sps_api_base_url = ''.join([
            str(self.akamai_conf.policy_api_base_url),
            'config-secure-provisioning-service/v1'
            '/sps-requests/{spsId}?contractId=%s&groupId=%s' %
            (self.akamai_conf.contract_id, self.akamai_conf.group_id)
        ])

        self.akamai_cps_api_base_url = ''.join([
            str(self.akamai_conf.policy_api_base_url),
            'cps/v2/enrollments/{enrollmentId}'
        ])

        self.akamai_papi_api_base_url = ''.join([
            str(self.akamai_conf.policy_api_base_url),
            'papi/v1/{middle_part}/'
            '?contractId=ctr_%s&groupId=grp_%s' %
            (self.akamai_conf.contract_id, self.akamai_conf.group_id)
        ])

        self.san_cert_cnames = self.akamai_conf.san_cert_cnames
        self.sni_cert_cnames = self.akamai_conf.sni_cert_cnames
        self.san_cert_hostname_limit = self.akamai_conf.san_cert_hostname_limit

        self.akamai_sps_api_client = self.akamai_policy_api_client
        self.akamai_papi_api_client = self.akamai_policy_api_client
        self.akamai_cps_api_client = self.akamai_policy_api_client
        self.akamai_sub_customer_api_client = self.akamai_policy_api_client
        self.mod_san_queue = (zookeeper_queue.ZookeeperModSanQueue(self._conf))
        self.san_mapping_queue = zk_san_mapping_queue.ZookeeperSanMappingQueue(
            self._conf)
        self.http_policy_queue = http_policy_queue.ZookeeperHttpPolicyQueue(
            self._conf)

        self.metrics_resolution = self.akamai_conf.metrics_resolution