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)
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)
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
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
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