aboutsummaryrefslogtreecommitdiffstats
path: root/yardstick/network_services/libs/ixia_libs/IxNet/IxNet.py
diff options
context:
space:
mode:
Diffstat (limited to 'yardstick/network_services/libs/ixia_libs/IxNet/IxNet.py')
-rw-r--r--yardstick/network_services/libs/ixia_libs/IxNet/IxNet.py22
1 files changed, 6 insertions, 16 deletions
diff --git a/yardstick/network_services/libs/ixia_libs/IxNet/IxNet.py b/yardstick/network_services/libs/ixia_libs/IxNet/IxNet.py
index 70ce4ff03..c538ceeba 100644
--- a/yardstick/network_services/libs/ixia_libs/IxNet/IxNet.py
+++ b/yardstick/network_services/libs/ixia_libs/IxNet/IxNet.py
@@ -12,13 +12,12 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-from __future__ import absolute_import
-from __future__ import print_function
-import sys
import logging
import re
from itertools import product
+import IxNetwork
+
log = logging.getLogger(__name__)
@@ -135,7 +134,6 @@ class IxNextgen(object):
port.append(port0)
cfg = {
- 'py_lib_path': tg_cfg["mgmt-interface"]["tg-config"]["py_lib_path"],
'machine': tg_cfg["mgmt-interface"]["ip"],
'port': tg_cfg["mgmt-interface"]["tg-config"]["tcl_port"],
'chassis': tg_cfg["mgmt-interface"]["tg-config"]["ixchassis"],
@@ -186,7 +184,7 @@ class IxNextgen(object):
self.set_random_ip_multi_attribute(ip, seeds[1], fixed_bits, random_mask, l3_count)
def add_ip_header(self, params, version):
- for it, ep, i in self.iter_over_get_lists('/traffic', 'trafficItem', "configElement", 1):
+ for _, ep, i in self.iter_over_get_lists('/traffic', 'trafficItem', "configElement", 1):
iter1 = (v['outer_l3'] for v in params.values() if str(v['id']) == str(i))
try:
l3 = next(iter1, {})
@@ -194,21 +192,13 @@ class IxNextgen(object):
except (KeyError, IndexError):
continue
- for ip, ip_bits, _ in self.iter_over_get_lists(ep, 'stack', 'field'):
+ for _, ip_bits, _ in self.iter_over_get_lists(ep, 'stack', 'field'):
self.set_random_ip_multi_attributes(ip_bits, version, seeds, l3)
self.ixnet.commit()
def _connect(self, tg_cfg):
self._cfg = self.get_config(tg_cfg)
-
- sys.path.append(self._cfg["py_lib_path"])
- # Import IxNetwork after getting ixia lib path
- try:
- import IxNetwork
- except ImportError:
- raise
-
self.ixnet = IxNetwork.IxNet()
machine = self._cfg['machine']
@@ -292,7 +282,7 @@ class IxNextgen(object):
self.update_ether_multi_attribute(ether, str(l2.get('srcmac', "00:00:00:00:00:01")))
def ix_update_ether(self, params):
- for ti, ep, index in self.iter_over_get_lists('/traffic', 'trafficItem',
+ for _, ep, index in self.iter_over_get_lists('/traffic', 'trafficItem',
"configElement", 1):
iter1 = (v['outer_l2'] for v in params.values() if str(v['id']) == str(index))
try:
@@ -300,7 +290,7 @@ class IxNextgen(object):
except KeyError:
continue
- for ip, ether, _ in self.iter_over_get_lists(ep, 'stack', 'field'):
+ for _, ether, _ in self.iter_over_get_lists(ep, 'stack', 'field'):
self.update_ether_multi_attributes(ether, l2)
self.ixnet.commit()
d.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ }
heat_template_version: 2014-10-16
parameters:
  image:
    type: string
    default: unused
  flavor:
    type: string
    default: unused
  key_name:
    type: string
    default: unused
  security_groups:
    type: json
    default: []
  # Require this so we can validate the parent passes the
  # correct value
  user_data_format:
    type: string
  user_data:
    type: string
    default: ''
  name:
    type: string
    default: ''
  image_update_policy:
    type: string
    default: ''
  networks:
    type: comma_delimited_list
    default: ''
  metadata:
    type: json
    default: {}
  software_config_transport:
    default: POLL_SERVER_CFN
    type: string
  scheduler_hints:
    type: json
    description: Optional scheduler hints to pass to nova
    default: {}

resources:
  # We just need something which returns a unique ID, but we can't
  # use RandomString because RefId returns the value, not the physical
  # resource ID, SoftwareConfig should work as it returns a UUID
  deployed-server:
    type: OS::TripleO::DeployedServerConfig
    properties:
      user_data_format: SOFTWARE_CONFIG

  InstanceIdConfig:
    type: OS::Heat::StructuredConfig
    properties:
      group: os-apply-config
      config:
        instance-id: {get_attr: [deployed-server, "OS::stack_id"]}

  InstanceIdDeployment:
    type: OS::Heat::StructuredDeployment
    properties:
      config: {get_resource: InstanceIdConfig}
      server: {get_resource: deployed-server}

  HostsEntryConfig:
    type: OS::Heat::SoftwareConfig
    properties:
      group: script
      config: |
          #!/bin/bash
          set -eux
          mkdir -p $heat_outputs_path
          host=$(hostnamectl --static)
          echo -n "$host "  > $heat_outputs_path.hosts_entry
          host_ip=$(python -c "import socket; print socket.gethostbyname(\"$host\")")
          echo -n "$host_ip " >> $heat_outputs_path.hosts_entry
          echo >> $heat_outputs_path.hosts_entry
          cat $heat_outputs_path.hosts_entry
          echo -n $host_ip > $heat_outputs_path.ip_address
          cat $heat_outputs_path.ip_address
          echo -n $host > $heat_outputs_path.hostname
          cat $heat_outputs_path.hostname
      outputs:
        - name: hosts_entry
          description: hosts_entry
        - name: ip_address
          description: ip_address
        - name: hostname
          description: hostname

  HostsEntryDeployment:
    type: OS::Heat::SoftwareDeployment
    properties:
      config: {get_resource: HostsEntryConfig}
      server: {get_resource: deployed-server}

  ControlPlanePort:
    type: OS::TripleO::DeployedServer::ControlPlanePort
    properties:
      Hostname: {get_attr: [HostsEntryDeployment, hostname]}

outputs:
  # FIXME(shardy) this is needed because TemplateResource returns an
  # ARN not a UUID, which overflows the Deployment server_id column..
  OS::stack_id:
    value: {get_attr: [deployed-server, "OS::stack_id"]}
  networks:
    value:
      ctlplane:
        - {get_attr: [ControlPlanePort, ip_address]}
  name:
   value: {get_attr: [HostsEntryDeployment, hostname]}
  hosts_entry:
   value: {get_attr: [HostsEntryDeployment, hosts_entry]}
  ip_address:
    value: {get_attr: [HostsEntryDeployment, ip_address]}