Python: OverflowError: signed char is greater than maximum

Here the pseudo code about the flow:

from array import array
c = array('b')
with open(file, mode = 'rb') as f:
    for character in f:
        res = func(character)

It runs into the error:

OverflowError: signed char is greater than maximum

with a special character ‘À’  which its binary value is 192


My way to resolve this error is to update typecode of the array from ‘b’ (signed char) to ‘B’ (unsigned char).

from array import array
c = array('B')

Reason: Data from the file should not in a range which from -127 to -1.


Cisco IPS – Inline VLAN Pair mode

  1. Setup Cisco IPS on EVE

    I failed to setup Cisco IPS on EVE(ver 2.0.3-53).

    What I did: Download Cisco IPS ova file via: (!W99UnTIa!-3k6bQwiD_DhNCDFfL6TWlU69KoRwIYeaJE9JlDOASY)

    Did everything been listed in following instructions for IPS Interfaces

    My problem is:

    Cisco IPS failed to ping anything out of it, I run traffic capture on IPS’s interface, no packet out when I execute ping command.

    Question on EVE official forum:

    The official answer is: This image is currupted and not working nor UNL nor EVE

    So, I deploy it on VMware vShpere


    Setup VM networks on vShpere


    Setup IPS’s networks


    Setup EVE’s networks


    Setup EVE Lab


  2. Initial Cisco IPS

    I initilized the device from Cisco IPS console interface.


    Default username/password is : cisco/ciscoips123

    then enter command ‘setup‘ to initial the device.

    The most import thing is to disable HTTPS. Cisco IPS enabled https by default which is not supported by most browsers(Chrome/Firefox/IE) now. Execute following commands:

    service web-server

    enable-tls false

    port 80


    Then access the device by http, it will prompt you to lunch IDSM (* Java required)


  3. Interface Pairs

    Before Cisco IPS Interface Pair


    Add Interface Pair


    After Cisco IPS Interface Pair


  4. Bind vs


  5. Lab1- Recognize ICMP as Attack


  6. Verify

    Execute ping command on R1


    Cisco IPS Event


Running NX-OSv 9000 on eve (UNL)

Refer to how to add NX-OXv 9000 to GNS3

  1. Download necessary components
    • The NX-OSv9k image file from Cisco (nxosv-final.7.0.3.I5.1.qcow2). Please note that you must have a service contract with Cisco in order to download it. No, I can’t provide the image for you.
  2. Copy image to eve
    • change file name to ‘hda.qcow2’
    • copy source file to ‘/opt/unetlab/addons/qemu/nxosv9k-7.0.3.I5.1’
    • run ‘/opt/unetlab/wrappers/unl_wrapper -a fixpermissions’
  3. Add a New node of Cisco NX-OSv 9k
    • Console : ‘telnet’
  4. Start the node
    • This step needs your patient because the terminal will be shown as a blank screen for a while (about 15 – 20 seconds). The boot process takes about minutes.
    • It prompts you: Abort Auto Provisioning and continue with normal setup ?(yes/no)[n]: y
  5. Done
    • nx9kboot

The advantage of eve is it already improved Qemu with UEFI for Cisco Nexus9Kv.

More info:

Try ansible on Windows


Here is the environment about NetBrain performance testing:

1 windows server for License/Workspace server

5 windows servers for Network Server

5 windows servers for Automation server


It really took us a lot of time to deploy our product/collect logs on theses servers.

My colleague wrote a client-server application and try to do the things by it automatically.The application indeed works for log collection, but for product deployment, as the server end running as a service and fails to launch InstallShield  wizard, it doesn’t support the product installation.

At the same time, I read an article about Deployment Management Tools comparison between Puppet, Chef, Ansible, So I determine to try Ansible.


Ray Zhao shared me his experience that how he used Puppet in OpenStack Lab.

Brian Jin told me Linked In using Ansible.

Deploy Ansible

Ansible’s document is very easy to read/understand.

1 Install Ansible on Ubuntu

$ sudo apt-get install software-properties-common
$ sudo apt-add-repository ppa:ansible/ansible
$ sudo apt-get update
$ sudo apt-get install ansible

For windows management, Pywinrm is required, Offical instruction is:

pip install "pywinrm>=0.1.1"

Please pay attention about pywinrm version, because I met the issue:  Error Accessing Windows Machine: “ssl: ‘Session’ object has no attribute ‘merge_environment_settings'”

I installed pywinrm by the command:

pip install pywinrm==0.1.1

Note: Currently, ansible doesn’t support Python3.


Windows System Prep

I chose win2012R2 to simple windows environment preparation. Just ran  ansible’s power shell for winRm setup and make sure port : 5986 is open:



For powershell security issue:

File ConfigureRemotingForAnsible.ps1 cannot be loaded because running scripts is disabled on this system. For more
information, see about_Execution_Policies at
 + CategoryInfo : SecurityError: (:) [], ParentContainsErrorRecord
 + FullyQualifiedErrorId : UnauthorizedAccess

Start Windows PowerShell with the “Run as Administrator” option. Only members of the Administrators group on the computer can change the execution policy.

Enable running unsigned scripts by entering:

set-executionpolicy remotesigned

This will allow running unsigned scripts that you write on your local computer and signed scripts from Internet.


Ansible Inventory

create my hosts file by command :

vi /etc/ansible/hosts

Refer samples to add one server for testing:

[windows] ansible_user="user_name" ansible_password="password" ansible_port="5986" ansible_connection="winrm"

Note: I also tried configure username/password by group vars by command:

vi /etc/ansible/group_vars/windows.yml
# it is suggested that these be encrypted with ansible-vault:
# ansible-vault edit group_vars/windows.yml

ansible_user: user_name
ansible_password: password
ansible_port: 5986
ansible_connection: winrm
# The following is necessary for Python 2.7.9+ (or any older Python that has backported SSLContext, eg, Python 2.7.5 on RHEL7) when using default WinRM self-signed certificates:
ansible_winrm_server_cert_validation: ignore


ansible windows -m win_ping 


create a playbook by the command:

vi /etc/ansible/playbook.yml

Enter the content

- name: test raw module
hosts: windows
- name: run ipconfig
# query session for RDP session
raw: CMD /C "PSExec.exe \\ -u user_name -p password -d -i 1 c:\Automation\Install\InstallLatestBuildWith1WS_AllInOneClick.bat"
register: ipconfig
- debug: var=ipconfig


Ansible has the same behavior as my colleague’s application,  InstallShield  wizard windows does not pop up when I called it by ‘raw: CMD /C’ even it newed a process to run the command.

Refer to the articles:

PowerShell – Using psexec to automate UI tasks on remote machines

PsExec2.11 // detail about PsExec parameters

Query Session //command to figure out the id of Remote Desktop session which referenced by PsExec parameter : -i

I update raw command and it works.


PsExec should be the solution for both ansible and my colleague’s application which execute a command by a background service to call a GUI application.


Add Comment #1:

I found that there is an option “Local System account -> Allow service to interact with desktop” in service property:


It failed to launch windows RM service with this enabled this option:



Adding Realtek 8139 Driver to ESXi 6

Note: This is not an official guide, Backup data is required before you apply the driver.

My PC has two NICs:

  1. Intel I217-LM
  2. Realtek RTl-8139

and #2 Realtek 8139 is not supported by VMware.

There are some guides about customize EXSi installation ISO to support the NIC, I’m trying to find a way apply the driver without reinstall EXSi.


Here is a page: which contains many NIC drivers. I downloaded the offline bunlde driver for Realteck 8139


Follow the instruction: to upload offline bundle to EXSi host and change EXSi host to maintance mode


SSH to EXSi and apply the driver by command:

esxcli software vib install -d /vmfs/volumes/storage name/ –no-sig-check

It prompts me:

VIB Realtek_bootbank_net-r8139too_0.9.28-1’s acceptance level is community, which is not compliant with the ImageProfile acceptance level partner
To change the host acceptance level, use the ‘esxcli software acceptance set’ command.


Change the Host Acceptance Level

Follow the instruction to update host acceptance level:


esxcli software acceptance set –level=CommunitySupported



Apply the driver again:

esxcli software vib install -d /vmfs/volumes/storage name/ –no-sig-check
Installation Result
Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
Reboot Required: true
VIBs Installed: Realtek_bootbank_net-r8139too_0.9.28-1
VIBs Removed:
VIBs Skipped:



Reboot EXSi host and Exit maintenance mode

The NIC can be recognized by VMware now:


New To Oracle DB

Oracle Database XE 11.2 on Windows 2008 64 bit

  1. run imp or impdp command in windows command line, not SQL command line

  2. It failed to import dmp file by command : imp, impdp works

  • Issue: ORA-01918: user does not exist 

Create user manually by instruction

  • ORA-00959: tablespace does not exist

Create tablespace by instruction

Be careful about ORA-12953: The request exceeds the maximum allowed database size of 11 GB

  • ORA-01950: no privileges on tablespace

Grant permission by instruction

Note: Assign privilege to database owner.