Ejemplo n.º 1
0
def add_network_service(deployConfig, session_uuid):
    if not xmlobject.has_element(deployConfig, "zones.zone"):
        return

    l3networks = []
    for zone in xmlobject.safe_list(deployConfig.zones.zone):
        l2networks = []

        if xmlobject.has_element(zone, 'l2Networks.l2NoVlanNetwork'):
            l2networks.extend(
                xmlobject.safe_list(zone.l2Networks.l2NoVlanNetwork))

        if xmlobject.has_element(zone, 'l2Networks.l2VlanNetwork'):
            l2networks.extend(
                xmlobject.safe_list(zone.l2Networks.l2VlanNetwork))

        for l2 in l2networks:
            if xmlobject.has_element(l2, 'l3Networks.l3BasicNetwork'):
                l3networks.extend(
                    xmlobject.safe_list(l2.l3Networks.l3BasicNetwork))

    providers = {}
    action = api_actions.QueryNetworkServiceProviderAction()
    action.sessionUuid = session_uuid
    action.conditions = []
    try:
        reply = action.run()
    except Exception as e:
        exc_info.append(sys.exc_info())
        raise e
    for pinv in reply:
        providers[pinv.name] = pinv.uuid

    if zone.duplication__ == None:
        duplication = 1
    else:
        duplication = int(zone.duplication__)

    for zone_duplication in range(duplication):
        for l3 in l3networks:
            if not xmlobject.has_element(l3, 'networkService'):
                continue

            if zone_duplication == 0:
                l3_name = l3.name_
            else:
                l3_name = generate_dup_name(l3.name_, zone_duplication, 'z')

            l3_invs = res_ops.get_resource(res_ops.L3_NETWORK,
                                           session_uuid,
                                           name=l3_name)
            l3_inv = get_first_item_from_list(l3_invs, 'L3 Network', l3_name,
                                              'Network Service')
            do_add_network_service(l3.networkService, l3_inv.uuid, \
                    providers, session_uuid)
Ejemplo n.º 2
0
    def _do_l3_deploy(l3, l2inv_uuid, l3Name, session_uuid):
        action = api_actions.CreateL3NetworkAction()
        action.sessionUuid = session_uuid
        action.description = l3.description__
        if l3.system__ and l3.system__ != 'False':
            action.system = 'true'
        action.l2NetworkUuid = l2inv_uuid
        action.name = l3Name
        if l3.uuid__:
            action.resourceUuid = l3.uuid__
        action.type = inventory.L3_BASIC_NETWORK_TYPE
        if l3.domain_name__:
            action.dnsDomain = l3.domain_name__

        try:
            evt = action.run()
        except:
            exc_info.append(sys.exc_info())

        deploy_logger(jsonobject.dumps(evt))
        l3_inv = evt.inventory

        # add dns
        if xmlobject.has_element(l3, 'dns'):
            for dns in xmlobject.safe_list(l3.dns):
                action = api_actions.AddDnsToL3NetworkAction()
                action.sessionUuid = session_uuid
                action.dns = dns.text_
                action.l3NetworkUuid = l3_inv.uuid
                try:
                    evt = action.run()
                except:
                    exc_info.append(sys.exc_info())
                deploy_logger(jsonobject.dumps(evt))

        # add ip range.
        if xmlobject.has_element(l3, 'ipRange'):
            do_add_ip_range(l3.ipRange, l3_inv.uuid, session_uuid)

        # add network service.
        providers = {}
        action = api_actions.QueryNetworkServiceProviderAction()
        action.sessionUuid = session_uuid
        action.conditions = []
        try:
            reply = action.run()
        except:
            exc_info.append(sys.exc_info())
        for pinv in reply:
            providers[pinv.name] = pinv.uuid

        if xmlobject.has_element(l3, 'networkService'):
            do_add_network_service(l3.networkService, l3_inv.uuid,
                                   providers, session_uuid)
Ejemplo n.º 3
0
def _gen_query_action(resource):
    if resource == BACKUP_STORAGE:
        action = api_actions.QueryBackupStorageAction()
    elif resource == SFTP_BACKUP_STORAGE:
        action = api_actions.QuerySftpBackupStorageAction()
    elif resource == CEPH_BACKUP_STORAGE:
        action = api_actions.QueryCephBackupStorageAction()
    elif resource == ZONE:
        action = api_actions.QueryZoneAction()
    elif resource == PRIMARY_STORAGE:
        action = api_actions.QueryPrimaryStorageAction()
    elif resource == L2_NETWORK:
        action = api_actions.QueryL2NetworkAction()
    elif resource == L2_VLAN_NETWORK:
        action = api_actions.QueryL2VlanNetworkAction()
    elif resource == CLUSTER:
        action = api_actions.QueryClusterAction()
    elif resource == L3_NETWORK:
        action = api_actions.QueryL3NetworkAction()
    elif resource == INSTANCE_OFFERING:
        action = api_actions.QueryInstanceOfferingAction()
    elif resource == IMAGE:
        action = api_actions.QueryImageAction()
    elif resource == VOLUME:
        action = api_actions.QueryVolumeAction()
    elif resource == VM_INSTANCE:
        action = api_actions.QueryVmInstanceAction()
    elif resource == IP_RANGE:
        action = api_actions.QueryIpRangeAction()
    elif resource == HOST:
        action = api_actions.QueryHostAction()
    elif resource == NETWORK_SERVICE_PROVIDER:
        action = api_actions.QueryNetworkServiceProviderAction()
    elif resource == NETWORK_SERVICE_PROVIDER_L3_REF:
        action = api_actions.QueryNetworkServiceL3NetworkRefAction()
    elif resource == APPLIANCE_VM:
        action = api_actions.QueryApplianceVmAction()
    elif resource == VIRTUALROUTER_VM:
        action = api_actions.QueryVirtualRouterVmAction()
    elif resource == DISK_OFFERING:
        action = api_actions.QueryDiskOfferingAction()
    elif resource == ACCOUNT:
        action = api_actions.QueryAccountAction()
    elif resource == PRIMARY_STORAGE:
        action = api_actions.QueryPrimaryStorageAction()
    elif resource == CEPH_PRIMARY_STORAGE:
        action = api_actions.QueryCephPrimaryStorageAction()
    elif resource == SECURITY_GROUP:
        action = api_actions.QuerySecurityGroupAction()
    elif resource == SECURITY_GROUP_RULE:
        action = api_actions.QuerySecurityGroupRuleAction()
    elif resource == VM_SECURITY_GROUP:
        action = api_actions.QueryVmNicInSecurityGroupAction()
    elif resource == VM_NIC:
        action = api_actions.QueryVmNicAction()
    elif resource == PORT_FORWARDING:
        action = api_actions.QueryPortForwardingRuleAction()
    elif resource == MANAGEMENT_NODE:
        action = api_actions.QueryManagementNodeAction()
    elif resource == EIP:
        action = api_actions.QueryEipAction()
    elif resource == VIP:
        action = api_actions.QueryVipAction()
    elif resource == VR_OFFERING:
        action = api_actions.QueryVirtualRouterOfferingAction()
    elif resource == SYSTEM_TAG:
        action = api_actions.QuerySystemTagAction()
    elif resource == USER_TAG:
        action = api_actions.QueryUserTagAction()
    elif resource == VOLUME_SNAPSHOT_TREE:
        action = api_actions.QueryVolumeSnapshotTreeAction()
    elif resource == VOLUME_SNAPSHOT:
        action = api_actions.QueryVolumeSnapshotAction()
    elif resource == USER:
        action = api_actions.QueryUserAction()
    elif resource == LOAD_BALANCER:
        action = api_actions.QueryLoadBalancerAction()
    elif resource == LOAD_BALANCER_LISTENER:
        action = api_actions.QueryLoadBalancerListenerAction()
    elif resource == LOCAL_STORAGE_RESOURCE_REF:
        action = api_actions.QueryLocalStorageResourceRefAction()

    return action
Ejemplo n.º 4
0
def _gen_query_action(resource, condition=None):
    if resource == BACKUP_STORAGE:
        action = api_actions.QueryBackupStorageAction()
    elif resource == SFTP_BACKUP_STORAGE:
        action = api_actions.QuerySftpBackupStorageAction()
    elif resource == CEPH_BACKUP_STORAGE:
        action = api_actions.QueryCephBackupStorageAction()
    elif resource == ZONE:
        action = api_actions.QueryZoneAction()
    elif resource == PRIMARY_STORAGE:
        action = api_actions.QueryPrimaryStorageAction()
    elif resource == L2_NETWORK:
        action = api_actions.QueryL2NetworkAction()
    elif resource == L2_VLAN_NETWORK:
        action = api_actions.QueryL2VlanNetworkAction()
    elif resource == L2_VXLAN_NETWORK:
        action = api_actions.QueryL2VxlanNetworkAction()
    elif resource == L2_VXLAN_NETWORK_POOL:
        action = api_actions.QueryL2VxlanNetworkPoolAction()
    elif resource == VNI_RANGE:
        action = api_actions.QueryVniRangeAction()
    elif resource == CLUSTER:
        action = api_actions.QueryClusterAction()
    elif resource == L3_NETWORK:
        action = api_actions.QueryL3NetworkAction()
    elif resource == INSTANCE_OFFERING:
        action = api_actions.QueryInstanceOfferingAction()
    elif resource == IMAGE:
        _lazyload_image(condition)
        action = api_actions.QueryImageAction()
    elif resource == VOLUME:
        action = api_actions.QueryVolumeAction()
    elif resource == SHARE_VOLUME:
        action = api_actions.QueryShareableVolumeVmInstanceRefAction()
    elif resource == VM_INSTANCE:
        action = api_actions.QueryVmInstanceAction()
    elif resource == IP_RANGE:
        action = api_actions.QueryIpRangeAction()
    elif resource == HOST:
        action = api_actions.QueryHostAction()
    elif resource == NETWORK_SERVICE_PROVIDER:
        action = api_actions.QueryNetworkServiceProviderAction()
    elif resource == NETWORK_SERVICE_PROVIDER_L3_REF:
        action = api_actions.QueryNetworkServiceL3NetworkRefAction()
    elif resource == APPLIANCE_VM:
        action = api_actions.QueryApplianceVmAction()
    elif resource == VIRTUALROUTER_VM:
        action = api_actions.QueryVirtualRouterVmAction()
    elif resource == DISK_OFFERING:
        action = api_actions.QueryDiskOfferingAction()
    elif resource == ACCOUNT:
        action = api_actions.QueryAccountAction()
    elif resource == CEPH_PRIMARY_STORAGE:
        action = api_actions.QueryCephPrimaryStorageAction()
    elif resource == CEPH_PRIMARY_STORAGE_POOL:
        action = api_actions.QueryCephPrimaryStoragePoolAction()
    elif resource == SECURITY_GROUP:
        action = api_actions.QuerySecurityGroupAction()
    elif resource == SECURITY_GROUP_RULE:
        action = api_actions.QuerySecurityGroupRuleAction()
    elif resource == VM_SECURITY_GROUP:
        action = api_actions.QueryVmNicInSecurityGroupAction()
    elif resource == VM_NIC:
        action = api_actions.QueryVmNicAction()
    elif resource == PORT_FORWARDING:
        action = api_actions.QueryPortForwardingRuleAction()
    elif resource == MANAGEMENT_NODE:
        action = api_actions.QueryManagementNodeAction()
    elif resource == EIP:
        action = api_actions.QueryEipAction()
    elif resource == VIP:
        action = api_actions.QueryVipAction()
    elif resource == VR_OFFERING:
        action = api_actions.QueryVirtualRouterOfferingAction()
    elif resource == SYSTEM_TAG:
        action = api_actions.QuerySystemTagAction()
    elif resource == USER_TAG:
        action = api_actions.QueryUserTagAction()
    elif resource == VOLUME_SNAPSHOT_TREE:
        action = api_actions.QueryVolumeSnapshotTreeAction()
    elif resource == VOLUME_SNAPSHOT:
        action = api_actions.QueryVolumeSnapshotAction()
    elif resource == USER:
        action = api_actions.QueryUserAction()
    elif resource == LOAD_BALANCER:
        action = api_actions.QueryLoadBalancerAction()
    elif resource == LOAD_BALANCER_LISTENER:
        action = api_actions.QueryLoadBalancerListenerAction()
    elif resource == LOCAL_STORAGE_RESOURCE_REF:
        action = api_actions.QueryLocalStorageResourceRefAction()
    elif resource == IMAGE_STORE_BACKUP_STORAGE:
        action = api_actions.QueryImageStoreBackupStorageAction()
    elif resource == SCHEDULER:
        action = api_actions.QuerySchedulerAction()
    elif resource == SCHEDULERJOB:
        action = api_actions.QuerySchedulerJobAction()
    elif resource == SCHEDULERTRIGGER:
        action = api_actions.QuerySchedulerTriggerAction()
    elif resource == VCENTER:
        action = api_actions.QueryVCenterAction()
    elif resource == VCENTER_CLUSTER:
        action = api_actions.QueryVCenterClusterAction()
    elif resource == VCENTER_BACKUP_STORAGE:
        action = api_actions.QueryVCenterBackupStorageAction()
    elif resource == VCENTER_PRIMARY_STORAGE:
        action = api_actions.QueryVCenterPrimaryStorageAction()
    elif resource == MONITOR_TRIGGER:
        action = api_actions.QueryMonitorTriggerAction()
    elif resource == MONITOR_TRIGGER_ACTION:
        action = api_actions.QueryMonitorTriggerActionAction()
    elif resource == PXE_SERVER:
        action = api_actions.QueryBaremetalPxeServerAction()
    elif resource == CHASSIS:
        action = api_actions.QueryBaremetalChassisAction()
    elif resource == HWINFO:
        action = api_actions.QueryBaremetalHardwareInfoAction()
    elif resource == BAREMETAL_INS:
        action = api_actions.QueryBaremetalInstanceAction()
    elif resource == LONGJOB:
        action = api_actions.QueryLongJobAction()
    elif resource == ALARM:
        action = api_actions.QueryAlarmAction()
    elif resource == EVENT_SUBSCRIPTION:
        action = api_actions.QueryEventSubscriptionAction()
    elif resource == SNS_APPLICATION_ENDPOINT:
        action = api_actions.QuerySNSApplicationEndpointAction()
    elif resource == SNS_APPLICATION_PLATFORM:
        action = api_actions.QuerySNSApplicationPlatformAction()
    elif resource == SNS_TOPIC:
        action = api_actions.QuerySNSTopicAction()
    elif resource == SNS_TOPIC_SUBSCRIBER:
        action = api_actions.QuerySNSTopicSubscriberAction()
    elif resource == SNS_DING_TALK_ENDPOINT:
        action = api_actions.QuerySNSDingTalkEndpointAction()
    elif resource == SNS_EMAIL_ENDPOINT:
        action = api_actions.QuerySNSEmailEndpointAction()
    elif resource == SNS_EMAIL_PLATFORM:
        action = api_actions.QuerySNSEmailPlatformAction()
    elif resource == SNS_HTTP_ENDPOINT:
        action = api_actions.QuerySNSHttpEndpointAction()
    elif resource == SNS_TEXT_TEMPLATE:
        action = api_actions.QuerySNSTextTemplateAction()
    elif resource == AFFINITY_GROUP:
        action = api_actions.QueryAffinityGroupAction()
    elif resource == IAM2_ORGANIZATION:
        action = api_actions.QueryIAM2OrganizationAction()
    elif resource == IAM2_PROJECT:
        action = api_actions.QueryIAM2ProjectAction()
    elif resource == IAM2_VIRTUAL_ID_GROUP:
        action = api_actions.QueryIAM2VirtualIDGroupAction()
    elif resource == IAM2_VIRTUAL_ID:
        action = api_actions.QueryIAM2VirtualIDAction()
    elif resource == IAM2_PROJECT_TEMPLATE:
        action = api_actions.QueryIAM2ProjectTemplateAction()
    elif resource == IAM2_VIRTUAL_ID_GROUP_ATTRIBUTE:
        action = api_actions.QueryIAM2VirtualIDGroupAttributeAction()
    elif resource == IAM2_VIRTUAL_ID_ATTRIBUTE:
        action = api_actions.QueryIAM2VirtualIDAttributeAction()
    elif resource == IAM2_PROJECT_ATTRIBUTE:
        action = api_actions.QueryIAM2ProjectAttributeAction()
    elif resource == IAM2_ORGANIZATION_ATTRIBUTE:
        action = api_actions.QueryIAM2OrganizationAttributeAction()
    elif resource == ROLE:
        action = api_actions.QueryRoleAction()
    elif resource == DATACENTER:
        action = api_actions.QueryDataCenterFromLocalAction()
    elif resource == ALIYUNNAS_ACCESSGROUP:
        action = api_actions.QueryAliyunNasAccessGroupAction()
    elif resource == NAS_FILESYSTEM:
        action = api_actions.QueryNasFileSystemAction()
    elif resource == NAS_MOUNTTARGET:
        action = api_actions.QueryNasMountTargetAction()
    elif resource == STACK_TEMPLATE:
        action = api_actions.QueryStackTemplateAction()
    elif resource == RESOURCE_STACK:
        action = api_actions.QueryResourceStackAction()
    elif resource == EVENT_FROM_STACK:
        action = api_actions.QueryEventFromResourceStackAction()
    elif resource == TICKET:
        action = api_actions.QueryTicketAction()
    elif resource == TICKET_HISTORY:
        action = api_actions.QueryTicketHistoryAction()
    elif resource == QUOTA:
        action = api_actions.QueryQuotaAction()
    elif resource == CERTIFICATE:
        action = api_actions.QueryCertificateAction()
    elif resource == VOLUME_BACKUP:
        action = api_actions.QueryVolumeBackupAction()
    elif resource == IPSEC_CONNECTION:
        action = api_actions.QueryIPSecConnectionAction()
    return action
Ejemplo n.º 5
0
def _gen_query_action(resource, condition=None):
    if resource == BACKUP_STORAGE:
        action = api_actions.QueryBackupStorageAction()
    elif resource == SFTP_BACKUP_STORAGE:
        action = api_actions.QuerySftpBackupStorageAction()
    elif resource == CEPH_BACKUP_STORAGE:
        action = api_actions.QueryCephBackupStorageAction()
    elif resource == ZONE:
        action = api_actions.QueryZoneAction()
    elif resource == PRIMARY_STORAGE:
        action = api_actions.QueryPrimaryStorageAction()
    elif resource == L2_NETWORK:
        action = api_actions.QueryL2NetworkAction()
    elif resource == L2_VLAN_NETWORK:
        action = api_actions.QueryL2VlanNetworkAction()
    elif resource == L2_VXLAN_NETWORK:
        action = api_actions.QueryL2VxlanNetworkAction()
    elif resource == L2_VXLAN_NETWORK_POOL:
        action = api_actions.QueryL2VxlanNetworkPoolAction()
    elif resource == VNI_RANGE:
        action = api_actions.QueryVniRangeAction()
    elif resource == CLUSTER:
        action = api_actions.QueryClusterAction()
    elif resource == L3_NETWORK:
        action = api_actions.QueryL3NetworkAction()
    elif resource == INSTANCE_OFFERING:
        action = api_actions.QueryInstanceOfferingAction()
    elif resource == IMAGE:
        _lazyload_image(condition)
        action = api_actions.QueryImageAction()
    elif resource == VOLUME:
        action = api_actions.QueryVolumeAction()
    elif resource == SHARE_VOLUME:
        action = api_actions.QueryShareableVolumeVmInstanceRefAction()
    elif resource == VM_INSTANCE:
        action = api_actions.QueryVmInstanceAction()
    elif resource == IP_RANGE:
        action = api_actions.QueryIpRangeAction()
    elif resource == HOST:
        action = api_actions.QueryHostAction()
    elif resource == NETWORK_SERVICE_PROVIDER:
        action = api_actions.QueryNetworkServiceProviderAction()
    elif resource == NETWORK_SERVICE_PROVIDER_L3_REF:
        action = api_actions.QueryNetworkServiceL3NetworkRefAction()
    elif resource == APPLIANCE_VM:
        action = api_actions.QueryApplianceVmAction()
    elif resource == VIRTUALROUTER_VM:
        action = api_actions.QueryVirtualRouterVmAction()
    elif resource == DISK_OFFERING:
        action = api_actions.QueryDiskOfferingAction()
    elif resource == ACCOUNT:
        action = api_actions.QueryAccountAction()
    elif resource == CEPH_PRIMARY_STORAGE:
        action = api_actions.QueryCephPrimaryStorageAction()
    elif resource == CEPH_PRIMARY_STORAGE_POOL:
        action = api_actions.QueryCephPrimaryStoragePoolAction()
    elif resource == SECURITY_GROUP:
        action = api_actions.QuerySecurityGroupAction()
    elif resource == SECURITY_GROUP_RULE:
        action = api_actions.QuerySecurityGroupRuleAction()
    elif resource == VM_SECURITY_GROUP:
        action = api_actions.QueryVmNicInSecurityGroupAction()
    elif resource == VM_NIC:
        action = api_actions.QueryVmNicAction()
    elif resource == PORT_FORWARDING:
        action = api_actions.QueryPortForwardingRuleAction()
    elif resource == MANAGEMENT_NODE:
        action = api_actions.QueryManagementNodeAction()
    elif resource == EIP:
        action = api_actions.QueryEipAction()
    elif resource == VIP:
        action = api_actions.QueryVipAction()
    elif resource == VR_OFFERING:
        action = api_actions.QueryVirtualRouterOfferingAction()
    elif resource == SYSTEM_TAG:
        action = api_actions.QuerySystemTagAction()
    elif resource == USER_TAG:
        action = api_actions.QueryUserTagAction()
    elif resource == VOLUME_SNAPSHOT_TREE:
        action = api_actions.QueryVolumeSnapshotTreeAction()
    elif resource == VOLUME_SNAPSHOT:
        action = api_actions.QueryVolumeSnapshotAction()
    elif resource == USER:
        action = api_actions.QueryUserAction()
    elif resource == LOAD_BALANCER:
        action = api_actions.QueryLoadBalancerAction()
    elif resource == LOAD_BALANCER_LISTENER:
        action = api_actions.QueryLoadBalancerListenerAction()
    elif resource == LOCAL_STORAGE_RESOURCE_REF:
        action = api_actions.QueryLocalStorageResourceRefAction()
    elif resource == IMAGE_STORE_BACKUP_STORAGE:
        action = api_actions.QueryImageStoreBackupStorageAction()
    elif resource == SCHEDULER:
        action = api_actions.QuerySchedulerAction()
    elif resource == SCHEDULERJOB:
        action = api_actions.QuerySchedulerJobAction()
    elif resource == SCHEDULERTRIGGER:
        action = api_actions.QuerySchedulerTriggerAction()
    elif resource == VCENTER:
        action = api_actions.QueryVCenterAction()
    elif resource == VCENTER_CLUSTER:
        action = api_actions.QueryVCenterClusterAction()
    elif resource == VCENTER_BACKUP_STORAGE:
        action = api_actions.QueryVCenterBackupStorageAction()
    elif resource == VCENTER_PRIMARY_STORAGE:
        action = api_actions.QueryVCenterPrimaryStorageAction()
    elif resource == MONITOR_TRIGGER:
        action = api_actions.QueryMonitorTriggerAction()
    elif resource == MONITOR_TRIGGER_ACTION:
        action = api_actions.QueryMonitorTriggerActionAction()
    elif resource == PXE_SERVER:
        action = api_actions.QueryBaremetalPxeServerAction()
    elif resource == CHASSIS:
        action = api_actions.QueryBaremetalChassisAction()
    elif resource == HWINFO:
        action = api_actions.QueryBaremetalHardwareInfoAction()

    return action