Exemple #1
0
    def handle_create(self):
        properties = self.prepare_properties(self.properties, self.physical_resource_name())
        self.client_plugin().resolve_subnet(properties, self.SUBNET, "subnet_id")
        vip_properties = properties.pop(self.VIP)
        monitors = properties.pop(self.MONITORS)
        client = self.neutron()
        pool = client.create_pool({"pool": properties})["pool"]
        self.resource_id_set(pool["id"])

        for monitor in monitors:
            client.associate_health_monitor(pool["id"], {"health_monitor": {"id": monitor}})

        vip_arguments = self.prepare_properties(vip_properties, "%s.vip" % (self.name,))

        session_p = vip_arguments.get(self.VIP_SESSION_PERSISTENCE)
        if session_p is not None:
            prepared_props = self.prepare_properties(session_p, None)
            vip_arguments["session_persistence"] = prepared_props

        vip_arguments["protocol"] = self.properties[self.PROTOCOL]

        if vip_arguments.get(self.VIP_SUBNET) is None:
            vip_arguments["subnet_id"] = properties[self.SUBNET_ID]
        else:
            vip_arguments["subnet_id"] = self.client_plugin().resolve_subnet(
                vip_arguments, self.VIP_SUBNET, "subnet_id"
            )

        vip_arguments["pool_id"] = pool["id"]
        vip = client.create_vip({"vip": vip_arguments})["vip"]

        self.metadata_set({"vip": vip["id"]})
 def handle_create(self):
     LOG.debug(_("G_cloud  server create"))
     properties = dict()
     for key, value in self.properties.items():
         if key == self.USER_DATA:
             if self.properties[self.USER_DATA] and self.properties[self.USER_DATA_FORMAT] == self.RAW:
                 properties['userdata'] = self.properties[self.USER_DATA]
         else:
             properties[key] = self.properties[key]
     properties.pop(self.USER_DATA_FORMAT)
     properties.update({"alias": short_id.generate_id()})
     properties.update({"netcardName": short_id.generate_id()})
     if self.properties[self.STACKID] == "owner":
         properties.update({"appId": self.stack.id})
     else:
         properties.update({"appId": self.properties[self.STACKID]})
     #if self.properties[self.CREATE_USER_ID] != "owner":
     #    properties.update({"createUserId": self.properties[self.CREATE_USER_ID]})
     #properties.update({"appType": self.stack.stack_apps_style})
     #properties.update({"appName": self.stack.app_name})
     properties[self.NETWORK] = self.properties[self.SUBNET]
     properties.pop(self.SUBNET)
     server = self.client.create(properties)
     if server['success']:
         self.inst_id = server['data'][0]['instanceId']
         self.resource_id_set(self.inst_id)
     return server
Exemple #3
0
    def handle_create(self):
        properties = self.prepare_properties(
            self.properties,
            self.physical_resource_name())
        vip_properties = properties.pop(self.VIP)
        monitors = properties.pop(self.MONITORS, [])
        client = self.neutron()
        pool = client.create_pool({'pool': properties})['pool']
        self.resource_id_set(pool['id'])

        for monitor in monitors:
            client.associate_health_monitor(
                pool['id'], {'health_monitor': {'id': monitor}})

        vip_arguments = self.prepare_properties(
            vip_properties,
            '%s.vip' % (self.name,))

        session_p = vip_arguments.get(self.VIP_SESSION_PERSISTENCE)
        if session_p is not None:
            prepared_props = self.prepare_properties(session_p, None)
            vip_arguments['session_persistence'] = prepared_props

        vip_arguments['protocol'] = self.properties[self.PROTOCOL]
        vip_arguments['subnet_id'] = self.properties[self.SUBNET_ID]
        vip_arguments['pool_id'] = pool['id']
        vip = client.create_vip({'vip': vip_arguments})['vip']

        self.metadata = {'vip': vip['id']}
Exemple #4
0
    def handle_create(self):
        properties = self.prepare_properties(self.properties,
                                             self.physical_resource_name())

        self.client_plugin().resolve_pool(properties, self.POOL, 'pool_id')
        properties.pop('pool_id')
        properties['subnet_id'] = properties.pop(self.SUBNET)
        return properties
Exemple #5
0
    def handle_create(self):
        properties = self.prepare_properties(self.properties,
                                             self.physical_resource_name())

        if self.LOADBALANCER in properties:
            properties['loadbalancer_id'] = properties.pop(self.LOADBALANCER)
        if self.DEFAULT_POOL in properties:
            properties['default_pool_id'] = properties.pop(self.DEFAULT_POOL)
        return properties
Exemple #6
0
    def handle_create(self):
        properties = self.prepare_properties(
            self.properties,
            self.physical_resource_name())

        if self.LOADBALANCER in properties:
            properties['loadbalancer_id'] = properties.pop(self.LOADBALANCER)
        if self.DEFAULT_POOL in properties:
            properties['default_pool_id'] = properties.pop(self.DEFAULT_POOL)
        return properties
Exemple #7
0
    def handle_create(self):
        properties = self.prepare_properties(
            self.properties,
            self.physical_resource_name())

        self.client_plugin().resolve_pool(
            properties, self.POOL, 'pool_id')
        properties.pop('pool_id')
        properties['subnet_id'] = properties.pop(self.SUBNET)
        return properties
Exemple #8
0
    def handle_create(self):
        properties = self.prepare_properties(self.properties,
                                             self.physical_resource_name())

        if self.LISTENER in properties:
            properties['listener_id'] = properties.pop(self.LISTENER)
        if self.LOADBALANCER in properties:
            properties['loadbalancer_id'] = properties.pop(self.LOADBALANCER)

        session_p = properties.get(self.SESSION_PERSISTENCE)
        if session_p is not None:
            session_props = self.prepare_properties(session_p, None)
            properties[self.SESSION_PERSISTENCE] = session_props

        return properties
Exemple #9
0
    def handle_create(self):
        properties = self.prepare_properties(
            self.properties,
            self.physical_resource_name())

        if self.LISTENER in properties:
            properties['listener_id'] = properties.pop(self.LISTENER)
        if self.LOADBALANCER in properties:
            properties['loadbalancer_id'] = properties.pop(self.LOADBALANCER)

        session_p = properties.get(self.SESSION_PERSISTENCE)
        if session_p is not None:
            session_props = self.prepare_properties(session_p, None)
            properties[self.SESSION_PERSISTENCE] = session_props

        return properties
Exemple #10
0
 def handle_create(self):
     properties = self.prepare_properties(self.properties,
                                          self.physical_resource_name())
     properties['vip_subnet_id'] = properties.pop(self.VIP_SUBNET)
     lb = self.client().create_loadbalancer({'loadbalancer':
                                             properties})['loadbalancer']
     self.resource_id_set(lb['id'])
Exemple #11
0
    def handle_create(self):
        properties = self.prepare_properties(
            self.properties,
            self.physical_resource_name())

        properties['loadbalancer_id'] = properties.pop(self.LOADBALANCER)
        return properties
Exemple #12
0
 def _reformat_properties(self, properties):
     rule = {}
     for name in self.PROPERTIES:
         value = properties.pop(name, None)
         if value:
             rule[name] = value
     if rule:
         properties['%s_rule' % self.ceilometer_alarm_type] = rule
     return properties
Exemple #13
0
 def _reformat_properties(self, properties):
     combination_rule = {}
     for name in [self.ALARM_IDS, self.OPERATOR, REPEAT_ACTIONS]:
         value = properties.pop(name, None)
         if value:
             combination_rule[name] = value
     if combination_rule:
         properties['combination_rule'] = combination_rule
     return properties
Exemple #14
0
 def _reformat_properties(self, properties):
     rule = {}
     for name in self.PROPERTIES:
         value = properties.pop(name, None)
         if value:
             rule[name] = value
     if rule:
         properties['%s_rule' % self.ceilometer_alarm_type] = rule
     return properties
Exemple #15
0
 def _reformat_properties(self, properties):
     combination_rule = {}
     for name in [self.ALARM_IDS, self.OPERATOR]:
         value = properties.pop(name, None)
         if value:
             combination_rule[name] = value
     if combination_rule:
         properties['combination_rule'] = combination_rule
     return properties
Exemple #16
0
 def handle_create(self):
     properties = self.prepare_properties(
         self.properties,
         self.physical_resource_name()
     )
     properties['vip_subnet_id'] = properties.pop(self.VIP_SUBNET)
     lb = self.client().create_loadbalancer(
         {'loadbalancer': properties})['loadbalancer']
     self.resource_id_set(lb['id'])
Exemple #17
0
    def handle_create(self):
        properties = self.prepare_properties(self.properties,
                                             self.physical_resource_name())

        properties['listener_id'] = properties.pop(self.LISTENER)
        if self.properties[self.REDIRECT_POOL] is not None:
            self.client_plugin().resolve_pool(properties, self.REDIRECT_POOL,
                                              'redirect_pool_id')

        return properties
Exemple #18
0
    def handle_create(self):
        properties = self.prepare_properties(
            self.properties,
            self.physical_resource_name())

        properties['listener_id'] = properties.pop(self.LISTENER)
        if self.properties[self.REDIRECT_POOL] is not None:
            self.client_plugin().resolve_pool(
                properties, self.REDIRECT_POOL, 'redirect_pool_id')

        return properties
Exemple #19
0
    def handle_create(self):
        properties = self.prepare_properties(
            self.properties,
            self.physical_resource_name())
        vip_properties = properties.pop('vip')
        monitors = properties.pop('monitors', [])
        client = self.neutron()
        pool = client.create_pool({'pool': properties})['pool']
        self.resource_id_set(pool['id'])

        for monitor in monitors:
            client.associate_health_monitor(
                pool['id'], {'health_monitor': {'id': monitor}})

        vip_arguments = self.prepare_properties(
            vip_properties,
            '%s.vip' % (self.name,))
        vip_arguments['protocol'] = self.properties['protocol']
        vip_arguments['subnet_id'] = self.properties['subnet_id']
        vip_arguments['pool_id'] = pool['id']
        vip = client.create_vip({'vip': vip_arguments})['vip']

        self.metadata = {'vip': vip['id']}
Exemple #20
0
    def handle_create(self):
        properties = self.prepare_properties(self.properties,
                                             self.physical_resource_name())
        vip_properties = properties.pop('vip')
        monitors = properties.pop('monitors', [])
        client = self.neutron()
        pool = client.create_pool({'pool': properties})['pool']
        self.resource_id_set(pool['id'])

        for monitor in monitors:
            client.associate_health_monitor(
                pool['id'], {'health_monitor': {
                    'id': monitor
                }})

        vip_arguments = self.prepare_properties(vip_properties,
                                                '%s.vip' % (self.name, ))
        vip_arguments['protocol'] = self.properties['protocol']
        vip_arguments['subnet_id'] = self.properties['subnet_id']
        vip_arguments['pool_id'] = pool['id']
        vip = client.create_vip({'vip': vip_arguments})['vip']

        self.metadata = {'vip': vip['id']}
Exemple #21
0
    def handle_create(self):
        properties = self.prepare_properties(self.properties,
                                             self.physical_resource_name())

        properties['loadbalancer_id'] = properties.pop(self.LOADBALANCER)
        return properties