Пример #1
0
 def build_entity(self):
     if self.param('external_provider'):
         ons_service = self._connection.system_service(
         ).openstack_network_providers_service()
         on_service = ons_service.provider_service(
             get_id_by_name(ons_service, self.param('external_provider')))
     return otypes.Network(
         name=self._module.params['name'],
         comment=self._module.params['comment'],
         description=self._module.params['description'],
         id=self._module.params['id'],
         data_center=otypes.DataCenter(
             name=self._module.params['data_center'], )
         if self._module.params['data_center'] else None,
         vlan=otypes.Vlan(self._module.params['vlan_tag'], )
         if self._module.params['vlan_tag'] else None,
         usages=[
             otypes.NetworkUsage.VM
             if self._module.params['vm_network'] else None
         ] if self._module.params['vm_network'] is not None else None,
         mtu=self._module.params['mtu'],
         external_provider=otypes.OpenStackNetworkProvider(
             id=on_service.get().id)
         if self.param('external_provider') else None,
     )
Пример #2
0
    def create_network(self,
                       name,
                       cidr=None,
                       dhcp=True,
                       nat=True,
                       domain=None,
                       plan='kvirt',
                       pxe=None,
                       vlan=None):
        """

        :param name:
        :param cidr:
        :param dhcp:
        :param nat:
        :param domain:
        :param plan:
        :param pxe:
        :param vlan:
        :return:
        """
        if vlan is None:
            return {'result': 'failure', 'reason': "Missing Vlan"}
        networks_service = self.conn.system_service().networks_service()
        networks_service.add(
            network=types.Network(name=name,
                                  data_center=types.DataCenter(
                                      name=self.datacenter),
                                  vlan=types.Vlan(vlan),
                                  usages=[types.NetworkUsage.VM],
                                  mtu=1500))
        return
Пример #3
0
def vlan_change(kvm_vnic):
    # Initiate oVirt SDK Connection
    try:
        connection = ovirt_connection()
        connection.authenticate()
    except:
        print("Failed to connect to oVirt engine!")
        exit(1)
    # Get the reference to the "networks" service
    try:
        networks_service = connection.system_service().networks_service()
    except:
        print("Unable to establish OLVM network connection")
        exit(1)

    for i in range(len(kvm_vnic)):
        if "kvm" in kvm_vnic[i]['display_name']:
            try:
                # Find the first logical network service matching the name of the VM
                network = networks_service.list(
                    search='name={}'.format(kvm_vnic[i]['display_name']))[0]
                # Get the service for the logical network
                network_service = networks_service.network_service(network.id)
                # Update the VLAN for the logical network
                network_service.update(network=types.Network(
                    vlan=types.Vlan(id=int(kvm_vnic[i]['vlan_tag'])), ), )
                print("Network " + kvm_vnic[i]['display_name'] +
                      " has it's VLAN tag changed to: " +
                      str(kvm_vnic[i]['vlan_tag']))
            except:
                print("Network " + kvm_vnic[i]['display_name'] +
                      " has no entry in KVM!")

    connection.close()
Пример #4
0
 def create(self, name, vlan=None, usages=(NetworkUsage.VM,)):
     sdk_type = types.Network(
         name=name,
         data_center=self._parent_sdk_entity.service.get(),
         usages=usages,
     )
     if vlan is not None:
         sdk_type.vlan = types.Vlan(id=vlan)
     self._create_sdk_entity(sdk_type)
Пример #5
0
 def build_entity(self):
     return otypes.Network(
         name=self._module.params['name'],
         comment=self._module.params['comment'],
         description=self._module.params['description'],
         data_center=otypes.DataCenter(
             name=self._module.params['data_center'],
         ) if self._module.params['data_center'] else None,
         vlan=otypes.Vlan(
             self._module.params['vlan_tag'],
         ) if self._module.params['vlan_tag'] else None,
         usages=[
             otypes.NetworkUsage.VM if self._module.params['vm_network'] else None
         ] if self._module.params['vm_network'] is not None else None,
         mtu=self._module.params['mtu'],
     )
Пример #6
0
 def create(
     self,
     name,
     vlan=None,
     usages=(NetworkUsage.VM, ),
     qos=None,
     auto_generate_profile=True,
     external_provider=None,
     external_provider_physical_network=None,
     mtu=None,
     port_isolation=None,
 ):
     """
     :type name: string
     :type vlan: integer
     :type usages: (netlib.NetworkUsage,)
     :type qos: netlib.QoS
     :type auto_generate_profile: bool
     :type external_provider: providerlib.OpenStackNetworkProvider
     :type external_provider_physical_network: netlib.Network
     :type mtu: integer
     :type port_isolation: bool
     """
     qos_type = None if qos is None else qos.get_sdk_type()
     sdk_type = types.Network(
         name=name,
         data_center=self._parent_sdk_entity.service.get(),
         usages=usages,
         qos=qos_type,
         profile_required=auto_generate_profile,
         mtu=mtu,
         port_isolation=port_isolation,
     )
     if vlan is not None:
         sdk_type.vlan = types.Vlan(id=vlan)
     if external_provider is not None:
         sdk_type.external_provider = types.OpenStackNetworkProvider(
             id=external_provider.id)
     if external_provider_physical_network is not None:
         if external_provider is None:
             raise ExternalProviderRequired
         sdk_type.external_provider_physical_network = types.Network(
             id=external_provider_physical_network.id)
     self._create_sdk_entity(sdk_type)
Пример #7
0
logging.basicConfig(level=logging.DEBUG, filename='example.log')

# This example will connect to the server and create new logical network.

# Create the connection to the server:
connection = sdk.Connection(
    url='https://engine40.example.com/ovirt-engine/api',
    username='******',
    password='******',
    ca_file='ca.pem',
    debug=True,
    log=logging.getLogger(),
)

# Get the reference to the networks service:
networks_service = connection.system_service().networks_service()

# Use the "add" method to create new VM logical network in data center
# called "mydc", with VLAN tag 100 and MTU 1500.
network = networks_service.add(network=types.Network(
    name='mynetwork',
    description='My logical network',
    data_center=types.DataCenter(name='mydc'),
    vlan=types.Vlan(id='100'),
    usages=[types.NetworkUsage.VM],
    mtu=1500,
), )

# Close the connection to the server:
connection.close()