Skip to main content

SyntaxHighlighter Test

This blogs is a part-2 of How to add SyntaxHighlighter to Blogger where I will be testing the syntax highlighting abilities of this library.

SyntaxHighlighter provides various configuration parameters to be used with the <pre> tag.

Java (With Rulers -- not working?)

<pre code="brush: java; ruler: true;">
import java.io.*;

public class HelloWorld{
  public static void main(String[] args){
      System.out.println("Hello World!");
  }
}
</pre>

import java.util.*;
import java.io.*;

public class HelloWorld{
  public static void main(String[] args){
      System.out.println("Hello World!");
  }
}

Python (With the first line number set to 100)

<pre class="brush: python; first-line: 100">
import os
import sys
import time

class Box:
   def method1(self, x, y):
      try:
          print x, y
      except:
          pass
</pre>
import os
import sys
import time

class Box:
   def method1(self, x, y):
      try:
          print x, y
      except:
          pass

XML (With lines 4 and 6 highlighted)

<pre class="brush: xml;highlight: [4, 6]">
<html>
<head>
<title>Test page</title>
</head>
<body>
Welcome to the test page.
</body>
</html>
</pre>

<html>
<head>
<title>Test page</title>
</head>
<body>
Welcome to the test page.
</body>
</html>

Real World Code snippet: OpenStack FWaaS Plugin

<pre class="brush: python; ruler: true; gutter: true; first-line: 10; highlight: [37,38]; smart-tabs: true; toolbar: true">
from neutron_fwaas.common import exceptions
from neutron_fwaas.common import fwaas_constants
from neutron_fwaas.extensions.firewall_v2 import Firewallv2PluginBase
from neutron_fwaas.services.firewall.service_drivers import driver_api
from neutron_fwaas.services.logapi.agents.drivers.iptables \
    import driver as logging_driver

LOG = logging.getLogger(__name__)


@registry.has_registry_receivers
class FirewallPluginV2(Firewallv2PluginBase):
    """Firewall v2 Neutron service plugin class"""

    supported_extension_aliases = [firewall_v2.ALIAS]
    path_prefix = firewall_v2.API_PREFIX

    def __init__(self):
        super(FirewallPluginV2, self).__init__()
        """Do the initialization for the firewall service plugin here."""
        # Initialize the Firewall v2 service plugin
        service_type_manager = st_db.ServiceTypeManager.get_instance()
        service_type_manager.add_provider_configuration(
            fwaas_constants.FIREWALL_V2,
            provider_conf.ProviderConfiguration('neutron_fwaas'))

        # Load the default driver
        drivers, default_provider = service_base.load_drivers(
            fwaas_constants.FIREWALL_V2, self)
        LOG.info("Firewall v2 Service Plugin using Service Driver: %s",
                 default_provider)
</pre>
from neutron_fwaas.common import exceptions
from neutron_fwaas.common import fwaas_constants
from neutron_fwaas.extensions.firewall_v2 import Firewallv2PluginBase
from neutron_fwaas.services.firewall.service_drivers import driver_api
from neutron_fwaas.services.logapi.agents.drivers.iptables \
    import driver as logging_driver

LOG = logging.getLogger(__name__)


@registry.has_registry_receivers
class FirewallPluginV2(Firewallv2PluginBase):
    """Firewall v2 Neutron service plugin class"""

    supported_extension_aliases = [firewall_v2.ALIAS]
    path_prefix = firewall_v2.API_PREFIX

    def __init__(self):
        super(FirewallPluginV2, self).__init__()
        """Do the initialization for the firewall service plugin here."""
        # Initialize the Firewall v2 service plugin
        service_type_manager = st_db.ServiceTypeManager.get_instance()
        service_type_manager.add_provider_configuration(
            fwaas_constants.FIREWALL_V2,
            provider_conf.ProviderConfiguration('neutron_fwaas'))

        # Load the default driver
        drivers, default_provider = service_base.load_drivers(
            fwaas_constants.FIREWALL_V2, self)
        LOG.info("Firewall v2 Service Plugin using Service Driver: %s",
                 default_provider)

Comments

Popular posts from this blog

Openstack : Fixing Failed to create network. No tenant network is available for allocation issue.

Assumptions : You are using ML2 plugin configured to use Vlans If you try to create a network for a tenant and it fails with the following error: Error: Failed to create network "Test": 503-{u'NeutronError': {u'message': u'Unable to create the network. No tenant network is available for allocation.', u'type': u'NoNetworkAvailable', u'detail': u''}} The problem can be due to missing configuration in the below files: In /etc/neutron/plugins/ml2/ml2_conf.ini network_vlan_ranges =physnet1:1000:2999 (1000:2999 is the Vlan range allocation) In /etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini bridge_mappings = physnet1:br-eth1 (in OVS we map the physical network to the OVS bridge) Note You should have created a bridge br-eth1 manually and mapped it to a port ovs-vsctl add-br br-eth1 ovs-vsctl add-port br-eth1 eth1 Once configuration is done, restart the neutron ovs agent on the compute node(s):

Solved: Fix for Git clone failure due to GnuTLS recv error (-9)

My devstack installation was failing with an error reported by the GnuTLS module as shown below: $ git clone https://github.com/openstack/horizon.git /opt/stack/horizon --branch master Cloning into '/opt/stack/horizon'... remote: Counting objects: 154213, done. remote: Compressing objects: 100% (11/11), done. error: RPC failed; curl 56 GnuTLS recv error (-9): A TLS packet with unexpected length was received. fatal: The remote end hung up unexpectedly fatal: early EOF fatal: index-pack failed The following Git config changes fixed the issue for me. Am hoping it will be useful for someone out there: $ git config http.sslVerify false $ git config --global http.postBuffer 1048576000

QuickBite: Tap Vs Veth

Linux supports virtual networking via various artifacts such as: Soft Switches (Linux Bridge, OpenVSwitch) Virtual Network Adapters (tun, tap, veth and a few more) In this blog, we will look at the virtual network adapters tap and veth. From a practical view point, both seem to be having the same functionality and its a bit confusing as to where to use what. A quick definition of tap/veth is as follows: TAP A TAP is a simulated interface which exists only in the kernel and has no physical component associated with it. It can be viewed as a simple Point-to-Point or Ethernet device, which instead of receiving packets from a physical media, receives them from user space program and instead of sending packets via physical media writes them to the user space program. When a user space program (in our case the VM) gets attached to the tap interface it gets hold of a file descriptor, reading from which gives it the data being sent on the tap interface. Writing to the file descri